proxsuite-nlp
0.10.0
A primal-dual augmented Lagrangian-type solver for nonlinear programming on manifolds.
|
Wrap a Pinocchio Lie group into a ManifoldAbstractTpl object. More...
#include <proxsuite-nlp/modelling/spaces/pinocchio-groups.hpp>
Public Types | |
using | LieGroup = _LieGroup |
using | Scalar = typename LieGroup::Scalar |
using | Base = ManifoldAbstractTpl<Scalar, Options> |
Public Types inherited from proxsuite::nlp::ManifoldAbstractTpl< _LieGroup::Scalar, _LieGroup::Options > | |
using | Scalar |
using | TangentSpaceType |
Typedef for the tangent space, as a manifold. | |
Public Member Functions | |
PinocchioLieGroup () | |
PinocchioLieGroup (const LieGroup &lg) | |
PinocchioLieGroup (LieGroup &&lg) | |
PinocchioLieGroup (const PinocchioLieGroup &lg)=default | |
PinocchioLieGroup (PinocchioLieGroup &&lg)=default | |
template<typename... Args> | |
PinocchioLieGroup (Args &&...args) | |
operator LieGroup () | |
int | nx () const |
Get manifold representation dimension. | |
int | ndx () const |
Get manifold tangent space dimension. | |
Implementations | |
void | integrate_impl (const ConstVectorRef &x, const ConstVectorRef &v, VectorRef out) const |
Perform the manifold integration operation. | |
void | difference_impl (const ConstVectorRef &x0, const ConstVectorRef &x1, VectorRef vout) const |
Implementation of the manifold retraction operation. | |
void | Jintegrate_impl (const ConstVectorRef &x, const ConstVectorRef &v, MatrixRef Jout, int arg) const |
void | JintegrateTransport (const ConstVectorRef &x, const ConstVectorRef &v, MatrixRef Jout, int arg) const |
Perform the parallel transport operation. | |
void | Jdifference_impl (const ConstVectorRef &x0, const ConstVectorRef &x1, MatrixRef Jout, int arg) const |
virtual void | interpolate_impl (const ConstVectorRef &x0, const ConstVectorRef &x1, const Scalar &u, VectorRef out) const |
VectorXs | neutral () const |
Get the neutral element \(e \in M\) from the manifold (if this makes sense). | |
VectorXs | rand () const |
Sample a random point \(x \in M\) on the manifold. | |
bool | isNormalized (const ConstVectorRef &x) const |
Check if the input vector x is a viable element of the manifold. | |
Public Member Functions inherited from proxsuite::nlp::ManifoldAbstractTpl< _LieGroup::Scalar, _LieGroup::Options > | |
virtual | ~ManifoldAbstractTpl ()=default |
const TangentSpaceType | tangentSpace () const |
Return an object representing the tangent space as a manifold. | |
void | integrate (const ConstVectorRef &x, const ConstVectorRef &v, VectorRef out) const |
Manifold integration operation \(x \oplus v\). | |
void | Jintegrate (const ConstVectorRef &x, const ConstVectorRef &v, MatrixRef Jout, int arg) const |
Jacobian of the integation operation. | |
void | difference (const ConstVectorRef &x0, const ConstVectorRef &x1, VectorRef out) const |
Manifold difference/retraction operation \(x_1 \ominus x_0\). | |
void | Jdifference (const ConstVectorRef &x0, const ConstVectorRef &x1, MatrixRef Jout, int arg) const |
Jacobian of the retraction operation. | |
void | interpolate (const ConstVectorRef &x0, const ConstVectorRef &x1, const Scalar &u, VectorRef out) const |
VectorXs | integrate (const ConstVectorRef &x, const ConstVectorRef &v) const |
Manifold integration operation \(x \oplus v\). | |
VectorXs | difference (const ConstVectorRef &x0, const ConstVectorRef &x1) const |
Manifold difference/retraction operation \(x_1 \ominus x_0\). | |
VectorXs | interpolate (const ConstVectorRef &x0, const ConstVectorRef &x1, const Scalar &u) const |
Interpolation operation. | |
Public Attributes | |
Scalar | |
LieGroup | lg_ |
Public Attributes inherited from proxsuite::nlp::ManifoldAbstractTpl< _LieGroup::Scalar, _LieGroup::Options > | |
Scalar | |
Static Public Attributes | |
static constexpr int | Options = LieGroup::Options |
Static Public Attributes inherited from proxsuite::nlp::ManifoldAbstractTpl< _LieGroup::Scalar, _LieGroup::Options > | |
static constexpr int | Options |
Scalar type. | |
Additional Inherited Members | |
Protected Member Functions inherited from proxsuite::nlp::ManifoldAbstractTpl< _LieGroup::Scalar, _LieGroup::Options > | |
virtual void | interpolate_impl (const ConstVectorRef &x0, const ConstVectorRef &x1, const Scalar &u, VectorRef out) const |
Interpolation operation. | |
Wrap a Pinocchio Lie group into a ManifoldAbstractTpl object.
Definition at line 18 of file pinocchio-groups.hpp.
using proxsuite::nlp::PinocchioLieGroup< _LieGroup >::LieGroup = _LieGroup |
Definition at line 22 of file pinocchio-groups.hpp.
using proxsuite::nlp::PinocchioLieGroup< _LieGroup >::Scalar = typename LieGroup::Scalar |
Definition at line 23 of file pinocchio-groups.hpp.
using proxsuite::nlp::PinocchioLieGroup< _LieGroup >::Base = ManifoldAbstractTpl<Scalar, Options> |
Definition at line 25 of file pinocchio-groups.hpp.
|
inline |
Definition at line 32 of file pinocchio-groups.hpp.
|
inline |
Definition at line 33 of file pinocchio-groups.hpp.
|
inline |
Definition at line 34 of file pinocchio-groups.hpp.
|
default |
|
default |
|
inline |
Definition at line 39 of file pinocchio-groups.hpp.
|
inline |
Definition at line 41 of file pinocchio-groups.hpp.
|
inlinevirtual |
Get manifold representation dimension.
Implements proxsuite::nlp::ManifoldAbstractTpl< _LieGroup::Scalar, _LieGroup::Options >.
Definition at line 43 of file pinocchio-groups.hpp.
|
inlinevirtual |
Get manifold tangent space dimension.
Implements proxsuite::nlp::ManifoldAbstractTpl< _LieGroup::Scalar, _LieGroup::Options >.
Definition at line 44 of file pinocchio-groups.hpp.
|
inlinevirtual |
Perform the manifold integration operation.
Implements proxsuite::nlp::ManifoldAbstractTpl< _LieGroup::Scalar, _LieGroup::Options >.
Definition at line 48 of file pinocchio-groups.hpp.
|
inlinevirtual |
Implementation of the manifold retraction operation.
Implements proxsuite::nlp::ManifoldAbstractTpl< _LieGroup::Scalar, _LieGroup::Options >.
Definition at line 53 of file pinocchio-groups.hpp.
|
inlinevirtual |
Implements proxsuite::nlp::ManifoldAbstractTpl< _LieGroup::Scalar, _LieGroup::Options >.
Definition at line 58 of file pinocchio-groups.hpp.
|
inlinevirtual |
Perform the parallel transport operation.
Implements proxsuite::nlp::ManifoldAbstractTpl< _LieGroup::Scalar, _LieGroup::Options >.
Definition at line 70 of file pinocchio-groups.hpp.
|
inlinevirtual |
Implements proxsuite::nlp::ManifoldAbstractTpl< _LieGroup::Scalar, _LieGroup::Options >.
Definition at line 75 of file pinocchio-groups.hpp.
|
inlinevirtual |
Definition at line 87 of file pinocchio-groups.hpp.
|
inlinevirtual |
Get the neutral element \(e \in M\) from the manifold (if this makes sense).
Reimplemented from proxsuite::nlp::ManifoldAbstractTpl< _LieGroup::Scalar, _LieGroup::Options >.
Definition at line 93 of file pinocchio-groups.hpp.
|
inlinevirtual |
Sample a random point \(x \in M\) on the manifold.
Reimplemented from proxsuite::nlp::ManifoldAbstractTpl< _LieGroup::Scalar, _LieGroup::Options >.
Definition at line 95 of file pinocchio-groups.hpp.
|
inlinevirtual |
Check if the input vector x
is a viable element of the manifold.
Reimplemented from proxsuite::nlp::ManifoldAbstractTpl< _LieGroup::Scalar, _LieGroup::Options >.
Definition at line 96 of file pinocchio-groups.hpp.
|
staticconstexpr |
Definition at line 24 of file pinocchio-groups.hpp.
proxsuite::nlp::PinocchioLieGroup< _LieGroup >::Scalar |
Definition at line 26 of file pinocchio-groups.hpp.
LieGroup proxsuite::nlp::PinocchioLieGroup< _LieGroup >::lg_ |
Definition at line 31 of file pinocchio-groups.hpp.