Sleipnir C++ API
Loading...
Searching...
No Matches
slp::SQPMatrixCallbacks Struct Reference

#include <sleipnir/optimization/solver/sqp.hpp>

Public Attributes

std::function< double(const Eigen::VectorXd &x)> f
 
std::function< Eigen::SparseVector< double >(const Eigen::VectorXd &x)> g
 
std::function< Eigen::SparseMatrix< double >(const Eigen::VectorXd &x, const Eigen::VectorXd &y)> H
 
std::function< Eigen::VectorXd(const Eigen::VectorXd &x)> c_e
 
std::function< Eigen::SparseMatrix< double >(const Eigen::VectorXd &x)> A_e
 

Detailed Description

Matrix callbacks for the Sequential Quadratic Programming (SQP) solver.

Member Data Documentation

◆ A_e

std::function<Eigen::SparseMatrix<double>(const Eigen::VectorXd& x)> slp::SQPMatrixCallbacks::A_e

Equality constraint Jacobian ∂cₑ/∂x getter.

///         [∇ᵀcₑ₁(xₖ)]
/// Aₑ(x) = [∇ᵀcₑ₂(xₖ)]
///         [    ⋮    ]
///         [∇ᵀcₑₘ(xₖ)]
/// 
<table>
  <tr>
    <th>Variable</th>
    <th>Rows</th>
    <th>Columns</th>
  </tr>
  <tr>
    <td>x</td>
    <td>num_decision_variables</td>
    <td>1</td>
  </tr>
  <tr>
    <td>Aₑ(x)</td>
    <td>num_equality_constraints</td>
    <td>num_decision_variables</td>
  </tr>
</table> 

◆ c_e

std::function<Eigen::VectorXd(const Eigen::VectorXd& x)> slp::SQPMatrixCallbacks::c_e

Equality constraint value cₑ(x) getter.

Variable Rows Columns
x num_decision_variables 1
cₑ(x) num_equality_constraints 1

◆ f

std::function<double(const Eigen::VectorXd& x)> slp::SQPMatrixCallbacks::f

Cost function value f(x) getter.

Variable Rows Columns
x num_decision_variables 1
f(x) 1 1

◆ g

std::function<Eigen::SparseVector<double>(const Eigen::VectorXd& x)> slp::SQPMatrixCallbacks::g

Cost function gradient ∇f(x) getter.

Variable Rows Columns
x num_decision_variables 1
∇f(x) num_decision_variables 1

◆ H

std::function<Eigen::SparseMatrix<double>(const Eigen::VectorXd& x, const Eigen::VectorXd& y)> slp::SQPMatrixCallbacks::H

Lagrangian Hessian ∇ₓₓ²L(x, y) getter.

L(xₖ, yₖ) = f(xₖ) − yₖᵀcₑ(xₖ)

Variable Rows Columns
x num_decision_variables 1
y num_equality_constraints 1
∇ₓₓ²L(x, y) num_decision_variables num_decision_variables

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