choreo.segm.ODE.ImplicitRKTable.symplectic_default#

ImplicitRKTable.symplectic_default(self, ImplicitRKTable other=None)#

Computes the symplecticity default of a single / a pair of ImplicitRKTable.

A method is symplectic if its symplecticity default is zero, namely if it coincides with its symplectic_adjoint(). Cf Theorem 4.3 and 4.6 in chapter VI of [1], as well as Theorem 2.5 of [2]. If the two methods do not have the same number of steps, the symplecticity default is infinite by convention.

Cited:

Example

>>> import choreo
>>> Radau_IA = choreo.segm.multiprec_tables.ComputeImplicitRKTable(method="Radau_IA")
>>> Radau_IA.symplectic_default()
0.0010229259742953571
>>> Radau_IB = choreo.segm.multiprec_tables.ComputeImplicitRKTable(method="Radau_IB")
>>> Radau_IB.symplectic_default()
3.469446951953614e-18
Parameters:

other (ImplicitRKTable, optional) – By default None.

Returns:

The maximum symplecticity violation.

Return type:

numpy.float64