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
LinAlg
TMatrices
IpTripletHelper.hpp
Go to the documentation of this file.
1
// Copyright (C) 2004, 2009 International Business Machines and others.
2
// All Rights Reserved.
3
// This code is published under the Eclipse Public License.
4
//
5
// $Id: IpTripletHelper.hpp 1861 2010-12-21 21:34:47Z andreasw $
6
//
7
// Authors: Carl Laird, Andreas Waechter IBM 2004-08-13
8
9
#ifndef __IPTRIPLETHELPER_HPP__
10
#define __IPTRIPLETHELPER_HPP__
11
12
#include "
IpTypes.hpp
"
13
#include "
IpException.hpp
"
14
15
namespace
Ipopt
16
{
17
18
DECLARE_STD_EXCEPTION
(UNKNOWN_MATRIX_TYPE);
19
DECLARE_STD_EXCEPTION
(UNKNOWN_VECTOR_TYPE);
20
22
class
Matrix
;
23
class
GenTMatrix;
24
class
SymTMatrix;
25
class
DiagMatrix;
26
class
IdentityMatrix;
27
class
ExpansionMatrix;
28
class
ScaledMatrix;
29
class
SymScaledMatrix;
30
class
SumMatrix;
31
class
SumSymMatrix;
32
class
ZeroMatrix;
33
class
CompoundMatrix;
34
class
CompoundSymMatrix;
35
class
TransposeMatrix;
36
class
ExpandedMultiVectorMatrix;
37
class
Vector;
38
39
class
TripletHelper
40
{
41
public
:
45
static
Index
GetNumberEntries
(
const
Matrix
& matrix);
46
48
static
void
FillRowCol
(
Index
n_entries,
const
Matrix
& matrix,
Index
* iRow,
Index
* jCol,
Index
row_offset=0,
Index
col_offset=0);
49
51
static
void
FillValues
(
Index
n_entries,
const
Matrix
& matrix,
Number
* values);
52
54
static
void
FillValuesFromVector
(
Index
dim,
const
Vector
& vector,
Number
* values);
55
57
static
void
PutValuesInVector
(
Index
dim,
const
double
* values,
Vector
& vector);
59
60
private
:
62
static
Index
GetNumberEntries_
(
const
SumMatrix
& matrix);
63
65
static
Index
GetNumberEntries_
(
const
SumSymMatrix
& matrix);
66
68
static
Index
GetNumberEntries_
(
const
CompoundMatrix
& matrix);
69
71
static
Index
GetNumberEntries_
(
const
CompoundSymMatrix
& matrix);
72
74
static
Index
GetNumberEntries_
(
const
TransposeMatrix
& matrix);
75
77
static
Index
GetNumberEntries_
(
const
ExpandedMultiVectorMatrix
& matrix);
78
79
static
void
FillRowCol_
(
Index
n_entries,
const
GenTMatrix
& matrix,
Index
row_offset,
Index
col_offset,
Index
* iRow,
Index
* jCol);
80
81
static
void
FillValues_
(
Index
n_entries,
const
GenTMatrix
& matrix,
Number
* values);
82
83
static
void
FillRowCol_
(
Index
n_entries,
const
SymTMatrix
& matrix,
Index
row_offset,
Index
col_offset,
Index
* iRow,
Index
* jCol);
84
85
static
void
FillValues_
(
Index
n_entries,
const
SymTMatrix
& matrix,
Number
* values);
86
87
static
void
FillRowCol_
(
Index
n_entries,
const
DiagMatrix
& matrix,
Index
row_offset,
Index
col_offset,
Index
* iRow,
Index
* jCol);
88
89
static
void
FillValues_
(
Index
n_entries,
const
DiagMatrix
& matrix,
Number
* values);
90
91
static
void
FillRowCol_
(
Index
n_entries,
const
IdentityMatrix
& matrix,
Index
row_offset,
Index
col_offset,
Index
* iRow,
Index
* jCol);
92
93
static
void
FillValues_
(
Index
n_entries,
const
IdentityMatrix
& matrix,
Number
* values);
94
95
static
void
FillRowCol_
(
Index
n_entries,
const
ExpansionMatrix
& matrix,
Index
row_offset,
Index
col_offset,
Index
* iRow,
Index
* jCol);
96
97
static
void
FillValues_
(
Index
n_entries,
const
ExpansionMatrix
& matrix,
Number
* values);
98
99
static
void
FillRowCol_
(
Index
n_entries,
const
SumMatrix
& matrix,
Index
row_offset,
Index
col_offset,
Index
* iRow,
Index
* jCol);
100
101
static
void
FillValues_
(
Index
n_entries,
const
SumMatrix
& matrix,
Number
* values);
102
103
static
void
FillRowCol_
(
Index
n_entries,
const
SumSymMatrix
& matrix,
Index
row_offset,
Index
col_offset,
Index
* iRow,
Index
* jCol);
104
105
static
void
FillValues_
(
Index
n_entries,
const
SumSymMatrix
& matrix,
Number
* values);
106
107
static
void
FillRowCol_
(
Index
n_entries,
const
CompoundMatrix
& matrix,
Index
row_offset,
Index
col_offset,
Index
* iRow,
Index
* jCol);
108
109
static
void
FillValues_
(
Index
n_entries,
const
CompoundMatrix
& matrix,
Number
* values);
110
111
static
void
FillRowCol_
(
Index
n_entries,
const
CompoundSymMatrix
& matrix,
Index
row_offset,
Index
col_offset,
Index
* iRow,
Index
* jCol);
112
113
static
void
FillValues_
(
Index
n_entries,
const
CompoundSymMatrix
& matrix,
Number
* values);
114
115
static
void
FillRowCol_
(
Index
n_entries,
const
ScaledMatrix
& matrix,
Index
row_offset,
Index
col_offset,
Index
* iRow,
Index
* jCol);
116
117
static
void
FillValues_
(
Index
n_entries,
const
ScaledMatrix
& matrix,
Number
* values);
118
119
static
void
FillRowCol_
(
Index
n_entries,
const
SymScaledMatrix
& matrix,
Index
row_offset,
Index
col_offset,
Index
* iRow,
Index
* jCol);
120
121
static
void
FillValues_
(
Index
n_entries,
const
SymScaledMatrix
& matrix,
Number
* values);
122
123
static
void
FillRowCol_
(
Index
n_entries,
const
TransposeMatrix
& matrix,
Index
row_offset,
Index
col_offset,
Index
* iRow,
Index
* jCol);
124
125
static
void
FillValues_
(
Index
n_entries,
const
TransposeMatrix
& matrix,
Number
* values);
126
127
static
void
FillRowCol_
(
Index
n_entries,
const
ExpandedMultiVectorMatrix
& matrix,
Index
row_offset,
Index
col_offset,
Index
* iRow,
Index
* jCol);
128
129
static
void
FillValues_
(
Index
n_entries,
const
ExpandedMultiVectorMatrix
& matrix,
Number
* values);
130
131
};
132
}
// namespace Ipopt
133
134
#endif
Generated on Mon Mar 17 2014 19:49:13 by
1.8.1.2