num::math::linear_operator¶
Defined in header <core/math/concepts.hpp>
template <class Op, class X = domain_t<Op>, class Y = codomain_t<Op>>
concept linear_operator =
vector_space<X> && vector_space<Y> && requires(const Op &A, const X &x, Y &y) {
apply(A, x, y);
{ A.rows() } -> std::integral;
{ A.cols() } -> std::integral;
};
Linear map \(A: X \to Y\) that can be applied and knows its shape.
Linearity is a precondition the caller meets, like the semantic requirements of the standard concepts; it has no law, since no algorithm is chosen by it.