Jump to content

Matrix-exponentiation operator: Difference between revisions

no edit summary
No edit summary
Line 1,899:
[16130531424904581415797907386349, 9969216677189303386214405760200]
[9969216677189303386214405760200, 6161314747715278029583501626149]</pre>
 
=={{header|Scheme}}==
 
For simplicity, the matrix is represented as a list of lists, and no dimension checking occurs.
 
<lang scheme>
(define (row*col row col)
(apply + (map * row col)))
 
(define (multiply-matrix m1 m2)
(map
(lambda (row)
(apply map (lambda col (row*col row col))
m2))
m1))
 
 
(define (matrix-expo mat exp)
(cond ((= exp 1) mat)
((even? exp) (square-matrix (matrix-expo mat (halve exp))))
(else (multiply-matrix mat (matrix-expo mat (dec exp))))))
</lang>
 
=={{header|Seed7}}==
Cookies help us deliver our services. By using our services, you agree to our use of cookies.