! Copyright (C) 2005, 2009 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
-USING: arrays kernel math math.order math.vectors
-sequences sequences.private accessors columns ;
+USING: accessors arrays columns kernel math math.bits
+math.order math.vectors sequences sequences.private ;
IN: math.matrices
! Matrices
gram-schmidt [ normalize ] map ;
: cross-zip ( seq1 seq2 -- seq1xseq2 )
- [ [ 2array ] with map ] curry map ;
\ No newline at end of file
+ [ [ 2array ] with map ] curry map ;
+
+: m^n ( m n -- n )
+ make-bits over first length identity-matrix
+ [ [ dupd m. ] when [ dup m. ] dip ] reduce nip ;
+