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
contrib
sIPOPT
src
SensIndexSchurData.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-08
6
7
#ifndef __ASINDEXSCHURDATA_HPP__
8
#define __ASINDEXSCHURDATA_HPP__
9
10
#include "
SensSchurData.hpp
"
11
12
namespace
Ipopt
13
{
14
15
class
IndexSchurData
:
public
SchurData
16
{
20
public
:
21
22
IndexSchurData
();
23
24
IndexSchurData
(
const
std::vector<Index> idx,
const
std::vector<Index>
val
);
25
26
virtual
~IndexSchurData
();
27
28
virtual
SmartPtr<SchurData>
MakeNewSchurDataCopy
()
const
;
29
30
virtual
Index
GetNRowsAdded
()
const
;
31
32
virtual
void
SetData_Flag
(
Index
dim,
const
Index
* flags,
Number
v=1.0);
33
34
virtual
void
SetData_Flag
(
Index
dim,
const
Index
* flags,
const
Number
* values);
35
36
virtual
Index
SetData_Index
(
Index
dim,
const
Index
* index,
Number
v=1.0);
37
38
virtual
void
SetData_List
(
const
std::vector<Index>& list,
Number
v=1.0);
39
40
virtual
void
GetRow
(
Index
i,
IteratesVector
& v)
const
;
41
42
virtual
void
GetMultiplyingVectors
(
Index
i, std::vector<Index>& indices, std::vector<Number>& factors)
const
;
43
44
virtual
void
Multiply
(
const
IteratesVector
& v,
Vector
& u)
const
;
45
46
virtual
void
TransMultiply
(
const
Vector
& u,
IteratesVector
& v)
const
;
47
48
virtual
void
PrintImpl
(
const
Journalist
& jnlst,
49
EJournalLevel
level,
50
EJournalCategory
category,
51
const
std::string& name,
52
Index
indent,
53
const
std::string& prefix)
const
;
54
64
void
AddData_Flag
(
Index
dim,
Index
* flags, std::vector<Index>& delta_u_sort,
Index
v);
65
66
void
AddData_List
(std::vector<Index> cols, std::vector<Index>& delta_u_sort,
Index
& new_du_size,
Index
v);
67
68
const
std::vector<Index>*
GetColIndices
()
const
;
69
70
private
:
71
75
Index
*
GetVectorLengths
(
const
IteratesVector
& v)
const
;
76
77
std::vector<Index>
idx_
;
78
std::vector<Index>
val_
;
79
};
80
81
}
82
83
#endif
Generated on Mon Mar 17 2014 19:49:12 by
1.8.1.2