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.
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