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