行列の計算

数式処理システムの REDUCE でアウトプットを LaTeX にしないでテキストファイルにするとちょっと変ですがそれなりに納得の行く結果を出します。


行列、マトリックス、は mat という演算子で作ります。

m:= mat( ( a , b ) , ( c , d ) );
     [a  b]
m := [    ]
     [c  d]

こうしてできた行列に加減乗除を加えると、行列の計算をしてくれます。

1 / m ;
[     d           - b    ]
[-----------  -----------]
[ a*d - b*c    a*d - b*c ]
[                        ]
[    - c           a     ]
[-----------  -----------]
[ a*d - b*c    a*d - b*c ]

分母が同じですので、置き換えてみます。

1 / m where ( a*d - b*c )=>det;
[  d       - b ]
[-----   ------]
[ det     det  ]
[              ]
[  - c     a   ]
[------  ----- ]
[ det     det  ]

お、できた。


積もやってみます。

m * m;

[ 2                  ]
[a  + b*c   b*(a + d)]
[                    ]
[                  2 ]
[c*(a + d)  b*c + d  ]

行列式は det というコマンドです。

det ( m ) ;

a*d - b*c