Ipopt
3.11.4
Main Page
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
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 Oct 21 2013 19:08:15 for Ipopt by
1.8.4