solver
|
Class that provides functionality for handling solution of linear systems in optimization problems. More...
#include <LinSolver.hpp>
Public Member Functions | |
void | updateMatrix () |
void | initializeMatrix () |
FactStatus | numericFactorization () |
void | initialize (Cone &cone, SolverSetting &stgs, SolverStorage &stg) |
int | solve (const Eigen::Ref< const Eigen::VectorXd > &permB, OptimizationVector &searchDir, bool is_initialization=false) |
void | matrixTransposeTimesVector (const Eigen::SparseMatrix< double > &A, const Eigen::Ref< const Eigen::VectorXd > &eig_x, Eigen::Ref< Eigen::VectorXd > eig_y, bool add=true, bool is_new=true) |
int | perm (int id) |
int | invPerm (int id) |
Eigen::PermutationMatrix< Eigen::Dynamic, Eigen::Dynamic > & | perm () |
Eigen::PermutationMatrix< Eigen::Dynamic, Eigen::Dynamic > & | invPerm () |
const Eigen::PermutationMatrix< Eigen::Dynamic, Eigen::Dynamic > & | perm () const |
const Eigen::PermutationMatrix< Eigen::Dynamic, Eigen::Dynamic > & | invPerm () const |
Private Member Functions | |
Cone & | getCone () |
SolverStorage & | getStorage () |
SolverSetting & | getSetting () |
linalg::SparseCholesky & | getCholesky () |
void | buildProblem () |
void | findPermutation () |
void | resizeProblemData () |
void | symbolicFactorization () |
Private Attributes | |
Cone * | cone_ |
SolverStorage * | storage_ |
SolverSetting * | setting_ |
linalg::SparseCholesky | cholesky_ |
ConicVector | Gdx_ |
double | static_regularization_ |
ExtendedVector | sign_ |
ExtendedVector | permSign_ |
Eigen::VectorXd | permX_ |
Eigen::VectorXd | Pe_ |
Eigen::VectorXd | permdX_ |
Eigen::SparseMatrix< double > | kkt_ |
Eigen::SparseMatrix< double > | permKkt_ |
Eigen::PermutationMatrix< Eigen::Dynamic, Eigen::Dynamic > | perm_ |
Eigen::PermutationMatrix< Eigen::Dynamic, Eigen::Dynamic > | invPerm_ |
Eigen::PermutationMatrix< Eigen::Dynamic, Eigen::Dynamic > | permK_ |
Class that provides functionality for handling solution of linear systems in optimization problems.
Performs symbolic and numeric factorization of kkt matrix, find permutation of kkt matrix to induce the best possible sparsity pattern, builds and updates kkt matrix and its scalings as required.