This repository was archived by the owner on Mar 18, 2026. It is now read-only.
Delete redundant SDE integrator methods, delegate to ODE#694
Closed
ChrisRackauckas-Claude wants to merge 2 commits intoSciML:masterfrom
Closed
Delete redundant SDE integrator methods, delegate to ODE#694ChrisRackauckas-Claude wants to merge 2 commits intoSciML:masterfrom
ChrisRackauckas-Claude wants to merge 2 commits intoSciML:masterfrom
Conversation
Remove ~320 lines of SDE-specific interpolation code now that ODE's _ode_interpolant falls back to linear_interpolant when k is empty: - Delete src/dense.jl (sde_interpolant, current_interpolant/extrapolant, sde_interpolation — all 258 lines) - Delete src/interp_func.jl (LinearInterpolationData — dead code) - Delete integrator callable (ODE's ODEIntegrator callable handles it) - Delete set_t! (ODE's version is identical for SDE algs) - Delete dead accept_step!/save_noise! on SDEIntegrator - Delete initialize_dae! wrapper (ODE's ODEIntegrator dispatch covers it) - Import current_extrapolant from OrdinaryDiffEqCore - Update inference test to use sol(t) instead of deleted sde_interpolation Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com> Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Delete change_t_via_interpolation! (ODE handles via noise rejection gating) - Delete reinit! (ODE handles via is_composite_algorithm + reinit_noise!) - Delete auto_dt_reset! (ODE delegates to _determine_initdt, extended for SDE) - Delete set_rng! (ODE syncs W.rng/P.rng for framework noise) - Delete PIController overrides (ODE's versions are functionally equivalent) - Delete DiffEqNoiseProcess.reject_step! on SDEIntegrator (dead code) - Add is_constant_cache for SDE cache types - Add reinit_noise! extension for AbstractNoiseProcess - Add _determine_initdt extension for SDEIntegrator - Add TauLeaping/CaoTauLeaping bridges for step_accept_controller! - Bump OrdinaryDiffEqCore compat to 3.20 Net: ~147 lines eliminated from SDE. Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Contributor
Author
|
Closing — superseded by #695 which includes all commits from this PR plus phase 14. OrdinaryDiffEqCore v3.21.0 is now released. |
5 tasks
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
Summary
Deletes redundant SDE methods that are now handled by ODE's field-gated versions (OrdinaryDiffEq.jl PR SciML/OrdinaryDiffEq.jl#3132). Net -147 lines from SDE.
Note: This PR is stacked on PR #693 (delete-sde-interpolation). Only the top commit (
468c8d71) is new; the rest are from #692 and #693. Merge #693 first, then rebase this PR.Deleted methods (~202 lines):
change_t_via_interpolation!— ODE's version now handles noise rejection via!isnothing(W)gatingreinit!— ODE's version now usesis_composite_algorithmtrait,_has_ksguard,reinit_noise!hookauto_dt_reset!— ODE's version now calls_determine_initdthook (SDE extends)set_rng!— ODE's version now syncs W/P RNGsDiffEqNoiseProcess.reject_step!on SDEIntegratorAdded extensions (~55 lines):
is_constant_cachefor SDE cache typesreinit_noise!for AbstractNoiseProcess →DiffEqNoiseProcess.reinit!_determine_initdtfor SDEIntegrator →sde_determine_initdtstep_accept_controller!bridges (3-arg → 2-arg)Depends on:
Test plan
🤖 Generated with Claude Code
Co-Authored-By: Chris Rackauckas accounts@chrisrackauckas.com