choreo.segm.ODE.ImplicitRKTable.symmetry_default#

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

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

A method is symmetric if its symmetry default is zero, namely if it coincides with its symmetric_adjoint(). Cf Theorem 2.3 of [1]. If the two methods do not have the same number of steps, the symmetry default is infinite by convention.

Cited:

Example

>>> import choreo
>>> Radau_IB = choreo.segm.multiprec_tables.ComputeImplicitRKTable(method="Radau_IB")
>>> Radau_IIB = choreo.segm.multiprec_tables.ComputeImplicitRKTable(method="Radau_IIB")
>>> Radau_IB.symmetry_default(Radau_IIB)
2.7755575615628914e-17
>>> Radau_IIB = choreo.segm.multiprec_tables.ComputeImplicitRKTable(n=2, method="Radau_IIB")
>>> Radau_IB.symmetry_default(Radau_IIB)
inf
Parameters:

other (ImplicitRKTable, optional) – By default None.

Returns:

The maximum symmetry violation.

Return type:

numpy.float64