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>
77 bool use_equality =
false,
const double &tol = 1e-6);
85 bool setEqualityConstraint(
const vpMatrix &A,
const vpColVector &b,
const double &tol = 1e-6);
94 const double &tol = 1e-6);
96 const double &tol = 1e-6);
122 const double &tol = 1e-6);
144 const bool Ab = (A !=
nullptr && b !=
nullptr && A->
getRows());
145 const bool Cd = (C !=
nullptr && d !=
nullptr && C->
getRows());
149 std::cout <<
"vpQuadProg::" << fct <<
": wrong dimension\n"
154 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)