Sleipnir C++ API
Loading...
Searching...
No Matches
slp::InteriorPointMatrixCallbacks< Scalar > Struct Template Reference

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

Public Attributes

std::function< Scalar(const Eigen::Vector< Scalar, Eigen::Dynamic > &x)> f
 
std::function< Eigen::SparseVector< Scalar >(const Eigen::Vector< Scalar, Eigen::Dynamic > &x)> g
 
std::function< Eigen::SparseMatrix< Scalar >(const Eigen::Vector< Scalar, Eigen::Dynamic > &x, const Eigen::Vector< Scalar, Eigen::Dynamic > &y, const Eigen::Vector< Scalar, Eigen::Dynamic > &z)> H
 
std::function< Eigen::Vector< Scalar, Eigen::Dynamic >(const Eigen::Vector< Scalar, Eigen::Dynamic > &x)> c_e
 
std::function< Eigen::SparseMatrix< Scalar >(const Eigen::Vector< Scalar, Eigen::Dynamic > &x)> A_e
 
std::function< Eigen::Vector< Scalar, Eigen::Dynamic >(const Eigen::Vector< Scalar, Eigen::Dynamic > &x)> c_i
 
std::function< Eigen::SparseMatrix< Scalar >(const Eigen::Vector< Scalar, Eigen::Dynamic > &x)> A_i
 

Detailed Description

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

Matrix callbacks for the interior-point method solver.

Template Parameters
ScalarScalar type.

Member Data Documentation

◆ A_e

template<typename Scalar >
std::function<Eigen::SparseMatrix<Scalar>( const Eigen::Vector<Scalar, Eigen::Dynamic>& x)> slp::InteriorPointMatrixCallbacks< Scalar >::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> 

◆ A_i

template<typename Scalar >
std::function<Eigen::SparseMatrix<Scalar>( const Eigen::Vector<Scalar, Eigen::Dynamic>& x)> slp::InteriorPointMatrixCallbacks< Scalar >::A_i

Inequality 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_inequality_constraints</td>
    <td>num_decision_variables</td>
  </tr>
</table> 

◆ c_e

template<typename Scalar >
std::function<Eigen::Vector<Scalar, Eigen::Dynamic>( const Eigen::Vector<Scalar, Eigen::Dynamic>& x)> slp::InteriorPointMatrixCallbacks< Scalar >::c_e

Equality constraint value cₑ(x) getter.

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

◆ c_i

template<typename Scalar >
std::function<Eigen::Vector<Scalar, Eigen::Dynamic>( const Eigen::Vector<Scalar, Eigen::Dynamic>& x)> slp::InteriorPointMatrixCallbacks< Scalar >::c_i

Inequality constraint value cᵢ(x) getter.

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

◆ f

template<typename Scalar >
std::function<Scalar(const Eigen::Vector<Scalar, Eigen::Dynamic>& x)> slp::InteriorPointMatrixCallbacks< Scalar >::f

Cost function value f(x) getter.

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

◆ g

template<typename Scalar >
std::function<Eigen::SparseVector<Scalar>( const Eigen::Vector<Scalar, Eigen::Dynamic>& x)> slp::InteriorPointMatrixCallbacks< Scalar >::g

Cost function gradient ∇f(x) getter.

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

◆ H

template<typename Scalar >
std::function<Eigen::SparseMatrix<Scalar>( const Eigen::Vector<Scalar, Eigen::Dynamic>& x, const Eigen::Vector<Scalar, Eigen::Dynamic>& y, const Eigen::Vector<Scalar, Eigen::Dynamic>& z)> slp::InteriorPointMatrixCallbacks< Scalar >::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: