Skip to content

Add support for ODE_DEFAULT_NORM for AbstractRaggedVectorOfArray#3572

Merged
ChrisRackauckas merged 2 commits intoSciML:masterfrom
JoshuaLampert:ode-default-norm-raggedvoa
Apr 28, 2026
Merged

Add support for ODE_DEFAULT_NORM for AbstractRaggedVectorOfArray#3572
ChrisRackauckas merged 2 commits intoSciML:masterfrom
JoshuaLampert:ode-default-norm-raggedvoa

Conversation

@JoshuaLampert
Copy link
Copy Markdown
Contributor

This adds support for UNITLESS_ABS2, recursive_length, and ODE_DEFAULT_NORM for AbstractRaggedVectorOfArray from RecursiveArrayToolsRaggedArrays.jl as discussed in SciML/RecursiveArrayTools.jl#582 (comment).

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.

@ChrisRackauckas
Copy link
Copy Markdown
Member

Again this introduces a circular, it cannot go here.

@ChrisRackauckas
Copy link
Copy Markdown
Member

I'll take it from here.

@ChrisRackauckas
Copy link
Copy Markdown
Member

Wait, I'm so dumb.

@ChrisRackauckas ChrisRackauckas merged commit 3a6e660 into SciML:master Apr 28, 2026
432 of 450 checks passed
@ChrisRackauckas-Claude
Copy link
Copy Markdown
Contributor

Diagnosis for test (OrdinaryDiffEqNonlinearSolve_ModelingToolkit, 1, ubuntu-latest, 120, 1) failure on this PR (job 73389128637):

Failure is pre-existing and unrelated to this PR. The 4 test failures all come from lib/OrdinaryDiffEqNonlinearSolve/test/modelingtoolkit/dae_initialize_integration.jl:98-101, in the @testset "\reinit!` updates initial parameters"block. Afterreinit!(integ, new_u0)withnew_u0corresponding tox => 2.0, y => 3.0, the Initial(x)/Initial(y)parameters in the integrator (and the integrator's symbolic stateinteg[x], integ[y]) remain at their original values (1.0, 2.0) instead of being updated to (2.0, 3.0). The system is a standard ODE solved with Tsit5(), so no implicit-method norm is invoked and AbstractRaggedVectorOfArray` is not in play anywhere.

Evidence it is pre-existing:

  • This PR's diff only adds three method dispatches in lib/DiffEqBase/src/common_defaults.jl (UNITLESS_ABS2, recursive_length, ODE_DEFAULT_NORM for AbstractRaggedVectorOfArray) and a deps/test entry — none of these can affect MTK reinit! behavior on a non-ragged ODEProblem.
  • The exact same 4 test failures (dae_initialize_integration.jl:98-101) appeared on PR branch fix-qmin-controller-access (job 73293875132) on 2026-04-27, before this PR existed.

Recommendation: this failure should be tracked separately — likely an MTK / SymbolicIndexingInterface regression where reinit! no longer propagates the new u0 into the Initial(...) parameter mirror. Not blocking for this PR (which has already been merged in 3a6e660).

Co-Authored-By: Chris Rackauckas accounts@chrisrackauckas.com

@JoshuaLampert JoshuaLampert deleted the ode-default-norm-raggedvoa branch April 28, 2026 15:26
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.

3 participants