Next: Implementations
Up: The SymPLA class library
Previous: Vectors
The following techniques have been used in the design of the Matrix
class library:
- Inheritance to expand functionality, e.g. SubMatrix.
- Flags to provide similar, yet different functionality from the
same classes, e.g. the TriangularSolverComponent and
MatrixHandler classes, with flags initialized depending on their
place in the actual class hierarchy.
- Central collection of common data
storage, and operations on the data in the Matrixscope class.
- Implicit type conversion to handle a number of operations,
e.g. factorization.
- Delayed evaluation of outer product expressions.
- All expressions view the matrices as submatrices.