choreo.segm.ODE.ExplicitSymplecticIVP#

ExplicitSymplecticIVP(fun, gun, (double, double) t_span, double[::1] x0=None, double[::1] v0=None, ExplicitSymplecticRKTable rk=default_explicit_rk, grad_fun=None, grad_gun=None, double[:, ::1] grad_x0=None, double[:, ::1] grad_v0=None, mode=u'VX', Py_ssize_t nint=1, Py_ssize_t keep_freq=-1, double[:, ::1] reg_x0=None, double[:, ::1] reg_v0=None, Py_ssize_t reg_init_freq=-1, bool keep_init=False, bool DoEFT=True)#

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.

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

  • v0 (numpy.ndarray(shape = (n), dtype = np.float64), optional) – Initial value for v. Overriden by reg_x0 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_x0 (numpy.ndarray(shape = (nreg, n), dtype = np.float64)) – Array of initial values for x for regular reset.

  • reg_v0 (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.