num::repr::csr¶
Defined in header <container/concepts.hpp>
template <class M>
concept csr = requires(const M &m) {
{ m.n_rows() } -> std::convertible_to<idx>;
{ m.n_cols() } -> std::convertible_to<idx>;
{ m.nnz() } -> std::convertible_to<idx>;
{ m.row_ptr() } -> std::convertible_to<const idx *>;
{ m.col_idx() } -> std::convertible_to<const idx *>;
{ m.values() };
};
Compressed sparse row (CSR) storage format: row offsets, column indices, and nonzero values.
Enables matrix-vector multiplication in \(\mathcal{O}(\text{nnz})\) time. Models include num::spmat.
Template parameters¶
M: Sparse matrix type.