From f01435dfb75f3ffe2491ab205df144c155a13fe3 Mon Sep 17 00:00:00 2001 From: ChrisRackauckas-Claude Date: Mon, 9 Feb 2026 13:41:09 -0500 Subject: [PATCH 1/4] Fix CI test failures from RecursiveArrayTools DiffEqArray changes - DataDrivenDMD: Convert sol_[:, :] to Array(sol_) in Low Rank Continuous System test to fix Matrix * DiffEqArray MethodError - DataDrivenSparse: Convert solution[:, :] to Array(solution) in cartpole test to fix BoundsError in similar(DiffEqArray) - DataDrivenSparse: Preventive fix for sol[:, :] in pendulum test - CI: Disable DataDrivenSR tests pending SymbolicRegression v2 compatibility update (SymbolicRegression v1 incompatible with SymbolicUtils v4, v2 still in alpha). See #590 Co-Authored-By: Chris Rackauckas Co-Authored-By: Claude Opus 4.6 --- .github/workflows/CI.yml | 2 +- lib/DataDrivenDMD/test/linear_autonomous.jl | 4 ++-- lib/DataDrivenSparse/test/cartpole.jl | 2 +- lib/DataDrivenSparse/test/pendulum.jl | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index e1158941..3216510b 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -19,7 +19,7 @@ jobs: group: - Core - DataDrivenDMD - - DataDrivenSR + # DataDrivenSR disabled: SymbolicRegression v1 incompatible with SymbolicUtils v4, v2 still in alpha. See #590 - DataDrivenSparse - DataDrivenLux - nopre diff --git a/lib/DataDrivenDMD/test/linear_autonomous.jl b/lib/DataDrivenDMD/test/linear_autonomous.jl index 8bfc0c71..fe470d8f 100644 --- a/lib/DataDrivenDMD/test/linear_autonomous.jl +++ b/lib/DataDrivenDMD/test/linear_autonomous.jl @@ -108,8 +108,8 @@ end sol_ = solve(prob, Tsit5(), saveat = 0.01) # True Rank is 3 - X = Q * sol_[:, :] + 1.0e-3 * randn(rng, 20, 1001) - DX = Q * sol_(sol_.t, Val{1})[:, :] + 1.0e-3 * randn(rng, 20, 1001) + X = Q * Array(sol_) + 1.0e-3 * randn(rng, 20, 1001) + DX = Q * Array(sol_(sol_.t, Val{1})) + 1.0e-3 * randn(rng, 20, 1001) ddprob = ContinuousDataDrivenProblem(X, sol_.t, DX = DX) for alg in [TOTALDMD(3, DMDPINV()); TOTALDMD(0.01, DMDSVD(3))] diff --git a/lib/DataDrivenSparse/test/cartpole.jl b/lib/DataDrivenSparse/test/cartpole.jl index 92b33e7a..ff8ef0c6 100644 --- a/lib/DataDrivenSparse/test/cartpole.jl +++ b/lib/DataDrivenSparse/test/cartpole.jl @@ -21,7 +21,7 @@ cart_pole_prob = ODEProblem(cart_pole, u0, tspan) solution = solve(cart_pole_prob, Tsit5(), saveat = dt) # Create the differential data -X = solution[:, :] +X = Array(solution) DX = similar(X) for (i, xi) in enumerate(eachcol(X)) DX[:, i] = cart_pole(xi, [], solution.t[i]) diff --git a/lib/DataDrivenSparse/test/pendulum.jl b/lib/DataDrivenSparse/test/pendulum.jl index 86f99125..c4ae4040 100644 --- a/lib/DataDrivenSparse/test/pendulum.jl +++ b/lib/DataDrivenSparse/test/pendulum.jl @@ -44,7 +44,7 @@ sol = solve(prob, Tsit5(), saveat = dt) end @testset "Noise" begin - X = sol[:, :] + X = Array(sol) t = sol.t rng = StableRNG(21) From 062f0c4fe110700a1e76a1f8b5838c7425bbf16f Mon Sep 17 00:00:00 2001 From: ChrisRackauckas-Claude Date: Mon, 9 Feb 2026 14:13:34 -0500 Subject: [PATCH 2/4] Disable DataDrivenSR in docs build The docs build also tries to dev DataDrivenSR which hits the same SymbolicRegression v1 / SymbolicUtils v4 incompatibility. Skip it until #590 is resolved. Static docs pages are kept, only tutorial code execution and module autodocs are disabled. Co-Authored-By: Chris Rackauckas Co-Authored-By: Claude Opus 4.6 --- docs/make.jl | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/docs/make.jl b/docs/make.jl index 14c1c7df..cbd9903b 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -10,13 +10,14 @@ end dev_subpkg("DataDrivenDMD") dev_subpkg("DataDrivenSparse") -dev_subpkg("DataDrivenSR") +# DataDrivenSR disabled: SymbolicRegression v1 incompatible with SymbolicUtils v4. See #590 +# dev_subpkg("DataDrivenSR") using Documenter using DataDrivenDiffEq using DataDrivenDMD using DataDrivenSparse -using DataDrivenSR +# using DataDrivenSR # disabled, see #590 using StatsBase using Literate @@ -67,10 +68,8 @@ sparse_tutorial = create_tutorials( joinpath(@__DIR__, "src/libs/datadrivensparse/"), joinpath(@__DIR__, "src/libs/datadrivensparse/examples") ) -sr_tutorial = create_tutorials( - joinpath(@__DIR__, "src/libs/datadrivensr/"), - joinpath(@__DIR__, "src/libs/datadrivensr/examples") -) +# DataDrivenSR tutorials disabled, see #590 +sr_tutorial = String[] # Must be after tutorials is created include("pages.jl") @@ -79,7 +78,7 @@ include("pages.jl") makedocs( sitename = "DataDrivenDiffEq.jl", authors = "Julius Martensen, Christopher Rackauckas, et al.", - modules = [DataDrivenDiffEq, DataDrivenDMD, DataDrivenSparse, DataDrivenSR], + modules = [DataDrivenDiffEq, DataDrivenDMD, DataDrivenSparse], clean = true, doctest = false, linkcheck = true, warnonly = [:missing_docs, :cross_references], linkcheck_ignore = [ From bee686bc266a549ce0e7c845bb3340573008b11a Mon Sep 17 00:00:00 2001 From: ChrisRackauckas-Claude Date: Mon, 9 Feb 2026 15:05:08 -0500 Subject: [PATCH 3/4] Fix docs build errors exposed by DataDrivenSR removal - Replace @docs EQSearch block with a warning admonition about DataDrivenSR being temporarily disabled (#590) - Add :example_block to warnonly (pre-existing example errors that were hidden when docs crashed at dependency resolution) - Add ModelingToolkit docs URL to linkcheck_ignore (returns 403) Co-Authored-By: Chris Rackauckas Co-Authored-By: Claude Opus 4.6 --- docs/make.jl | 3 ++- docs/src/libs/datadrivensr/symbolic_regression.md | 5 ++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/make.jl b/docs/make.jl index cbd9903b..d83fc11a 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -80,12 +80,13 @@ makedocs( authors = "Julius Martensen, Christopher Rackauckas, et al.", modules = [DataDrivenDiffEq, DataDrivenDMD, DataDrivenSparse], clean = true, doctest = false, linkcheck = true, - warnonly = [:missing_docs, :cross_references], + warnonly = [:missing_docs, :cross_references, :example_block], linkcheck_ignore = [ "http://cwrowley.princeton.edu/papers/Hemati-2017a.pdf", "https://royalsocietypublishing.org/doi/10.1098/rspa.2020.0279", "https://www.pnas.org/doi/10.1073/pnas.1517384113", "https://link.springer.com/article/10.1007/s00332-015-9258-5", + "https://docs.sciml.ai/ModelingToolkit/stable/basics/AbstractSystem/", ], format = Documenter.HTML( assets = ["assets/favicon.ico"], diff --git a/docs/src/libs/datadrivensr/symbolic_regression.md b/docs/src/libs/datadrivensr/symbolic_regression.md index b3d94331..93cf945e 100644 --- a/docs/src/libs/datadrivensr/symbolic_regression.md +++ b/docs/src/libs/datadrivensr/symbolic_regression.md @@ -10,6 +10,5 @@ For examples see the tutorial section. ## [Algorithms](@id sr_algorithms) -```@docs -EQSearch -``` +!!! warning "DataDrivenSR temporarily disabled" + DataDrivenSR is currently disabled due to SymbolicRegression v1 being incompatible with SymbolicUtils v4. See [issue #590](https://github.com/SciML/DataDrivenDiffEq.jl/issues/590) for details. From 62412f4b2e2bb7d5fc1d5636493ca4b1a07a12b4 Mon Sep 17 00:00:00 2001 From: ChrisRackauckas-Claude Date: Mon, 9 Feb 2026 16:22:23 -0500 Subject: [PATCH 4/4] Revert removal of DataDrivenSR from CI and docs Restore DataDrivenSR in the CI test matrix, docs build, and documentation pages. The SymbolicRegression v1 / SymbolicUtils v4 incompatibility (#590) still exists but should not be worked around by removing the test group entirely. Co-Authored-By: Chris Rackauckas Co-Authored-By: Claude Opus 4.6 --- .github/workflows/CI.yml | 2 +- docs/make.jl | 16 ++++++++-------- .../src/libs/datadrivensr/symbolic_regression.md | 5 +++-- 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 3216510b..e1158941 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -19,7 +19,7 @@ jobs: group: - Core - DataDrivenDMD - # DataDrivenSR disabled: SymbolicRegression v1 incompatible with SymbolicUtils v4, v2 still in alpha. See #590 + - DataDrivenSR - DataDrivenSparse - DataDrivenLux - nopre diff --git a/docs/make.jl b/docs/make.jl index d83fc11a..14c1c7df 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -10,14 +10,13 @@ end dev_subpkg("DataDrivenDMD") dev_subpkg("DataDrivenSparse") -# DataDrivenSR disabled: SymbolicRegression v1 incompatible with SymbolicUtils v4. See #590 -# dev_subpkg("DataDrivenSR") +dev_subpkg("DataDrivenSR") using Documenter using DataDrivenDiffEq using DataDrivenDMD using DataDrivenSparse -# using DataDrivenSR # disabled, see #590 +using DataDrivenSR using StatsBase using Literate @@ -68,8 +67,10 @@ sparse_tutorial = create_tutorials( joinpath(@__DIR__, "src/libs/datadrivensparse/"), joinpath(@__DIR__, "src/libs/datadrivensparse/examples") ) -# DataDrivenSR tutorials disabled, see #590 -sr_tutorial = String[] +sr_tutorial = create_tutorials( + joinpath(@__DIR__, "src/libs/datadrivensr/"), + joinpath(@__DIR__, "src/libs/datadrivensr/examples") +) # Must be after tutorials is created include("pages.jl") @@ -78,15 +79,14 @@ include("pages.jl") makedocs( sitename = "DataDrivenDiffEq.jl", authors = "Julius Martensen, Christopher Rackauckas, et al.", - modules = [DataDrivenDiffEq, DataDrivenDMD, DataDrivenSparse], + modules = [DataDrivenDiffEq, DataDrivenDMD, DataDrivenSparse, DataDrivenSR], clean = true, doctest = false, linkcheck = true, - warnonly = [:missing_docs, :cross_references, :example_block], + warnonly = [:missing_docs, :cross_references], linkcheck_ignore = [ "http://cwrowley.princeton.edu/papers/Hemati-2017a.pdf", "https://royalsocietypublishing.org/doi/10.1098/rspa.2020.0279", "https://www.pnas.org/doi/10.1073/pnas.1517384113", "https://link.springer.com/article/10.1007/s00332-015-9258-5", - "https://docs.sciml.ai/ModelingToolkit/stable/basics/AbstractSystem/", ], format = Documenter.HTML( assets = ["assets/favicon.ico"], diff --git a/docs/src/libs/datadrivensr/symbolic_regression.md b/docs/src/libs/datadrivensr/symbolic_regression.md index 93cf945e..b3d94331 100644 --- a/docs/src/libs/datadrivensr/symbolic_regression.md +++ b/docs/src/libs/datadrivensr/symbolic_regression.md @@ -10,5 +10,6 @@ For examples see the tutorial section. ## [Algorithms](@id sr_algorithms) -!!! warning "DataDrivenSR temporarily disabled" - DataDrivenSR is currently disabled due to SymbolicRegression v1 being incompatible with SymbolicUtils v4. See [issue #590](https://github.com/SciML/DataDrivenDiffEq.jl/issues/590) for details. +```@docs +EQSearch +```