11template <
typename _Scalar,
int _Dim,
int _Options>
21 template <
int N =
Dim,
22 typename =
typename std::enable_if_t<N == Eigen::Dynamic>>
28 template <
int N =
Dim,
29 typename =
typename std::enable_if_t<N != Eigen::Dynamic>>
32 inline int nx()
const {
return dim_; }
40 VectorRef out)
const {
45 MatrixRef Jout,
int)
const {
50 MatrixRef,
int)
const {}
55 VectorRef out)
const {
60 MatrixRef Jout,
int arg)
const {
63 Jout = -MatrixXs::Identity(
ndx(),
ndx());
69 throw std::runtime_error(
"Wrong arg value.");
74 const Scalar &u, VectorRef out)
const {
75 out = u * x1 + (
static_cast<Scalar>(1.) - u) * x0;
#define PROXSUITE_NLP_DYNAMIC_TYPEDEFS(Scalar)
Standard Euclidean vector space.
void JintegrateTransport(const ConstVectorRef &, const ConstVectorRef &, MatrixRef, int) const
Perform the parallel transport operation.
int nx() const
Get manifold representation dimension.
void interpolate_impl(const ConstVectorRef &x0, const ConstVectorRef &x1, const Scalar &u, VectorRef out) const
Interpolation operation.
void Jintegrate_impl(const ConstVectorRef &, const ConstVectorRef &, MatrixRef Jout, int) const
void difference_impl(const ConstVectorRef &x0, const ConstVectorRef &x1, VectorRef out) const
Implementation of the manifold retraction operation.
void Jdifference_impl(const ConstVectorRef &, const ConstVectorRef &, MatrixRef Jout, int arg) const
VectorSpaceTpl(const int dim)
Default constructor where the dimension is supplied.
int ndx() const
Get manifold tangent space dimension.
void integrate_impl(const ConstVectorRef &x, const ConstVectorRef &v, VectorRef out) const
Perform the manifold integration operation.
VectorSpaceTpl()
Default constructor without arguments.