choreo.segm.multiprec_tables.ComputeImplicitRKTable#
- ComputeImplicitRKTable(n=10, dps=60, method='Gauss', nodes=None)[source]#
Computes a
choreo.segm.ODE.ImplicitRKTable
The 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
method
are:"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"
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 default10
.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: