(defun m-cofactor (m i j) (if (oddp (+ i j)) (- (m-det (minor-m m i j))) (m-det (minor-m m i j))) )ここで,oddpは,引数が奇数であればtを返す. minor-mは,行列Aのi行の行ベクトルを除いた行列を返す drop-rowをまず定義して次のように定義することとする.
(defun minor-m (m i j) (transpose (drop-row (transpose (drop-row m i)) j)) ) (defun drop-row (m i) (let ((ret nil)) (dotimes (j (length m)) (if (not (= i j)) (setq ret (cons (car m) ret))) (setq m (cdr m))) (reverse ret)))