This site is version 0.0.1. Most of the code on this site is drafted by an agent and needs review. I apologize for the AI-speak, we are working on rewriting it!
viv-lang.org

Notebooks · lib/ode/stiff_reference

lib/ode against the stiff test set's published reference solutions

Five stiff problems, each solved by Radau IIA and by BDF and compared with the reference solution published with the problem: the IVP test set of Mazzia and Magherini (Bari, release 2.4, 2008) for Robertson to t = 1011, Van der Pol with eps = 10−6 (mu = 1000), HIRES and the Oregonator (whose values agree with those in Hairer and Wanner, Solving ODEs II, IV.10). The error is the largest relative error over the components at the end time; the bound is 100 rtol for Radau and 1000 rtol for BDF, whose global error on the Oregonator grows over its oscillations (SciPy's BDF makes the same 1.5 × 10−6 at rtol = 10−8).

Van der Pol with eps = 10−12 (mu = 106) has no published value; Radau's result is held to SciPy's Radau at rtol = 10−10 (1.705546217535324, python/tests/test_ode.py runs both). BDF fails on it at t = 0.807, at the first relaxation jump, as SciPy's BDF does: the step size it needs there underflows.

E5 is not here: at its end time y2 and y3 are 10−22 and their difference 10−25, and no setting of rtol and atol makes SciPy's or these Radau and BDF reproduce the reference (see the report on branch ode).

Look inside this program

  • Atlas

    The program’s map: every function and which calls which.

  • There’s no recorded run of this program yet.

Shift+Enter in a cell runs it and moves to the next. Running a cell runs every cell above it too, as one program.

[1]lines 26–105