(de matIdent (N) (let L (need N (1) 0) (mapcar '(() (copy (rot L))) L) ) ) (de matExp (Mat N) (let M (matIdent (length Mat)) (do N (setq M (matMul M Mat)) ) M ) ) (matExp '((3 2) (2 1)) 3)