choreo.segm.multiprec_tables.ComputeImplicitRKTable#
- ComputeImplicitRKTable(n=2, dps=60, method='Gauss', nodes=None)[source]#
Computes a
choreo.segm.ODE.ImplicitRKTableThe computation is performed at a user-defined precision using mpmath to ensure that the result does not suffer from precision loss, even at relatively high orders.
Available choices for
methodare:"Gauss""Radau_IA","Radau_IIA","Radau_IB"and"Radau_IIB""Lobatto_IIIA","Lobatto_IIIB","Lobatto_IIIC","Lobatto_IIIC*","Lobatto_IIID"and"Lobatto_IIIS""Cheb_I"and"Cheb_II""ClenshawCurtis""NewtonCotesOpen"and"NewtonCotesClosed"
Alternatively, the user can supply an array of node values between
0.and1.. The result is then the associated collocation method. Cf Theorem 7.7 of [1] for more details.- Cited:
Example
>>> import choreo >>> Gauss = choreo.segm.multiprec_tables.ComputeImplicitRKTable(n=2, dps=60, method="Gauss") >>> Gauss ImplicitRKTable object of order 2 >>> Gauss.a_table array([[ 0.25 , -0.03867513], [ 0.53867513, 0.25 ]]) >>> Gauss.b_table array([0.5, 0.5]) >>> Gauss.c_table array([0.21132487, 0.78867513])
- Parameters:
n (
int, optional) – Order of the method. By default2.dps (
int, optional) –Context precision in mpmath. See Contexts for more info. By default
30.method (
str, optional) – Name of the method, by default"Gauss".nodes (
numpy.ndarray|mpmath:mpmath.matrix|None, optional) – Array of integration node values. By default,None.
- Returns:
The resulting nodes and weights of the quadrature.
- Return type: