akreon-linalg
Fixed-size linear algebra and numerical methods in C++26.
Loading...
Searching...
No Matches
linalg::VectorSpace Concept Reference

Legacy vector-space expression contract for a registered space. More...

#include <space_concepts.hpp>

Concept definition

template<class Space>
requires(const space_point_t<Space>& x, const space_point_t<Space>& y,
{ x + y } -> std::convertible_to<space_point_t<Space>>;
{ x - y } -> std::convertible_to<space_point_t<Space>>;
{ alpha * x } -> std::convertible_to<space_point_t<Space>>;
{ alpha * (x + y) } -> std::convertible_to<space_point_t<Space>>;
{ alpha * x + alpha * y } -> std::convertible_to<space_point_t<Space>>;
{
} -> std::convertible_to<space_point_t<Space>>;
}
Legacy vector-space expression contract for a registered space.
constexpr std::size_t mat_rows_v
Registered compile-time row count after cv/ref normalization.

Detailed Description

Legacy vector-space expression contract for a registered space.

The registered Point type must support addition, subtraction, and scalar multiplication by the registered value_type. The distributive expressions are checked for type compatibility. As with other C++ concepts, this verifies syntax and result types rather than proving the vector-space axioms.

New element-coordinate modeling should use Space and CoordinatizedSpace; this concept remains for APIs expressed through the legacy space_point_t/space_type_t vocabulary.

Definition at line 31 of file space_concepts.hpp.