WPILibC++ 2027.0.0-alpha-4
Loading...
Searching...
No Matches
slp::SQPMatrixCallbacks< Scalar > Struct Template Reference

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

#include </home/runner/work/allwpilib/allwpilib/wpimath/src/main/native/thirdparty/sleipnir/include/sleipnir/optimization/solver/sqp_matrix_callbacks.hpp>

Public Types

using DenseVector = Eigen::Vector<Scalar, Eigen::Dynamic>
 Type alias for dense vector.
using SparseMatrix = Eigen::SparseMatrix<Scalar>
 Type alias for sparse matrix.
using SparseVector = Eigen::SparseVector<Scalar>
 Type alias for sparse vector.

Public Attributes

std::function< Scalar(const DenseVector &x)> f
 Cost function value f(x) getter.
std::function< SparseVector(const DenseVector &x)> g
 Cost function gradient ∇f(x) getter.
std::function< SparseMatrix(const DenseVector &x, const DenseVector &y)> H
 Lagrangian Hessian ∇ₓₓ²L(x, y) getter.
std::function< DenseVector(const DenseVector &x)> c_e
 Equality constraint value cₑ(x) getter.
std::function< SparseMatrix(const DenseVector &x)> A_e
 Equality constraint Jacobian ∂cₑ/∂x getter.

Detailed Description

template<typename Scalar>
struct slp::SQPMatrixCallbacks< Scalar >

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

Template Parameters
ScalarScalar type.

Member Typedef Documentation

◆ DenseVector

template<typename Scalar>
using slp::SQPMatrixCallbacks< Scalar >::DenseVector = Eigen::Vector<Scalar, Eigen::Dynamic>

Type alias for dense vector.

◆ SparseMatrix

template<typename Scalar>
using slp::SQPMatrixCallbacks< Scalar >::SparseMatrix = Eigen::SparseMatrix<Scalar>

Type alias for sparse matrix.

◆ SparseVector

template<typename Scalar>
using slp::SQPMatrixCallbacks< Scalar >::SparseVector = Eigen::SparseVector<Scalar>

Type alias for sparse vector.

Member Data Documentation

◆ A_e

template<typename Scalar>
std::function<SparseMatrix(const DenseVector& x)> slp::SQPMatrixCallbacks< Scalar >::A_e

Equality constraint Jacobian ∂cₑ/∂x getter.

[∇ᵀcₑ₁(xₖ)]
Aₑ(x) = [∇ᵀcₑ₂(xₖ)]
[ ⋮ ]
[∇ᵀcₑₘ(xₖ)]
VariableRowsColumns
xnum_decision_variables1
Aₑ(x)num_equality_constraintsnum_decision_variables

◆ c_e

template<typename Scalar>
std::function<DenseVector(const DenseVector& x)> slp::SQPMatrixCallbacks< Scalar >::c_e

Equality constraint value cₑ(x) getter.

VariableRowsColumns
xnum_decision_variables1
cₑ(x)num_equality_constraints1

◆ f

template<typename Scalar>
std::function<Scalar(const DenseVector& x)> slp::SQPMatrixCallbacks< Scalar >::f

Cost function value f(x) getter.

VariableRowsColumns
xnum_decision_variables1
f(x)11

◆ g

template<typename Scalar>
std::function<SparseVector(const DenseVector& x)> slp::SQPMatrixCallbacks< Scalar >::g

Cost function gradient ∇f(x) getter.

VariableRowsColumns
xnum_decision_variables1
∇f(x)num_decision_variables1

◆ H

template<typename Scalar>
std::function<SparseMatrix(const DenseVector& x, const DenseVector& y)> slp::SQPMatrixCallbacks< Scalar >::H

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

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

VariableRowsColumns
xnum_decision_variables1
ynum_equality_constraints1
∇ₓₓ²L(x, y)num_decision_variablesnum_decision_variables

The documentation for this struct was generated from the following file:
  • /home/runner/work/allwpilib/allwpilib/wpimath/src/main/native/thirdparty/sleipnir/include/sleipnir/optimization/solver/sqp_matrix_callbacks.hpp