Generic Matrix Multiplication and Memory Management in LinBox
In
ISSAC'05:
Proceedings of the 2005 International Symposium on Symbolic and Algebraic Computation,
pages 216-223, New York, NY, USA, 2005. ACM Press.
ISSAC'05 version (© ACM 2006)
Abstract
We describe the design and implementation of two components in the
LinBox library. The first is an implementation of black box matrix
multiplication as a lazy matrix-times-matrix product. The
implementation uses template meta-programming to set the intermediate
vector type used during application of the matrix product. We also
describe an interface mechanism that allows incorporation of external
components with native memory management such as garbage collection
into LinBox. An implementation of the interface based on SACLIB's field
arithmetic procedures is presented.