本文将以实例的形式,基于Wolfram Alpha计算搜索引擎,介绍了矩阵特征值、特征向量的计算,矩阵的常见分解与对角化、二次型的标准化及矩阵正定性的判定等相关问题的实现方法.
目录:
1、计算特征多项式
3、矩阵的对角化
4、向量值的正交化与正交矩阵
5、正交变换与二次型的标准化
6、矩阵的对称性与正定性的判定
7、常见矩阵的分解
工具:WolframAlpha计算搜索引擎
位置:http://www.wolframalpha.com,打开网页直接操作,其中windows app也可以通过Windows 10应用商店下载安装!
特别提示:如果使用网页版执行操作,不需要下载、安装任何软件,也不需要点任何链接,直接网页打开的那个搜索文本编辑框(如下图)输入表达式就可以了!系列推文中除特别强调外,显示的结果都能直接看到的!
手机:可以直接打开网页操作,或者自行网络搜索下载安装WolframAlpha APP版本操作
执行界面:网页、手机或平板等操作界面基本一致.
1、计算特征多项式
例 计算以下矩阵的特征多项式
参考输入表达式为
characteristic polynomial {{-1,1,0},{-4,3,0},{1,0,2}}
执行计算得到的结果如下.
将鼠标指针移动到特征多项式结果上方,在右下角出现的按钮中选择“Plain Text”,然后在可复制的纯文本上点击鼠标左键,将其复制到剪贴板,然后在计算编辑框中输入solve后粘贴文本,并令其等于0,得到如下参考表达式
solve -λ^3 + 4 λ^2 - 5 λ + 2=0
执行计算得到的结果如下.
计算结果为 . 结合前面的多项式可以知道,其中 二重根.
2、矩阵的特征值、特征向量
例 计算以下矩阵的特征值与特征向量.
参考输入表达式为
eigenvalues {{-2,1,0},{-4,3,0},{1,0,3}}
执行计算得到的结果如下.
结果不仅给出了特征值结果,也给出了特征向量. 如果把eigenvalues改成eigenvectors,则先给出特征向量,然后再给出特征值,并且绘制特征向量的图形演示. 而把eigenvalues替换为eigensystem,如输入表达式为
eigensystem{{-2,1,0},{-4,3,0},{1,0,3}}
则逐个对应的给出特征值及对应的特征向量,如下图所示.
3、矩阵的对角化
例 求可逆矩阵 和对角矩阵 ,使得 . 其中
并验证其结论成立.
参考输入表达式为
eigensystem {{-2, 0, 1}, {0, 2, 0}, {1, 1, 2}}
执行计算得到的结果如下.
从中可以看到矩阵有特征值与特征向量,它们的对应关系为
所以所求对角矩阵和可逆矩阵为
为验证结论成立,输入如下参考表达式
simplify (inverse {{-2 - Sqrt[5], -2 + Sqrt[5], 1}, {0, 0, -1}, {1, 1, 4}}).{{-2, 0, 1}, {0, 2, 0}, {1, 1, 2}}.{{-2 - Sqrt[5], -2 + Sqrt[5], 1}, {0, 0, -1}, {1, 1, 4}}
计算得到结果如下.
从计算结果可以看到,以上矩阵满足题目要求. 以上过程也可以直接对角化,输入的参考表达式为
diagonalize {{-2, 0, 1}, {0, 2, 0}, {1, 1, 2}}
计算结果显示如下.
与上面操作得到的结果一致,并且直接给出了逆矩阵.
4、向量值的正交化与正交矩阵
例1 将下列矩阵的列向量组单位正交化.
矩阵正交化是将其列向量正交化,并且向量正交化后再转置为矩阵描述,所以参考输入表达式为
transpose orthogonalize {1,1,1}, {1,2,3}, {1,4,9}
执行计算得到的结果如下.
例2 试求一个正交相似变换矩阵,将下列对角矩阵化为对角阵.
输入参考表达式
eigensystem {{2, 2, -2}, {2, 5, -4}, {-2, -4, 5}}
执行计算得到特征值和特征向量分别为
将三个向量构成的向量值正交化并转置,则得所求的正交变换矩阵,即输入
transpose orthogonalize {-1, -2, 2}, {2, 0, 1}, {-2, 1, 0}
执行计算得到结果如下
最后的矩阵即为所求的正交变换矩阵. 同时可以验证正交矩阵的转置与矩阵的乘积为单位矩阵. 如将鼠标指针移动到结果矩阵上,在右下角出现的按钮中点击纯文本“Plain Text”,在出现的纯文本显示列表中,用鼠标左键点击最下面的Wolfram语言纯文本输出将矩阵纯文本表达式复制到剪贴板. 然后在表达式输入框中输入圆括号,里面输入transpose再加矩阵,然后在后面输入点加矩阵,即表达式为
(transpose {{-1/3, 2/Sqrt[5], -2/(3 Sqrt[5])}, {-2/3, 0, Sqrt[5]/3}, {2/3, 1/Sqrt[5], 4/(3 Sqrt[5])}}).{{-1/3, 2/Sqrt[5], -2/(3 Sqrt[5])}, {-2/3, 0, Sqrt[5]/3}, {2/3, 1/Sqrt[5], 4/(3 Sqrt[5])}}
执行可得结果为单位矩阵,执行结果如下图所示.
5、正交变换与二次型的标准化
例 构建一个正交变换将下列二次型化为标准形
二次型的矩阵为
计算矩阵的特征值与特征向量,参考输入表达式为
eigensystem {{1,1,0},{1,0,-1},{0,-1,1}}
计算得到特征值与对应的特征向量如下图所示.
将特征向量正交化构建正交变换矩阵,输入的参考表示为
transpose orthogonalize {{-1,-1,1},{-1,2,1},{1,0,1}}
执行计算得到的正交变换矩阵如下.
于是令
将以上式子展开,得
代入原二次型可得二次型的标准形为
6、矩阵的对称性与正定性的判定
例1 判断如下是否为对称矩阵
判定 是否对称参考输入表达式为
is {{2, 3}, {3, 8}} a symmetric matrix
执行计算得到的结果显示如下.
结果告诉我们矩阵 为对称矩阵. 参考输入表达式为
is {{-2, 3,1}, {4, -8,3},{4,1,3}} a symmetric matrix
计算结果告诉我们该矩阵不是一个对称矩阵,而且给出对称化结果,即非对称化元素对称元素和的一半作为元素形成对称矩阵和反对称形式,如下图所示.
例2 判断如下矩阵的正定性
判定 是否正定的参考输入表达式为
is {{2, 3}, {4, 8}} a positive definite matrix
执行计算得到的结果显示如下.
结果不仅告诉我们该矩阵时一个正定矩阵,而且给出了该矩阵的两个特征值,两个特征值都是正的. 为判定 的正定性,只要将上面的矩阵换成 矩阵的元素就可以了,参考输入表达式为
is {{-2, 3,1}, {4, -8,3},{4,1,3}} a positive definite matrix
计算结果告诉我们该矩阵不是一个正定矩阵.
例3 判定以下矩阵是否为负定矩阵.
为判定矩阵 ,输入参考表达式为
is {{-2, 3,1}, {3, -8,1},{1,1,-3}} a negative definite matrix
执行计算得到的结果显示矩阵 为负定矩阵. 输入表达式
is {{1, 1, 0}, {1, 2, 0}, {0, 0, 0}} a negative definite matrix
则显示该矩阵不是负定矩阵,而且特征值两个正的一个等于0. 输入如下表达式
is {{1, 1, 0}, {1, 2, 0}, {0, 0, 0}} a positive semidefinite matrix
则计算结果显示该矩阵为一个半正定矩阵,如下图所示.
【注】值得注意的是,判定矩阵为负定、半正定矩阵时,一般要求输入的矩阵对称矩阵. 类似可以判定半负定.
7、常见矩阵的分解
例1 矩阵的 分解. 将下列矩阵分解为 矩阵.
参考输入表达式为
lu decomposition {{1, -2, 0}, {-2, 3, -2}, {0, -2, 1}}
执行计算得到的结果如下.
分别得到下三角矩阵 与下三角矩阵 .
例2 矩阵的约当(Jordan)-分解.
参考输入表达式为
jordan decomp {{1, -2, 0}, {-2, 3, -2}, {0, -2, 1}}
执行计算得到的结果如下.
例3 矩阵的QR-分解. 它是将矩阵分解成一个正规正交矩阵 与上三角形矩阵 .
参考输入表达式为
QR decomposition {{1, -2, 0}, {-2, 1, -2}, {1, -2, 1}}
执行计算得到的结果如下.
例4 矩阵的奇异值SVD-分解.
参考输入表达式为
svd decomposition {{1, -2, 0}, {-2, 3, -2}, {0, -2, 1}}
执行计算得到的结果如下.
例5 矩阵舒尔schur分解,将一个矩阵分解成酉矩阵和上三角矩阵.
参考输入表达式为
schur decomposition {{3, -2, 3}, {-2, 3, -2}, {4, -2, 1}}
执行计算得到的结果如下.
【注】从输入的表达式可以看到,直接输入相应的分解名称就可以直接得到相应的分解描述及结果.
热门跟贴