14 #ifndef included_SVD_h
15 #define included_SVD_h
17 #include "linalg/Matrix.h"
18 #include "linalg/Options.h"
61 bool add_without_increase) = 0;
Matrix * d_basis
The globalized basis vectors for the current time interval.
Matrix * d_snapshots
The globalized snapshot vectors for the current time interval.
int getNumSamples() const
Get the number of samples taken.
int d_num_rows_of_W
Number of rows in right singular matrix.
int getMaxNumSamples() const
Get the maximum number of samples that can be taken. SVD class will return an error if the number of ...
virtual const Matrix * getTemporalBasis()=0
Returns the temporal basis vectors for the current time interval.
Matrix * d_basis_right
The globalized right basis vectors for the current time interval.
bool isFirstSample() const
Returns true if the next sample will result in a new time interval.
const int d_max_num_samples
The maximum number of samples.
Vector * d_S
The vector S which is small.
int d_num_samples
Number of samples stored for the current time interval.
Matrix * d_U
The matrix U which is large.
bool d_debug_algorithm
Flag to indicate if results of algorithm should be printed for debugging purposes.
virtual const Matrix * getSnapshotMatrix()=0
Returns the singular values for the current time interval.
int getDim() const
Returns the dimension of the system on this processor.
virtual const Matrix * getSpatialBasis()=0
Returns the basis vectors for the current time interval.
virtual const Vector * getSingularValues()=0
Returns the singular values for the current time interval.
const int d_dim
Dimension of the system.
Matrix * d_W
The matrix U which is large.
virtual bool takeSample(double *u_in, bool add_without_increase)=0
Collect the new sample, u_in at supplied time.