Skip to content

Adaptive implicit solvers and sparse Sherman-Morrison iterator#281

Open
psv4 wants to merge 1 commit into
rtqichen:masterfrom
psv4:feature-adaptive-and-sparse-sherman-morrison
Open

Adaptive implicit solvers and sparse Sherman-Morrison iterator#281
psv4 wants to merge 1 commit into
rtqichen:masterfrom
psv4:feature-adaptive-and-sparse-sherman-morrison

Conversation

@psv4

@psv4 psv4 commented Jun 6, 2026

Copy link
Copy Markdown
Contributor

Big Update

Closes #267 and Closes #214

Adds adaptive step implicit solver methods including:

  • adaptive_gl4
  • adaptive_gl6
  • kvaerno3
  • kvaerno4
  • kvaerno5

Only kvaerno3 was added to the test suite as the others take a long time to evaluate.

Fixed and adaptive fully implicit Runge-Kutta (FIRK) and diagonally implicit Runge-Kutta (DIRK) now use the good Sherman-Morrison method with a sparse diagonal Jacobian to avoid matrix inversion and scale to large problems.

New solvers have been added to README.MD and FURTHER_DOCUMENTATION.MD.

Side Note: TestMinMaxStep in tests/odeint_tests.py fails with the scipy_solver not respecting the min_step option in scipy version 1.17.1.

commit 9b4c83d
Author: psv4 <44118604+psv4@users.noreply.github.com>
Date:   Sat Jun 6 08:01:52 2026 -0400

    Adjust doc placement

commit 1a06502
Author: psv4 <44118604+psv4@users.noreply.github.com>
Date:   Fri Jun 5 21:57:59 2026 -0400

    Updated documentation

commit 0b9bf64
Author: psv4 <44118604+psv4@users.noreply.github.com>
Date:   Fri Jun 5 18:17:52 2026 -0400

    Added Kvaerno4 and Kvaerno5

commit 6808945
Author: psv4 <44118604+psv4@users.noreply.github.com>
Date:   Fri Jun 5 12:43:44 2026 -0400

    Add Sherman Morrison fixes to fixed FIRK/DIRK methods

commit b5c1849
Author: psv4 <44118604+psv4@users.noreply.github.com>
Date:   Fri Jun 5 08:58:28 2026 -0400

    Working

    FIRK was fine, DIRK was not recreating the full k matrix. GL4 and GL6 still slow, KV3 much faster

commit 92e6674
Author: psv4 <44118604+psv4@users.noreply.github.com>
Date:   Thu Jun 4 22:17:59 2026 -0400

    Update adaptive_implicit.py

commit 93bae2d
Author: psv4 <44118604+psv4@users.noreply.github.com>
Date:   Thu Jun 4 22:12:55 2026 -0400

    Added Kvaerno3

    Still not converging :(

commit 5fc2c9e
Author: psv4 <44118604+psv4@users.noreply.github.com>
Date:   Thu Jun 4 19:19:42 2026 -0400

    Running but slow

commit bbd783e
Author: psv4 <44118604+psv4@users.noreply.github.com>
Date:   Thu Jun 4 14:41:49 2026 -0400

    Add GL6 interpolant

commit e2ee1d9
Author: psv4 <44118604+psv4@users.noreply.github.com>
Date:   Thu Jun 4 14:41:11 2026 -0400

    Iteration Limit

commit 7593a10
Author: psv4 <44118604+psv4@users.noreply.github.com>
Date:   Thu Jun 4 14:36:39 2026 -0400

    Typo for DIRK

commit 887936d
Author: psv4 <44118604+psv4@users.noreply.github.com>
Date:   Thu Jun 4 14:34:41 2026 -0400

    Complete

commit 7d67eb5
Author: psv4 <44118604+psv4@users.noreply.github.com>
Date:   Thu Jun 4 12:54:03 2026 -0400

    Template for new classes and functions
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.

Use Sherman-Morrison formula with implicit solvers Can torchdiffeq provide support for stiff ordinary differential equations?

1 participant