Igorで行列計算

例として以下の行列T1とT2の掛け算をIgorで計算する。

結果は,

となる。

以上の計算をigorで行った。

以下はそのプログラム例

Make /N=(2,2) T1,T2,T3 //2行2列の行列T1,T2,T3を定義

T1[][0] = {1,2} //0列目に値代入(行列番号は0から始まる)
T1[][1] = {3,4} //1列目に値代入
T2[][0] = {5,6}
T2[][1] = {7,8}

MatrixMultiply T2,T1 //行列の掛け算
T3 = M_product //結果はM_productとして保存される。

AppendToTable T1,T2,T3

matrixmultiplyの計算例

行列計算結果

ただし行列の掛け算部は,以下の演算子”MatrixOp“を用いたほうが簡単。
行列掛け算部の2行は次の1行と等価である。

MatrixOp /O T3 = T2 x T1 //行列の掛け算はx(エックス)を用いる。

MatrixOpを用いる場合には,T3を前に宣言しておく必要なし。
しかし,ここでは逆に,宣言してしまっているから”/O”フラグで上書き許可してる。