Main Page
Namespaces
Classes
Files
File List
File Members
tmp
buildd
coinor-ipopt-3.10.2
Ipopt
src
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 on Tue Jun 26 2012 17:01:43 by
1.8.1.1