50 C(
nc,
nx),
D(
nc,
nu),
d(
nc),
Gth(
nth,
nth),
Gx(
nx,
nth),
Gu(
nu,
nth),
113 stages[i].addParameterization(nth);
126 Scalar
evaluate(
const VectorOfVectors &xs,
const VectorOfVectors &us,
127 const std::optional<ConstVectorRef> &theta_)
const;
133 G0.resize(
nc0(), nx0);
137template <
typename Scalar>
138std::ostream &
operator<<(std::ostream &oss,
const LQRKnotTpl<Scalar> &self) {
140 oss << fmt::format(
"\n nx: {:d}", self.nx)
141 << fmt::format(
"\n nu: {:d}", self.nu)
142 << fmt::format(
"\n nc: {:d}", self.nc);
144 oss << fmt::format(
"\n nth: {:d}", self.nth);
175#include "lqr-problem.hxx"
177#ifdef ALIGATOR_ENABLE_TEMPLATE_INSTANTIATION
178#include "lqr-problem.txx"
std::ostream & operator<<(std::ostream &oss, const LQRKnotTpl< Scalar > &self)
auto eigenPrintWithPreamble(const Eigen::EigenBase< D > &mat, const std::string &text)
Struct describing a stage of a constrained LQ problem.
LQRKnotTpl(uint nx, uint nu, uint nc)
ALIGATOR_DYNAMIC_TYPEDEFS(Scalar)
LQRKnotTpl(uint nx, uint nu, uint nc, uint nx2, uint nth=0)
void addParameterization(uint nth)
LQRProblemTpl(KnotVector &&knots, long nc0)
bool isInitialized() const
LQRProblemTpl(const KnotVector &knots, long nc0)
std::vector< KnotType > KnotVector
bool isParameterized() const
LQRKnotTpl< Scalar > KnotType
uint nc0() const noexcept
void addParameterization(uint nth)
Scalar evaluate(const VectorOfVectors &xs, const VectorOfVectors &us, const std::optional< ConstVectorRef > &theta_) const
Evaluate the quadratic objective.
ALIGATOR_DYNAMIC_TYPEDEFS(Scalar)
int horizon() const noexcept