Skip to content

Fix ESDIRK659L2SA embedded coefficients so adaptive solves work (#3659)#3662

Merged
ChrisRackauckas merged 2 commits into
SciML:masterfrom
singhharsh1708:esdirk659-btilde-fix
May 21, 2026
Merged

Fix ESDIRK659L2SA embedded coefficients so adaptive solves work (#3659)#3662
ChrisRackauckas merged 2 commits into
SciML:masterfrom
singhharsh1708:esdirk659-btilde-fix

Conversation

@singhharsh1708
Copy link
Copy Markdown
Contributor

@singhharsh1708 singhharsh1708 commented May 21, 2026

Summary

Fixes #3659. ESDIRK659L2SA adaptive solves were running to MaxIters because the embedded btilde coefficients were inconsistent (sum(btilde) ≠ 0), breaking the error estimator while leaving the main order-6 method itself correct.

This PR replaces the embedded pair with a derived minimum-norm order-5 embedded solution satisfying the full order conditions for the fixed (A,c) tableau. The primary method (A, b) is unchanged; only the adaptive error estimate is corrected.

Verification

  • Issue repro now returns retcode=Success with sane adaptive step counts
  • Fixed-step convergence unchanged (order ≈ 6)
  • Error scales monotonically with tolerance
  • Stiff van der Pol (μ=1000) adaptive solves behave normally again
  • tableau_consistency_tests.jl: 47/47 pass (ESDIRK659L2SA moved from @test_broken to @test)

Checklist

  • Appropriate tests were added
  • Any code changes were done in a way that does not break public API
  • All documentation related to code changes were updated
  • The new code follows the
    contributor guidelines, in particular the SciML Style Guide and
    COLPRAC.
  • Any new documentation only uses public API

Additional context

Add any other context about the problem here.

Comment thread lib/OrdinaryDiffEqSDIRK/src/sdirk_tableaus.jl Outdated
@singhharsh1708
Copy link
Copy Markdown
Contributor Author

singhharsh1708 commented May 21, 2026

@ChrisRackauckas Do you have the paper's exact b̂ row to drop in instead? If so I'll use it verbatim as rationals

@ChrisRackauckas
Copy link
Copy Markdown
Member

How does the paper state it? If it's long decimals, make them literal bigs like Verner

@singhharsh1708 singhharsh1708 force-pushed the esdirk659-btilde-fix branch from c9372e4 to fe10a22 Compare May 21, 2026 15:51
@singhharsh1708
Copy link
Copy Markdown
Contributor Author

@ChrisRackauckas

@ChrisRackauckas ChrisRackauckas merged commit c4a8a49 into SciML:master May 21, 2026
71 of 100 checks passed
@singhharsh1708 singhharsh1708 deleted the esdirk659-btilde-fix branch May 21, 2026 20:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ESDIRK659L2SA: invalid embedded error coefficients (sum(btilde)≠0) cause MaxIters on all adaptive solves

2 participants