準備
gosh> (use slib) gosh> (require 'determinant) #t gosh> (define A '((1 2) (3 4))) A gosh> (define B '((5 6) (7 8))) B
転置行列
gosh> (transpose A) ((1 3) (2 4))
転置行列の行列式はもともとの行列の行列式に等しい*1ので、それを以下で確かめる。
gosh> (determinant (transpose A)) -2
和
を計算する。
gosh> (matrix:sum A B) ((6 8) (10 12))
差
を計算する。
gosh> (matrix:difference A B) ((-4 -4) (-4 -4))
積
gosh> (matrix:product A B) ((19 22) (43 50))
また、以下も成り立つ。*2
gosh> (determinant (matrix:product A B)) 4 gosh> (* (determinant A) (determinant B)) 4