WPILibC++ 2027.0.0-alpha-5
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

int num_decision_variables = 0
 Number of decision variables.
int num_equality_constraints = 0
 Number of equality constraints.
int num_inequality_constraints = 0
 Number of inequality constraints.
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< SparseMatrix(const DenseVector &x, const DenseVector &y, const DenseVector &z)> H_c
 Constraint part of Lagrangian Hessian ∇ₓₓ²(−yᵀcₑ(x) − zᵀcᵢ(x)) 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

◆ H_c

template<typename Scalar>
std::function<SparseMatrix(const DenseVector& x, const DenseVector& y, const DenseVector& z)> slp::InteriorPointMatrixCallbacks< Scalar >::H_c

Constraint part of Lagrangian Hessian ∇ₓₓ²(−yᵀcₑ(x) − zᵀcᵢ(x)) getter.

VariableRowsColumns
xnum_decision_variables1
ynum_equality_constraints1
znum_inequality_constraints1
∇ₓₓ²(−yᵀcₑ(x) − zᵀcᵢ(x))num_decision_variablesnum_decision_variables

◆ num_decision_variables

template<typename Scalar>
int slp::InteriorPointMatrixCallbacks< Scalar >::num_decision_variables = 0

Number of decision variables.

◆ num_equality_constraints

template<typename Scalar>
int slp::InteriorPointMatrixCallbacks< Scalar >::num_equality_constraints = 0

Number of equality constraints.

◆ num_inequality_constraints

template<typename Scalar>
int slp::InteriorPointMatrixCallbacks< Scalar >::num_inequality_constraints = 0

Number of inequality constraints.


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