choreo.segm.ODE.ExplicitSymplecticIVP#

ExplicitSymplecticIVP()#

Explicit symplectic integration of a partitionned initial value problem.

Parameters:
  • fun (callable or scipy.LowLevelCallable) – Function defining the IVP.

  • gun (callable or scipy.LowLevelCallable) – Function defining the IVP.

  • t_span (tuple (numpy.float64, numpy.float64)) – Initial and final time of integration.

  • xo (numpy.ndarray(shape = (n), dtype = np.float64), optional) – Initial value for x. Overriden by reg_xo if provided. By default, None.

  • vo (numpy.ndarray(shape = (n), dtype = np.float64), optional) – Initial value for v. Overriden by reg_xo if provided. By default, None.

  • rk (ExplicitSymplecticRKTable, optional) – Runge-Kutta tables for the integration of the IVP. By default, choreo.segm.precomputed_tables.StormerVerlet.

  • grad_fun (callable or scipy.LowLevelCallable, optional) – Gradient of the function defining the IVP, by default None.

  • grad_gun (callable or scipy.LowLevelCallable, optional) – Gradient of the function defining the IVP, by default None.

  • mode (str, optional) – Whether to start the staggered integration with x or v, by default "VX".

  • nint (int, optional) – Number of integration steps, by default 1.

  • keep_freq (int, optional) – Number of integration steps to be taken before saving output, by default -1.

  • reg_xo (numpy.ndarray(shape = (nreg, n), dtype = np.float64)) – Array of initial values for x for regular reset.

  • reg_vo (numpy.ndarray(shape = (nreg, n), dtype = np.float64)) – Array of initial values for v for regular reset.

  • reg_init_freq (int, optional) – Number of timesteps before resetting initial values for x and v. Non-positive values disable the reset, by default -1.

  • keep_init (bool, optional) – Whether to save the initial values, by default False.

  • DoEFT (bool, optional) – Whether to use an error-free transformation for summation, by default True.

Returns:

Arrays containing the computed approximation of the solution to the IVP at evaluation points.

Return type:

tuple of numpy.ndarray.