Next: 2.3 リスト行列の掛け算
Up: 2 例題:行列表現と演算
Previous: 2.1 リスト行列の足し算,引き算
上にあげたリスト行列を転置すると,
((1 5 9)
(2 6 10)
(3 7 11)
(4 8 12))
となります.この転置行列を求める関数は,
(defun transpose (a)
(apply #'mapcar #'list a)
)
とできます.applyは第一引数に関数を与えて,その関数に渡す
引数をリストにして第二引数以降に与えることで,第一引数の関数を
実行します.
> (mapcar #'list '(1 2) '(3 4))
(((1 2)) ((3 4)))
> (mapcar #'list '(1 2) '(3 4))
((1 3) (2 4))
> (apply #'mapcar '(list (1 2) (3 4)))
((1 3) (2 4))
> (apply #'mapcar (list #'list '(1 2) '(3 4)))
((1 3) (2 4))
> (apply #'mapcar #'list (list '(1 2) '(3 4)))
((1 3) (2 4))
> (apply #'mapcar #'list '((1 2) (3 4)))
((1 3) (2 4))
generated through LaTeX2HTML. M.Inaba 平成18年5月6日