Ipopt  3.12.11
IpGenKKTSolverInterface.hpp
Go to the documentation of this file.
3 // This code is published under the Eclipse Public License.
4 //
5 // \$Id: IpGenKKTSolverInterface.hpp 2201 2013-04-13 11:58:50Z stefan \$
6 //
7 // Authors: Andreas Waechter IBM 2007-03-01
8
9 #ifndef __IPGENKKTSOLVERINTERFACE_HPP__
10 #define __IPGENKKTSOLVERINTERFACE_HPP__
11
12 #include "IpUtils.hpp"
13 #include "IpAlgStrategy.hpp"
14 #include "IpSymLinearSolver.hpp"
15
16 namespace Ipopt
17 {
21  {
22  public:
26  {}
27
29  {}
31
33  virtual bool InitializeImpl(const OptionsList& options,
34  const std::string& prefix) = 0;
35
74  bool new_matrix
75  , Index n_x
76  , Index n_c
77  , Index n_d
79  , SmartPtr<const Matrix> Jac_c
80  , SmartPtr<const Matrix> Jac_d
81  , const Number* D_x
82  , const Number* D_s
83  , const Number* D_c
84  , const Number* D_d
85  , Number delta_x
86  , Number delta_s
87  , Number delta_c
88  , Number delta_d
89  , Index n_rhs
90  , Number* rhssol
91  , bool check_NegEVals
92  , Index numberOfNegEVals
93  )=0;
94
101  virtual Index NumberOfNegEVals() const =0;
103
104  //* @name Options of Linear solver */
106
112  virtual bool IncreaseQuality() =0;
113
117  virtual bool ProvidesInertia() const =0;
119  };
120
121 } // namespace Ipopt
122
123 #endif
ESymSolverStatus
Enum to report outcome of a linear solve.
virtual bool IncreaseQuality()=0
Request to increase quality of solution for next solve.
This is the base class for all algorithm strategy objects.
double Number
Type of all numbers.
Definition: IpTypes.hpp:17
Base class for interfaces to symmetric indefinite linear solvers for generic matrices.
Template class for Smart Pointers.
Definition: IpSmartPtr.hpp:172
This class stores a list of user set options.
virtual bool ProvidesInertia() const =0
Query whether inertia is computed by linear solver.
int Index
Type of all indices of vectors, matrices etc.
Definition: IpTypes.hpp:19
virtual ESymSolverStatus MultiSolve(bool new_matrix, Index n_x, Index n_c, Index n_d, SmartPtr< const SymMatrix > W, SmartPtr< const Matrix > Jac_c, SmartPtr< const Matrix > Jac_d, const Number *D_x, const Number *D_s, const Number *D_c, const Number *D_d, Number delta_x, Number delta_s, Number delta_c, Number delta_d, Index n_rhs, Number *rhssol, bool check_NegEVals, Index numberOfNegEVals)=0
Solve operation for multiple right hand sides.
virtual bool InitializeImpl(const OptionsList &options, const std::string &prefix)=0