mathematica
问题描述:
mathematica
怎么用mathematica直接解出一个矩阵?比如已知A,B,要求矩阵S使得A=S^-1BS
答
你问的是矩阵的分解吧,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,说明以上分解是正确的.
你可以在软件里执行试试哦,加分吧,先谢谢了,矩阵分解我会,我想问的是怎么求未知矩阵,就像题里说的那样,比如有一个矩阵的方程,能直接把方程里的未知矩阵求出来。这个你能告诉我怎么弄吗?这个Mathematica里面没有直接求解矩阵方程的指令,但是人的思维是灵活的,你可以把解矩阵方程变换为一系列矩阵的乘积吧,再用软件求解;如果像上题一样涉及到未知矩阵的逆矩阵形式,一种情况可通过变换为最简单的矩阵乘积形式再用软件求解,另一种情况可以变换为上面这种S^-1BS,解法是一样的。