lasdi.latent_dynamics.sindy_high_order
Classes
Functions
|
Module Contents
- lasdi.latent_dynamics.sindy_high_order.get_function_from_string(func_str)
- class lasdi.latent_dynamics.sindy_high_order.SINDy(dim, high_order_terms, trig_functions, nt, config)
Bases:
lasdi.latent_dynamics.LatentDynamics
- fd_type = ''
- fd = None
- fd_oper = None
- high_order_terms
- trig_functions
- 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()