22 #define HUMOTO_PARENT_CLASS_SHORTHAND CopyTwoSidedInequalityToALMixin < CopyAnyToALUMixin < ViolationsComputationLUMixin < ActiveSetDeterminationLUMixin < BodyAMixin< BoundsLUMixin <t_Base> > > > > > 28 template <
class t_Base>
41 using HUMOTO_PARENT_CLASS_SHORTHAND::getNumberOfVariables;
42 using HUMOTO_PARENT_CLASS_SHORTHAND::getA;
43 using HUMOTO_PARENT_CLASS_SHORTHAND::getLowerBounds;
44 using HUMOTO_PARENT_CLASS_SHORTHAND::getUpperBounds;
59 && (getA().rows() == getUpperBounds().rows()),
60 "Size of A does not match sizes of the bounds.");
62 HUMOTO_ASSERT( (getA().cols() > 0) && (static_cast<std::size_t>(getA().cols()) == getNumberOfVariables()),
63 "Incorrect number of columns in A.");
66 #undef HUMOTO_PARENT_CLASS_SHORTHAND 69 #define HUMOTO_PARENT_CLASS_SHORTHAND CopyLowerInequalityToALMixin < CopyAnyToALUMixin < ViolationsComputationLMixin < ActiveSetDeterminationLMixin < BodyAMixin< BoundsLMixin <t_Base> > > > > > 75 template <
class t_Base>
88 using HUMOTO_PARENT_CLASS_SHORTHAND::getNumberOfVariables;
89 using HUMOTO_PARENT_CLASS_SHORTHAND::getA;
90 using HUMOTO_PARENT_CLASS_SHORTHAND::getLowerBounds;
105 "Size of A does not match sizes of the bounds.");
107 HUMOTO_ASSERT( (getA().cols() > 0) && (static_cast<std::size_t>(getA().cols()) == getNumberOfVariables()),
108 "Incorrect number of columns in A.");
111 #undef HUMOTO_PARENT_CLASS_SHORTHAND 114 #define HUMOTO_PARENT_CLASS_SHORTHAND CopyUpperInequalityToALMixin < CopyAnyToALUMixin < ViolationsComputationUMixin < ActiveSetDeterminationUMixin < BodyAMixin< BoundsUMixin <t_Base> > > > > > 120 template <
class t_Base>
133 using HUMOTO_PARENT_CLASS_SHORTHAND::getNumberOfVariables;
134 using HUMOTO_PARENT_CLASS_SHORTHAND::getA;
135 using HUMOTO_PARENT_CLASS_SHORTHAND::getUpperBounds;
149 "Size of A does not match sizes of the bounds.");
151 HUMOTO_ASSERT( (getA().cols() > 0) && (static_cast<std::size_t>(getA().cols()) == getNumberOfVariables()),
152 "Incorrect number of columns in A.");
155 #undef HUMOTO_PARENT_CLASS_SHORTHAND 159 #define HUMOTO_PARENT_CLASS_SHORTHAND CopyAnyToALUMixin < CopyEqualityToABMixin < ViolationsComputationBMixin < ActiveSetDeterminationBMixin < BodyAMixin< BoundsBMixin <t_Base> > > > > > 165 template <
class t_Base>
178 using HUMOTO_PARENT_CLASS_SHORTHAND::getNumberOfVariables;
179 using HUMOTO_PARENT_CLASS_SHORTHAND::getA;
180 using HUMOTO_PARENT_CLASS_SHORTHAND::getB;
195 "Size of A does not match size of b.");
197 HUMOTO_ASSERT( (getA().cols() > 0) && (static_cast<std::size_t>(getA().cols()) == getNumberOfVariables()),
198 "Incorrect number of columns in A.");
206 g.noalias() = getA().transpose()*getB();
214 g.noalias() += getA().transpose()*getB();
217 #undef HUMOTO_PARENT_CLASS_SHORTHAND 221 #define HUMOTO_PARENT_CLASS_SHORTHAND CopyAnyToALUMixin < CopyEqualityToABMixin < ViolationsComputationB0Mixin < ActiveSetDeterminationBMixin < BodyAMixin< BoundsB0Mixin <t_Base> > > > > > 227 template <
class t_Base>
240 using HUMOTO_PARENT_CLASS_SHORTHAND::getNumberOfVariables;
241 using HUMOTO_PARENT_CLASS_SHORTHAND::getA;
255 HUMOTO_ASSERT( (getA().cols() > 0) && (static_cast<std::size_t>(getA().cols()) == getNumberOfVariables()),
256 "Incorrect number of columns in A.");
264 HUMOTO_PARENT_CLASS_SHORTHAND::getATb(g);
272 HUMOTO_PARENT_CLASS_SHORTHAND::addATb(g);
275 #undef HUMOTO_PARENT_CLASS_SHORTHAND 283 #define HUMOTO_PARENT_CLASS_SHORTHAND CopyTwoSidedInequalityToALMixin < CopyAnyToALUMixin < ViolationsComputationLUMixin < ActiveSetDeterminationLUMixin < BodyASMixin< BoundsLUMixin <t_Base> > > > > > 289 template <
class t_Base>
302 using HUMOTO_PARENT_CLASS_SHORTHAND::getNumberOfVariables;
303 using HUMOTO_PARENT_CLASS_SHORTHAND::getA;
304 using HUMOTO_PARENT_CLASS_SHORTHAND::getOffset;
305 using HUMOTO_PARENT_CLASS_SHORTHAND::getLowerBounds;
306 using HUMOTO_PARENT_CLASS_SHORTHAND::getUpperBounds;
321 && (getA().rows() == getUpperBounds().rows()),
322 "Size of A does not match sizes of the bounds.");
325 && (static_cast<std::size_t>(getA().cols() + getOffset()) <= getNumberOfVariables()),
326 "Incorrect number of columns in A.");
329 #undef HUMOTO_PARENT_CLASS_SHORTHAND 332 #define HUMOTO_PARENT_CLASS_SHORTHAND CopyLowerInequalityToALMixin < CopyAnyToALUMixin < ViolationsComputationLMixin <ActiveSetDeterminationLMixin < BodyASMixin< BoundsLMixin <t_Base> > > > > > 338 template <
class t_Base>
351 using HUMOTO_PARENT_CLASS_SHORTHAND::getNumberOfVariables;
352 using HUMOTO_PARENT_CLASS_SHORTHAND::getA;
353 using HUMOTO_PARENT_CLASS_SHORTHAND::getOffset;
354 using HUMOTO_PARENT_CLASS_SHORTHAND::getLowerBounds;
369 "Size of A does not match sizes of the bounds.");
372 && (static_cast<std::size_t>(getA().cols() + getOffset()) <= getNumberOfVariables()),
373 "Incorrect number of columns in A.");
376 #undef HUMOTO_PARENT_CLASS_SHORTHAND 379 #define HUMOTO_PARENT_CLASS_SHORTHAND CopyUpperInequalityToALMixin < CopyAnyToALUMixin < ViolationsComputationUMixin < ActiveSetDeterminationUMixin < BodyASMixin< BoundsUMixin <t_Base> > > > > > 385 template <
class t_Base>
398 using HUMOTO_PARENT_CLASS_SHORTHAND::getNumberOfVariables;
399 using HUMOTO_PARENT_CLASS_SHORTHAND::getOffset;
400 using HUMOTO_PARENT_CLASS_SHORTHAND::getA;
401 using HUMOTO_PARENT_CLASS_SHORTHAND::getUpperBounds;
415 "Size of A does not match sizes of the bounds.");
418 && (static_cast<std::size_t>(getA().cols() + getOffset()) <= getNumberOfVariables()),
419 "Incorrect number of columns in A.");
422 #undef HUMOTO_PARENT_CLASS_SHORTHAND 426 #define HUMOTO_PARENT_CLASS_SHORTHAND CopyAnyToALUMixin < CopyEqualityToABMixin < ViolationsComputationBMixin < ActiveSetDeterminationBMixin < BodyASMixin< BoundsBMixin <t_Base> > > > > > 432 template <
class t_Base>
445 using HUMOTO_PARENT_CLASS_SHORTHAND::getNumberOfVariables;
446 using HUMOTO_PARENT_CLASS_SHORTHAND::getOffset;
447 using HUMOTO_PARENT_CLASS_SHORTHAND::getA;
448 using HUMOTO_PARENT_CLASS_SHORTHAND::getB;
463 "Size of A does not match size of b.");
466 && (static_cast<std::size_t>(getA().cols() + getOffset()) <= getNumberOfVariables()),
467 "Incorrect number of columns in A.");
476 g.resize(getNumberOfVariables());
477 std::ptrdiff_t right_space_size = getNumberOfVariables() - getOffset() - getA().cols();
478 g << Eigen::VectorXd::Zero(getOffset()),
479 getA().transpose()*getB(),
480 Eigen::VectorXd::Zero(right_space_size);
489 g.segment(getOffset(), getA().cols()).noalias() += getA().transpose()*getB();
492 #undef HUMOTO_PARENT_CLASS_SHORTHAND 496 #define HUMOTO_PARENT_CLASS_SHORTHAND CopyAnyToALUMixin < CopyEqualityToABMixin < ViolationsComputationB0Mixin < ActiveSetDeterminationBMixin < BodyASMixin< BoundsB0Mixin <t_Base> > > > > > 502 template <
class t_Base>
515 using HUMOTO_PARENT_CLASS_SHORTHAND::getNumberOfVariables;
516 using HUMOTO_PARENT_CLASS_SHORTHAND::getOffset;
517 using HUMOTO_PARENT_CLASS_SHORTHAND::getA;
532 && (static_cast<std::size_t>(getA().cols() + getOffset()) <= getNumberOfVariables()),
533 "Incorrect number of columns in A.");
541 HUMOTO_PARENT_CLASS_SHORTHAND::getATb(g);
549 HUMOTO_PARENT_CLASS_SHORTHAND::addATb(g);
552 #undef HUMOTO_PARENT_CLASS_SHORTHAND 560 #define HUMOTO_PARENT_CLASS_SHORTHAND CopyTwoSidedInequalityToALMixin < CopyAnyToALUMixin < ViolationsComputationLUMixin < ActiveSetDeterminationLUMixin < BodyGIMixin< BoundsLUMixin <t_Base> > > > > > 566 template <
class t_Base>
579 using HUMOTO_PARENT_CLASS_SHORTHAND::getNumberOfVariables;
580 using HUMOTO_PARENT_CLASS_SHORTHAND::getIndices;
581 using HUMOTO_PARENT_CLASS_SHORTHAND::getIGains;
582 using HUMOTO_PARENT_CLASS_SHORTHAND::getLowerBounds;
583 using HUMOTO_PARENT_CLASS_SHORTHAND::getUpperBounds;
597 HUMOTO_ASSERT( (getIndices().rows() == getLowerBounds().rows())
598 && (getIndices().rows() == getUpperBounds().rows()),
599 "Size of I does not match sizes of the bounds.");
602 "Size of the vector of gains must match the number of constraints.");
605 #undef HUMOTO_PARENT_CLASS_SHORTHAND 609 #define HUMOTO_PARENT_CLASS_SHORTHAND CopyLowerInequalityToALMixin < CopyAnyToALUMixin < ViolationsComputationLMixin < ActiveSetDeterminationLMixin < BodyGIMixin< BoundsLMixin <t_Base> > > > > > 615 template <
class t_Base>
628 using HUMOTO_PARENT_CLASS_SHORTHAND::getNumberOfVariables;
629 using HUMOTO_PARENT_CLASS_SHORTHAND::getIndices;
630 using HUMOTO_PARENT_CLASS_SHORTHAND::getIGains;
631 using HUMOTO_PARENT_CLASS_SHORTHAND::getLowerBounds;
645 HUMOTO_ASSERT( getIndices().rows() == getLowerBounds().rows(),
646 "Size of I does not match sizes of the bounds.");
649 "Size of the vector of gains must match the number of constraints.");
652 #undef HUMOTO_PARENT_CLASS_SHORTHAND 655 #define HUMOTO_PARENT_CLASS_SHORTHAND CopyUpperInequalityToALMixin < CopyAnyToALUMixin < ViolationsComputationUMixin < ActiveSetDeterminationUMixin < BodyGIMixin< BoundsUMixin <t_Base> > > > > > 661 template <
class t_Base>
674 using HUMOTO_PARENT_CLASS_SHORTHAND::getNumberOfVariables;
675 using HUMOTO_PARENT_CLASS_SHORTHAND::getIndices;
676 using HUMOTO_PARENT_CLASS_SHORTHAND::getIGains;
677 using HUMOTO_PARENT_CLASS_SHORTHAND::getUpperBounds;
691 HUMOTO_ASSERT( getIndices().rows() == getUpperBounds().rows(),
692 "Size of I does not match sizes of the bounds.");
695 "Size of the vector of gains must match the number of constraints.");
698 #undef HUMOTO_PARENT_CLASS_SHORTHAND 701 #define HUMOTO_PARENT_CLASS_SHORTHAND CopyAnyToALUMixin < CopyEqualityToABMixin < ViolationsComputationBMixin < ActiveSetDeterminationBMixin < BodyGIMixin< BoundsBMixin <t_Base> > > > > > 707 template <
class t_Base>
722 for (
EigenIndex i = 0; i < getIndices().rows(); ++i)
724 g[getIndices()[i]] += getIGains()[i] * getB()[i];
730 using HUMOTO_PARENT_CLASS_SHORTHAND::getNumberOfVariables;
731 using HUMOTO_PARENT_CLASS_SHORTHAND::getIndices;
732 using HUMOTO_PARENT_CLASS_SHORTHAND::getIGains;
733 using HUMOTO_PARENT_CLASS_SHORTHAND::getB;
748 "Size of I does not match size of b.");
751 "Size of the vector of gains must match the number of constraints.");
759 g.setZero(getNumberOfVariables());
771 #undef HUMOTO_PARENT_CLASS_SHORTHAND 774 #define HUMOTO_PARENT_CLASS_SHORTHAND CopyAnyToALUMixin < CopyEqualityToABMixin < ViolationsComputationB0Mixin < ActiveSetDeterminationBMixin < BodyGIMixin< BoundsB0Mixin <t_Base> > > > > > 780 template <
class t_Base>
793 using HUMOTO_PARENT_CLASS_SHORTHAND::getIndices;
794 using HUMOTO_PARENT_CLASS_SHORTHAND::getIGains;
809 HUMOTO_PARENT_CLASS_SHORTHAND::getATb(g);
817 HUMOTO_PARENT_CLASS_SHORTHAND::addATb(g);
825 "Size of the vector of gains must match the number of constraints.");
828 #undef HUMOTO_PARENT_CLASS_SHORTHAND 836 #define HUMOTO_PARENT_CLASS_SHORTHAND CopyTwoSidedInequalityToALMixin < CopyAnyToALUMixin < CopySimpleToILUMixin < ViolationsComputationLUMixin < ActiveSetDeterminationLUMixin < BodyIMixin< BoundsLUMixin <t_Base> > > > > > > 842 template <
class t_Base>
855 using HUMOTO_PARENT_CLASS_SHORTHAND::getNumberOfVariables;
856 using HUMOTO_PARENT_CLASS_SHORTHAND::getIndices;
857 using HUMOTO_PARENT_CLASS_SHORTHAND::getLowerBounds;
858 using HUMOTO_PARENT_CLASS_SHORTHAND::getUpperBounds;
872 HUMOTO_ASSERT( (getIndices().rows() == getLowerBounds().rows())
873 && (getIndices().rows() == getUpperBounds().rows()),
874 "Size of I does not match sizes of the bounds.");
877 #undef HUMOTO_PARENT_CLASS_SHORTHAND 880 #define HUMOTO_PARENT_CLASS_SHORTHAND CopyLowerInequalityToALMixin < CopyAnyToALUMixin < CopySimpleToILUMixin < ViolationsComputationLMixin < ActiveSetDeterminationLMixin < BodyIMixin< BoundsLMixin <t_Base> > > > > > > 886 template <
class t_Base>
899 using HUMOTO_PARENT_CLASS_SHORTHAND::getNumberOfVariables;
900 using HUMOTO_PARENT_CLASS_SHORTHAND::getIndices;
901 using HUMOTO_PARENT_CLASS_SHORTHAND::getLowerBounds;
915 HUMOTO_ASSERT( getIndices().rows() == getLowerBounds().rows(),
916 "Size of I does not match sizes of the bounds.");
919 #undef HUMOTO_PARENT_CLASS_SHORTHAND 923 #define HUMOTO_PARENT_CLASS_SHORTHAND CopyUpperInequalityToALMixin < CopyAnyToALUMixin < CopySimpleToILUMixin < ViolationsComputationUMixin < ActiveSetDeterminationUMixin < BodyIMixin< BoundsUMixin <t_Base> > > > > > > 929 template <
class t_Base>
942 using HUMOTO_PARENT_CLASS_SHORTHAND::getNumberOfVariables;
943 using HUMOTO_PARENT_CLASS_SHORTHAND::getIndices;
944 using HUMOTO_PARENT_CLASS_SHORTHAND::getUpperBounds;
958 HUMOTO_ASSERT( getIndices().rows() == getUpperBounds().rows(),
959 "Size of I does not match sizes of the bounds.");
962 #undef HUMOTO_PARENT_CLASS_SHORTHAND 966 #define HUMOTO_PARENT_CLASS_SHORTHAND CopyAnyToALUMixin < CopySimpleToILUMixin < CopyEqualityToABMixin < ViolationsComputationBMixin < ActiveSetDeterminationBMixin < BodyIMixin< BoundsBMixin <t_Base> > > > > > > 972 template <
class t_Base>
985 using HUMOTO_PARENT_CLASS_SHORTHAND::getIndices;
986 using HUMOTO_PARENT_CLASS_SHORTHAND::getB;
1002 "Size of I does not match size of b.");
1009 HUMOTO_PARENT_CLASS_SHORTHAND::getATb(g);
1017 HUMOTO_PARENT_CLASS_SHORTHAND::addATb(g);
1020 #undef HUMOTO_PARENT_CLASS_SHORTHAND 1024 #define HUMOTO_PARENT_CLASS_SHORTHAND CopyAnyToALUMixin < CopySimpleToILUMixin < CopyEqualityToABMixin < ViolationsComputationB0Mixin < ActiveSetDeterminationBMixin < BodyIMixin< BoundsB0Mixin <t_Base> > > > > > > 1030 template <
class t_Base>
1043 using HUMOTO_PARENT_CLASS_SHORTHAND::getIndices;
1062 HUMOTO_PARENT_CLASS_SHORTHAND::getATb(g);
1070 HUMOTO_PARENT_CLASS_SHORTHAND::addATb(g);
1073 #undef HUMOTO_PARENT_CLASS_SHORTHAND
void getATAandATb(Eigen::MatrixXd &H, Eigen::VectorXd &g) const
Compute 'A^T * A' for general equality constaints and save or add the result to H. Compute 'A^T * b' for general equality constaints and save or add the result to g.
Constraints 'A*S*x = 0'.
~ConstraintsGIL()
Protected destructor: prevent destruction of the child classes through a base pointer.
void checkConsistency() const
Check consistency of the constraints.
#define HUMOTO_PARENT_CLASS_SHORTHAND
~ConstraintsGILU()
Protected destructor: prevent destruction of the child classes through a base pointer.
void addATAandATb(Eigen::MatrixXd &H, Eigen::VectorXd &g) const
Compute 'A^T * A' for general equality constaints and save or add the result to H. Compute 'A^T * b' for general equality constaints and save or add the result to g.
ConstraintType::Type getType() const
Returns type of the constraints.
ConstraintType::Type getType() const
Returns type of the constraints.
ConstraintType::Type getType() const
Returns type of the constraints.
void addATAandATb(Eigen::MatrixXd &H, Eigen::VectorXd &g) const
Compute 'A^T * A' for general equality constaints and save or add the result to H. Compute 'A^T * b' for general equality constaints and save or add the result to g.
void addATb(Eigen::VectorXd &g) const
Compute 'A^T * b' for general equality constaints and save or add the result to g.
ConstraintType::Type getType() const
Returns type of the constraints.
~ConstraintsASB0()
Protected destructor: prevent destruction of the child classes through a base pointer.
~ConstraintsGIB()
Protected destructor: prevent destruction of the child classes through a base pointer.
void addATAandATb(Eigen::MatrixXd &H, Eigen::VectorXd &g) const
Compute 'A^T * A' for general equality constaints and save or add the result to H. Compute 'A^T * b' for general equality constaints and save or add the result to g.
void checkConsistency() const
Check consistency of the constraints.
Constraints 'A*x = 0'.
~ConstraintsAB()
Protected destructor: prevent destruction of the child classes through a base pointer.
Constraints 'A*x <= ub'.
ConstraintType::Type getType() const
Returns type of the constraints.
Constraints 'x[I] = 0'.
Constraints 'lb <= A*S*x'.
~ConstraintsIU()
Protected destructor: prevent destruction of the child classes through a base pointer.
void getATAandATb(Eigen::MatrixXd &H, Eigen::VectorXd &g) const
Compute 'A^T * A' for general equality constaints and save or add the result to H. Compute 'A^T * b' for general equality constaints and save or add the result to g.
void checkConsistency() const
Check consistency of the constraints.
Constraints 'G*x[I] = b'.
ConstraintType::Type getType() const
Returns type of the constraints.
#define HUMOTO_ASSERT(condition, message)
void getATAandATb(Eigen::MatrixXd &H, Eigen::VectorXd &g) const
Compute 'A^T * A' for general equality constaints and save or add the result to H. Compute 'A^T * b' for general equality constaints and save or add the result to g.
Constraints 'lb <= A*x'.
void getATAandATb(Eigen::MatrixXd &H, Eigen::VectorXd &g) const
Compute 'A^T * A' for general equality constaints and save or add the result to H. Compute 'A^T * b' for general equality constaints and save or add the result to g.
~ConstraintsGIU()
Protected destructor: prevent destruction of the child classes through a base pointer.
ConstraintType::Type getType() const
Returns type of the constraints.
void checkConsistency() const
Check consistency of the constraints.
void checkConsistency() const
Check consistency of the constraints.
void checkConsistency() const
Check consistency of the constraints.
~ConstraintsALU()
Protected destructor: prevent destruction of the child classes through a base pointer.
EIGEN_DEFAULT_DENSE_INDEX_TYPE EigenIndex
~ConstraintsASLU()
Protected destructor: prevent destruction of the child classes through a base pointer.
ConstraintType::Type getType() const
Returns type of the constraints.
ConstraintType::Type getType() const
Returns type of the constraints.
~ConstraintsAB0()
Protected destructor: prevent destruction of the child classes through a base pointer.
~ConstraintsAL()
Protected destructor: prevent destruction of the child classes through a base pointer.
Constraints 'A*x = b'.
Constraints 'lb <= G * x[I] <= ub'.
void checkConsistency() const
Check consistency of the constraints.
~ConstraintsASB()
Protected destructor: prevent destruction of the child classes through a base pointer.
Constraints 'lb <= G * x[I]'.
ConstraintType::Type getType() const
Returns type of the constraints.
void checkConsistency() const
Check consistency of the constraints.
Constraints 'lb <= A*x <= ub'.
void checkConsistency() const
Check consistency of the constraints.
Constraints 'lb <= x[I] <= ub'.
ConstraintType::Type getType() const
Returns type of the constraints.
~ConstraintsIB0()
Protected destructor: prevent destruction of the child classes through a base pointer.
~ConstraintsGIB0()
Protected destructor: prevent destruction of the child classes through a base pointer.
Constraints 'lb <= A*S*x <= ub'.
void checkConsistency() const
Check consistency of the constraints.
Constraints 'x[I] <= ub'.
void addATAandATb(Eigen::MatrixXd &H, Eigen::VectorXd &g) const
Compute 'A^T * A' for general equality constaints and save or add the result to H. Compute 'A^T * b' for general equality constaints and save or add the result to g.
ConstraintType::Type getType() const
Returns type of the constraints.
void checkConsistency() const
Check consistency of the constraints.
ConstraintType::Type getType() const
Returns type of the constraints.
The root namespace of HuMoTo.
void getATAandATb(Eigen::MatrixXd &H, Eigen::VectorXd &g) const
Compute 'A^T * A' for general equality constaints and save or add the result to H. Compute 'A^T * b' for general equality constaints and save or add the result to g.
void getATAandATb(Eigen::MatrixXd &H, Eigen::VectorXd &g) const
Compute 'A^T * A' for general equality constaints and save or add the result to H. Compute 'A^T * b' for general equality constaints and save or add the result to g.
Constraints 'A*S*x <= ub'.
ConstraintType::Type getType() const
Returns type of the constraints.
void addATAandATb(Eigen::MatrixXd &H, Eigen::VectorXd &g) const
Compute 'A^T * A' for general equality constaints and save or add the result to H. Compute 'A^T * b' for general equality constaints and save or add the result to g.
void addATAandATb(Eigen::MatrixXd &H, Eigen::VectorXd &g) const
Compute 'A^T * A' for general equality constaints and save or add the result to H. Compute 'A^T * b' for general equality constaints and save or add the result to g.
ConstraintType::Type getType() const
Returns type of the constraints.
Constraints 'lb <= x[I]'.
~ConstraintsILU()
Protected destructor: prevent destruction of the child classes through a base pointer.
Constraints 'A*S*x = b'.
~ConstraintsASL()
Protected destructor: prevent destruction of the child classes through a base pointer.
void checkConsistency() const
Check consistency of the constraints.
void checkConsistency() const
Check consistency of the constraints.
~ConstraintsAU()
Protected destructor: prevent destruction of the child classes through a base pointer.
void checkConsistency() const
Check consistency of the constraints.
void getATAandATb(Eigen::MatrixXd &H, Eigen::VectorXd &g) const
Compute 'A^T * A' for general equality constaints and save or add the result to H. Compute 'A^T * b' for general equality constaints and save or add the result to g.
void checkConsistency() const
Check consistency of the constraints.
~ConstraintsASU()
Protected destructor: prevent destruction of the child classes through a base pointer.
ConstraintType::Type getType() const
Returns type of the constraints.
ConstraintType::Type getType() const
Returns type of the constraints.
void checkConsistency() const
Check consistency of the constraints.
void getATAandATb(Eigen::MatrixXd &H, Eigen::VectorXd &g) const
Compute 'A^T * A' for general equality constaints and save or add the result to H. Compute 'A^T * b' for general equality constaints and save or add the result to g.
void checkConsistency() const
Check consistency of the constraints.
void checkConsistency() const
Check consistency of the constraints.
Constraints 'x[I] = b'.
ConstraintType::Type getType() const
Returns type of the constraints.
void addATAandATb(Eigen::MatrixXd &H, Eigen::VectorXd &g) const
Compute 'A^T * A' for general equality constaints and save or add the result to H. Compute 'A^T * b' for general equality constaints and save or add the result to g.
ConstraintType::Type getType() const
Returns type of the constraints.
void addATAandATb(Eigen::MatrixXd &H, Eigen::VectorXd &g) const
Compute 'A^T * A' for general equality constaints and save or add the result to H. Compute 'A^T * b' for general equality constaints and save or add the result to g.
~ConstraintsIL()
Protected destructor: prevent destruction of the child classes through a base pointer.
Constraints 'G*x[I] = 0'.
void checkConsistency() const
Check consistency of the constraints.
void checkConsistency() const
Check consistency of the constraints.
ConstraintType::Type getType() const
Returns type of the constraints.
Constraints 'G * x[I] <= ub'.
~ConstraintsIB()
Protected destructor: prevent destruction of the child classes through a base pointer.