Maxima在线性代数应用:线性代数应用实例

特征值和特征向量

我们这里讨论线性代数很重要的特征值相关的计算。我们定义一个矩阵A , 计算特征值和特征向量时我们都以这个矩阵为主要讨论对象:

(%i1) A: matrix([4,0,1],[2,3,2],[1,0,4]);
&">nbsp;                                 [ 4  0  1 ]
                                  [         ]
(%o1)                             [ 2  3  2 ]
                                  [         ]
                                  [ 1  0  4 ]
我们计算一下特征值:

(%i2) eigenvalues(A);
(%o2)                          [[5, 3], [1, 2]]

么样,很方便吧...等等,特征值怎么会出来两个向量呢!?原来,真正的特征值是放在结果的第一个list 当中,也就是5 和3。那第二个list 代表什么呢?代表的就是每个特征值的几何重数, 也就是每个特征值对应的特征向量空间之维度。换言之,这是比较完整的特征值资讯!
我们也可以用eigenvectors 计算特征向量。事实上,eigenvectors 也会把特征值列出来,所以是包含前面eigenvalues 功能的指令。不过如果我们一开始就介绍eigenvectors,看到那有点复杂的结果大家可能会昏倒。现在已经会了eigenvalues,大概就没问题了:

(%i3) eigenvectors(A);
(%o3)        [[[5, 3], [1, 2]], [1, 2, 1], [1, 0, - 1], [0, 1, 0]]

第一部份和eigenvectors 输出一样,就是说11545.html">我们有5 有和3 两个特征值,其mutiplicities 分别是1 和2。因此,对于5 应该要有一个对应的特征向量,即[1, 2, 1] ,对于3会有两个,分别是接下来的[1, 0, −1] 和[0, 1, 0] 。这些向量会生成相对应特征值的向量空间。

手动特征值的计算

上一节介绍Maxima 内建特征值计算,并不一定每个人都喜欢。比方说显示的方式比较特别,另外就是不是一步一步算的,心里有时也有不踏实的感觉。因此,我们这里介绍一下如何用Maxima 一步一步的把特征值求出来。

我们再用一次上一节的例子:

(%i4) A: matrix([4,0,1],[2,3,2],[1,0,4]);
                                  [ 4  0  1 ]
                                  [         ]
(%o4)                             [ 2  3  2 ]
                                  [         ]
                                  [ 1  0  4 ]
我们先求特征多项式,也就是A − tI 的行列式值:

(%i5) f: charpoly(A,t);
                                              2
(%o5)                      t + (3 - t) (4 - t)  - 3

如果想要看到比较漂亮的式子, 可以将f 展开:

(%i6) expand(f);
                              3       2
(%o6)                      - t  + 11 t  - 39 t + 45

我们还可以将f 做因式分解, 这样就可以清楚看到A 有几个特征值, 和各特征值的代数重数:

(%i7) factor(f);
                                               2
(%o7)                         - (t - 5) (t - 3)

这样我们就求得A 的特征值是5 和3 。

另一个解法是,我们可以求f = 0 的零根。做法是使用solve 指令:

(%i8) solve(f=0, t);
(%o8)                           [t = 5, t = 3]

当然,我们算法正确,应该是得到和前面一样的结果。

时间: 2024-07-29 14:55:41

Maxima在线性代数应用:线性代数应用实例的相关文章

《漫画线性代数》读书笔记 序

<漫画线性代数>读书笔记 序 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. <漫画线性代数>,居然有这样的名字,线性代数这种干巴巴的内容,也可以漫画? 提到漫画,感觉就

Maxima在线性代数应用:线性代数相关指令

这节我们正式介绍线性代数相关,也就是矩阵相关的指令. 矩阵及向量 我们先来看矩阵和向量的定义方式.前面说过,在Maxima 里,所谓设定一个变数的值,只不过是给某个数字或矩阵等等一个名称.我们这里就举应用在矩阵和向量时的情况: (%i1) A:matrix([1,2,3],[-2,8,3],[1,4,9]);&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;                              

Maxima在线性代数应用:基本概念

这篇文章,是介绍Maxima 这套数学软件,在学习线性代数的应用.Maxima 是一个所谓的"电脑代数系统"(Computer Algebra System, CAS),这种系统比较为人熟知的还有Mathematica 和Maple 等等.我们选定Maxima 做为我们使用的程序,主要有三个原因: 免费 Maxima 是免费,又是各平台都有的.所有的人可以在自己的电脑上练习. 功能完整 Maxima 虽然不要钱,并不代表不好.Maxima 不论计算或图形功能都十分完整.事实上,Maxi

Maxima在线性代数应用:进阶使用

列式而不运算 我们先计算一个瑕积分,用到无穷大的部份Maxima 是以inf 表示: (%i1) integrate(%e^(-x^2),x,0,inf);&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;                                                                            sqrt(%pi)(%o1)                 

Maxima在线性代数应用:绘图功能

二维绘图 Maxima 二维绘图的指令是用plot2d.比方说,我们要画4x3 − 2x − 2 这个函数,设定x 轴范围是从-5 到5,就下这个指令: (%i1) plot2d([4 * x^3-2 * x-2],[x,-5,5]); 三维绘图 三维绘图也一样容易,只要改用plot3d 的指令即可: (%i2) plot3d(cos(-x^2+y^3/4),[x,-4,4], [y,-4,4]); Geomview 是一个UNIX 的软件,Maxima 可以运用Geomview 做出非常漂亮的

《 线性代数及其应用 (原书第4版)》—— 第1章 线性代数中的线性方程组1.1 线性方程组

第1章 线性代数中的线性方程组 介绍性实例 经济学与工程中的线性模型 1949年夏末,哈佛大学教授列昂惕夫(Wassily Leontief)正在小心地将最后一部分穿孔卡片插入大学的MarkⅡ计算机. 这些卡片包含了美国经济的信息,包括了美国劳动统计局两年紧张工作所得到的总共25万多条信息. 列昂惕夫把美国经济分解为500个部门,例如煤炭工业.汽车工业.交通系统等等. 对每个部门,他写出了一个描述该部门的产出如何分配给其他经济部门的线性方程. 由于当时最大的计算机之一的MarkⅡ还不能处理所得到

《 线性代数及其应用 (原书第4版)》—— 第2章 矩 阵 代 数 2.1 矩阵运算

第2章 矩 阵 代 数 介绍性实例 飞机设计中的计算机模型 为了设计下一代的商业和军用飞机,波音的幻影工作室的工程师们使用三维建模和计算流体动力学. 他们在建造实际的模型之前,研究一个虚拟的模型周围的空气流动,这样做可以很大程度地缩短设计周期,降低成本,而线性代数在这个过程中起了关键的作用. 虚拟的飞机模型的设计从数学的线形轮廓模型开始,它存储在计算机内存中,并可显示在图形显示终端. (图示给出波音777的模型.)这个数学模型组织和影响设计和制造飞机外部和内部的每一个过程. 计算流体动力学分析主

《 线性代数及其应用 (原书第4版)》—— 导读

前 言学生和教师对本书前三版本的反响十分令人满意. 第4版在第3版的基础上为课程教学和软件技术应用提供了更多支持. 像以前一样,本书给出最新的线性代数基本介绍和一些有趣应用,使得已完成大学第二学期数学课程(如学完微积分)的学生容易接受.本书的主要目的是帮助学生掌握以后课程学习所需要的基本概念和基本技能,教材的选题是根据"线性代数课程研究小组"的建议,该建议基于认真分析学生的实际需要和许多不同专业使用线性代数知识的共同点而提出. 希望这门课能够成为对大学生最有用和最有趣的数学课程之一.新

学习笔记TF062:TensorFlow线性代数编译框架XLA

XLA(Accelerated Linear Algebra),线性代数领域专用编译器(demain-specific compiler),优化TensorFlow计算.即时(just-in-time,JIT)编译或提前(ahead-of-time,AOT)编译实现XLA,有助于硬件加速.XLA还在试验阶段.https://www.tensorflow.org/versions/master/experimental/xla/ . XLA优势.线性代数领域专用编译器,优化TensorFlow计算