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
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 by
1.8.3.1