General driver for linear solvers for sparse indefinite symmetric matrices. More...
#include <IpTSymLinearSolver.hpp>
Inheritance diagram for Ipopt::TSymLinearSolver:Public Member Functions | |
| bool | InitializeImpl (const OptionsList &options, const std::string &prefix) |
| Implementation of the initialization method that has to be overloaded by for each derived class. | |
Constructor/Destructor | |
| TSymLinearSolver (SmartPtr< SparseSymLinearSolverInterface > solver_interface, SmartPtr< TSymScalingMethod > scaling_method) | |
| Constructor. | |
| virtual | ~TSymLinearSolver () |
| Destructor. | |
Methods for requesting solution of the linear system. | |
| virtual ESymSolverStatus | MultiSolve (const SymMatrix &A, std::vector< SmartPtr< const Vector > > &rhsV, std::vector< SmartPtr< Vector > > &solV, bool check_NegEVals, Index numberOfNegEVals) |
| Solve operation for multiple right hand sides. | |
| virtual Index | NumberOfNegEVals () const |
| Number of negative eigenvalues detected during last factorization. | |
| virtual bool | IncreaseQuality () |
| Request to increase quality of solution for next solve. | |
| virtual bool | ProvidesInertia () const |
| Query whether inertia is computed by linear solver. | |
Methods related to the detection of linearly dependent | |
rows in a matrix | |
| bool | ProvidesDegeneracyDetection () const |
| ESymSolverStatus | DetermineDependentRows (Index n_rows, Index n_cols, Index n_jac_nz, Number *jac_c_vals, Index *jac_c_iRow, Index *jac_c_jCol, std::list< Index > &c_deps) |
Public Member Functions inherited from Ipopt::SymLinearSolver | |
| SymLinearSolver () | |
| virtual | ~SymLinearSolver () |
| ESymSolverStatus | Solve (const SymMatrix &A, const Vector &rhs, Vector &sol, bool check_NegEVals, Index numberOfNegEVals) |
| Solve operation for a single right hand side. | |
Public Member Functions inherited from Ipopt::AlgorithmStrategyObject | |
| bool | Initialize (const Journalist &jnlst, IpoptNLP &ip_nlp, IpoptData &ip_data, IpoptCalculatedQuantities &ip_cq, const OptionsList &options, const std::string &prefix) |
| This method is called every time the algorithm starts again - it is used to reset any internal state. | |
| bool | ReducedInitialize (const Journalist &jnlst, const OptionsList &options, const std::string &prefix) |
| Reduced version of the Initialize method, which does not require special Ipopt information. | |
| AlgorithmStrategyObject () | |
| Default Constructor. | |
| virtual | ~AlgorithmStrategyObject () |
| Destructor. | |
Public Member Functions inherited from Ipopt::ReferencedObject | |
| ReferencedObject () | |
| virtual | ~ReferencedObject () |
| Index | ReferenceCount () const |
| void | AddRef (const Referencer *referencer) const |
| void | ReleaseRef (const Referencer *referencer) const |
Static Public Member Functions | |
| static void | RegisterOptions (SmartPtr< RegisteredOptions > roptions) |
| Methods for OptionsList. | |
Private Member Functions | |
Default Compiler Generated Methods | |
(Hidden to avoid implicit creation/calling). These methods are not implemented and we do not want the compiler to implement them for us, so we declare them private and do not define them. This ensures that they will not be implicitly created/called. | |
| TSymLinearSolver () | |
| Default Constructor. | |
| TSymLinearSolver (const TSymLinearSolver &) | |
| Copy Constructor. | |
| void | operator= (const TSymLinearSolver &) |
| Default Assignment Operator. | |
Internal functions | |
| ESymSolverStatus | InitializeStructure (const SymMatrix &symT_A) |
| Initialize nonzero structure. | |
| void | GiveMatrixToSolver (bool new_matrix, const SymMatrix &sym_A) |
| Copy the elements of the matrix in the required format into the array that is provided by the solver interface. | |
Private Attributes | |
| SmartPtr< SparseSymLinearSolverInterface > | solver_interface_ |
| Strategy Object for an interface to a linear solver. | |
Information about the matrix | |
| TaggedObject::Tag | atag_ |
| Tag for the incoming matrix. | |
| Index | dim_ |
| Number of rows and columns of the matrix. | |
| Index | nonzeros_triplet_ |
| Number of nonzeros of the matrix in triplet format. | |
| Index | nonzeros_compressed_ |
| Number of nonzeros in compressed format. | |
Initialization flags | |
| bool | have_structure_ |
| Flag indicating if the internal structures are initialized. | |
| bool | linear_scaling_on_demand_ |
| Flag indicating whether the scaling objected is to be switched on when increased quality is requested. | |
| bool | initialized_ |
| Flag indicating if the InitializeStructure method has been called for the linear solver. | |
Stuff for scaling of the linear system. | |
| SmartPtr< TSymScalingMethod > | scaling_method_ |
| Strategy Object for a method that computes scaling factors for the matrices. | |
| Number * | scaling_factors_ |
| Array storing the scaling factors. | |
| bool | use_scaling_ |
| Flag indicating whether scaling should be performed. | |
| bool | just_switched_on_scaling_ |
| Flag indicating whether we just switched on the scaling. | |
information about the matrix. | |
| Index * | airn_ |
| row indices of matrix in triplet (MA27) format. | |
| Index * | ajcn_ |
| column indices of matrix in triplet (MA27) format. | |
| SmartPtr< TripletToCSRConverter > | |