Ipopt Documentation  
 
Loading...
Searching...
No Matches
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"
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
29namespace Ipopt
30{
31
36{
37public:
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
79private:
86
89 );
90
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,...
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.
static IPOPT_DECL_MC19A * GetMC19A()
get MC19A function that has been set via SetFunctions
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.
Base class for the method for computing scaling factors for symmetric matrices in triplet format.
ipindex Index
Type of all indices of vectors, matrices etc.
Definition IpTypes.hpp:20
ipnumber Number
Type of all numbers.
Definition IpTypes.hpp:17