Simple Matrix Arithmetic
This library is used to perform some simple matrix arithmetic like multiplication, transposition, addition, and inversion.
It is truly "simple" and very naive in its implementation but it will do its job without much overhead from typed racket.
Matrices are represented as lists of rows, which are lists of numbers.
So a 3x3 identity matrix would look like '((1 0 0) (0 1 0) (0 0 1)).
Determines if the argument is a matrix in the sense this library understands.
A convenience for turning a simple list of numbers into a column vector.
|> (column '(1 2 -2))|
'((1) (2) (-2))
Adds two matricies element-wise.
Multiplies two matrices using matrix multiplication. It is an error if the sizes
do not correspond to proper matrix multiplication.
Repeated multiplication of a matrix.
Exchange rows and columns of a matrix.
Attempts to invert a matrix. If the matrix has no inverse, then
this procedure evaluates to #f.