ScsEigen::QuadraticConstraint class

QuadraticConstraint is a concrete implementation of Constraint. It implements a constraint of the form

\[ \frac{1}{2} x ^\top Q x + b^\top x \le u \]

where $x \in \mathbb{R}^n$ is the optimization variable. $Q \in S^n_+$ is a semipositive definite matrix.

Base classes

class Constraint

Constructors, destructors, conversion operators

QuadraticConstraint()
Constructor.
QuadraticConstraint(const Eigen::Ref<const Eigen::MatrixXd>& Q, const Eigen::Ref<const Eigen::MatrixXd>& b, double upperBound)
Constructor.

Public functions

auto setQ(const Eigen::Ref<const Eigen::MatrixXd>& Q) -> bool
Set the hessian matrix Q.
auto setB(const Eigen::Ref<const Eigen::VectorXd>& b) -> bool
Set the gradient vector.
auto setLowerBound(const Eigen::Ref<const Eigen::VectorXd>& lowerBound) -> bool final
Set the lower bound.
auto getQ() const -> Eigen::Ref<const Eigen::MatrixXd>
Get the hessian $Q$ .
auto getB() const -> Eigen::Ref<const Eigen::VectorXd>
Get the vector $b$ .

Function documentation

ScsEigen::QuadraticConstraint::QuadraticConstraint()

Constructor.

ScsEigen::QuadraticConstraint::QuadraticConstraint(const Eigen::Ref<const Eigen::MatrixXd>& Q, const Eigen::Ref<const Eigen::MatrixXd>& b, double upperBound)

Constructor.

Parameters
Q the PSD matrix representing the hessian of the constraint function.
b the gradient of the constraint function.
upperBound vector containing the upper bound.

bool ScsEigen::QuadraticConstraint::setQ(const Eigen::Ref<const Eigen::MatrixXd>& Q)

Set the hessian matrix Q.

Parameters
Q the PSD matrix representing the hessian of the constraint function.

bool ScsEigen::QuadraticConstraint::setB(const Eigen::Ref<const Eigen::VectorXd>& b)

Set the gradient vector.

Parameters
b the vector

bool ScsEigen::QuadraticConstraint::setLowerBound(const Eigen::Ref<const Eigen::VectorXd>& lowerBound) final

Set the lower bound.

Parameters
lowerBound vector representing the lower bound.
Returns true in case of success/false otherwise