34 #ifndef _vpQuadProg_h_
35 #define _vpQuadProg_h_
39 #include <visp3/core/vpConfig.h>
40 #include <visp3/core/vpLinProg.h>
41 #include <visp3/core/vpMatrix.h>
42 #include <visp3/core/vpMatrixException.h>
72 #if (VISP_CXX_STANDARD >= VISP_CXX_STANDARD_11)
78 bool use_equality =
false,
const double &tol = 1e-6);
86 bool setEqualityConstraint(
const vpMatrix &A,
const vpColVector &b,
const double &tol = 1e-6);
95 const double &tol = 1e-6);
97 const double &tol = 1e-6);
123 const double &tol = 1e-6);
145 const bool Ab = (A !=
nullptr && b !=
nullptr && A->
getRows());
146 const bool Cd = (C !=
nullptr && d !=
nullptr && C->
getRows());
150 std::cout <<
"vpQuadProg::" << fct <<
": wrong dimension\n"
155 std::cout <<
"C: " << C->
getRows() <<
"x" << C->
getCols() <<
" - d: " << d->getRows() << std::endl;
unsigned int getCols() const
unsigned int getRows() const
Implementation of column vector and the associated operations.
@ dimensionError
Bad dimension.
Implementation of a matrix and operations on matrices.
This class provides a solver for Quadratic Programs.
std::vector< unsigned int > inactive
std::vector< unsigned int > active
static unsigned int checkDimensions(const vpMatrix &Q, const vpColVector &r, const vpMatrix *A, const vpColVector *b, const vpMatrix *C, const vpColVector *d, const std::string fct)