|
virtual bool | buildIncrementalSVD (double *u, bool add_without_increase=false) |
| Adds the new sampled the state vector, u, to the system. More...
|
|
void | constructQ (double *&Q, const Vector *l, double k) |
| Construct the matrix Q whose SVD is needed. More...
|
|
bool | svd (double *A, Matrix *&U, Matrix *&S, Matrix *&V) |
| Given a matrix, A, returns 2 of the 3 components of its singular value decomposition. The right singular vectors are not needed and therefore not returned. More...
|
|
int | numSamples () |
| The number of samples stored. More...
|
|
double | checkOrthogonality (const Matrix *m) |
| Computes and returns the orthogonality of m. More...
|
|
void | reOrthogonalize (Matrix *m) |
| Reorthogonalizes m. More...
|
|
double | d_linearity_tol |
| Tolerance to determine whether or not a sample is linearly dependent.
|
|
bool | d_skip_linearly_dependent |
| Whether to skip linearly dependent samples.
|
|
int | d_max_basis_dimension |
| The maximum basis dimension.
|
|
int | d_size |
| The total number of processors.
|
|
int | d_rank |
| The rank of the processor owning this object.
|
|
std::vector< int > | d_proc_dims |
| The dimension of the system on each processor.
|
|
long int | d_total_dim |
| The total dimension of the system.
|
|
bool | d_save_state |
| If true the state of the SVD will be written to disk when the object is deleted. If there are multiple time intervals then the state will not be saved as restoring such a state makes no sense.
|
|
bool | d_update_right_SV |
| Whether to update the right singular vectors.
|
|
Database * | d_state_database |
| Pointer to the database that will hold saved state data if the state is to be saved.
|
|
std::string | d_state_file_name |
| The name of file to which state is saved or restored from.
|
|
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_samples_per_time_interval |
| The maximum number of samples to be collected for a time interval.
|
|
const int | d_max_time_intervals |
| The maximum number of time intervals.
|
|
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...
|
|
std::vector< double > | d_time_interval_start_times |
| The simulation time at which each time interval starts.
|
|
bool | d_debug_algorithm |
| Flag to indicate if results of algorithm should be printed for debugging purposes.
|
|
static const int | COMMUNICATE_U |
| MPI message tag.
|
|
Class IncrementalSVDStandard embodies the standard incremental SVD algorithm.