test: check SISO initialization via ODEProblem#492
Closed
ChrisRackauckas-Claude wants to merge 1 commit into
Closed
test: check SISO initialization via ODEProblem#492ChrisRackauckas-Claude wants to merge 1 commit into
ChrisRackauckas-Claude wants to merge 1 commit into
Conversation
A standalone InitializationProblem exposes its generated initialization system, which does not promise every original ODE symbol. Assert the same initialized values through the public ODEProblem indexing API instead. Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Member
Author
|
Closing this draft as a duplicate of #491, which already carries the focused SISO correction and its validation. No changes from this branch need to be merged separately. |
ChrisRackauckas-Claude
deleted the
agent/test-siso-initial-values-via-odeproblem
branch
July 13, 2026 22:44
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Please ignore this PR until it has been reviewed by @ChrisRackauckas.
Summary
SciMLBase.ODEProblemxd == 1.0andu == 1.0) unchangedOrdinaryDiffEqimport because this test no longer solves a standalone initialization problemThis is a fresh, focused extraction of the SISO test-path correction discussed in the stale omnibus #452. It does not include any of #452's unrelated changes.
Why
PR #469 changed this test from the earlier explicit
generate_initializesystem/mtkcompile/NonlinearProblemflow toInitializationProblem(sys, 0.0), then indexed that standalone problem's solution with symbols from the original ODE system.A standalone
InitializationProblemrepresents the generated initialization system. Its symbolic container is not a contract that every original ODE unknown or observed alias remains indexable, and its intermediate unknown/default representation varies across compatible dependency graphs:xdinitializes to1.0, while indexingso.uerrors because that alias is not present in the generated initialization systemModelingToolkit 11.0.0,ModelingToolkitBase 1.1.0,Symbolics 7.4.1,SciMLBase 2.125.0): the standalone path returnsxd == 0.0andu == 1.0xd == 1.0andu == 1.0The public
ODEProblemconstruction is the operation whose contract the test actually wants: it runs initialization for the ODE and retains the original system as the symbolic provider. Both original assertions therefore remain exact and continue to test the intended initialized values.Local validation
test/utils.jl: 8/8 passedtest/utils.jl: 8/8 passed--compiled-modules=no, current graph, completetest/utils.jl: 8/8 passed (source mode was needed because the local stdlib JLL cache had incompatible precompile flags)ODEProblempath:xd == 1.0,u == 1.0Runic --check .: exit 0git diff --check: exit 0GROUP=Core julia +1.12 --project=. -e 'using Pkg; Pkg.test()'ran all preceding Core files successfully, then exited 1 at the known clean-mainAccelerationSensorerror intest/translational.jl:235(InvalidSystemException, structurally singularmass₊v(t)). That unrelated base failure is addressed separately by #490; this PR does not alter or include that fix.Investigation steps
ODEProblempath on current Julia 1.10/1.12/1.13 and the exact minimum dependency graph.