Main Page
Namespaces
Classes
Files
File List
File Members
build
buildd
coinor-ipopt-3.10.2
Ipopt
contrib
sIPOPT
src
SensIndexPCalculator.hpp
Go to the documentation of this file.
1
// Copyright 2009, 2011 Hans Pirnay
2
// All Rights Reserved.
3
// This code is published under the Eclipse Public License.
4
//
5
// Date : 2009-05-06
6
7
#ifndef __ASINDEXPCALCULATOR_HPP__
8
#define __ASINDEXPCALCULATOR_HPP__
9
10
#include "
SensPCalculator.hpp
"
11
12
namespace
Ipopt
13
{
14
/* Forward declarations */
15
class
PColumn;
16
17
class
IndexPCalculator
:
public
PCalculator
18
{
22
public
:
23
24
IndexPCalculator
(
SmartPtr<SensBacksolver>
backsolver,
25
SmartPtr<SchurData>
A_data);
26
27
virtual
~IndexPCalculator
();
28
30
virtual
bool
InitializeImpl
(
const
OptionsList
& options,
31
const
std::string& prefix);
32
33
virtual
bool
ComputeP
();
34
35
virtual
bool
GetSchurMatrix
(
const
SmartPtr<const SchurData>
& B,
SmartPtr<Matrix>
& S);
36
37
virtual
void
PrintImpl
(
const
Journalist
& jnlst,
38
EJournalLevel
level,
39
EJournalCategory
category,
40
const
std::string& name,
41
Index
indent,
42
const
std::string& prefix)
const
;
43
44
private
:
45
47
Index
nrows_
;
48
50
Index
ncols_
;
51
52
std::map< Index, SmartPtr<PColumn> >
cols_
;
53
54
};
55
56
class
PColumn
:
public
ReferencedObject
57
{
61
public
:
62
PColumn
(
Index
nrows,
Number
* values);
63
64
virtual
~PColumn
();
65
66
virtual
void
GetSchurMatrixRows
(
const
std::vector<Index>* row_idx_B,
Number
* S)
const
;
67
68
virtual
const
Number
*
Values
()
const
;
69
70
private
:
71
72
Index
nrows_
;
73
Number
*
val_
;
74
};
75
76
}
77
78
#endif
Generated on Fri Jun 29 2012 06:35:12 by
1.8.1.1