|
gtsam
|
Static Public Member Functions | |
| template<int D = 1> | |
| static Matrix | QcqpValue (const Rot2 &value) |
| Return a matrix-valued QCQP variable for Rot2. | |
| template<int D = 1> | |
| static std::vector< std::pair< Matrix, double > > | QcqpConstraints () |
| Return row-space QCQP equality constraints A, b such that trace(x_i' A x_i) = b[j]. | |
| template<int D> | |
| static Rot2 | FromQcqpValue (const Matrix &X) |
| Project a D=1 minimal vector or canonical 2-by-D lift back to Rot2. | |
| Static Public Member Functions inherited from gtsam::internal::MatrixLieGroupTraits< Rot2, N > | |
| static LieAlgebra | Hat (const TangentVector &v) |
| static TangentVector | Vee (const LieAlgebra &X) |
| static Eigen::Matrix< double, product(N, N), 1 > | Vec (const Rot2 &m, OptionalJacobian< product(N, N), LieGroupTraits< Rot2 >::dimension > H={}) |
| Vectorize the matrix representation of a Lie group element. | |
| static TangentVector | AdjointTranspose (const Rot2 &m, const TangentVector &x, ChartJacobian Hm={}, ChartJacobian Hx={}) |
| static TangentVector | Adjoint (const Rot2 &m, const TangentVector &x, ChartJacobian Hm={}, ChartJacobian Hx={}) |
| static Jacobian | adjointMap (const TangentVector &xi) |
| static TangentVector | adjoint (const TangentVector &xi, const TangentVector &y, ChartJacobian Hxi={}, ChartJacobian H_y={}) |
| static TangentVector | adjointTranspose (const TangentVector &xi, const TangentVector &y, ChartJacobian Hxi={}, ChartJacobian H_y={}) |
| Static Public Member Functions inherited from gtsam::internal::LieGroupTraits< Rot2 > | |
| static TangentVector | Logmap (const Rot2 &m) |
| static Rot2 | Expmap (const TangentVector &v) |
| static Rot2 | Compose (const Rot2 &m1, const Rot2 &m2, ChartJacobian H1={}, ChartJacobian H2={}) |
| static Rot2 | Between (const Rot2 &m1, const Rot2 &m2, ChartJacobian H1={}, ChartJacobian H2={}) |
| static Rot2 | Inverse (const Rot2 &m, ChartJacobian H={}) |
| static Eigen::Matrix< double, dimension, dimension > | AdjointMap (const Rot2 &m) |
| static Rot2 | Identity () |
| Static Public Member Functions inherited from gtsam::internal::ManifoldTraits< Rot2 > | |
| static TangentVector | Local (const Rot2 &origin, const Rot2 &other) |
| static Rot2 | Retract (const Rot2 &origin, const TangentVector &v) |
| Static Public Member Functions inherited from gtsam::internal::GetDimensionImpl< Rot2, Rot2::dimension > | |
| static size_t | GetDimension (const Rot2 &m) |
| Static Public Member Functions inherited from gtsam::Testable< Rot2 > | |
| static void | Print (const Rot2 &m, const std::string &str="") |
| static bool | Equals (const Rot2 &m1, const Rot2 &m2, double tol=1e-8) |
Static Public Attributes | |
| static constexpr int | QcqpVectorDim = 3 |
| Dimension of the D=1 homogenized QCQP vector [h, cos(theta), sin(theta)]. | |
| static constexpr auto | dimension |
| Static Public Attributes inherited from gtsam::internal::ManifoldTraits< Rot2 > | |
| static constexpr auto | dimension |
Additional Inherited Members | |
| Public Member Functions inherited from gtsam::internal::ManifoldTraits< Rot2 > | |
| GTSAM_CONCEPT_ASSERT (HasManifoldPrereqs< Rot2 >) | |
| Public Member Functions inherited from gtsam::Testable< Rot2 > | |
| GTSAM_CONCEPT_ASSERT (HasTestablePrereqs< Rot2 >) | |
| Public Types inherited from gtsam::internal::MatrixLieGroupTraits< Rot2, N > | |
| using | LieAlgebra |
| using | TangentVector |
| using | Jacobian |
| using | ChartJacobian |
| Public Types inherited from gtsam::internal::LieGroupTraits< Rot2 > | |
| typedef OptionalJacobian< dimension, dimension > | ChartJacobian |
| typedef Rot2 | ManifoldType |
| typedef Eigen::Matrix< double, dimension, 1 > | TangentVector |
| using | Manifold |
| using | structure_category |
| using | group_flavor |
| using | Jacobian |
| Public Types inherited from gtsam::internal::ManifoldTraits< Rot2 > | |
| typedef Rot2 | ManifoldType |
| typedef manifold_tag | structure_category |
| typedef Eigen::Matrix< double, dimension, 1 > | TangentVector |
| typedef OptionalJacobian< dimension, dimension > | ChartJacobian |
|
inlinestatic |
Project a D=1 minimal vector or canonical 2-by-D lift back to Rot2.
Matrix-form QCQP solutions have a right-O(D) gauge, making this leading-block projection gauge-dependent unless the caller has first chosen a gauge. Matrix-form X must be exactly 2-by-D.
|
inlinestatic |
Return row-space QCQP equality constraints A, b such that trace(x_i' A x_i) = b[j].
For D=1 these fix h^2=1 and impose the unit-circle constraint c^2+s^2=1. For D>=2 the same 2-by-2 constraints enforce row orthonormality. The matrix constraints enforce XX'=I, not determinant +1; square D=2 variables therefore admit both components of O(2).
|
inlinestatic |
Return a matrix-valued QCQP variable for Rot2.
D=1 uses the minimal homogeneous representation [1, cos(theta), sin(theta)]', yielding a 3-by-1 matrix. The remaining matrix entries are recovered from the exact linear identities r01=-r10 and r11=r00. D>=2 returns [R', 0] as a 2-by-D row-orthonormal matrix. These matrix variables form a Stiefel relaxation with a common right-O(D) gauge.