Main Page
Namespaces
Classes
Files
File List
File Members
build
buildd
coinor-ipopt-3.10.2
Ipopt
src
Algorithm
LinearSolvers
IpMa27TSolverInterface.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
// $Id: IpMa27TSolverInterface.hpp 1861 2010-12-21 21:34:47Z andreasw $
6
//
7
// Authors: Carl Laird, Andreas Waechter IBM 2005-03-17
8
9
#ifndef __IPMA27TSOLVERINTERFACE_HPP__
10
#define __IPMA27TSOLVERINTERFACE_HPP__
11
12
#include "
IpSparseSymLinearSolverInterface.hpp
"
13
14
namespace
Ipopt
15
{
19
class
Ma27TSolverInterface
:
public
SparseSymLinearSolverInterface
20
{
21
public
:
25
Ma27TSolverInterface
();
26
28
virtual
~Ma27TSolverInterface
();
30
32
bool
InitializeImpl
(
const
OptionsList
& options,
33
const
std::string& prefix);
34
35
43
virtual
ESymSolverStatus
InitializeStructure
(
Index
dim,
Index
nonzeros,
44
const
Index
*airn,
45
const
Index
*ajcn);
46
52
virtual
double
*
GetValuesArrayPtr
();
53
57
virtual
ESymSolverStatus
MultiSolve
(
bool
new_matrix,
58
const
Index
* airn,
59
const
Index
* ajcn,
60
Index
nrhs,
61
double
* rhs_vals,
62
bool
check_NegEVals,
63
Index
numberOfNegEVals);
64
71
virtual
Index
NumberOfNegEVals
()
const
;
73
74
//* @name Options of Linear solver */
76
81
virtual
bool
IncreaseQuality
();
82
86
virtual
bool
ProvidesInertia
()
const
87
{
88
return
true
;
89
}
93
EMatrixFormat
MatrixFormat
()
const
94
{
95
return
Triplet_Format
;
96
}
98
101
static
void
RegisterOptions
(
SmartPtr<RegisteredOptions>
roptions);
103
104
private
:
114
Ma27TSolverInterface
(
const
Ma27TSolverInterface
&);
115
117
void
operator=
(
const
Ma27TSolverInterface
&);
119
123
Index
dim_
;
124
126
Index
nonzeros_
;
128
132
Index
negevals_
;
134
139
bool
initialized_
;
142
bool
pivtol_changed_
;
146
bool
refactorize_
;
148
152
Number
pivtol_
;
153
155
Number
pivtolmax_
;
156
158
Number
liw_init_factor_
;
160
Number
la_init_factor_
;
162
Number
meminc_factor_
;
165
bool
warm_start_same_structure_
;
168
bool
skip_inertia_check_
;
171
bool
ignore_singularity_
;
173
179
ipfint
icntl_
[30];
181
double
cntl_
[5];
182
184
ipfint
liw_
;
186
ipfint
*
iw_
;
187
189
ipfint
*
ikeep_
;
191
ipfint
nsteps_
;
193
ipfint
maxfrt_
;
194
196
ipfint
la_
;
198
double
*
a_
;
199
202
bool
la_increase_
;
205
bool
liw_increase_
;
207
214
ESymSolverStatus
SymbolicFactorization
(
const
Index
* airn,
215
const
Index
* ajcn);
216
221
ESymSolverStatus
Factorization
(
const
Index
* airn,
222
const
Index
* ajcn,
223
bool
check_NegEVals,
224
Index
numberOfNegEVals);
225
228
ESymSolverStatus
Backsolve
(
Index
nrhs,
229
double
*rhs_vals);
231
};
232
233
}
// namespace Ipopt
234
#endif
Generated on Fri Jun 29 2012 06:35:13 by
1.8.1.1