libROM
v1.0
Data-driven physical simulation library
lib
linalg
svd
IncrementalSVDFastUpdate.h
1
11
// Description: The concrete implementation of the incremental SVD algorithm
12
// using Matthew Brand's "fast update" method.
13
14
#ifndef included_IncrementalSVDFastUpdate_h
15
#define included_IncrementalSVDFastUpdate_h
16
17
#include "IncrementalSVD.h"
18
#include "linalg/Options.h"
19
20
namespace
CAROM
{
21
27
class
IncrementalSVDFastUpdate
:
public
IncrementalSVD
28
{
29
public
:
33
~IncrementalSVDFastUpdate
();
34
35
private
:
36
friend
class
BasisGenerator
;
37
49
IncrementalSVDFastUpdate
(
50
Options
options,
51
const
std::string& basis_file_name);
52
56
IncrementalSVDFastUpdate
();
57
61
IncrementalSVDFastUpdate
(
62
const
IncrementalSVDFastUpdate
& other);
63
67
IncrementalSVDFastUpdate
&
68
operator = (
69
const
IncrementalSVDFastUpdate
& rhs);
70
80
virtual
81
void
82
buildInitialSVD(
83
double
* u);
84
88
virtual
89
void
90
computeBasis();
91
102
void
103
addLinearlyDependentSample(
104
const
Matrix
* A,
105
const
Matrix
* W,
106
const
Matrix
* sigma);
107
121
void
122
addNewSample(
123
const
Vector
* j,
124
const
Matrix
* A,
125
const
Matrix
* W,
126
Matrix
* sigma);
127
132
Matrix
* d_Up;
133
137
double
d_singular_value_tol;
138
139
};
140
141
}
142
143
#endif
CAROM::BasisGenerator
Definition:
BasisGenerator.h:48
CAROM::IncrementalSVDFastUpdate
Definition:
IncrementalSVDFastUpdate.h:28
CAROM::IncrementalSVDFastUpdate::~IncrementalSVDFastUpdate
~IncrementalSVDFastUpdate()
Destructor.
Definition:
IncrementalSVDFastUpdate.cpp:60
CAROM::IncrementalSVD
Definition:
IncrementalSVD.h:28
CAROM::Matrix
Definition:
Matrix.h:31
CAROM::Options
Definition:
Options.h:27
CAROM::Vector
Definition:
Vector.h:30
CAROM
Definition:
AdaptiveDMD.cpp:20
Generated by
1.9.1