bundles / scipy latest / scipy / integrate / _ivp / rk / DOP853
class
scipy.integrate._ivp.rk:DOP853
source: /scipy/integrate/_ivp/rk.py :407
Signature
class DOP853 ( fun , t0 , y0 , t_bound , max_step = inf , rtol = 0.001 , atol = 1e-06 , vectorized = False , first_step = None , ** extraneous ) Members
Summary
Explicit Runge-Kutta method of order 8.
Extended Summary
This is a Python implementation of "DOP853" algorithm originally written in Fortran [1], [2]. Note that this is not a literal translation, but the algorithmic core and coefficients are the same.
Can be applied in the complex domain.
Parameters
fun: callableRight-hand side of the system. The calling signature is
fun(t, y). Here,tis a scalar, and there are two options for the ndarrayy: It can either have shape (n,); thenfunmust return array_like with shape (n,). Alternatively it can have shape (n, k); thenfunmust return an array_like with shape (n, k), i.e. each column corresponds to a single column iny. The choice between the two options is determined byvectorizedargument (see below).t0: floatInitial time.
y0: array_like, shape (n,)Initial state.
t_bound: floatBoundary time - the integration won't continue beyond it. It also determines the direction of the integration.
first_step: float or None, optionalInitial step size. Default is
Nonewhich means that the algorithm should choose.max_step: float, optionalMaximum allowed step size. Default is np.inf, i.e. the step size is not bounded and determined solely by the solver.
rtol, atol: float and array_like, optionalRelative and absolute tolerances. The solver keeps the local error estimates less than
atol + rtol * abs(y). Herertolcontrols a relative accuracy (number of correct digits), whileatolcontrols absolute accuracy (number of correct decimal places). To achieve the desiredrtol, setatolto be smaller than the smallest value that can be expected fromrtol * abs(y)so thatrtoldominates the allowable error. Ifatolis larger thanrtol * abs(y)the number of correct digits is not guaranteed. Conversely, to achieve the desiredatolsetrtolsuch thatrtol * abs(y)is always smaller thanatol. If components of y have different scales, it might be beneficial to set differentatolvalues for different components by passing array_like with shape (n,) foratol. Default values are 1e-3 forrtoland 1e-6 foratol.vectorized: bool, optionalWhether
funis implemented in a vectorized fashion. Default is False.
Attributes
n: intNumber of equations.
status: stringCurrent status of the solver: 'running', 'finished' or 'failed'.
t_bound: floatBoundary time.
direction: floatIntegration direction: +1 or -1.
t: floatCurrent time.
y: ndarrayCurrent state.
t_old: floatPrevious time. None if no steps were made yet.
step_size: floatSize of the last successful step. None if no steps were made yet.
nfev: intNumber evaluations of the system's right-hand side.
njev: intNumber of evaluations of the Jacobian. Is always 0 for this solver as it does not use the Jacobian.
nlu: intNumber of LU decompositions. Is always 0 for this solver.
Aliases
-
scipy.integrate.DOP853