Skip to content

Allow LinearSolve 5 across implicit solver packages - #3984

Closed
ChrisRackauckas-Claude wants to merge 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:agent/linearsolve5-ordinarydiffeq-stack
Closed

Allow LinearSolve 5 across implicit solver packages#3984
ChrisRackauckas-Claude wants to merge 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:agent/linearsolve5-ordinarydiffeq-stack

Conversation

@ChrisRackauckas-Claude

@ChrisRackauckas-Claude ChrisRackauckas-Claude commented Jul 22, 2026

Copy link
Copy Markdown
Member

Ignore this PR until it has been reviewed by @ChrisRackauckas.

Summary

  • Allow LinearSolve 5 across the OrdinaryDiffEq implicit-solver subpackages that currently accept LinearSolve 3/4.
  • Bump each affected subpackage patch version.
  • Exercise LinearSolve 5 in the sparse-differentiation and ModelingToolkit test environments.

This is the OrdinaryDiffEq companion to SciML/ExponentialUtilities.jl#257 and is required by NonlinearSolve 4.23, whose current dependency graph resolves LinearSolve 5.

Local verification

  • On the dependent Reuse homotopy caches across implicit ODE stages #3985 stack, ODEDIFFEQ_TEST_GROUP=Core julia +1.12 --startup-file=no --project=lib/OrdinaryDiffEqNonlinearSolve -e 'using Pkg; Pkg.test()' resolved LinearSolve 5.0.1 and exited 0.
  • The complete Core run passed all functional sections, including Linear Solver Tests 113/113, Split ODE Tests 10/10, Mass Matrix Tests 225 passed with 42 existing broken, Sparse Jacobian Tests 11/11, and Matrix-Free WOperator Tests 14/14.
  • Whole-repository Runic --check and git diff --check exited 0.

The homotopy cache work tested in the same local stack is kept in the separate follow-up #3985.

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Member Author

CI checkpoint: the root Downgrade / InterfaceI failure is the existing resolver-floor baseline tracked by #3917 and SciML/.github#118. The workflow pins SciMLOperators 1.15.0 explicitly, while stacked prerequisite #3983 correctly restores the OrdinaryDiffEqDifferentiation floor to 1.24.4, so resolution stops before tests run.

This same prerequisite baseline is already present on #3983; it is unrelated to the LinearSolve 5 compatibility changes in this PR. I am leaving the test and compatibility floors intact rather than weakening or bypassing them.

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
@ChrisRackauckas-Claude
ChrisRackauckas-Claude force-pushed the agent/linearsolve5-ordinarydiffeq-stack branch from e8688e8 to 926c6f4 Compare July 22, 2026 18:30
@ChrisRackauckas-Claude

Copy link
Copy Markdown
Member Author

Clean-rebase update: this branch now contains only the LinearSolve 5 compatibility commit directly on current master; it no longer includes or depends on #3983.

The early GlobalDiffEq and OrdinaryDiffEqRosenbrock downgrade resolution failures reproduce on untouched master at 8fc48e69. They were introduced by the monorepo path-source changes in af88f3d and 79dcf13, respectively. The resolver-side correction is tracked in julia-actions/julia-downgrade-compat#56. Testing that correction locally exposed four later minimum-compatible Rosenbrock/AutoEnzyme failures, now tracked in #3987.

On the dependent #3985 stack, the official OrdinaryDiffEqNonlinearSolve Core group resolved LinearSolve 5.0.1 and exited 0; whole-repository Runic and git diff --check also exited 0.

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.

2 participants