data Matrix : Nat -> Nat -> Type -> TypefromVects : Vect rows (Vect cols a) -> Matrix rows cols atoVects : Matrix rows cols a -> Vect rows (Vect cols a)fill : (rows : Nat) -> (cols : Nat) -> t -> Matrix rows cols tzeros : (rows : Nat) -> (cols : Nat) -> Matrix rows cols Intones : (rows : Nat) -> (cols : Nat) -> Matrix rows cols IntupdateAt : Fin rows -> Fin cols -> (a -> a) -> Matrix rows cols a -> Matrix rows cols areplaceAt : Fin rows -> Fin cols -> ele -> Matrix rows cols ele -> Matrix rows cols elefindIndex : (ele -> Bool) -> Matrix rows cols ele -> Maybe (Fin rows, Fin cols)mapWithIndex : {auto rows : Nat} -> {auto cols : Nat} -> (ele -> (Fin rows, Fin cols) -> b) -> Matrix rows cols ele -> Matrix rows cols bfindIndices : {auto rows : Nat} -> {auto cols : Nat} -> (ele -> Bool) -> Matrix rows cols ele -> List (Fin rows, Fin cols)eye : (rows : Nat) -> (cols : Nat) -> Matrix rows cols Intidentity : (rows : Nat) -> Matrix rows rows Intrepmat : Num ele => Vect n ele -> (rows : Nat) -> (cols : Nat) -> Matrix rows (cols * n) ele(+) : Num n => Matrix rows cols n -> Matrix rows cols n -> Matrix rows cols nnegate : Neg ty => ty -> tyThe underlying of unary minus. `-5` desugars to `negate (fromInteger 5)`.
(-) : Neg n => Matrix rows cols n -> Matrix rows cols n -> Matrix rows cols nscalarMulti : Num a => a -> Matrix rows cols a -> Matrix rows cols atranspose : Matrix rows cols n -> Matrix cols rows n(*) : Num a => Matrix m l a -> Matrix l n a -> Matrix m n aminor : Fin (S n) -> Fin (S n) -> Matrix (S n) (S n) a -> Matrix n n aalgeCofactor : Neg a => Fin (S n) -> Fin (S n) -> Matrix (S n) (S n) a -> Matrix n n atrace : Num a => Matrix n n a -> aflipVer : Matrix m n a -> Matrix m n aflipHor : Matrix m n a -> Matrix m n a