libROM
v1.0
Data-driven physical simulation library
lib
linalg
svd
IncrementalSVDStandard.h
1
11
// Description: The concrete implementation of the incremental SVD algorithm
12
// that is equivalent to but computationally more expensive than
13
// the "fast update" method.
14
15
#ifndef included_IncrementalSVDStandard_h
16
#define included_IncrementalSVDStandard_h
17
18
#include "IncrementalSVD.h"
19
#include "linalg/Options.h"
20
21
namespace
CAROM
{
22
26
class
IncrementalSVDStandard
:
public
IncrementalSVD
27
{
28
public
:
32
~IncrementalSVDStandard
();
33
34
private
:
35
friend
class
BasisGenerator
;
36
48
IncrementalSVDStandard
(
49
Options
options,
50
const
std::string& basis_file_name);
51
55
IncrementalSVDStandard
();
56
60
IncrementalSVDStandard
(
61
const
IncrementalSVDStandard
& other);
62
66
IncrementalSVDStandard
&
67
operator = (
68
const
IncrementalSVDStandard
& rhs);
69
79
void
80
buildInitialSVD(
81
double
* u)
override
;
82
86
void
87
computeBasis()
override
;
88
96
void
97
addLinearlyDependentSample(
98
const
Matrix
& A,
99
const
Matrix
& W,
100
const
Matrix
& sigma);
101
110
void
111
addNewSample(
112
const
Vector
& j,
113
const
Matrix
& A,
114
const
Matrix
& W,
115
const
Matrix
& sigma);
116
};
117
118
}
119
120
#endif
CAROM::BasisGenerator
Definition:
BasisGenerator.h:48
CAROM::IncrementalSVD
Definition:
IncrementalSVD.h:28
CAROM::IncrementalSVDStandard
Definition:
IncrementalSVDStandard.h:27
CAROM::IncrementalSVDStandard::~IncrementalSVDStandard
~IncrementalSVDStandard()
Destructor.
Definition:
IncrementalSVDStandard.cpp:47
CAROM::Matrix
Definition:
Matrix.h:33
CAROM::Options
Definition:
Options.h:27
CAROM::Vector
Definition:
Vector.h:31
CAROM
Definition:
AdaptiveDMD.cpp:20
Generated by
1.9.1