hpp-bezier-com-traj 6.0.0
Multi contact trajectory generation for the COM using Bezier curves
Loading...
Searching...
No Matches
tsid::solvers::EiquadprogFast Class Reference

#include <hpp/bezier-com-traj/solver/eiquadprog-fast.hpp>

Public Types

typedef Eigen::MatrixXd MatrixXd
 
typedef Eigen::VectorXd VectorXd
 
typedef Eigen::VectorXi VectorXi
 
typedef Eigen::SparseMatrix< double > SpMat
 
typedef Eigen::SparseVector< double > SpVec
 
typedef Eigen::SparseVector< int > SpVeci
 

Public Member Functions

EIGEN_MAKE_ALIGNED_OPERATOR_NEW EiquadprogFast ()
 
virtual ~EiquadprogFast ()
 
void reset (int dim_qp, int num_eq, int num_ineq)
 
int getMaxIter () const
 
bool setMaxIter (int maxIter)
 
int getActiveSetSize () const
 
int getIteratios () const
 
double getObjValue () const
 
const VectorXdgetLagrangeMultipliers () const
 
const VectorXigetActiveSet () const
 
EiquadprogFast_status solve_quadprog (const MatrixXd &Hess, const VectorXd &g0, const MatrixXd &CE, const VectorXd &ce0, const MatrixXd &CI, const VectorXd &ci0, VectorXd &x)
 
EiquadprogFast_status solve_quadprog_sparse (const SpMat &Hess, const VectorXd &g0, const MatrixXd &CE, const VectorXd &ce0, const MatrixXd &CI, const VectorXd &ci0, VectorXd &x)
 

Public Attributes

MatrixXd m_J
 
bool is_inverse_provided_
 

Member Typedef Documentation

◆ MatrixXd

typedef Eigen::MatrixXd tsid::solvers::EiquadprogFast::MatrixXd

◆ SpMat

typedef Eigen::SparseMatrix<double> tsid::solvers::EiquadprogFast::SpMat

◆ SpVec

typedef Eigen::SparseVector<double> tsid::solvers::EiquadprogFast::SpVec

◆ SpVeci

typedef Eigen::SparseVector<int> tsid::solvers::EiquadprogFast::SpVeci

◆ VectorXd

typedef Eigen::VectorXd tsid::solvers::EiquadprogFast::VectorXd

◆ VectorXi

typedef Eigen::VectorXi tsid::solvers::EiquadprogFast::VectorXi

Constructor & Destructor Documentation

◆ EiquadprogFast()

tsid::solvers::EiquadprogFast::EiquadprogFast ( )

◆ ~EiquadprogFast()

tsid::solvers::EiquadprogFast::~EiquadprogFast ( )
virtual

Member Function Documentation

◆ getActiveSet()

const VectorXi & tsid::solvers::EiquadprogFast::getActiveSet ( ) const
inline

Return the active set, namely the indeces of active constraints. The first nEqCon indexes are for the equalities and are negative. The last nIneqCon indexes are for the inequalities and start from 0. Only the first q elements of the return vector are valid, where q is the size of the active set.

Returns
The set of indexes of the active constraints.

◆ getActiveSetSize()

int tsid::solvers::EiquadprogFast::getActiveSetSize ( ) const
inline
Returns
The size of the active set, namely the number of active constraints (including the equalities).

◆ getIteratios()

int tsid::solvers::EiquadprogFast::getIteratios ( ) const
inline
Returns
The number of active-set iteratios.

◆ getLagrangeMultipliers()

const VectorXd & tsid::solvers::EiquadprogFast::getLagrangeMultipliers ( ) const
inline
Returns
The Lagrange multipliers

◆ getMaxIter()

int tsid::solvers::EiquadprogFast::getMaxIter ( ) const
inline

◆ getObjValue()

double tsid::solvers::EiquadprogFast::getObjValue ( ) const
inline
Returns
The value of the objective function.

◆ reset()

void tsid::solvers::EiquadprogFast::reset ( int  dim_qp,
int  num_eq,
int  num_ineq 
)

◆ setMaxIter()

bool tsid::solvers::EiquadprogFast::setMaxIter ( int  maxIter)
inline

◆ solve_quadprog()

EiquadprogFast_status tsid::solvers::EiquadprogFast::solve_quadprog ( const MatrixXd Hess,
const VectorXd g0,
const MatrixXd CE,
const VectorXd ce0,
const MatrixXd CI,
const VectorXd ci0,
VectorXd x 
)

solves the problem min. x' Hess x + 2 g0' x s.t. CE x + ce0 = 0 CI x + ci0 >= 0

◆ solve_quadprog_sparse()

EiquadprogFast_status tsid::solvers::EiquadprogFast::solve_quadprog_sparse ( const SpMat Hess,
const VectorXd g0,
const MatrixXd CE,
const VectorXd ce0,
const MatrixXd CI,
const VectorXd ci0,
VectorXd x 
)

solves the sparse problem min. x' Hess x + 2 g0' x s.t. CE x + ce0 = 0 CI x + ci0 >= 0

Member Data Documentation

◆ is_inverse_provided_

bool tsid::solvers::EiquadprogFast::is_inverse_provided_

◆ m_J

MatrixXd tsid::solvers::EiquadprogFast::m_J

The documentation for this class was generated from the following files: