lasdi.latent_dynamics.sindy

Classes

SINDy

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
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()