|
|
constexpr bool | operator== (const LinearMap &, const LinearMap &)=default |
|
template<IsMatrixScalar G, std::size_t R, std::size_t C> |
| constexpr LinearMap< G, R, C > | operator+ (const LinearMap< G, R, C > &, const LinearMap< G, R, C > &) |
|
template<IsMatrixScalar G, std::size_t R, std::size_t C> |
| constexpr LinearMap< G, R, C > | operator- (const LinearMap< G, R, C > &) |
|
template<IsMatrixScalar G, std::size_t R, std::size_t C> |
| constexpr LinearMap< G, R, C > | operator- (const LinearMap< G, R, C > &, const LinearMap< G, R, C > &) |
|
template<IsMatrixScalar G, std::size_t R, std::size_t C> |
| constexpr LinearMap< G, R, C > | operator* (const G &, const LinearMap< G, R, C > &) |
|
template<IsMatrixScalar G, std::size_t R, std::size_t C> |
| constexpr LinearMap< G, R, C > | operator* (const LinearMap< G, R, C > &, const G &) |
|
template<IsMatrixScalar G, std::size_t R, std::size_t Inner, std::size_t C> |
| constexpr LinearMap< G, R, C > | operator* (const LinearMap< G, R, Inner > &, const LinearMap< G, Inner, C > &) |
template<IsMatrixScalar F, std::size_t Rows, std::size_t Cols>
class dedekind::geometry::LinearMap< F, Rows, Cols >
A dense compile-time-sized linear map F^Cols -> F^Rows.
Algebraic Role: LinearMap<F, R, C> is the concrete carrier for a Semimodule over the scalar semiring F. When instantiated with field scalars (e.g., double), it represents a Vector Space over that field.
The matrix structure is defined by:
- Dense row-major coefficient storage: std::array<std::array<F, Cols>, Rows>
- Vector application via matrix-vector multiplication
- Matrix composition via matrix-matrix multiplication (for square matrices)
- Additive structure: element-wise addition and scalar multiplication
- Template Parameters
-
| F | The scalar field/ring/semiring type. |
| Rows | The number of output dimensions. |
| Cols | The number of input dimensions. |
Supports scalars meeting IsMatrixScalar. The surrounding documentation treats these carriers as field-like under the active numeric policy, rather than as a categorical field proof.