1 #ifndef included_SnapshotDMD_h
2 #define included_SnapshotDMD_h
24 SnapshotDMD(
int dim,
double dt,
bool alt_output_basis =
false,
25 std::shared_ptr<Vector> state_offset =
nullptr) :
26 DMD(dim, dt, alt_output_basis, state_offset) {}
60 void train(
int k,
const Matrix* W0 = NULL,
double linearity_tol = 0.0);
70 void train(
double energy_fraction,
const Matrix* W0 = NULL,
71 double linearity_tol = 0.0);
101 friend void getParametricDMD<SnapshotDMD>(std::unique_ptr<SnapshotDMD>&
103 const std::vector<Vector>& parameter_points,
104 std::vector<SnapshotDMD*>& dmds,
105 const Vector & desired_point,
107 std::string interp_method,
108 double closest_rbf_val,
109 bool reorthogonalize_W);
124 std::shared_ptr<Matrix> & phi_real,
125 std::shared_ptr<Matrix> & phi_imaginary,
int k,
double dt,
126 double t_offset, std::shared_ptr<Vector> & state_offset) :
127 DMD(eigs, phi_real, phi_imaginary, k, dt, t_offset, state_offset) {}
std::vector< std::shared_ptr< Vector > > d_snapshots
std::vector holding the snapshots.
std::vector< std::shared_ptr< Vector > > getSnapshotVectors()
Returns a copy of the current snapshot vector "d_snapshots".
SnapshotDMD(std::vector< std::complex< double >> &eigs, std::shared_ptr< Matrix > &phi_real, std::shared_ptr< Matrix > &phi_imaginary, int k, double dt, double t_offset, std::shared_ptr< Vector > &state_offset)
Constructor.
SnapshotDMD(int dim, double dt, bool alt_output_basis=false, std::shared_ptr< Vector > state_offset=nullptr)
Constructor. Basic DMD with uniform time step size. Inherited directly from base DMD class.
void interpolateToNSnapshots(int n)
Interpolate the current snapshots to n, new snapshots distributed uniformly over the currently sample...
SnapshotDMD(std::string base_file_name)
Constructor. DMD from saved models. Inherited directly from base DMD class.
~SnapshotDMD()
Destroy the SnapshotDMD object.
void train(int k, const Matrix *W0=NULL, double linearity_tol=0.0)
Train the DMD model with specified reduced dimension. If k is too large then new snapshots are comput...