lasdi.latent_dynamics.sindy
Classes
Module Contents
- class lasdi.latent_dynamics.sindy.SINDy(dim, nt, config)
Bases:
lasdi.latent_dynamics.LatentDynamics
- fd_type = ''
- fd = None
- fd_oper = None
- ncoefs
- coef_norm_order = 1
- MSE
- calibrate(Z, dt, compute_loss=True, numpy=False)
loop over all train cases, if Z dimension is 3
- compute_time_derivative(Z, Dt)
Builds the SINDy dataset, assuming only linear terms in the SINDy dataset. The time derivatives are computed through finite difference.
Z is the encoder output (2D tensor), with shape [time_dim, space_dim] Dt is the size of timestep (assumed to be a uniform scalar)
The output dZdt is a 2D tensor with the same shape of Z.
- simulate(coefs, z0, t_grid)
Integrates each system of ODEs corresponding to each training points, given the initial condition Z0 = encoder(U0)
- export()