libROM
v1.0
Data-driven physical simulation library
|
#include <SVD.h>
Public Member Functions | |
SVD (Options options) | |
Constructor. More... | |
~SVD () | |
virtual bool | takeSample (double *u_in, bool add_without_increase)=0 |
Collect the new sample, u_in at supplied time. More... | |
int | getDim () const |
Returns the dimension of the system on this processor. More... | |
virtual const Matrix * | getSpatialBasis ()=0 |
Returns the basis vectors for the current time interval. More... | |
virtual const Matrix * | getTemporalBasis ()=0 |
Returns the temporal basis vectors for the current time interval. More... | |
virtual const Vector * | getSingularValues ()=0 |
Returns the singular values for the current time interval. More... | |
virtual const Matrix * | getSnapshotMatrix ()=0 |
Returns the singular values for the current time interval. More... | |
int | getNumSamples () const |
Get the number of samples taken. | |
int | getMaxNumSamples () const |
Get the maximum number of samples that can be taken. SVD class will return an error if the number of samples exceeds the maximum. | |
Protected Member Functions | |
bool | isFirstSample () const |
Returns true if the next sample will result in a new time interval. More... | |
Protected Attributes | |
const int | d_dim |
Dimension of the system. | |
int | d_num_samples |
Number of samples stored for the current time interval. | |
int | d_num_rows_of_W |
Number of rows in right singular matrix. | |
const int | d_max_num_samples |
The maximum number of samples. | |
Matrix * | d_basis |
The globalized basis vectors for the current time interval. More... | |
Matrix * | d_basis_right |
The globalized right basis vectors for the current time interval. More... | |
Matrix * | d_U |
The matrix U which is large. More... | |
Matrix * | d_W |
The matrix U which is large. More... | |
Vector * | d_S |
The vector S which is small. More... | |
Matrix * | d_snapshots |
The globalized snapshot vectors for the current time interval. More... | |
bool | d_debug_algorithm |
Flag to indicate if results of algorithm should be printed for debugging purposes. | |
Class SVD defines the interface to the generic SVD algorithm. The API is intentionally small. One may collect the samples, compute the SVD, and get the dimension of the system.
CAROM::SVD::SVD | ( | Options | options | ) |
|
inline |
|
pure virtual |
Returns the singular values for the current time interval.
Implemented in CAROM::StaticSVD, and CAROM::IncrementalSVD.
|
pure virtual |
Returns the singular values for the current time interval.
Implemented in CAROM::StaticSVD, and CAROM::IncrementalSVD.
|
pure virtual |
Returns the basis vectors for the current time interval.
Implemented in CAROM::IncrementalSVDBrand, CAROM::StaticSVD, and CAROM::IncrementalSVD.
|
pure virtual |
Returns the temporal basis vectors for the current time interval.
Implemented in CAROM::IncrementalSVDBrand, CAROM::StaticSVD, and CAROM::IncrementalSVD.
|
inlineprotected |
|
pure virtual |
Collect the new sample, u_in at supplied time.
[in] | u_in | The new sample. |
[in] | add_without_increase | If true, the addLinearlyDependent is invoked. This only applies to incremental SVD. |
Implemented in CAROM::StaticSVD, and CAROM::IncrementalSVD.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |