CLEM represents matrices using lisp arrays, rather than an external representation for use by packages like BLAS and LAPACK. CLEM uses CLOS and the MOP to make classes specailized for particular lisp types, and provides a number of optimized methods for these matrix types that provide for non-consing (or minimally-consing) matrix operations such as addition, multiplication, scaling, affine transformation, discrete convolution, etc...

Topics: linear algebra