Ipopt Documentation  
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
IpPDSystemSolver.hpp
Go to the documentation of this file.
1 // Copyright (C) 2004, 2006 International Business Machines and others.
2 // All Rights Reserved.
3 // This code is published under the Eclipse Public License.
4 //
5 // Authors: Carl Laird, Andreas Waechter IBM 2004-08-13
6 
7 #ifndef __IPPDSYSTEMSOLVER_HPP__
8 #define __IPPDSYSTEMSOLVER_HPP__
9 
10 #include "IpUtils.hpp"
11 #include "IpSymMatrix.hpp"
12 #include "IpAlgStrategy.hpp"
13 #include "IpIteratesVector.hpp"
14 
15 namespace Ipopt
16 {
17 
75 {
76 public:
81  { }
82 
84  virtual ~PDSystemSolver()
85  { }
87 
89  virtual bool InitializeImpl(
90  const OptionsList& options,
91  const std::string& prefix
92  ) = 0;
93 
108  virtual bool Solve(
109  Number alpha,
110  Number beta,
111  const IteratesVector& rhs,
112  IteratesVector& res,
113  bool allow_inexact = false,
114  bool improve_solution = false
115  ) = 0;
116 
117 private:
129  PDSystemSolver& operator=(
130  const PDSystemSolver&
131  );
133 };
134 
135 } // namespace Ipopt
136 
137 #endif
Specialized CompoundVector class specifically for the algorithm iterates.
This is the base class for all algorithm strategy objects.
Pure Primal Dual System Solver Base Class.
double Number
Type of all numbers.
Definition: IpTypes.hpp:15
virtual ~PDSystemSolver()
Destructor.
PDSystemSolver()
Default Constructor.
This class stores a list of user set options.
#define IPOPTLIB_EXPORT