ベクトル・行列の計算
定義した変数があるかないかanamesを使い、あればdeleteします。
anames(All,User);
$を使ってベクトルを定義します。
A:=matrix([a[i] $ i=1..3]);
B:=matrix([b[i] $ i=1..3]);
transposeを使って転置します。
A:=transpose(A);
B:=transpose(B);
linalg::scalarProductを使って内積を求めます。
linalg::scalarProduct(A,B);
実数計算に限定します。
linalg::scalarProduct(A,B,Real);
linalg::crossProductを使って外積を求めます。
linalg::crossProduct(A,B);
L2ノルムを求めます。
norm(A,2);
$を使って行列を定義します。
delete A,B;
A:=matrix([[a[j,i] $ j=1..3] $ i=1..3]);
行列式を求めます。
det(A);
inverse用いて逆行列を求めます。
B:=inverse(A);// A^(-1)か1/AでもOK
行列の掛け算で検算します。
A*B
simplifyを使って簡単にします。
simplify(A*B);
Frobeniusのノルムを求めます。
norm(A,Frobenius);
linalg::eigenvaluesを使って固有値を求めます。
linalg::eigenvalues(A);