C++ Initialization Classes

struct FROutput

final output of Facial Reduction algorithm

Param sparse_A:

constrained form Ax = b, x >=_k 0

Param sparse_b:

constrained form Ax = b, x >=_k 0

Param sparse_V:

PAVv = Pb decomposition

Param dense_A:

full-dim form Ax <= b

Param dense_b:

full-dim form Ax <= b

Param Q:

matrix used to go between forms

Param z1:

vector used to go between forms

class FacialReduction

Public Functions

inline FacialReduction(double err_dc = 1e-5)

initialization for Facial Reduction class

Parameters:

err_dc – error sensitivity for decomposition calculation

FROutput reduce(SparseMatrixXd A, VectorXd b, int k, bool sparse)

completes facial reduction on Ax = b, x >=_k 0

Parameters:
  • A – polytope matrix (Ax = b)

  • b – polytope vector (Ax = b)

  • k – k values >= 0 constraint

  • sparse – decision to choose full-dimensional or constraint formulation

Returns:

FROutput

class SparseCenter

Public Functions

inline SparseCenter()

initialization for Sparse Center Algorithm

VectorXd getInitialPoint(SparseMatrixXd &A, VectorXd &b, int k)

finds analytical center Ax = b, x >=_k 0

Parameters:
  • A – polytope matrix (Ax = b)

  • b – polytope vector (Ax = b)

  • k – k values >= 0 constraint

Returns:

VectorXd

class DenseCenter

Public Functions

inline DenseCenter()

initialization for Center Algorithm

VectorXd getInitialPoint(MatrixXd &A, VectorXd &b)

finds analytical center Ax <= b

Parameters:
  • A – polytope matrix (Ax <= b)

  • b – polytope vector (Ax <= b)

Returns:

VectorXd