PointMatrix class
Point matrix with bounded maximum number of rows (space dimension).
This type encodes the invariant: rows <= RODIN_MAXIMAL_SPACE_DIMENSION (==3), while allowing an arbitrary number of columns (dynamic).
Typical uses:
- Point sets stored as columns (3 x N, 2 x N, 1 x N)
- Jacobians where the codomain is embedded in R^3 (3 x k, k dynamic)
Public functions
- auto dot(const PointMatrix& other) const -> Scalar noexcept
- Frobenius dot product with another PointMatrix of same runtime size.
- auto transpose() const -> Eigen::Matrix<Scalar, Eigen::Dynamic, Eigen::Dynamic, 0, Eigen::Dynamic, MaxRows>
- Transpose (cols x rows). Since rows<=3, result has at most 3 columns.
- auto adjoint() const -> Eigen::Matrix<Scalar, Eigen::Dynamic, Eigen::Dynamic, 0, Eigen::Dynamic, MaxRows>
- Adjoint (conjugate transpose), consistent with Eigen semantics.