|
Dedekind 0.0.0
A structuralist C++23 Module Library
|
General (possibly-singular) 2×2 matrix with NTTP entries. More...
Public Types | |
| using | Domain = T |
Public Member Functions | |
| template<T a2, T b2, T c2, T d2> | |
| constexpr auto | operator* (Matrix2x2< T, a2, b2, c2, d2 >) const |
| template<T a2, T b2, T c2, T d2> | |
| constexpr auto | operator* (Invertible2x2< T, a2, b2, c2, d2 >) const |
| constexpr auto | operator- () const |
| template<T a2, T b2, T c2, T d2> | |
| constexpr auto | operator+ (Matrix2x2< T, a2, b2, c2, d2 >) const |
| template<T a2, T b2, T c2, T d2> | |
| constexpr bool | operator== (Matrix2x2< T, a2, b2, c2, d2 >) const |
Static Public Attributes | |
| static constexpr T | m11 = a |
| static constexpr T | m12 = b |
| static constexpr T | m21 = c |
| static constexpr T | m22 = d |
General (possibly-singular) 2×2 matrix with NTTP entries.
Companion to Invertible2x2 without the full-rank static_assert. Used for off-diagonal blocks in BlockUpperTriangular where the block matrix's invertibility does not require the off-diagonal blocks to be invertible themselves.
Supports the arithmetic needed for Tier 2 of #366: composition, unary negation, and mixed composition with Invertible2x2. Does not advertise an inverse — singular Matrix2x2s are valid inhabitants of the type.