HomePage
PmWiki
pmwiki.org
|
Matrix concept heirachy
- AnyMatrix?
- Top level matrix, may define some high-level operations, no iterator interface
- MatrixExpression?
- A matrix expression, such as a proxy. Defines eval() function
- LocalMatrix?
- 2-dimensional 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?
- Non-zero 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 off-diagonal 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 column-major. Two specializations are defined, for CompressedRowMajorMatrix and CompressedColumnMajorMatrix.
- DenseMatrix?
- A dense matrix, in either row- or column-major 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 row-major) or rows (for column major). Two specializations are defined, for ContiguousRowMajorMatrix and ContiguousColMajorMatrix.
|