トップ 一覧 検索 ヘルプ RSS ログイン

tips-maxima-matrixの変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!! MAXIMA を使って、行列の計算をする
! 行列をつくる
  行列に名前をつける. さて、matrix だけを使っても色々な行列の計算を maxima にさせることは可
 能なのですが、計算のたびに一々成分を入力するのでは全く疲れてしまいます。そこで、一度入力した行列
 に適当な名前を付けて、名前で色々な操作ができれば便利です。maxima で、何かの対象に名前を付ける
 は記号 : を使います。例を見てみましょう。
 (%i3) A : matrix([1,2,3],[4,5,6],[7,8,9]);
                                  [ 1  2  3 ]
                                  [         ]
 (%o3)                            [ 4  5  6 ]
                                  [         ]
                                  [ 7  8  9 ]
 
 (%i4) B : matrix([a,b,c,d],[e,f,g,h]);
                                [ a  b  c  d ]
 (%o4)                          [            ]
                                [ e  f  g  h ]

 これで、A, B といった名前で行列を使うことができるようになりました。この A や B を変数と言います。

!足し算
 (%i3) A : matrix([1,2],[3,4]);
                                   [ 1  2 ]
 (%o3)                             [      ]
                                   [ 3  4 ]
 (%i4) B : matrix([a,b],[c,d]);
                                   [ a  b ]
 (%o4)                             [      ]
                                   [ c  d ]
 (%i5) C : A + B ;
                               [ a + 1  b + 2 ]
 (%o5)                         [              ]
                               [ c + 3  d + 4 ]

! かけ算(スカラー)
 (%i6) C : A . B ;
                           [  2 c + a    2 d + b  ]
 (%o6)                     [                      ]
                           [ 4 c + 3 a  4 d + 3 b ]
! かけ算 ( 逓倍 )
 (%i8) A * B ;
                                 [  a   2 b ]
 (%o8)                           [          ]
                                 [ 3 c  4 d ]

! 逆行列
 (%i9) AI : invert ( A );
                                 [ - 2   1  ]
                                 [          ]
 (%o9)                           [  3     1 ]
                                 [  -   - - ]
                                 [  2     2 ]
 (%i10) A . AI ;
                                   [ 1  0 ]
 (%o10)                            [      ]
                                   [ 0  1 ]