Generic Matrix Multiplication and Memory Management in LinBox

E. Kaltofen, D. Morozov, G. Yuhasz


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 incorporates external memory management into LinBox. An implementation of the interface based on Saclib's field arithmetic procedures is presented.