行列作成
3x3行列の定義(matrix)
3x3行列を作成して、変数Aに代入。
(%i1) A:matrix([a,b,c],[d,e,f],[f,g,h]); (%o1)![]()
3x3行列を作成して、変数Bに代入。
(%i2) B:matrix([r,s,t],[u,v,w],[x,y,z]); (%o2)![]()
単位行列を作成する(diagmatrix(n,1)もしくはident(n))
5行5列の単位行列を作成します。
(%i9) diagmatrix(5,1); (%o9)![]()
もしくは、
(%i10) ident(5); (%o10)![]()
m行n列の行列を生成する(ematrix)
ematrix(m,n,x,i,j)
m行n列を生成する。i行j列成分のみがxで他すべてゼロ。
m行n列を生成する。i行j列成分のみがxで他すべてゼロ。
(%i) ematrix(3,4,1,2,3); (%o)![]()
配列から行列を生成する(genmatrix)
(%i) h[i,j]:=(i-1)*3+j; (%i) genmatrix(h,3,3); (%o)![]()
wxMaximaのGUIで生成する
EnterMatrixで行列を生成する
- メニューバーの「Algebra」から「Enter matrix ...」を選択します。
- 行と列の数を指定します。指定したらOKボタンを押します。

- 行列の値を入れます。数字でも良いですし、変数でも良いです。

- OKボタンを押すと、以下のように出力します。
(%o1)![]()
行列操作
行列を複製する(copymatrix)
(%i) C:copymatrix(A); (%o)![]()
行列Aは行列Cにコピーされました。
行列から指定した列を取り出す(col)
(%i) col(A,2); (%o)![]()
行列から指定した行を取り出す(row)
(%i) row(A,2); (%o)![]()
行列から指定要素を取り出す
(%i) A[2,3]; (%o)![]()
行列の行の下にリストを追加する(addrow)
(%i) M:addrow(A,[i,i,i]); (%o)![]()
行列の列の右にリストを追加する(addcol)
(%i) M:addcol(A,[i,i,i]); (%o)![]()
行列の指定要素の置き換え(setelmx)
行列Aの2行3列を"n"に置き換える。
(%i) D:setelmx(n, 2, 3, A); (%o)![]()
演算
行列同士の演算
行列Aと行列Bを加算します。
(%i3) A+B; (%o3)![]()
(%i4) A*B; (%o4)![]()
行列Aと行列Bの積を求めます。
(%i5) A.B; (%o5)![]()
転置行列(transpose)
行列Aの転置行列を求めます。
(%i6) transpose(A); (%o6)![]()
行列式(determinant)
行列Aの行列式を求めます。
(%i7) determinant(A); (%o7)![]()
逆行列(^^-1)
行列Aの逆行列を求めます。
(%i8) A^^-1; (%o8)![]()
余因子行列を計算する(adjoint)
(%i) adjoint(A); (%o)![]()
EIGENパッケージの関数
ロード(load)
EIGENを使用するための準備。
(%i) load(eigen);