next up previous
Next: 5 Lispの処理 Up: 4 xlispstat Previous: 4.3 ドキュメントの表示 help

4.4 行列演算

これらを使った例を上げれば以下のようになる.
> (setq c (identity-matrix 3))
#2A((1 0 0) (0 1 0) (0 0 1))
> (%* c a)
(1 2 3)
> (%* c b)
(2 3 4)
> (%* b c)
(2 3 4)
> (%* c c)
#2A((1 0 0) (0 1 0) (0 0 1))
> (setq d (+ c c))
#2A((2 0 0) (0 2 0) (0 0 2))
> (inverse d)
#2A((0.5 0 0) (0 0.5 0) (0 0 0.5))
> (matmult d (inverse d))
#2A((1 0 0) (0 1 0) (0 0 1))
> (setq a (make-array '(2 2)
          :initial-contents '((1 2) (3 4))))
#2A((1 2) (3 4))
> (determinant a)
-2.0
> (inverse a)
#2A((-1.9999999999999996 0.9999999999999998)
    (1.4999999999999998 -0.4999999999999999))


generated through LaTeX2HTML. M.Inaba 平成18年5月7日