行列の計算、それが目的ではないとき(Maxima版)

学生向け

Maximaの使い方がわからないのですが

と言われました。

別に私も詳しくないのですが。

MaximaでCayley‐Hamiltonの定理を確認する例:

(%i1) n:5;
(%o1)                                        5
(%i2) h[i,j]:=1+n-max(i,j);
(%o2)                     h     := 1 + n - max(i, j)
                           i, j
(%i3) m:genmatrix(h,n,n);
                               [ 5  4  3  2  1 ]
                               [               ]
                               [ 4  4  3  2  1 ]
                               [               ]
(%o3)                          [ 3  3  3  2  1 ]
                               [               ]
                               [ 2  2  2  2  1 ]
                               [               ]
                               [ 1  1  1  1  1 ]
(%i4) f:expand(determinant(m-diagmatrix(length(m),x)))
/* or f:expand(charpoly(m,x)); */;
                       5       4       3       2
(%o4)               - x  + 15 x  - 35 x  + 28 x  - 9 x + 1
(%i5) sum(coeff(f,x,i)*m^^i,i,0,nterms(f)-1);
                               [ 0  0  0  0  0 ]
                               [               ]
                               [ 0  0  0  0  0 ]
                               [               ]
(%o5)                          [ 0  0  0  0  0 ]
                               [               ]
                               [ 0  0  0  0  0 ]
                               [               ]
                               [ 0  0  0  0  0 ]

はじめてのMaximaはじめてのMaximaが参考になるかもしれません。Knoppix/Mathの紹介ということで、Maxima以外にも無料で(一部は自由に)使える数学ソフトウェアがたくさん紹介されています。

Maximaに限定するならMaxima簡易マニュアルも有用です。

参考:行列の計算、それが目的ではないとき(Mathematica版)