solver
solver::Cone Class Reference

This class contains all information about the conic optimization problem, and provides functionality for conic operations, such as scalings, residuals and sizes. More...

#include <Cone.hpp>

Collaboration diagram for solver::Cone:

Public Member Functions

void setupLpcone (int size)
 
void setupSocone (const Eigen::VectorXi &indices)
 
void initialize (int nvars, int nleq, int nlineq, const Eigen::VectorXi &nsoc)
 
const int numLeq () const
 
const int numSoc () const
 
const int sizeSoc () const
 
const int sizeLpc () const
 
const int numVars () const
 
const int sizeCone () const
 
const int extSizeSoc () const
 
const int sizeSoc (int id) const
 
const int numCones () const
 
const int sizeProb () const
 
const int extSizeCone () const
 
const int lpConeStart () const
 
const int soConeStart () const
 
const int extSizeProb () const
 
const int startSoc (int id) const
 
const int sizeConstraints () const
 
const int optStartSoc (int id) const
 
const int extStartSoc (int id) const
 
int & indexLpc (int id)
 
Eigen::VectorXd & scalingLpc ()
 
double & scalingLpc (int id)
 
Eigen::VectorXd & sqScalingLpc ()
 
double & sqScalingLpc (int id)
 
const int & indexLpc (int id) const
 
const Eigen::VectorXd & scalingLpc () const
 
const double & scalingLpc (int id) const
 
const Eigen::VectorXd & sqScalingLpc () const
 
const double & sqScalingLpc (int id) const
 
NesterovToddScalingsoc (int id)
 
const NesterovToddScalingsoc (int id) const
 
double conicResidual (const double *u, int size) const
 
double conicResidual (const double *u, const double *v, int size) const
 
double conicResidual (const Eigen::Ref< const Eigen::VectorXd > &u) const
 
double conicResidual (const Eigen::Ref< const Eigen::VectorXd > &u, const Eigen::Ref< const Eigen::VectorXd > &v) const
 
double safeDivision (double x, double y) const
 
void conicProjection (Eigen::Ref< Eigen::VectorXd > s)
 
void conicNTScaling (const double *z, double *lambda) const
 
void conicNTScaling (const Eigen::VectorXd &z, Eigen::Ref< Eigen::VectorXd > lambda) const
 
void conicNTScaling2 (const Eigen::VectorXd &x, Eigen::Ref< Eigen::VectorXd > y) const
 
void conicDivision (const Eigen::Ref< const Eigen::VectorXd > &u, const Eigen::Ref< const Eigen::VectorXd > &w, Eigen::Ref< Eigen::VectorXd > v) const
 
double conicProduct (const Eigen::Ref< const Eigen::VectorXd > u, const Eigen::Ref< const Eigen::VectorXd > v, Eigen::Ref< Eigen::VectorXd > w) const
 
ConeStatus updateNTScalings (const Eigen::VectorXd &s, const Eigen::VectorXd &z, Eigen::VectorXd &lambda)
 
void unpermuteSolution (const Eigen::PermutationMatrix< Eigen::Dynamic, Eigen::Dynamic > &Pinv, const Eigen::VectorXd &Px, OptimizationVector &sd) const
 
void unpermuteSolution (const Eigen::PermutationMatrix< Eigen::Dynamic, Eigen::Dynamic > &Pinv, const Eigen::VectorXd &Px, OptimizationVector &sd, Eigen::VectorXd &dz) const
 
ScalingOperatorW ()
 
const ScalingOperatorW () const
 

Static Public Member Functions

static double normSoc (const Eigen::Ref< const Eigen::VectorXd > &v)
 

Private Attributes

int nvars_
 
int neq_
 
int nineq_
 
int nsoc_
 
int ssoc_
 
int extssoc_
 
int lpconestart_
 
int soconestart_
 
int sizecone_
 
int extsizecone_
 
int sizeconstraints_
 
int sizeproblem_
 
int extsizeproblem_
 
Eigen::VectorXi q_
 
Eigen::VectorXi LP_id_
 
Eigen::VectorXd LP_scaling_
 
Eigen::VectorXd LP_sq_scaling_
 
Eigen::VectorXd skbar_
 
Eigen::VectorXd zkbar_
 
std::vector< NesterovToddScalingsoc_
 
Eigen::VectorXi SOC_start_
 
Eigen::VectorXi opt_SOC_start_
 
Eigen::VectorXi ext_SOC_start_
 
ScalingOperator W_scaling_operator_
 

Detailed Description

This class contains all information about the conic optimization problem, and provides functionality for conic operations, such as scalings, residuals and sizes.


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