Ipopt Documentation  
IpMc19TSymScalingMethod.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-03-17
6 
7 #ifndef __IPMC19TSYMSCALINGMETHOD_HPP__
8 #define __IPMC19TSYMSCALINGMETHOD_HPP__
9 
10 #include "IpUtils.hpp"
11 #include "IpTSymScalingMethod.hpp"
12 #include "IpLibraryLoader.hpp"
13 #include "IpTypes.h"
14 
15 // note that R,C,W are single-precision also in the double-precision version of MC19 (MC19AD)
16 // here we assume that float corresponds to Fortran's single precision
18 #define IPOPT_DECL_MC19A(x) void (x)( \
19  const ipindex* N, \
20  const ipindex* NZ, \
21  ipnumber* A, \
22  ipindex* IRN, \
23  ipindex* ICN, \
24  float* R, \
25  float* C, \
26  float* W \
27 )
28 
29 namespace Ipopt
30 {
31 
36 {
37 public:
41  SmartPtr<LibraryLoader> hslloader_
42  ) : hslloader(hslloader_),
43  mc19a(NULL)
44  { }
45 
47  { }
49 
50  virtual bool InitializeImpl(
51  const OptionsList& options,
52  const std::string& prefix
53  );
54 
59  Index n,
60  Index nnz,
61  const Index* airn,
62  const Index* ajcn,
63  const Number* a,
64  Number* scaling_factors
65  );
66 
69  static void SetFunctions(
71  );
72 
78 
79 private:
86 
89  );
90 
92  void operator=(
94  );
95 
100 
103 };
104 
105 } // namespace Ipopt
106 
107 #endif
#define IPOPT_DECL_MC19A(x)
Class for the method for computing scaling factors for symmetric matrices in triplet format,...
static IPOPT_DECL_MC19A * GetMC19A()
get MC19A function that has been set via SetFunctions
virtual bool ComputeSymTScalingFactors(Index n, Index nnz, const Index *airn, const Index *ajcn, const Number *a, Number *scaling_factors)
Method for computing the symmetric scaling factors, given the symmetric matrix in triplet (MA27) form...
Mc19TSymScalingMethod(SmartPtr< LibraryLoader > hslloader_)
static void SetFunctions()
set MC19 function to use for every instantiation of this class
SmartPtr< LibraryLoader > hslloader
Mc19TSymScalingMethod(const Mc19TSymScalingMethod &)
Copy Constructor.
void operator=(const Mc19TSymScalingMethod &)
Default Assignment Operator.
virtual bool InitializeImpl(const OptionsList &options, const std::string &prefix)
Implementation of the initialization method that has to be overloaded by for each derived class.
This class stores a list of user set options.
Template class for Smart Pointers.
Definition: IpSmartPtr.hpp:165
Base class for the method for computing scaling factors for symmetric matrices in triplet format.
This file contains a base class for all exceptions and a set of macros to help with exceptions.
ipindex Index
Type of all indices of vectors, matrices etc.
Definition: IpTypes.hpp:20
ipnumber Number
Type of all numbers.
Definition: IpTypes.hpp:17