choreo.segm.ODE.ImplicitSymplecticIVP#
- ImplicitSymplecticIVP()#
Implicit symplectic integration of a partitionned initial value problem.
Follows closely the implementation tips detailled in chapter VIII of [1]
- Cited:
- Parameters:
fun (
callableorscipy.LowLevelCallable) – Function defining the IVP.gun (
callableorscipy.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_x (
ImplicitRKTable, optional) – Runge-Kutta tables for the integration of the IVP. By default,choreo.segm.multiprec_tables.ComputeImplicitRKTable().rk_v (
ImplicitRKTable, optional) – Runge-Kutta tables for the integration of the IVP. By default,choreo.segm.multiprec_tables.ComputeImplicitRKTable().vector_calls (
bool, optional) – Whether to call functions on multiple inputs at once or not, by defaultFalse.grad_fun (
callableorscipy.LowLevelCallable, optional) – Gradient of the function defining the IVP, by defaultNone.grad_gun (
callableorscipy.LowLevelCallable, optional) – Gradient of the function defining the IVP, by defaultNone.nint (
int, optional) – Number of integration steps, by default1.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 defaultFalse.DoEFT (
bool, optional) – Whether to use an error-free transformation for summation, by defaultTrue.eps (
numpy:numpy.float64, optional) – Tolerence on the error of each implicit problem, by defaultnp.finfo(np.float64).eps.maxiter (
int, optional) – Maximum number of iterations to solve each implicit problem, by default50.
- Returns:
Arrays containing the computed approximation of the solution to the IVP at evaluation points.
- Return type:
tupleofnumpy.ndarray.