Go to the documentation of this file.
7 #ifndef __IP_STDAUGSYSTEMSOLVER_HPP__
8 #define __IP_STDAUGSYSTEMSOLVER_HPP__
38 const std::string& prefix
67 Index numberOfNegEVals
bool InitializeImpl(const OptionsList &options, const std::string &prefix)
overloaded from AlgorithmStrategyObject
ESymSolverStatus
Enum to report outcome of a linear solve.
bool AugmentedSystemChanged(const SymMatrix *W, double W_factor, const Vector *D_x, double delta_x, const Vector *D_s, double delta_s, const Matrix &J_c, const Vector *D_c, double delta_c, const Matrix &J_d, const Vector *D_d, double delta_d)
Check the internal tags and decide if the passed variables are different from what is in the augmente...
virtual ~GenAugSystemSolver()
Destructor.
GenAugSystemSolver(GenKKTSolverInterface &SolverInterface)
Constructor using only a linear solver object.
double delta_c_
Most recent value of delta_c from Set method.
TaggedObject::Tag j_d_tag_
Tag for J_d matrix.
This file contains a base class for all exceptions and a set of macros to help with exceptions.
double Number
Type of all numbers.
TaggedObject::Tag w_tag_
Tag for W matrix.
GenAugSystemSolver(const GenAugSystemSolver &)
Copy Constructor.
virtual Index NumberOfNegEVals() const
Number of negative eigenvalues detected during last solve.
double delta_s_
Most recent value of delta_s from Set method.
int Index
Type of all indices of vectors, matrices etc.
Template class for Smart Pointers.
TaggedObject::Tag d_c_tag_
Tag for D_c vector, representing the diagonal matrix D_c.
double w_factor_
Most recent value of W_factor.
GenAugSystemSolver()
Default constructor.
TaggedObject::Tag d_x_tag_
Tag for D_x vector, representing the diagonal matrix D_x.
void UpdateTags(const SymMatrix *W, double W_factor, const Vector *D_x, double delta_x, const Vector *D_s, double delta_s, const Matrix &J_c, const Vector *D_c, double delta_c, const Matrix &J_d, const Vector *D_d, double delta_d)
TaggedObject::Tag d_d_tag_
Tag for D_d vector, representing the diagonal matrix D_d.
void operator=(const GenAugSystemSolver &)
Default Assignment Operator.
Base class for Solver for the augmented system.
This is the base class for all derived symmetric matrix types.
bool warm_start_same_structure_
Flag indicating whether the TNLP with identical structure has already been solved before.
double delta_x_
Most recent value of delta_x from Set method.
virtual ESymSolverStatus MultiSolve(const SymMatrix *W, double W_factor, const Vector *D_x, double delta_x, const Vector *D_s, double delta_s, const Matrix *J_c, const Vector *D_c, double delta_c, const Matrix *J_d, const Vector *D_d, double delta_d, std::vector< SmartPtr< const Vector > > &rhs_xV, std::vector< SmartPtr< const Vector > > &rhs_sV, std::vector< SmartPtr< const Vector > > &rhs_cV, std::vector< SmartPtr< const Vector > > &rhs_dV, std::vector< SmartPtr< Vector > > &sol_xV, std::vector< SmartPtr< Vector > > &sol_sV, std::vector< SmartPtr< Vector > > &sol_cV, std::vector< SmartPtr< Vector > > &sol_dV, bool check_NegEVals, Index numberOfNegEVals)
Set up the augmented system and solve it for a set of given right hand side - implementation for GenT...
unsigned int Tag
Type for the Tag values.
double delta_d_
Most recent value of delta_d from Set method.
virtual bool IncreaseQuality()
Request to increase quality of solution for next solve.
This class stores a list of user set options.
SmartPtr< GenKKTSolverInterface > solver_interface_
The linear solver object that is to be used to solve the linear systems.
TaggedObject::Tag j_c_tag_
Tag for J_c matrix.
TaggedObject::Tag d_s_tag_
Tag for D_s vector, representing the diagonal matrix D_s.
Solver for the augmented system using GenKKTSolverInterfaces.
Base class for interfaces to symmetric indefinite linear solvers for generic matrices.
virtual bool ProvidesInertia() const
Query whether inertia is computed by linear solver.