eiquadprog 1.3.0
C++ reimplementation of eiquadprog
Loading...
Searching...
No Matches
eiquadprog::solvers Namespace Reference

Classes

class  EiquadprogFast
class  RtEiquadprog

Enumerations

enum  EiquadprogFast_status {
  EIQUADPROG_FAST_OPTIMAL = 0 , EIQUADPROG_FAST_INFEASIBLE = 1 , EIQUADPROG_FAST_UNBOUNDED = 2 , EIQUADPROG_FAST_MAX_ITER_REACHED = 3 ,
  EIQUADPROG_FAST_REDUNDANT_EQUALITIES = 4
}
enum  RtEiquadprog_status {
  RT_EIQUADPROG_OPTIMAL = 0 , RT_EIQUADPROG_INFEASIBLE = 1 , RT_EIQUADPROG_UNBOUNDED = 2 , RT_EIQUADPROG_MAX_ITER_REACHED = 3 ,
  RT_EIQUADPROG_REDUNDANT_EQUALITIES = 4
}

Functions

void compute_d (Eigen::VectorXd &d, const Eigen::MatrixXd &J, const Eigen::VectorXd &np)
void update_z (Eigen::VectorXd &z, const Eigen::MatrixXd &J, const Eigen::VectorXd &d, size_t iq)
void update_r (const Eigen::MatrixXd &R, Eigen::VectorXd &r, const Eigen::VectorXd &d, size_t iq)
bool add_constraint (Eigen::MatrixXd &R, Eigen::MatrixXd &J, Eigen::VectorXd &d, size_t &iq, double &R_norm)
void delete_constraint (Eigen::MatrixXd &R, Eigen::MatrixXd &J, Eigen::VectorXi &A, Eigen::VectorXd &u, size_t p, size_t &iq, size_t l)
double solve_quadprog (Eigen::LLT< Eigen::MatrixXd, Eigen::Lower > &chol, double c1, Eigen::VectorXd &g0, const Eigen::MatrixXd &CE, const Eigen::VectorXd &ce0, const Eigen::MatrixXd &CI, const Eigen::VectorXd &ci0, Eigen::VectorXd &x, Eigen::VectorXi &A, size_t &q)
double solve_quadprog (Eigen::LLT< Eigen::MatrixXd, Eigen::Lower > &chol, double c1, Eigen::VectorXd &g0, const Eigen::MatrixXd &CE, const Eigen::VectorXd &ce0, const Eigen::MatrixXd &CI, const Eigen::VectorXd &ci0, Eigen::VectorXd &x, Eigen::VectorXd &y, Eigen::VectorXi &A, size_t &q)
EIQUADPROG_DEPRECATED double solve_quadprog2 (Eigen::LLT< Eigen::MatrixXd, Eigen::Lower > &chol, double c1, Eigen::VectorXd &g0, const Eigen::MatrixXd &CE, const Eigen::VectorXd &ce0, const Eigen::MatrixXd &CI, const Eigen::VectorXd &ci0, Eigen::VectorXd &x, Eigen::VectorXi &A, size_t &q)
double solve_quadprog (Eigen::MatrixXd &G, Eigen::VectorXd &g0, const Eigen::MatrixXd &CE, const Eigen::VectorXd &ce0, const Eigen::MatrixXd &CI, const Eigen::VectorXd &ci0, Eigen::VectorXd &x, Eigen::VectorXi &activeSet, size_t &activeSetSize)
double solve_quadprog (Eigen::MatrixXd &G, Eigen::VectorXd &g0, const Eigen::MatrixXd &CE, const Eigen::VectorXd &ce0, const Eigen::MatrixXd &CI, const Eigen::VectorXd &ci0, Eigen::VectorXd &x, Eigen::VectorXd &y, Eigen::VectorXi &activeSet, size_t &activeSetSize)
double solve_quadprog (MatrixXd &G, VectorXd &g0, const MatrixXd &CE, const VectorXd &ce0, const MatrixXd &CI, const VectorXd &ci0, VectorXd &x, VectorXi &activeSet, size_t &activeSetSize)
double solve_quadprog (MatrixXd &G, VectorXd &g0, const MatrixXd &CE, const VectorXd &ce0, const MatrixXd &CI, const VectorXd &ci0, VectorXd &x, VectorXd &y, VectorXi &activeSet, size_t &activeSetSize)
double solve_quadprog (LLT< MatrixXd, Lower > &chol, double c1, VectorXd &g0, const MatrixXd &CE, const VectorXd &ce0, const MatrixXd &CI, const VectorXd &ci0, VectorXd &x, VectorXi &activeSet, size_t &activeSetSize)
double solve_quadprog (LLT< MatrixXd, Lower > &chol, double c1, VectorXd &g0, const MatrixXd &CE, const VectorXd &ce0, const MatrixXd &CI, const VectorXd &ci0, VectorXd &x, VectorXd &u, VectorXi &A, size_t &q)
bool add_constraint (MatrixXd &R, MatrixXd &J, VectorXd &d, size_t &iq, double &R_norm)
void delete_constraint (MatrixXd &R, MatrixXd &J, VectorXi &A, VectorXd &u, size_t p, size_t &iq, size_t l)

Enumeration Type Documentation

◆ EiquadprogFast_status

Possible states of the solver.

Enumerator
EIQUADPROG_FAST_OPTIMAL 
EIQUADPROG_FAST_INFEASIBLE 
EIQUADPROG_FAST_UNBOUNDED 
EIQUADPROG_FAST_MAX_ITER_REACHED 
EIQUADPROG_FAST_REDUNDANT_EQUALITIES 

◆ RtEiquadprog_status

Possible states of the solver.

Enumerator
RT_EIQUADPROG_OPTIMAL 
RT_EIQUADPROG_INFEASIBLE 
RT_EIQUADPROG_UNBOUNDED 
RT_EIQUADPROG_MAX_ITER_REACHED 
RT_EIQUADPROG_REDUNDANT_EQUALITIES 

Function Documentation

◆ add_constraint() [1/2]

bool eiquadprog::solvers::add_constraint(Eigen::MatrixXd &R,
Eigen::MatrixXd &J,
Eigen::VectorXd &d,
size_t &iq,
double &R_norm )

◆ add_constraint() [2/2]

bool eiquadprog::solvers::add_constraint(MatrixXd &R,
MatrixXd &J,
VectorXd &d,
size_t &iq,
double &R_norm )

◆ compute_d()

void eiquadprog::solvers::compute_d(Eigen::VectorXd &d,
const Eigen::MatrixXd &J,
const Eigen::VectorXd &np )
inline

◆ delete_constraint() [1/2]

void eiquadprog::solvers::delete_constraint(Eigen::MatrixXd &R,
Eigen::MatrixXd &J,
Eigen::VectorXi &A,
Eigen::VectorXd &u,
size_tp,
size_t &iq,
size_tl )

◆ delete_constraint() [2/2]

void eiquadprog::solvers::delete_constraint(MatrixXd &R,
MatrixXd &J,
VectorXi &A,
VectorXd &u,
size_tp,
size_t &iq,
size_tl )

◆ solve_quadprog() [1/8]

double eiquadprog::solvers::solve_quadprog(Eigen::LLT< Eigen::MatrixXd, Eigen::Lower > &chol,
doublec1,
Eigen::VectorXd &g0,
const Eigen::MatrixXd &CE,
const Eigen::VectorXd &ce0,
const Eigen::MatrixXd &CI,
const Eigen::VectorXd &ci0,
Eigen::VectorXd &x,
Eigen::VectorXd &y,
Eigen::VectorXi &A,
size_t &q )

◆ solve_quadprog() [2/8]

double eiquadprog::solvers::solve_quadprog(Eigen::LLT< Eigen::MatrixXd, Eigen::Lower > &chol,
doublec1,
Eigen::VectorXd &g0,
const Eigen::MatrixXd &CE,
const Eigen::VectorXd &ce0,
const Eigen::MatrixXd &CI,
const Eigen::VectorXd &ci0,
Eigen::VectorXd &x,
Eigen::VectorXi &A,
size_t &q )

◆ solve_quadprog() [3/8]

double eiquadprog::solvers::solve_quadprog(Eigen::MatrixXd &G,
Eigen::VectorXd &g0,
const Eigen::MatrixXd &CE,
const Eigen::VectorXd &ce0,
const Eigen::MatrixXd &CI,
const Eigen::VectorXd &ci0,
Eigen::VectorXd &x,
Eigen::VectorXd &y,
Eigen::VectorXi &activeSet,
size_t &activeSetSize )

◆ solve_quadprog() [4/8]

double eiquadprog::solvers::solve_quadprog(Eigen::MatrixXd &G,
Eigen::VectorXd &g0,
const Eigen::MatrixXd &CE,
const Eigen::VectorXd &ce0,
const Eigen::MatrixXd &CI,
const Eigen::VectorXd &ci0,
Eigen::VectorXd &x,
Eigen::VectorXi &activeSet,
size_t &activeSetSize )

◆ solve_quadprog() [5/8]

double eiquadprog::solvers::solve_quadprog(LLT< MatrixXd, Lower > &chol,
doublec1,
VectorXd &g0,
const MatrixXd &CE,
const VectorXd &ce0,
const MatrixXd &CI,
const VectorXd &ci0,
VectorXd &x,
VectorXd &u,
VectorXi &A,
size_t &q )

◆ solve_quadprog() [6/8]

double eiquadprog::solvers::solve_quadprog(LLT< MatrixXd, Lower > &chol,
doublec1,
VectorXd &g0,
const MatrixXd &CE,
const VectorXd &ce0,
const MatrixXd &CI,
const VectorXd &ci0,
VectorXd &x,
VectorXi &activeSet,
size_t &activeSetSize )

◆ solve_quadprog() [7/8]

double eiquadprog::solvers::solve_quadprog(MatrixXd &G,
VectorXd &g0,
const MatrixXd &CE,
const VectorXd &ce0,
const MatrixXd &CI,
const VectorXd &ci0,
VectorXd &x,
VectorXd &y,
VectorXi &activeSet,
size_t &activeSetSize )

◆ solve_quadprog() [8/8]

double eiquadprog::solvers::solve_quadprog(MatrixXd &G,
VectorXd &g0,
const MatrixXd &CE,
const VectorXd &ce0,
const MatrixXd &CI,
const VectorXd &ci0,
VectorXd &x,
VectorXi &activeSet,
size_t &activeSetSize )

◆ solve_quadprog2()

EIQUADPROG_DEPRECATED double eiquadprog::solvers::solve_quadprog2(Eigen::LLT< Eigen::MatrixXd, Eigen::Lower > &chol,
doublec1,
Eigen::VectorXd &g0,
const Eigen::MatrixXd &CE,
const Eigen::VectorXd &ce0,
const Eigen::MatrixXd &CI,
const Eigen::VectorXd &ci0,
Eigen::VectorXd &x,
Eigen::VectorXi &A,
size_t &q )
inline

◆ update_r()

void eiquadprog::solvers::update_r(const Eigen::MatrixXd &R,
Eigen::VectorXd &r,
const Eigen::VectorXd &d,
size_tiq )
inline

◆ update_z()

void eiquadprog::solvers::update_z(Eigen::VectorXd &z,
const Eigen::MatrixXd &J,
const Eigen::VectorXd &d,
size_tiq )
inline