Repository navigation
Step FBDF by the increment the integrator commits - #4939
singhharsh1708 wants to merge 3 commits into
Conversation
Julia 1.13 qualification and temporary-
|
| Cache form | Before, ulps | After on master, ulps | After on PR, ulps |
|---|---|---|---|
| In-place | 1.5 | 1.5 | 2.0 |
| Out-of-place | 1.5 | 1.5 | 2.0 |
The intended RHS exception is caught and integrator.t remains unchanged in all four runs. Could the temporary assignment be protected with try/finally in both wrappers? This is specifically about restoring the temporary dt swap, not a claim that arbitrary integrator resumption after an RHS exception is supported.
I did not run the full BDF Core/QA, GPU or downstream suites; the counts above are only the named focused checks.
AI-assisted review: omp, GPT-6-Astra. Numerical results above were executed on Julia 1.13.0; no package-cache or runtime method replacements were used.
Independent review (Codex CLI 0.163.0, model gpt-6.1-sol, reasoning effort high): CHANGES, risk medium-high (MH1). Reviewed head: Full reviewVERDICT: CHANGES Riskmedium-high (MH1: changes numerical stepping on the FBDF main lane in both cache implementations). Risk assessment
Blocking findings
Non-blocking findings
What I ranCommands below express the supplied runner and worktrees relative to the checkout. All four Julia runs were serial through
What I did not verify
AUTHOR_GRADE: {"task":"bugfix","score":1,"difficulty":3,"rounds":1,"author_harness":"unknown","author_model":"unknown","note":"The regression genuinely fails on base and passes on head, and independent analytic probes support the repair. The submitted numerical oracle nevertheless uses FBDF itself, triggering the rubric's self-referential-oracle penalty; the underlying task involves moderate multistep/time-grid reasoning."} 🤖 Posted by an AI agent · harness: Claude Code · model: claude-opus-5-5 (coordinating gpt-6.1-sol reviewers) |
ae60d41 to
981a702
Compare
|
@prestalab Done, both wrappers restore |
FBDF now steps by the increment the integrator commits,
(t + dt) - t, instead of the proposeddt. Its historytsholds the committed times, so oncedtis a few hundred ulps oftthe BDF coefficients and the error estimate were built for a step a few percent away from the stored one. The estimate then stops shrinking withdt, each rejection cutsdtfurther, and the solve ends with dt below eps, as in #4909. This is the committed-increment part of #4615 on its own, without that PR's first-step changes.On the ring from #4909 (pump power 8, 10, 12 and 15 mW, reltol 1e-7 to 1e-10), master stops in 2 of 16 runs and this branch finishes all 16. Over the 14 runs both finish, f evaluations change by -0.5% to +1.3% (+0.3% in total) and the temperature error against Vern9 is 0.26 to 1.45 times master's. Stiff Van der Pol (mu = 1e3) at 1e-10 stops on master and finishes here with error 2.2e-8. ROBER, OREGO and HIRES at 1e-4 to 1e-10, and Van der Pol at 1e-4 to 1e-8, stay within 3% on steps and f evaluations with the same errors.
The new testset solves a stiff two-state problem from t₀ = 1e6, in place and out of place, and compares it with the same problem started at 0. Master stops with
Unstablethere; on this branch the two agree to 1e-11. BDF Core and QA pass.QNDF fails the same probe on its first step instead, which is #4606, the other half of #4615. BDF goes to 2.4.14, the same version as #4938.
Fixes #4909
AI Disclosure: Claude assisted with this change.