Ipopt  3.11.8
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
IpMa27TSolverInterface.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 // $Id: IpMa27TSolverInterface.hpp 1861 2010-12-21 21:34:47Z andreasw $
6 //
7 // Authors: Carl Laird, Andreas Waechter IBM 2005-03-17
8 
9 #ifndef __IPMA27TSOLVERINTERFACE_HPP__
10 #define __IPMA27TSOLVERINTERFACE_HPP__
11 
13 
14 namespace Ipopt
15 {
20  {
21  public:
26 
28  virtual ~Ma27TSolverInterface();
30 
32  bool InitializeImpl(const OptionsList& options,
33  const std::string& prefix);
34 
35 
43  virtual ESymSolverStatus InitializeStructure(Index dim, Index nonzeros,
44  const Index *airn,
45  const Index *ajcn);
46 
52  virtual double* GetValuesArrayPtr();
53 
57  virtual ESymSolverStatus MultiSolve(bool new_matrix,
58  const Index* airn,
59  const Index* ajcn,
60  Index nrhs,
61  double* rhs_vals,
62  bool check_NegEVals,
63  Index numberOfNegEVals);
64 
71  virtual Index NumberOfNegEVals() const;
73 
74  //* @name Options of Linear solver */
76 
81  virtual bool IncreaseQuality();
82 
86  virtual bool ProvidesInertia() const
87  {
88  return true;
89  }
94  {
95  return Triplet_Format;
96  }
98 
101  static void RegisterOptions(SmartPtr<RegisteredOptions> roptions);
103 
104  private:
115 
117  void operator=(const Ma27TSolverInterface&);
119 
124 
128 
134 
148 
153 
156 
173 
181  double cntl_[5];
182 
187 
194 
198  double* a_;
199 
207 
215  const Index* ajcn);
216 
222  const Index* ajcn,
223  bool check_NegEVals,
224  Index numberOfNegEVals);
225 
229  double *rhs_vals);
231  };
232 
233 } // namespace Ipopt
234 #endif