IdrisDoc: Data.Matrix.Numeric

Data.Matrix.Numeric

Matrix operations with vector space dimensionalities enforced
at the type level. Uses operations from the Num interface.

diag_ : Num a => Vect n a -> Matrix n n a

Square matrix from diagonal elements

det2 : Neg a => Matrix (fromInteger 2) (fromInteger 2) a -> a

Determinant of a 2-by-2 matrix

det : Neg a => Matrix (S (S n)) (S (S n)) a -> a

Determinant of a square matrix

blockDiag : Num a => Matrix n n a -> Matrix m m a -> Matrix (n + m) (n + m) a

Combine two matrices to make a new matrix in block diagonal form

basis : Num a => Fin d -> Vect d a

Standard basis vector with one nonzero entry, numeric data type and vector-length unfixed

altSum : Neg a => Vect n a -> a

Alternating sum

(\&\) : Num a => Vect n a -> Vect m a -> Vect (n * m) a

Tensor multiply (⊗) numeric vectors

Fixity
Left associative, precedence 7
Id : Num a => Matrix d d a

Identity matrix

(>><<) : Num a => Matrix n n a -> Matrix n n a -> Matrix n n a

Matrix anti-commutator

Fixity
Left associative, precedence 2
(><) : Num a => Vect n a -> Vect m a -> Matrix n m a

Outer product between numeric vectors

Fixity
Left associative, precedence 2
(<\>) : Num a => Vect n a -> Matrix n m a -> Vect m a

Matrix times a row vector

Fixity
Left associative, precedence 3
(<>) : Num a => Matrix n k a -> Matrix k m a -> Matrix n m a

Matrix multiplication

Fixity
Left associative, precedence 5
(<<>>) : Neg a => Matrix n n a -> Matrix n n a -> Matrix n n a

Matrix commutator

Fixity
Left associative, precedence 2
(<:>) : Num a => Vect n a -> Vect n a -> a

Inner product of ring vectors

Fixity
Left associative, precedence 2
(</>) : Num a => Matrix n m a -> Vect m a -> Vect n a

Matrix times a column vector

Fixity
Left associative, precedence 3
(<&>) : Num a => Matrix h1 w1 a -> Matrix h2 w2 a -> Matrix (h1 * h2) (w1 * w2) a

Tensor multiply (⊗) for numeric matrices

Fixity
Left associative, precedence 7
(<#>) : Num a => a -> Matrix n m a -> Matrix n m a

Scale matrix by a scalar

Fixity
Left associative, precedence 5
(<#) : Num a => a -> Vect n a -> Vect n a

Scale a numeric vector by a scalar

Fixity
Left associative, precedence 5