Ipopt  3.11.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
IpGenKKTSolverInterface.hpp
Go to the documentation of this file.
1 // Copyright (C) 2007 International Business Machines and others.
2 // All Rights Reserved.
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