WPILibC++ 2027.0.0-alpha-2
Loading...
Searching...
No Matches
slp::InteriorPointMatrixCallbacks Struct Reference

Matrix callbacks for the interior-point method solver. More...

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

Public Attributes

std::function< double(const Eigen::VectorXd &x)> f
 Cost function value f(x) getter.
 
std::function< Eigen::SparseVector< double >(const Eigen::VectorXd &x)> g
 Cost function gradient ∇f(x) getter.
 
std::function< Eigen::SparseMatrix< double >(const Eigen::VectorXd &x, const Eigen::VectorXd &y, const Eigen::VectorXd &z)> H
 Lagrangian Hessian ∇ₓₓ²L(x, y, z) getter.
 
std::function< Eigen::VectorXd(const Eigen::VectorXd &x)> c_e
 Equality constraint value cₑ(x) getter.
 
std::function< Eigen::SparseMatrix< double >(const Eigen::VectorXd &x)> A_e
 Equality constraint Jacobian ∂cₑ/∂x getter.
 
std::function< Eigen::VectorXd(const Eigen::VectorXd &x)> c_i
 Inequality constraint value cᵢ(x) getter.
 
std::function< Eigen::SparseMatrix< double >(const Eigen::VectorXd &x)> A_i
 Inequality constraint Jacobian ∂cᵢ/∂x getter.
 

Detailed Description

Matrix callbacks for the interior-point method solver.

Member Data Documentation

◆ A_e

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

Equality constraint Jacobian ∂cₑ/∂x getter.

///         [∇ᵀcₑ₁(xₖ)]
/// Aₑ(x) = [∇ᵀcₑ₂(xₖ)]
///         [    ⋮    ]
///         [∇ᵀcₑₘ(xₖ)]
/// 
Variable Rows Columns
x num_decision_variables 1
Aₑ(x) num_equality_constraints num_decision_variables

◆ A_i

std::function<Eigen::SparseMatrix<double>(const Eigen::VectorXd& x)> slp::InteriorPointMatrixCallbacks::A_i

Inequality constraint Jacobian ∂cᵢ/∂x getter.

///         [∇ᵀcᵢ₁(xₖ)]
/// Aᵢ(x) = [∇ᵀcᵢ₂(xₖ)]
///         [    ⋮    ]
///         [∇ᵀcᵢₘ(xₖ)]
/// 
Variable Rows Columns
x num_decision_variables 1
Aᵢ(x) num_inequality_constraints num_decision_variables

◆ c_e

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

Equality constraint value cₑ(x) getter.

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

◆ c_i

std::function<Eigen::VectorXd(const Eigen::VectorXd& x)> slp::InteriorPointMatrixCallbacks::c_i

Inequality constraint value cᵢ(x) getter.

Variable Rows Columns
x num_decision_variables 1
cᵢ(x) num_inequality_constraints 1

◆ f

std::function<double(const Eigen::VectorXd& x)> slp::InteriorPointMatrixCallbacks::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::InteriorPointMatrixCallbacks::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, const Eigen::VectorXd& z)> slp::InteriorPointMatrixCallbacks::H

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

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

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

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