mathematica 怎么用mathematica直接解出一个矩阵

mathematica 怎么用mathematica直接解出一个矩阵,第1张

你问的是矩阵分解吧,Mathematica中矩阵分解的命令为:JordanDecomposition[A],表示将矩阵A分解为A=PBP^(-1)的形式,例如:A = {{1,2,3},{2,1,3},{3,2,1}}为这样的矩阵时,它的分解为:

A = {{1,2,3},{2,1,3},{3,2,1}}

{P,B} = JordanDecomposition[A]

执行结果为:

{{{-3,2,1},{-3,-5,1},{5,2,1}},{{-2,0,0},{0,-1,0},{0,0,6}}}

即P={{{-3,2,1},{-3,-5,1},{5,2,1}},B={{-2,0,0},{0,-1,0},{0,0,6}}

可以验证一下这里的PBP^(-1)的结果是否等于A,输入程序:

P.B.Inverse[P]

执行结果为:

{{1,2,3},{2,1,3},{3,2,1}}

正好等于A,说明以上分解是正确的.

齐次线性方程组的方式解

Ax=0

A是矩阵,x是向量,则x是A的右侧零空间的基.

根据A的列的秩的情况,有不同的情形:

如果A列满秩,则x无解

如果A列秩比列数小1,则有唯一解(x 或 k x视为同一个)

如果A的列秩比列数小2或更多,x不唯一

x为矩阵的情况可以看成多次求Ax=0, 或A[x1 x2 xn]= [0 0 0]

求这种方程组,只需要对A做奇异值分解

[U D V]= svd(A)

V的最后一个向量就是x(对应于A的最小奇异值的,或A'A的最小特征值)

mathematica中, SVD要用SingularValueDecomposition[]

看帮助就行了.


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8157519.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存