WPILibC++ 2027.0.0-alpha-4
Loading...
Searching...
No Matches
slp::InteriorPointMatrixCallbacks< Scalar > Struct Template 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_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, const DenseVector &z)> H
 Lagrangian Hessian ∇ₓₓ²L(x, y, z) 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.
std::function< DenseVector(const DenseVector &x)> c_i
 Inequality constraint value cᵢ(x) getter.
std::function< SparseMatrix(const DenseVector &x)> A_i
 Inequality constraint Jacobian ∂cᵢ/∂x getter.

Detailed Description

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

Matrix callbacks for the interior-point method solver.

Template Parameters
ScalarScalar type.

Member Typedef Documentation

◆ DenseVector

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

Type alias for dense vector.

◆ SparseMatrix

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

Type alias for sparse matrix.

◆ SparseVector

template<typename Scalar>
using slp::InteriorPointMatrixCallbacks< 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::InteriorPointMatrixCallbacks< 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

◆ A_i

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

Inequality constraint Jacobian ∂cᵢ/∂x getter.

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

◆ c_e

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

Equality constraint value cₑ(x) getter.

VariableRowsColumns
xnum_decision_variables1
cₑ(x)num_equality_constraints1

◆ c_i

template<typename Scalar>
std::function<DenseVector(const DenseVector& x)> slp::InteriorPointMatrixCallbacks< Scalar >::c_i

Inequality constraint value cᵢ(x) getter.

VariableRowsColumns
xnum_decision_variables1
cᵢ(x)num_inequality_constraints1

◆ f

template<typename Scalar>
std::function<Scalar(const DenseVector& x)> slp::InteriorPointMatrixCallbacks< 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::InteriorPointMatrixCallbacks< 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, const DenseVector& z)> slp::InteriorPointMatrixCallbacks< Scalar >::H

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

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

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

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