参考: 行列計算のフリーソフト

1
参考: 行列計算のフリーソフト
参考までに,行列の計算ができる代数計算 (文字式の計算や分数計算も
行う) ソフトの Maxima (フリーソフト) を紹介します.
Maxima は,http://maxima.sourceforge.net/ にアクセスしてダウン
ロードできます.(最新版は Maxima 5.20.1 (December 14, 2009) (Windows
版.Linux は December 14, 2009, MacOS は 5.19.2, September 1st, 2009)
です.) download からダウンロードしてください.インストールは Windows
では,ダウンロードしたファイルをダブルクリックするだけで簡単にでき
ます.
簡単なコマンドと例を紹介します.
• matrix … 行列を定義するコマンド (下記の例を参考にしてください).
値を定義するときは,「:」を使います.
• echelon … 行階段形を求めるコマンド (既約にしていません.)
• linsolve … 連立方程式を解くコマンド
• invert … 逆行列を求めるコマンド
• determinant … 行列式を求めるコマンド
• eigenvalues … 固有値を求めるコマンド
• eigenvectors … 固有ベクトルを求めるコマンド
• quit() … 終了するコマンド
他,詳しくはソフトを起動したあと,“help” から調べてください.
以下は計算の実行例です.
(%i1) A:matrix([5,-6],[3,-4]);
(%o1)
[ 5
[
[ 3
- 6 ]
]
- 4 ]
[ 2
- 3 ]
(%i2) invert(A);
2
演習問題の略解答
[
[ 3
[ [ 2
(%o2)
(%i3) determinant(A);
(%o3)
(%i4) eigenvalues(A);
(%o4)
(%i5) eigenvectors(A);
(%o5)
]
5 ]
- - ]
2 ]
- 2
[[2, - 1], [1, 1]]
1
[[[2, - 1], [1, 1]], [1, -], [1, 1]]
2
(%i6) echelon(A);
[
[ 1
[
[
[ 0
(%o6)
(%i7) %o6[1]:%o6[1]+(6/5)*%o6[2];
(%o7)
(%i8) %o6;
(%o8)
6 ]
- - ]
5 ]
]
1 ]
[1, 0]
[ 1
[
[ 0
0 ]
]
1 ]
(%i9) A.A.A;
(%o9)
[ 17
[
[ 9
- 18 ]
]
- 10 ]
[ 125
[
[ 27
- 216 ]
]
- 64 ]
[ 17
[
[ 9
- 18 ]
]
- 10 ]
(%i10) A*A*A;
(%o10)
(%i11) A^^3;
(%o11)
(%i12) rank(A);
(%o12)
2
(%i13) linsolve([x-2*y=1,z=0],[x,y,z]);
%r1 - 1
(%o13)
[x = %r1, y = -------, z = 0]
2