Maxima 矩阵及矢量运算 1

本文最初写于 2011-07-14于 sohu 博客,这次博客搬家一起搬到这里来。

版权所有,转载请注明出处。

 1.1 矩阵和矢量的建立

Maxima 中有许多方法可以生成矩阵和矢量。下面分别来介绍。最直接的方式是直接给出矩阵的每个元素的值。

(%i1) A:matrix([1,2,3],[-2,8,3],[1,4,9]);

 

也可以交互式的输入矩阵的每个元素。
使用entermatrix (m, n)函数可以进行交互式的矩阵输入,Maxima将每个元素一一读入。
如果行列维数相同,Maxima会主动询问矩阵是否为对角、对称、反对称或者一般矩阵,这样可以有效减少输入次数。

(%i2) m:entermatrix(3,3);

Maxima 是一个 CAS 系统,所以我们可以完全用符号去定义一个矩阵,比方说:

(%i3) A: matrix([a[1,1],a[1,2]],[a[2,1],a[2,2]]);

甚至于可以提供元素值的计算公式,生成矩阵:

(%i4) f[i,j]:=1/(i+j);
genmatrix(f,3,3);

上面的例子中首先定义了一个二元 List 的生成方式。
然后根据这个二元 List 自动的生成了矩阵。这种方式也可以直接生成符号矩阵:

(%i6) genmatrix(a,3,3);

 

矢量的输入要简单的多:

(%i7) v: [2,3,5];

定义一个矢量,其实和我们用手写矢量出来也差不多。
不过,问题是我们在线性代数常常要把矢量写成「列矢量」,而非如上的「行矢量」表示方式。
我们可以用下面两种不同的方式达成:

(%i8) v: transpose([2,3,5]);

(%i9) v: matrix([2],[3],[5]);

在 eigen 程序包中还提供了一个 columnvector 函数实现同样的功能。

(%i10) load ("eigen");
v:columnvector ([2,3,5]);

其实矢量应该是一个一列或一行的矩阵, 但是 Maxima 提供了简单定义行矢量的方法。
这里要强调一点, 一般来说因为矩阵乘法的关系, 我们写成列矢量和行矢量差别很大。
不过 Maxima 其实不太在意这点: 它可以聪明地发现你要做的事, 并且正确得计算出来!
简单的说, 一般而言, 我们不需要麻烦得定义列矢量, 用行矢量即可。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Maxima快速参考手册 命令手册 帮助 pdf 目录 1 基本介绍 4 1.1 一点历史 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2 启动和退出 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.3 在线帮助 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.4 数据类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2 初等数学 8 2.1 算术运算 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.2 常用初等函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.3 预定义常数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.4 自定义函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.5 求和与求积 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.6 代数运算与化简 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.6.1 多项式展开 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.6.2 因式分解 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.6.3 等量代换 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.6.4 分式展开 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.6.5 分式化简 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.6.6 对数、指数及根式化简 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.6.7 条件假设 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.7 三角函数变换 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 *Maxima快速参考手册 by Huan Ma is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License. +Copyright ?c 2010–2011 Huan Ma. 欢迎反馈:[email protected] 1 2.7.1 常用变换 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.7.2 控制变量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.8 解方程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.8.1 单个方程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.8.2 方程组 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.8.3 数值解 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.9 复数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.9.1 实部与虚部 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.9.2 复共轭 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.9.3 复数模和辐角 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.9.4 直角形式和极坐标形式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 3 矩阵 17 3.1 矩阵输入 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.1.1 交互式输入 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.1.2 以表形式输入 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.1.3 以函数形式输入 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.1.4 对角矩阵 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.1.5 单一非零元素矩阵 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.2 矩阵运算 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.2.1 加减乘除 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.2.2 幂运算 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.2.3 矩阵乘法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.3 行()操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.3.1 提取行() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.3.2 增加行() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.3.3 子矩阵 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.4 线性代数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.4.1 行式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.4.2 矩阵转置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.4.3 矩阵的逆 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.4.4 矩阵的秩 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.4.5 高斯消元 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.4.6 本征值和本征向量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 4 微积分 23 4.1 微分 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 4.2 积分 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 4.2.1 不定积分 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 4.2.2 定积分 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2 4.2.3 数值积分 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 4.3 泰勒展开 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 4.4 拉普拉斯变换 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 4.5 留数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 5 微分方程 27 5.1 一阶或二阶常微分方程通解 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 5.2 初值问题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 5.3 边值问题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 5.4 一阶线性微分方程组 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 6 特殊函数 29 7 作图 30 7.1 二维作图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 7.1.1 一般函数作图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 7.1.2 对数坐标图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 7.1.3 参数方程作图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 7.1.4 数据作图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 7.1.5 存为图片文件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 7.2 三维作图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 8 图形界面 35 8.1 wxMaxima . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 8.2 xmaxima . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 8.3 TeXmacs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 8.4 Emacs+imaxima . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 9 Maxima编程 39 9.1 do循环 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 9.2 if条件句 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 9.3 block程序块 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 9.4 read读取 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 9.5 结果输出 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 9.5.1 二维表示 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 9.5.2 输出到文件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 9.6 随机数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 9.7 batch执行程序 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 9.8 tex输出 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 索引 43 3

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值