Ipopt
3.11.8
Main Page
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Algorithm
LinearSolvers
IpIterativeWsmpSolverInterface.hpp
Go to the documentation of this file.
1
// Copyright (C) 2009 International Business Machines and others.
2
// All Rights Reserved.
3
// This code is published under the Eclipse Public License.
4
//
5
// $Id: IpIterativeWsmpSolverInterface.hpp 1861 2010-12-21 21:34:47Z andreasw $
6
//
7
// Authors: Andreas Waechter IBM 2009-09-18
8
// based on IpWsmpSolverInterface.hpp (rev 1483)
9
10
11
#ifndef __IPITERATIVEWSMPSOLVERINTERFACE_HPP__
12
#define __IPITERATIVEWSMPSOLVERINTERFACE_HPP__
13
14
#include "
IpSparseSymLinearSolverInterface.hpp
"
15
16
namespace
Ipopt
17
{
18
23
class
IterativeWsmpSolverInterface
:
public
SparseSymLinearSolverInterface
24
{
25
public
:
29
IterativeWsmpSolverInterface
();
30
32
virtual
~IterativeWsmpSolverInterface
();
34
36
bool
InitializeImpl
(
const
OptionsList
& options,
37
const
std::string& prefix);
38
39
43
virtual
ESymSolverStatus
InitializeStructure
(
Index
dim,
Index
nonzeros,
44
const
Index
*ia,
45
const
Index
*ja);
46
49
virtual
double
*
GetValuesArrayPtr
();
50
52
virtual
ESymSolverStatus
MultiSolve
(
bool
new_matrix,
53
const
Index
* ia,
54
const
Index
* ja,
55
Index
nrhs,
56
double
* rhs_vals,
57
bool
check_NegEVals,
58
Index
numberOfNegEVals);
59
63
virtual
Index
NumberOfNegEVals
()
const
;
65
66
//* @name Options of Linear solver */
68
70
virtual
bool
IncreaseQuality
();
71
75
virtual
bool
ProvidesInertia
()
const
76
{
77
return
false
;
78
}
82
EMatrixFormat
MatrixFormat
()
const
83
{
84
return
CSR_Format_1_Offset
;
85
}
87
90
static
void
RegisterOptions
(
SmartPtr<RegisteredOptions>
roptions);
92
93
private
:
103
IterativeWsmpSolverInterface
(
const
IterativeWsmpSolverInterface
&);
104
106
void
operator=
(
const
IterativeWsmpSolverInterface
&);
108
112
Index
dim_
;
113
115
double
*
a_
;
117
121
Index
wsmp_num_threads_
;
123
Number
wsmp_pivtol_
;
125
Number
wsmp_pivtolmax_
;
127
Index
wsmp_scaling_
;
129
Index
wsmp_write_matrix_iteration_
;
130
Number
wsmp_inexact_droptol_
;
131
Number
wsmp_inexact_fillin_limit_
;
133
135
Index
matrix_file_number_
;
136
139
#if 0
140
141
Index
negevals_;
142
#endif
143
144
149
bool
initialized_
;
152
bool
pivtol_changed_
;
155
bool
have_symbolic_factorization_
;
157
161
ipfint
*
IPARM_
;
163
double
*
DPARM_
;
165
170
ESymSolverStatus
SymbolicFactorization
(
const
Index
* ia,
const
Index
* ja);
171
173
ESymSolverStatus
InternalSymFact
(
const
Index
* ia,
const
Index
* ja);
174
177
ESymSolverStatus
Factorization
(
const
Index
* ia,
178
const
Index
* ja,
179
bool
check_NegEVals,
180
Index
numberOfNegEVals);
181
184
ESymSolverStatus
Solve
(
const
Index
* ia,
185
const
Index
* ja,
186
Index
nrhs,
187
double
*rhs_vals);
189
};
190
191
}
// namespace Ipopt
192
#endif
Generated by
1.8.3.1