num::matrix_space¶
Defined in header <algebra/concepts.hpp>
template <class A, class T = entry_t<A>>
concept matrix_space = field<T> && requires(const A &a) {
{ a.rows() } -> std::convertible_to<idx>;
{ a.cols() } -> std::convertible_to<idx>;
{ a(idx{0}, idx{0}) } -> std::convertible_to<T>;
};
Linear map presented as an entrywise-indexable 2D array.
A matrix-free operator is a linear_operator but not a matrix_space. Routines that read entries, such as pivoting or banded factorization, require this.