Matrix Library
Matrix| No Comments »I’m eventually going to have to develop Bwain and the Matrix library seperately, so I figured that having a separate categories would help.
Found some text on writing numerical libraries in C++. I know I have to implement different matrix storage types, and I know not to use a base class with virtual methods for access. I came across the idiom for Curiously recurring template pattern. I want static polymorphism, not dynamic polymorphism. Each time I use a matrix, I know its type at compile time, so any runtime polymorphism is a waste of cycles. I’m going to use this to define a templated base class for matrices, then fill in the blanks.
Matrix types. I’m planning on doing row and column major implementations
- Dense
- Banded
- Upper/Lower Triangular
- Symmetric
- Block
- Sparse
For each, I need the following operations, for row and col major matrices.
- saxpy row
- saxpy col
- vector/matrix row
- vector/matrix col


