HomePage
PmWiki
pmwiki.org

Matrix concept heirachy
 AnyMatrix?
 Top level matrix, may define some highlevel operations, no iterator interface
 MatrixExpression?
 A matrix expression, such as a proxy. Defines eval() function
 LocalMatrix?
 2dimensional iterator interface with few constraints, in particular, a component may appear more than once
 InjectiveMatrix?
 Each element in the iterator occurs at most once
 SparseMatrix?
 Generic sparse matrix
 DiagonalMatrix?
 Nonzero only on the diagonal. Main way of access is via diagonal() function. Direct access is allowed; if the value_type admits a zero value then this is returned, otherwise addressing an offdiagonal element is erroneous.
 ScalarMatrix?
 A matrix that is proportional to the identity
 CoordinateMatrix
 A sparse matrix in the coordinate representation.
 CompressedOuterMatrix
 A sparse matrix in a compressed format, either row or columnmajor. Two specializations are defined, for CompressedRowMajorMatrix and CompressedColumnMajorMatrix.
 DenseMatrix?
 A dense matrix, in either row or columnmajor format. Two specializations are defined, for DenseRowMajorMatrix and DenseColMajorMatrix.
 StrideMatrix?
 A matrix that exists in memory, and can be directly addressed, with some stride. Two specializations are defined, for StrideRowMajorMatrix and StrideColMajorMatrix.
 ContiguousMatrix?
 Matrix elements occur contiguously in memory, and the leading dimension is the same as the number of columns (for rowmajor) or rows (for column major). Two specializations are defined, for ContiguousRowMajorMatrix and ContiguousColMajorMatrix.
