hpp-bezier-com-traj 7.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

◆ 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

◆ 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(intdim_qp,
intnum_eq,
intnum_ineq )

◆ setMaxIter()

bool tsid::solvers::EiquadprogFast::setMaxIter(intmaxIter)
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: