書式
coefmatrix([式1, 式2, ...], [変数1, 変数2, ...])
で用い、連立方程式 [式1, 式2, ...] の係数行列を生成する。指定した変数 [変数1, 変数2, ...] 以外は無視される。
(%i1) coefmatrix([x+2*y=5, 3*x+4*y=-5], [x, y]);
[ 1 2 ]
(%o1) [ ]
[ 3 4 ]
(%i2) coefmatrix([x+2*y=5, 3*x+4*y=-5], [x]);
[ 1 ]
(%o2) [ ]
[ 3 ]
計算例として、連立方程式 2*x + 5*y = 7, 3*x + y = -9 を解いてみる。
(%i3) A : coefmatrix([2*x+5*y=7, 3*x+y=-9], [x, y]);
[ 2 5 ]
(%o3) [ ]
[ 3 1 ]
(%i4) B : transpose(matrix([7, -9]));
[ 7 ]
(%o4) [ ]
[ - 9 ]
(%i5) A^^(-1) . B;
[ - 4 ]
(%o5) [ ]
[ 3 ]
もちろんわざわざ行列を利用するまでもなく、関数 solve や algsys を用いれば一発で答えが得られます。
(%i6) algsys([2*x+5*y=7, 3*x+y=-9], [x, y]); (%o6) [[x = - 4, y = 3]]
補足 関数 augcoefmatrix も coefmatrix と同様に係数行列を生成する関数ですが、指定した変数 [変数1, 変数2, ...] 以外を定数項と見なし、最終列に付加する点が coefmatrix と異なります。