Drake
PolynomialConstraint Class Reference

lb[i] <= Pi <= ub[i], where each P[i] is a multivariate polynomial in x, y... More...

#include <drake/solvers/constraint.h>

Inheritance diagram for PolynomialConstraint:
[legend]
Collaboration diagram for PolynomialConstraint:
[legend]

Public Member Functions

 PolynomialConstraint (const VectorXPoly &polynomials, const std::vector< Polynomiald::VarType > &poly_vars, const Eigen::VectorXd &lb, const Eigen::VectorXd &ub)
 Constructs a polynomial constraint. More...
 
 ~PolynomialConstraint () override
 
const VectorXPolypolynomials () const
 
const std::vector< Polynomiald::VarType > & poly_vars () const
 
Does not allow copy, move, or assignment
 PolynomialConstraint (const PolynomialConstraint &)=delete
 
PolynomialConstraintoperator= (const PolynomialConstraint &)=delete
 
 PolynomialConstraint (PolynomialConstraint &&)=delete
 
PolynomialConstraintoperator= (PolynomialConstraint &&)=delete
 
- Public Member Functions inherited from EvaluatorConstraint< PolynomialEvaluator >
 EvaluatorConstraint (const std::shared_ptr< PolynomialEvaluator > &evaluator, Args &&...args)
 Constructs an evaluator constraint, given the EvaluatorType instance (which will specify the number of constraints and variables), and will forward the remaining arguments to the Constraint constructor. More...
 
 EvaluatorConstraint (const EvaluatorConstraint &)=delete
 
 EvaluatorConstraint (EvaluatorConstraint &&)=delete
 
EvaluatorConstraintoperator= (const EvaluatorConstraint &)=delete
 
EvaluatorConstraintoperator= (EvaluatorConstraint &&)=delete
 
- Public Member Functions inherited from Constraint
template<typename DerivedLB , typename DerivedUB >
 Constraint (int num_constraints, int num_vars, const Eigen::MatrixBase< DerivedLB > &lb, const Eigen::MatrixBase< DerivedUB > &ub, const std::string &description="")
 Constructs a constraint which has num_constraints rows, with an input num_vars x 1 vector. More...
 
 Constraint (int num_constraints, int num_vars)
 Constructs a constraint which has num_constraints rows, with an input num_vars x 1 vector, with no bounds. More...
 
bool CheckSatisfied (const Eigen::Ref< const Eigen::VectorXd > &x, double tol=1E-6) const
 Return whether this constraint is satisfied by the given value, x. More...
 
bool CheckSatisfied (const Eigen::Ref< const AutoDiffVecXd > &x, double tol=1E-6) const
 
const Eigen::VectorXd & lower_bound () const
 
const Eigen::VectorXd & upper_bound () const
 
size_t num_constraints () const
 Number of rows in the output constraint. More...
 
template<typename Derived >
void UpdateLowerBound (const Eigen::MatrixBase< Derived > &new_lb)
 Updates the lower bound. More...
 
template<typename Derived >
void UpdateUpperBound (const Eigen::MatrixBase< Derived > &new_ub)
 Updates the upper bound. More...
 
template<typename DerivedL , typename DerivedU >
void set_bounds (const Eigen::MatrixBase< DerivedL > &lower_bound, const Eigen::MatrixBase< DerivedU > &upper_bound)
 Set the upper and lower bounds of the constraint. More...
 
 Constraint (const Constraint &)=delete
 
Constraintoperator= (const Constraint &)=delete
 
 Constraint (Constraint &&)=delete
 
Constraintoperator= (Constraint &&)=delete
 
- Public Member Functions inherited from EvaluatorBase
virtual ~EvaluatorBase ()
 
void Eval (const Eigen::Ref< const Eigen::VectorXd > &x, Eigen::VectorXd &y) const
 Evaluates the expression with a scalar type of double. More...
 
void Eval (const Eigen::Ref< const AutoDiffVecXd > &x, AutoDiffVecXd &y) const
 Evaluates the expression with a scalar type of AutoDiffXd. More...
 
void set_description (const std::string &description)
 Set a human-friendly description for the evaluator. More...
 
const std::string & get_description () const
 Getter for a human-friendly description for the evaluator. More...
 
int num_vars () const
 Getter for the number of variables, namely the number of rows in x, as used in Eval(x, y). More...
 
int num_outputs () const
 Getter for the number of outputs, namely the number of rows in y, as used in Eval(x, y). More...
 
 EvaluatorBase (const EvaluatorBase &)=delete
 
EvaluatorBaseoperator= (const EvaluatorBase &)=delete
 
 EvaluatorBase (EvaluatorBase &&)=delete
 
EvaluatorBaseoperator= (EvaluatorBase &&)=delete
 

Additional Inherited Members

- Protected Member Functions inherited from EvaluatorConstraint< PolynomialEvaluator >
const PolynomialEvaluatorevaluator () const
 Reference to the nested evaluator. More...
 
- Protected Member Functions inherited from Constraint
virtual bool DoCheckSatisfied (const Eigen::Ref< const Eigen::VectorXd > &x, const double tol) const
 
virtual bool DoCheckSatisfied (const Eigen::Ref< const AutoDiffVecXd > &x, const double tol) const
 
- Protected Member Functions inherited from EvaluatorBase
 EvaluatorBase (int num_outputs, int num_vars, const std::string &description="")
 Constructs a evaluator. More...
 

Detailed Description

lb[i] <= Pi <= ub[i], where each P[i] is a multivariate polynomial in x, y...

A constraint on the values of multivariate polynomials.

The Polynomial class uses a different variable naming scheme; thus the caller must provide a list of Polynomial::VarType variables that correspond to the members of the MathematicalProgram::Binding (the individual scalar elements of the given VariableList).

Constructor & Destructor Documentation

PolynomialConstraint ( const VectorXPoly polynomials,
const std::vector< Polynomiald::VarType > &  poly_vars,
const Eigen::VectorXd &  lb,
const Eigen::VectorXd &  ub 
)
inline

Constructs a polynomial constraint.

Parameters
polynomialsPolynomial vector, a num_constraints x 1 vector.
poly_varsPolynomial variables, a num_vars x 1 vector.
lbLower bounds, a num_constraints x 1 vector.
ubUpper bounds, a num_constraints x 1 vector.
~PolynomialConstraint ( )
inlineoverride

Member Function Documentation

PolynomialConstraint& operator= ( const PolynomialConstraint )
delete
PolynomialConstraint& operator= ( PolynomialConstraint &&  )
delete
const std::vector<Polynomiald::VarType>& poly_vars ( ) const
inline
const VectorXPoly& polynomials ( ) const
inline

The documentation for this class was generated from the following file: