choreo.segm.ODE.ImplicitRKTable.symplectic_adjoint#

ImplicitRKTable.symplectic_adjoint(self) ImplicitRKTable#

Computes the symplectic adjoint of a ImplicitRKTable.

The flow defined by a Hamiltonian initial value problem preserves the symplectic form. A Runge-Kutta method is said symplectic if this conservation property holds at the discrete level. In the particular case of separable Hamiltonian initial value problems, a Runge-Kutta method paired with its symplectic adjoint in a partitionned integrator is symplectic. Cf [1] and [2] for more details about symplectic adjoints and associated conservation properties.

Cited:

Example

>>> import choreo
>>> import numpy as np
>>> random_method = choreo.segm.multiprec_tables.ComputeImplicitRKTable(nodes=np.random.random(10))
>>> random_method.is_symplectic_pair(random_method.symplectic_adjoint())
True
Returns:

The adjoint Runge-Kutta method.

Return type:

choreo.segm.ODE.ImplicitRKTable