A:=Dom::Matrix()([[1,2],[3,4]]); +- -+ | 1, 2 | | | | 3, 4 | +- -+Dom::Matrix() を入力するのが面倒な場合には、これを適当な記号で 定義しておくと便利です。平田さまのページ (http://www.ed.ehime-u.ac.jp/ hirata/MuPAD/index.html ) にならって
MAT:=Dom::Matrix();と打ってみましょう。 これ以後は
A:=MAT([[1,2],[3,4]]);で行列が入力できるようになります。
Dom::Matrix() の"()" のなかには、実は係数環を指定することができます。
k:=Dom::AlgebraicExtension(Dom::Rational, z^2+z+1 = 0, z) MAT:=Dom::Matrix(k); A:=MAT([[1+z,2],[3,4]]); +- -+ | z+1, 2 | | | | 3, 4 | +- -+などとやると、 の元を成分に持つ行列( の元)を 与えることができるわけです。
-成分を指定して行列を与えるには、 ``->
" をもちいます。
matrix(2,2,(i,j)->i); //version 2.0 以降では matrix() が準備されている。 //旧バージョンでは matrix() の代わりに // 上の MAT() を使えばよい +- -+ | 1, 1 | | | | 2, 2 | +- -+
行を表す変数を明示できるのでこの方が便利です。 ただし旧バージョンとの互換性 を保つためには行は i, 列は j を使っておくのが無難でしょう。
対角行列を与えるには"Diagonal" を最後に指定すると楽ができます。
En:=MAT(n,n,i->1,Diagonal): // 単位行列
(ただし、 と はそれぞれ自然対数の底 と虚数単位 とに 割り当てられているので注意が必要です。)