Main Page
Namespaces
Classes
Files
File List
File Members
var
build
temp
tmp.niCloInx4p
4.0-0-0
coinor-ipopt
coinor-ipopt-3.10.2
Ipopt
src
Algorithm
LinearSolvers
IpMa57TSolverInterface.hpp
Go to the documentation of this file.
1
// Copyright (C) 2005, 2006 International Business Machines and others.
2
// All Rights Reserved.
3
// This code is published under the Eclipse Public License.
4
//
5
// $Id: IpMa57TSolverInterface.hpp 1861 2010-12-21 21:34:47Z andreasw $
6
//
7
// Authors: Michael Hagemann Univ of Basel 2005-10-28
8
// original version (based on MA27TSolverInterface.hpp)
9
10
#ifndef __IPMA57TSOLVERINTERFACE_HPP__
11
#define __IPMA57TSOLVERINTERFACE_HPP__
12
13
#include "
IpSparseSymLinearSolverInterface.hpp
"
14
15
namespace
Ipopt
16
{
20
class
Ma57TSolverInterface
:
public
SparseSymLinearSolverInterface
21
{
22
public
:
26
Ma57TSolverInterface
();
27
29
virtual
~Ma57TSolverInterface
();
31
33
bool
InitializeImpl
(
const
OptionsList
& options,
34
const
std::string& prefix);
35
36
44
virtual
ESymSolverStatus
InitializeStructure
(
45
Index
dim,
46
Index
nonzeros,
47
const
Index
*airn,
48
const
Index
*ajcn);
49
55
virtual
double
*
GetValuesArrayPtr
();
56
60
virtual
ESymSolverStatus
MultiSolve
(
bool
new_matrix,
61
const
Index
* airn,
62
const
Index
* ajcn,
63
Index
nrhs,
64
double
* rhs_vals,
65
bool
check_NegEVals,
66
Index
numberOfNegEVals);
67
74
virtual
Index
NumberOfNegEVals
()
const
;
76
77
//* @name Options of Linear solver */
79
84
virtual
bool
IncreaseQuality
();
85
89
virtual
bool
ProvidesInertia
()
const
90
{
91
return
true
;
92
}
96
EMatrixFormat
MatrixFormat
()
const
97
{
98
return
Triplet_Format
;
99
}
101
104
static
void
RegisterOptions
(
SmartPtr<RegisteredOptions>
roptions);
106
107
private
:
117
Ma57TSolverInterface
(
const
Ma57TSolverInterface
&);
118
120
void
operator=
(
const
Ma57TSolverInterface
&);
122
126
Index
dim_
;
127
129
Index
nonzeros_
;
131
135
Index
negevals_
;
137
142
bool
initialized_
;
145
bool
pivtol_changed_
;
149
bool
refactorize_
;
151
155
Number
pivtol_
;
157
Number
pivtolmax_
;
159
Number
ma57_pre_alloc_
;
162
bool
warm_start_same_structure_
;
164
169
double
wd_cntl_
[5];
170
ipfint
wd_icntl_
[20];
171
172
ipfint
wd_info_
[40];
173
double
wd_rinfo_
[20];
174
175
ipfint
wd_lkeep_
;
/* LKEEP >= 5*N + NE + max(N,NE) + 42. */
176
ipfint
*
wd_keep_
;
177
178
ipfint
*
wd_iwork_
;
/* 5 * N. */
179
180
double
*
wd_fact_
;
181
ipfint
wd_lfact_
;
182
ipfint
*
wd_ifact_
;
183
ipfint
wd_lifact_
;
184
185
187
double
*
a_
;
189
196
ESymSolverStatus
SymbolicFactorization
(
const
Index
* airn,
197
const
Index
* ajcn);
198
203
ESymSolverStatus
Factorization
(
const
Index
* airn,
204
const
Index
* ajcn,
205
bool
check_NegEVals,
206
Index
numberOfNegEVals);
207
210
ESymSolverStatus
Backsolve
(
Index
nrhs,
211
double
*rhs_vals);
213
};
214
215
}
// namespace Ipopt
216
#endif
Generated on Mon Mar 17 2014 19:49:13 by
1.8.1.2