Extra matrix operations


These constructions have special mathematical properties:
<box-matrix> ( r -- matrix )

<hankel-matrix> ( n -- matrix )

<hilbert-matrix> ( m n -- matrix )

<toeplitz-matrix> ( n -- matrix )

<vandermonde-matrix> ( u n -- matrix )


Common transformation matrices:
<frustum-matrix4> ( xy-dim near far -- matrix )

<ortho-matrix4> ( factors -- matrix )

<rotation-matrix3> ( axis theta -- matrix )

<rotation-matrix4> ( axis theta -- matrix )

<scale-matrix3> ( factors -- matrix )

<scale-matrix4> ( factors -- matrix )

<skew-matrix4> ( theta -- matrix )

<translation-matrix4> ( offset -- matrix )

<random-integer-matrix> ( m n max -- matrix )

<random-unit-matrix> ( m n max -- matrix )


invertible-matrix? ( matrix -- ? )

linearly-independent-matrix? ( matrix -- ? )


Common algorithms on matrices:
gram-schmidt ( matrix -- orthogonal )

gram-schmidt-normalize ( matrix -- orthonormal )

kronecker-product ( m1 m2 -- m )

outer-product ( u v -- matrix )


Matrix algebra:
mmin ( m -- n )

mmax ( m -- n )

mnorm ( m -- m' )

rank ( matrix -- rank )

nullity ( matrix -- nullity )


determinant ( matrix -- determinant )

1/det ( matrix -- 1/det )

m*1/det ( matrix -- matrix' )

>minors ( matrix -- matrix' )

>cofactors ( matrix -- matrix' )

multiplicative-inverse ( x -- y )


Covariance in matrices:
covariance-matrix ( matrix -- cov )

covariance-matrix-ddof ( matrix ddof -- cov )

sample-covariance-matrix ( matrix -- cov )


Errors thrown by this vocabulary:
negative-power-matrix ( m n -- * )

non-square-determinant ( m n -- * )

undefined-inverse ( m n r -- * )