From 9fa5cbef9aaac85ff7100d0aac1a81e2b8727d19 Mon Sep 17 00:00:00 2001 From: Nathanael Bosch Date: Tue, 14 Nov 2023 14:45:48 +0100 Subject: [PATCH] re-run LV, HH, VdP --- benchmarks/hodgkinhuxley.jmd | 17 +- benchmarks/lotkavolterra.jmd | 68 +- benchmarks/runall.jl | 2 +- benchmarks/vanderpol.jmd | 34 +- .../benchmarks/figures/hodgkinhuxley_2_1.svg | 834 ++++----- .../benchmarks/figures/hodgkinhuxley_3_1.svg | 394 +++-- .../benchmarks/figures/hodgkinhuxley_4_1.svg | 380 ++--- .../benchmarks/figures/hodgkinhuxley_5_1.svg | 752 ++++---- .../benchmarks/figures/hodgkinhuxley_6_1.svg | 502 +++--- .../benchmarks/figures/hodgkinhuxley_7_1.svg | 848 +++++---- .../benchmarks/figures/hodgkinhuxley_8_1.svg | 312 ++-- .../benchmarks/figures/hodgkinhuxley_9_1.svg | 302 ++-- .../benchmarks/figures/lotkavolterra_10_1.svg | 688 ++++---- .../benchmarks/figures/lotkavolterra_11_1.svg | 880 +++++----- .../benchmarks/figures/lotkavolterra_12_1.svg | 770 ++++----- .../benchmarks/figures/lotkavolterra_13_1.svg | 679 ++++---- .../benchmarks/figures/lotkavolterra_14_1.svg | 847 +++++---- .../benchmarks/figures/lotkavolterra_15_1.svg | 811 +++------ .../benchmarks/figures/lotkavolterra_16_1.svg | 813 +++++---- .../benchmarks/figures/lotkavolterra_17_1.svg | 1511 +++++++++++------ .../benchmarks/figures/lotkavolterra_2_1.svg | 266 +-- .../benchmarks/figures/lotkavolterra_3_1.svg | 582 +++---- .../benchmarks/figures/lotkavolterra_4_1.svg | 576 +++---- .../benchmarks/figures/lotkavolterra_5_1.svg | 580 +++---- .../benchmarks/figures/lotkavolterra_6_1.svg | 590 ++++--- .../benchmarks/figures/lotkavolterra_7_1.svg | 588 +++---- .../benchmarks/figures/lotkavolterra_8_1.svg | 584 +++---- .../benchmarks/figures/lotkavolterra_9_1.svg | 682 ++++---- .../src/benchmarks/figures/vanderpol_10_1.svg | 251 ++- .../src/benchmarks/figures/vanderpol_11_1.svg | 320 ++-- .../src/benchmarks/figures/vanderpol_12_1.svg | 428 +++-- .../src/benchmarks/figures/vanderpol_13_1.svg | 541 +++--- .../src/benchmarks/figures/vanderpol_14_1.svg | 656 ++++--- .../src/benchmarks/figures/vanderpol_15_1.svg | 714 ++++---- docs/src/benchmarks/figures/vanderpol_2_1.svg | 190 +-- docs/src/benchmarks/figures/vanderpol_3_1.svg | 354 ++-- docs/src/benchmarks/figures/vanderpol_4_1.svg | 462 ++--- docs/src/benchmarks/figures/vanderpol_5_1.svg | 496 ++---- docs/src/benchmarks/figures/vanderpol_6_1.svg | 655 ++++--- docs/src/benchmarks/figures/vanderpol_7_1.svg | 1040 +++--------- docs/src/benchmarks/figures/vanderpol_8_1.svg | 974 ++++++----- docs/src/benchmarks/figures/vanderpol_9_1.svg | 638 ++----- docs/src/benchmarks/hodgkinhuxley.md | 17 +- docs/src/benchmarks/lotkavolterra.md | 133 +- docs/src/benchmarks/vanderpol.md | 52 +- ext/DiffEqDevToolsExt.jl | 10 +- 46 files changed, 11347 insertions(+), 12476 deletions(-) diff --git a/benchmarks/hodgkinhuxley.jmd b/benchmarks/hodgkinhuxley.jmd index 633315760..ff475c917 100644 --- a/benchmarks/hodgkinhuxley.jmd +++ b/benchmarks/hodgkinhuxley.jmd @@ -158,18 +158,19 @@ plot(wp, x=:L2, title="Adaptive steps - with smoothing", color=colors) plot(wp; x=:final, y=:chi2_final, yguide="Chi-squared (final)", color=colors) # Should be distributed according to a Chi-squared distribution: -d = 4 -low, high, mid = quantile(Chisq(d), [0.01, 0.99])..., mean(Chisq(d)) -hline!([low, high], linestyle=:dash, color=:black, label="", - fill_between=true, fillcolor=:green, fillalpha=0.15) -hline!([mid], linestyle=:solid, color=:black, label="") +function plot_chisq_interval!(df, q=0.01) + dist = Chisq(df) + low, high, mid = quantile(dist, [q, 1-q])..., mean(dist) + hline!([low, high], linestyle=:dash, color=:black, label="", + fill_between=[high nothing], fillcolor=:green, fillalpha=0.15) + hline!([mid], linestyle=:solid, color=:black, label="") +end +plot_chisq_interval!(4) ``` ```julia plot(wp, x=:L2, y=:chi2_interp, yguide="Chi-squared (dense)", color=colors) -hline!([low, high], linestyle=:dash, color=:black, label="", - fill_between=true, fillcolor=:green, fillalpha=0.15) -hline!([mid], linestyle=:solid, color=:black, label="") +plot_chisq_interval!(4*100) ``` diff --git a/benchmarks/lotkavolterra.jmd b/benchmarks/lotkavolterra.jmd index 3fe6fbaf3..fd2ee5eea 100644 --- a/benchmarks/lotkavolterra.jmd +++ b/benchmarks/lotkavolterra.jmd @@ -61,8 +61,8 @@ _setups = [ labels = first.(_setups) setups = last.(_setups) -abstols = 1.0 ./ 10.0 .^ (4:13) -reltols = 1.0 ./ 10.0 .^ (1:10) +abstols = 1.0 ./ 10.0 .^ (4:12) +reltols = 1.0 ./ 10.0 .^ (1:9) wp = WorkPrecisionSet( prob, abstols, reltols, setups; @@ -89,8 +89,8 @@ _setups = [ labels = first.(_setups) setups = last.(_setups) -abstols = 1.0 ./ 10.0 .^ (4:13) -reltols = 1.0 ./ 10.0 .^ (1:10) +abstols = 1.0 ./ 10.0 .^ (4:12) +reltols = 1.0 ./ 10.0 .^ (1:9) wp = WorkPrecisionSet( prob, abstols, reltols, setups; @@ -124,8 +124,8 @@ _setups = [ labels = first.(_setups) setups = last.(_setups) -abstols = 1.0 ./ 10.0 .^ (4:13) -reltols = 1.0 ./ 10.0 .^ (1:10) +abstols = 1.0 ./ 10.0 .^ (4:12) +reltols = 1.0 ./ 10.0 .^ (1:9) wp = WorkPrecisionSet( prob, abstols, reltols, setups; @@ -152,8 +152,8 @@ _setups = [ labels = first.(_setups) setups = last.(_setups) -abstols = 1.0 ./ 10.0 .^ (4:13) -reltols = 1.0 ./ 10.0 .^ (1:10) +abstols = 1.0 ./ 10.0 .^ (4:12) +reltols = 1.0 ./ 10.0 .^ (1:9) wp = WorkPrecisionSet( prob, abstols, reltols, setups; @@ -193,8 +193,8 @@ _setups = [ labels = first.(_setups) setups = last.(_setups) -abstols = 1.0 ./ 10.0 .^ (4:14) -reltols = 1.0 ./ 10.0 .^ (1:11) +abstols = 1.0 ./ 10.0 .^ (4:12) +reltols = 1.0 ./ 10.0 .^ (1:9) wp = WorkPrecisionSet( prob, abstols, reltols, setups; @@ -227,8 +227,8 @@ _setups = [ labels = first.(_setups) setups = last.(_setups) -abstols = 1.0 ./ 10.0 .^ (4:14) -reltols = 1.0 ./ 10.0 .^ (1:11) +abstols = 1.0 ./ 10.0 .^ (4:12) +reltols = 1.0 ./ 10.0 .^ (1:9) wp = WorkPrecisionSet( prob, abstols, reltols, setups; @@ -248,26 +248,20 @@ Final time-point: plot(wp, x=:final, y=:chi2_final, color=[1 1 1 1 2 2 2 2], yguide="Chi-squared (final)") # Should be distributed according to a Chi-squared distribution: -low, high, mid = quantile(Chisq(2), [0.01, 0.99])..., mean(Chisq(2)) -hline!([low, high], linestyle=:dash, color=:black, label="", - fill_between=true, fillcolor=:green, fillalpha=0.15) -hline!([mid], linestyle=:solid, color=:black, label="") -``` - -Discrete time-series: -```julia -plot(wp, x=:l2, y=:chi2_steps, color=[1 1 1 1 2 2 2 2], yguide="Chi-squared (discrete steps)") -hline!([low, high], linestyle=:dash, color=:black, label="", - fill_between=true, fillcolor=:green, fillalpha=0.15) -hline!([mid], linestyle=:solid, color=:black, label="") +function plot_chisq_interval!(df, q=0.01) + dist = Chisq(df) + low, high, mid = quantile(dist, [q, 1-q])..., mean(dist) + hline!([low, high], linestyle=:dash, color=:black, label="", + fill_between=[high nothing], fillcolor=:green, fillalpha=0.15) + hline!([mid], linestyle=:solid, color=:black, label="") +end +plot_chisq_interval!(2) ``` Interpolation: ```julia plot(wp, x=:L2, y=:chi2_interp, color=[1 1 1 1 2 2 2 2], yguide="Chi-squared (dense)") -hline!([low, high], linestyle=:dash, color=:black, label="", - fill_between=true, fillcolor=:green, fillalpha=0.15) -hline!([mid], linestyle=:solid, color=:black, label="") +plot_chisq_interval!(2*100) ``` ## Comparison of the different diffusion models @@ -292,8 +286,8 @@ _setups = [ labels = first.(_setups) setups = last.(_setups) -abstols = 1.0 ./ 10.0 .^ (4:14) -reltols = 1.0 ./ 10.0 .^ (1:11) +abstols = 1.0 ./ 10.0 .^ (4:12) +reltols = 1.0 ./ 10.0 .^ (1:9) wp = WorkPrecisionSet( prob, abstols, reltols, setups; @@ -310,9 +304,7 @@ plot(wp, color=[2 2 3 3 4 4 5 5]) Calibration: ```julia plot(wp, x=:final, y=:chi2_final, color=[2 2 3 3 4 4 5 5], yguide="Chi-squared (final)") -hline!([low, high], linestyle=:dash, color=:black, label="", - fill_between=true, fillcolor=:green, fillalpha=0.15) -hline!([mid], linestyle=:solid, color=:black, label="") +plot_chisq_interval!(2) ``` ### EK1 @@ -331,8 +323,8 @@ _setups = [ labels = first.(_setups) setups = last.(_setups) -abstols = 1.0 ./ 10.0 .^ (4:14) -reltols = 1.0 ./ 10.0 .^ (1:11) +abstols = 1.0 ./ 10.0 .^ (4:12) +reltols = 1.0 ./ 10.0 .^ (1:9) wp = WorkPrecisionSet( prob, abstols, reltols, setups; @@ -349,9 +341,7 @@ plot(wp, color=[2 2 3 3]) Calibration: ```julia plot(wp, x=:final, y=:chi2_final, color=[2 2 3 3], yguide="Chi-squared (final)") -hline!([low, high], linestyle=:dash, color=:black, label="", - fill_between=true, fillcolor=:green, fillalpha=0.15) -hline!([mid], linestyle=:solid, color=:black, label="") +plot_chisq_interval!(2) ``` ## Comparison of the different initialization schemes @@ -360,8 +350,8 @@ hline!([mid], linestyle=:solid, color=:black, label="") DENSE = false; SAVE_EVERYSTEP = false; -abstols = 1.0 ./ 10.0 .^ (4:14) -reltols = 1.0 ./ 10.0 .^ (1:11) +abstols = 1.0 ./ 10.0 .^ (4:12) +reltols = 1.0 ./ 10.0 .^ (1:9) orders = (2, 3, 5, 8) ps = [] diff --git a/benchmarks/runall.jl b/benchmarks/runall.jl index 2bc7c8342..6015949bb 100644 --- a/benchmarks/runall.jl +++ b/benchmarks/runall.jl @@ -3,8 +3,8 @@ ENV["GKSwstype"] = "nul" FILES = [ "lotkavolterra.jmd", + "hodgkinhuxley.jmd", # "vanderpol.jmd", - # "hodgkinhuxley.jmd", # "rober.jmd", # "pleiades.jmd", # "multi-language-wrappers.jmd", diff --git a/benchmarks/vanderpol.jmd b/benchmarks/vanderpol.jmd index c32d4672c..236de2e02 100644 --- a/benchmarks/vanderpol.jmd +++ b/benchmarks/vanderpol.jmd @@ -80,7 +80,7 @@ SAVE_EVERYSTEP = true; _setups = [ "EK1($order)" => Dict(:alg => EK1(order=order, smooth=DENSE)) - for order in 3:7 + for order in 3:6 ] labels = first.(_setups) @@ -113,26 +113,20 @@ plot(wp, x=:final, y=:chi2_final, yguide="Chi-squared (final)", palette=Plots.palette([:blue, :red], length(_setups))) # Should be distributed according to a Chi-squared distribution: -low, high, mid = quantile(Chisq(2), [0.01, 0.99])..., mean(Chisq(2)) -hline!([low, high], linestyle=:dash, color=:black, label="", - fill_between=true, fillcolor=:green, fillalpha=0.15) -hline!([mid], linestyle=:solid, color=:black, label="") -``` - -```julia -plot(wp, x=:l2, y=:chi2_steps, yguide="Chi-squared (discrete steps)", - palette=Plots.palette([:blue, :red], length(_setups))) -hline!([low, high], linestyle=:dash, color=:black, label="", - fill_between=true, fillcolor=:green, fillalpha=0.15) -hline!([mid], linestyle=:solid, color=:black, label="") +function plot_chisq_interval!(df, q=0.01) + dist = Chisq(df) + low, high, mid = quantile(dist, [q, 1-q])..., mean(dist) + hline!([low, high], linestyle=:dash, color=:black, label="", + fill_between=[high nothing], fillcolor=:green, fillalpha=0.15) + hline!([mid], linestyle=:solid, color=:black, label="") +end +plot_chisq_interval!(2) ``` ```julia plot(wp, x=:L2, y=:chi2_interp, yguide="Chi-squared (dense)", palette=Plots.palette([:blue, :red], length(_setups))) -hline!([low, high], linestyle=:dash, color=:black, label="", - fill_between=true, fillcolor=:green, fillalpha=0.15) -hline!([mid], linestyle=:solid, color=:black, label="") +plot_chisq_interval!(2*100) ``` ## Comparison of the different initialization schemes @@ -272,16 +266,12 @@ plot(wp; x=:L2, color) ```julia plot(wp; x=:final, y=:chi2_final, yguide="Chi-squared (final)", color) -hline!([low, high], linestyle=:dash, color=:black, label="", - fill_between=true, fillcolor=:green, fillalpha=0.15) -hline!([mid], linestyle=:solid, color=:black, label="") +plot_chisq_interval!(2) ``` ```julia plot(wp; x=:L2, y=:chi2_interp, yguide="Chi-squared (dense)", color) -hline!([low, high], linestyle=:dash, color=:black, label="", - fill_between=true, fillcolor=:green, fillalpha=0.15) -hline!([mid], linestyle=:solid, color=:black, label="") +plot_chisq_interval!(2*100) ``` diff --git a/docs/src/benchmarks/figures/hodgkinhuxley_2_1.svg b/docs/src/benchmarks/figures/hodgkinhuxley_2_1.svg index 8d5e9a496..2ba349d53 100644 --- a/docs/src/benchmarks/figures/hodgkinhuxley_2_1.svg +++ b/docs/src/benchmarks/figures/hodgkinhuxley_2_1.svg @@ -1,444 +1,444 @@ - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/src/benchmarks/figures/hodgkinhuxley_3_1.svg b/docs/src/benchmarks/figures/hodgkinhuxley_3_1.svg index 35edf72d6..89305f4b3 100644 --- a/docs/src/benchmarks/figures/hodgkinhuxley_3_1.svg +++ b/docs/src/benchmarks/figures/hodgkinhuxley_3_1.svg @@ -1,212 +1,210 @@ - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/src/benchmarks/figures/hodgkinhuxley_4_1.svg b/docs/src/benchmarks/figures/hodgkinhuxley_4_1.svg index 84b1aed51..749c7fbcc 100644 --- a/docs/src/benchmarks/figures/hodgkinhuxley_4_1.svg +++ b/docs/src/benchmarks/figures/hodgkinhuxley_4_1.svg @@ -1,204 +1,204 @@ - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/src/benchmarks/figures/hodgkinhuxley_5_1.svg b/docs/src/benchmarks/figures/hodgkinhuxley_5_1.svg index fa8182477..82e7fbe90 100644 --- a/docs/src/benchmarks/figures/hodgkinhuxley_5_1.svg +++ b/docs/src/benchmarks/figures/hodgkinhuxley_5_1.svg @@ -1,390 +1,390 @@ - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/src/benchmarks/figures/hodgkinhuxley_6_1.svg b/docs/src/benchmarks/figures/hodgkinhuxley_6_1.svg index 7c346846e..342c4ef2e 100644 --- a/docs/src/benchmarks/figures/hodgkinhuxley_6_1.svg +++ b/docs/src/benchmarks/figures/hodgkinhuxley_6_1.svg @@ -1,265 +1,265 @@ - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/src/benchmarks/figures/hodgkinhuxley_7_1.svg b/docs/src/benchmarks/figures/hodgkinhuxley_7_1.svg index 6141178f1..526b9d1a7 100644 --- a/docs/src/benchmarks/figures/hodgkinhuxley_7_1.svg +++ b/docs/src/benchmarks/figures/hodgkinhuxley_7_1.svg @@ -1,447 +1,427 @@ - + - + - + - + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/src/benchmarks/figures/hodgkinhuxley_8_1.svg b/docs/src/benchmarks/figures/hodgkinhuxley_8_1.svg index f319d487f..402855818 100644 --- a/docs/src/benchmarks/figures/hodgkinhuxley_8_1.svg +++ b/docs/src/benchmarks/figures/hodgkinhuxley_8_1.svg @@ -1,170 +1,170 @@ - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/src/benchmarks/figures/hodgkinhuxley_9_1.svg b/docs/src/benchmarks/figures/hodgkinhuxley_9_1.svg index 5e23d6c40..f05589625 100644 --- a/docs/src/benchmarks/figures/hodgkinhuxley_9_1.svg +++ b/docs/src/benchmarks/figures/hodgkinhuxley_9_1.svg @@ -1,166 +1,164 @@ - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/src/benchmarks/figures/lotkavolterra_10_1.svg b/docs/src/benchmarks/figures/lotkavolterra_10_1.svg index 155d2ca0d..1da6e5da0 100644 --- a/docs/src/benchmarks/figures/lotkavolterra_10_1.svg +++ b/docs/src/benchmarks/figures/lotkavolterra_10_1.svg @@ -1,384 +1,330 @@ - + - + - + - + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/src/benchmarks/figures/lotkavolterra_11_1.svg b/docs/src/benchmarks/figures/lotkavolterra_11_1.svg index 5321c0dff..98055166f 100644 --- a/docs/src/benchmarks/figures/lotkavolterra_11_1.svg +++ b/docs/src/benchmarks/figures/lotkavolterra_11_1.svg @@ -1,477 +1,431 @@ - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/src/benchmarks/figures/lotkavolterra_12_1.svg b/docs/src/benchmarks/figures/lotkavolterra_12_1.svg index fdf63a141..5438a7ea6 100644 --- a/docs/src/benchmarks/figures/lotkavolterra_12_1.svg +++ b/docs/src/benchmarks/figures/lotkavolterra_12_1.svg @@ -1,441 +1,355 @@ - + - + - + - + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/src/benchmarks/figures/lotkavolterra_13_1.svg b/docs/src/benchmarks/figures/lotkavolterra_13_1.svg index dab1cca09..0edefecf0 100644 --- a/docs/src/benchmarks/figures/lotkavolterra_13_1.svg +++ b/docs/src/benchmarks/figures/lotkavolterra_13_1.svg @@ -1,397 +1,308 @@ - + - + - + - + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/src/benchmarks/figures/lotkavolterra_14_1.svg b/docs/src/benchmarks/figures/lotkavolterra_14_1.svg index c10eae6ca..0cce7d95a 100644 --- a/docs/src/benchmarks/figures/lotkavolterra_14_1.svg +++ b/docs/src/benchmarks/figures/lotkavolterra_14_1.svg @@ -1,364 +1,509 @@ - + - + - + - + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/src/benchmarks/figures/lotkavolterra_15_1.svg b/docs/src/benchmarks/figures/lotkavolterra_15_1.svg index 150a49bf5..5ff6c6ebd 100644 --- a/docs/src/benchmarks/figures/lotkavolterra_15_1.svg +++ b/docs/src/benchmarks/figures/lotkavolterra_15_1.svg @@ -1,557 +1,280 @@ - + - + - + - + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/src/benchmarks/figures/lotkavolterra_16_1.svg b/docs/src/benchmarks/figures/lotkavolterra_16_1.svg index 8c5306bc0..1581a73cb 100644 --- a/docs/src/benchmarks/figures/lotkavolterra_16_1.svg +++ b/docs/src/benchmarks/figures/lotkavolterra_16_1.svg @@ -1,324 +1,515 @@ - + - + - + - + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/src/benchmarks/figures/lotkavolterra_17_1.svg b/docs/src/benchmarks/figures/lotkavolterra_17_1.svg index aa5da8571..342229317 100644 --- a/docs/src/benchmarks/figures/lotkavolterra_17_1.svg +++ b/docs/src/benchmarks/figures/lotkavolterra_17_1.svg @@ -1,551 +1,980 @@ - + - - + + - + - - + + - + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/src/benchmarks/figures/lotkavolterra_2_1.svg b/docs/src/benchmarks/figures/lotkavolterra_2_1.svg index 74d4bdfd3..385f91010 100644 --- a/docs/src/benchmarks/figures/lotkavolterra_2_1.svg +++ b/docs/src/benchmarks/figures/lotkavolterra_2_1.svg @@ -1,148 +1,148 @@ - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/src/benchmarks/figures/lotkavolterra_3_1.svg b/docs/src/benchmarks/figures/lotkavolterra_3_1.svg index 2a5fe31f8..7dc13af54 100644 --- a/docs/src/benchmarks/figures/lotkavolterra_3_1.svg +++ b/docs/src/benchmarks/figures/lotkavolterra_3_1.svg @@ -1,318 +1,292 @@ - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/src/benchmarks/figures/lotkavolterra_4_1.svg b/docs/src/benchmarks/figures/lotkavolterra_4_1.svg index b33ecd0fd..d17cf15c4 100644 --- a/docs/src/benchmarks/figures/lotkavolterra_4_1.svg +++ b/docs/src/benchmarks/figures/lotkavolterra_4_1.svg @@ -1,314 +1,290 @@ - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/src/benchmarks/figures/lotkavolterra_5_1.svg b/docs/src/benchmarks/figures/lotkavolterra_5_1.svg index c6c511398..689035c9d 100644 --- a/docs/src/benchmarks/figures/lotkavolterra_5_1.svg +++ b/docs/src/benchmarks/figures/lotkavolterra_5_1.svg @@ -1,316 +1,292 @@ - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/src/benchmarks/figures/lotkavolterra_6_1.svg b/docs/src/benchmarks/figures/lotkavolterra_6_1.svg index f05f4d1a6..22bcb4054 100644 --- a/docs/src/benchmarks/figures/lotkavolterra_6_1.svg +++ b/docs/src/benchmarks/figures/lotkavolterra_6_1.svg @@ -1,320 +1,298 @@ - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/src/benchmarks/figures/lotkavolterra_7_1.svg b/docs/src/benchmarks/figures/lotkavolterra_7_1.svg index 88113161b..db1add601 100644 --- a/docs/src/benchmarks/figures/lotkavolterra_7_1.svg +++ b/docs/src/benchmarks/figures/lotkavolterra_7_1.svg @@ -1,322 +1,294 @@ - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/src/benchmarks/figures/lotkavolterra_8_1.svg b/docs/src/benchmarks/figures/lotkavolterra_8_1.svg index 1d6f985bd..b22d4ca29 100644 --- a/docs/src/benchmarks/figures/lotkavolterra_8_1.svg +++ b/docs/src/benchmarks/figures/lotkavolterra_8_1.svg @@ -1,320 +1,292 @@ - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/src/benchmarks/figures/lotkavolterra_9_1.svg b/docs/src/benchmarks/figures/lotkavolterra_9_1.svg index fd903434f..31b63e352 100644 --- a/docs/src/benchmarks/figures/lotkavolterra_9_1.svg +++ b/docs/src/benchmarks/figures/lotkavolterra_9_1.svg @@ -1,380 +1,330 @@ - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/src/benchmarks/figures/vanderpol_10_1.svg b/docs/src/benchmarks/figures/vanderpol_10_1.svg index c4bd4db54..c063241f1 100644 --- a/docs/src/benchmarks/figures/vanderpol_10_1.svg +++ b/docs/src/benchmarks/figures/vanderpol_10_1.svg @@ -1,167 +1,110 @@ - + - + - + - + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/src/benchmarks/figures/vanderpol_11_1.svg b/docs/src/benchmarks/figures/vanderpol_11_1.svg index 1314117e9..d519bcf12 100644 --- a/docs/src/benchmarks/figures/vanderpol_11_1.svg +++ b/docs/src/benchmarks/figures/vanderpol_11_1.svg @@ -1,110 +1,236 @@ - + - + - + - + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/src/benchmarks/figures/vanderpol_12_1.svg b/docs/src/benchmarks/figures/vanderpol_12_1.svg index 1aedb7132..7cbbd226f 100644 --- a/docs/src/benchmarks/figures/vanderpol_12_1.svg +++ b/docs/src/benchmarks/figures/vanderpol_12_1.svg @@ -1,236 +1,220 @@ - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/src/benchmarks/figures/vanderpol_13_1.svg b/docs/src/benchmarks/figures/vanderpol_13_1.svg index ffca6794b..cba651778 100644 --- a/docs/src/benchmarks/figures/vanderpol_13_1.svg +++ b/docs/src/benchmarks/figures/vanderpol_13_1.svg @@ -1,220 +1,347 @@ - + - + - + - + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/src/benchmarks/figures/vanderpol_14_1.svg b/docs/src/benchmarks/figures/vanderpol_14_1.svg index 1e7e99cb5..ef1757c55 100644 --- a/docs/src/benchmarks/figures/vanderpol_14_1.svg +++ b/docs/src/benchmarks/figures/vanderpol_14_1.svg @@ -1,347 +1,335 @@ - + - + - + - + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/src/benchmarks/figures/vanderpol_15_1.svg b/docs/src/benchmarks/figures/vanderpol_15_1.svg index f1da25cb6..b40a6d4b7 100644 --- a/docs/src/benchmarks/figures/vanderpol_15_1.svg +++ b/docs/src/benchmarks/figures/vanderpol_15_1.svg @@ -1,371 +1,371 @@ - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/src/benchmarks/figures/vanderpol_2_1.svg b/docs/src/benchmarks/figures/vanderpol_2_1.svg index 0197f9f87..7d6299ea6 100644 --- a/docs/src/benchmarks/figures/vanderpol_2_1.svg +++ b/docs/src/benchmarks/figures/vanderpol_2_1.svg @@ -1,110 +1,110 @@ - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/src/benchmarks/figures/vanderpol_3_1.svg b/docs/src/benchmarks/figures/vanderpol_3_1.svg index ff48b7278..2a2f1df96 100644 --- a/docs/src/benchmarks/figures/vanderpol_3_1.svg +++ b/docs/src/benchmarks/figures/vanderpol_3_1.svg @@ -1,191 +1,191 @@ - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/src/benchmarks/figures/vanderpol_4_1.svg b/docs/src/benchmarks/figures/vanderpol_4_1.svg index dcb219b7b..6841c359f 100644 --- a/docs/src/benchmarks/figures/vanderpol_4_1.svg +++ b/docs/src/benchmarks/figures/vanderpol_4_1.svg @@ -1,330 +1,160 @@ - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/src/benchmarks/figures/vanderpol_5_1.svg b/docs/src/benchmarks/figures/vanderpol_5_1.svg index 56f9797ff..c895e731c 100644 --- a/docs/src/benchmarks/figures/vanderpol_5_1.svg +++ b/docs/src/benchmarks/figures/vanderpol_5_1.svg @@ -1,352 +1,172 @@ - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/src/benchmarks/figures/vanderpol_6_1.svg b/docs/src/benchmarks/figures/vanderpol_6_1.svg index f4a9e8f05..f6953a690 100644 --- a/docs/src/benchmarks/figures/vanderpol_6_1.svg +++ b/docs/src/benchmarks/figures/vanderpol_6_1.svg @@ -1,374 +1,307 @@ - + - + - + - + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/src/benchmarks/figures/vanderpol_7_1.svg b/docs/src/benchmarks/figures/vanderpol_7_1.svg index 2bce69f86..dcf42ffaa 100644 --- a/docs/src/benchmarks/figures/vanderpol_7_1.svg +++ b/docs/src/benchmarks/figures/vanderpol_7_1.svg @@ -1,779 +1,287 @@ - + - + - + - + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/src/benchmarks/figures/vanderpol_8_1.svg b/docs/src/benchmarks/figures/vanderpol_8_1.svg index bb2846c91..b443410dd 100644 --- a/docs/src/benchmarks/figures/vanderpol_8_1.svg +++ b/docs/src/benchmarks/figures/vanderpol_8_1.svg @@ -1,503 +1,491 @@ - + - - + + - + - - + + - + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/src/benchmarks/figures/vanderpol_9_1.svg b/docs/src/benchmarks/figures/vanderpol_9_1.svg index 74a4d1713..d8188f0c0 100644 --- a/docs/src/benchmarks/figures/vanderpol_9_1.svg +++ b/docs/src/benchmarks/figures/vanderpol_9_1.svg @@ -1,491 +1,167 @@ - + - - + + - + - - + + - + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/src/benchmarks/hodgkinhuxley.md b/docs/src/benchmarks/hodgkinhuxley.md index b8987257c..d738787bf 100644 --- a/docs/src/benchmarks/hodgkinhuxley.md +++ b/docs/src/benchmarks/hodgkinhuxley.md @@ -177,20 +177,21 @@ plot(wp, x=:L2, title="Adaptive steps - with smoothing", color=colors) plot(wp; x=:final, y=:chi2_final, yguide="Chi-squared (final)", color=colors) # Should be distributed according to a Chi-squared distribution: -d = 4 -low, high, mid = quantile(Chisq(d), [0.01, 0.99])..., mean(Chisq(d)) -hline!([low, high], linestyle=:dash, color=:black, label="", - fill_between=true, fillcolor=:green, fillalpha=0.15) -hline!([mid], linestyle=:solid, color=:black, label="") +function plot_chisq_interval!(df, q=0.01) + dist = Chisq(df) + low, high, mid = quantile(dist, [q, 1-q])..., mean(dist) + hline!([low, high], linestyle=:dash, color=:black, label="", + fill_between=[high nothing], fillcolor=:green, fillalpha=0.15) + hline!([mid], linestyle=:solid, color=:black, label="") +end +plot_chisq_interval!(4) ``` ![](figures/hodgkinhuxley_6_1.svg) ```julia plot(wp, x=:L2, y=:chi2_interp, yguide="Chi-squared (dense)", color=colors) -hline!([low, high], linestyle=:dash, color=:black, label="", - fill_between=true, fillcolor=:green, fillalpha=0.15) -hline!([mid], linestyle=:solid, color=:black, label="") +plot_chisq_interval!(4*100) ``` ![](figures/hodgkinhuxley_7_1.svg) diff --git a/docs/src/benchmarks/lotkavolterra.md b/docs/src/benchmarks/lotkavolterra.md index 7f0d3dc45..f3fc5c857 100644 --- a/docs/src/benchmarks/lotkavolterra.md +++ b/docs/src/benchmarks/lotkavolterra.md @@ -68,8 +68,8 @@ _setups = [ labels = first.(_setups) setups = last.(_setups) -abstols = 1.0 ./ 10.0 .^ (4:13) -reltols = 1.0 ./ 10.0 .^ (1:10) +abstols = 1.0 ./ 10.0 .^ (4:12) +reltols = 1.0 ./ 10.0 .^ (1:9) wp = WorkPrecisionSet( prob, abstols, reltols, setups; @@ -100,8 +100,8 @@ _setups = [ labels = first.(_setups) setups = last.(_setups) -abstols = 1.0 ./ 10.0 .^ (4:13) -reltols = 1.0 ./ 10.0 .^ (1:10) +abstols = 1.0 ./ 10.0 .^ (4:12) +reltols = 1.0 ./ 10.0 .^ (1:9) wp = WorkPrecisionSet( prob, abstols, reltols, setups; @@ -143,8 +143,8 @@ _setups = [ labels = first.(_setups) setups = last.(_setups) -abstols = 1.0 ./ 10.0 .^ (4:13) -reltols = 1.0 ./ 10.0 .^ (1:10) +abstols = 1.0 ./ 10.0 .^ (4:12) +reltols = 1.0 ./ 10.0 .^ (1:9) wp = WorkPrecisionSet( prob, abstols, reltols, setups; @@ -175,8 +175,8 @@ _setups = [ labels = first.(_setups) setups = last.(_setups) -abstols = 1.0 ./ 10.0 .^ (4:13) -reltols = 1.0 ./ 10.0 .^ (1:10) +abstols = 1.0 ./ 10.0 .^ (4:12) +reltols = 1.0 ./ 10.0 .^ (1:9) wp = WorkPrecisionSet( prob, abstols, reltols, setups; @@ -224,8 +224,8 @@ _setups = [ labels = first.(_setups) setups = last.(_setups) -abstols = 1.0 ./ 10.0 .^ (4:14) -reltols = 1.0 ./ 10.0 .^ (1:11) +abstols = 1.0 ./ 10.0 .^ (4:12) +reltols = 1.0 ./ 10.0 .^ (1:9) wp = WorkPrecisionSet( prob, abstols, reltols, setups; @@ -262,8 +262,8 @@ _setups = [ labels = first.(_setups) setups = last.(_setups) -abstols = 1.0 ./ 10.0 .^ (4:14) -reltols = 1.0 ./ 10.0 .^ (1:11) +abstols = 1.0 ./ 10.0 .^ (4:12) +reltols = 1.0 ./ 10.0 .^ (1:9) wp = WorkPrecisionSet( prob, abstols, reltols, setups; @@ -287,37 +287,27 @@ Final time-point: plot(wp, x=:final, y=:chi2_final, color=[1 1 1 1 2 2 2 2], yguide="Chi-squared (final)") # Should be distributed according to a Chi-squared distribution: -low, high, mid = quantile(Chisq(2), [0.01, 0.99])..., mean(Chisq(2)) -hline!([low, high], linestyle=:dash, color=:black, label="", - fill_between=true, fillcolor=:green, fillalpha=0.15) -hline!([mid], linestyle=:solid, color=:black, label="") +function plot_chisq_interval!(df, q=0.01) + dist = Chisq(df) + low, high, mid = quantile(dist, [q, 1-q])..., mean(dist) + hline!([low, high], linestyle=:dash, color=:black, label="", + fill_between=[high nothing], fillcolor=:green, fillalpha=0.15) + hline!([mid], linestyle=:solid, color=:black, label="") +end +plot_chisq_interval!(2) ``` ![](figures/lotkavolterra_11_1.svg) -Discrete time-series: -```julia -plot(wp, x=:l2, y=:chi2_steps, color=[1 1 1 1 2 2 2 2], yguide="Chi-squared (discrete steps)") -hline!([low, high], linestyle=:dash, color=:black, label="", - fill_between=true, fillcolor=:green, fillalpha=0.15) -hline!([mid], linestyle=:solid, color=:black, label="") -``` - -![](figures/lotkavolterra_12_1.svg) - - - Interpolation: ```julia plot(wp, x=:L2, y=:chi2_interp, color=[1 1 1 1 2 2 2 2], yguide="Chi-squared (dense)") -hline!([low, high], linestyle=:dash, color=:black, label="", - fill_between=true, fillcolor=:green, fillalpha=0.15) -hline!([mid], linestyle=:solid, color=:black, label="") +plot_chisq_interval!(2*100) ``` -![](figures/lotkavolterra_13_1.svg) +![](figures/lotkavolterra_12_1.svg) @@ -343,8 +333,8 @@ _setups = [ labels = first.(_setups) setups = last.(_setups) -abstols = 1.0 ./ 10.0 .^ (4:14) -reltols = 1.0 ./ 10.0 .^ (1:11) +abstols = 1.0 ./ 10.0 .^ (4:12) +reltols = 1.0 ./ 10.0 .^ (1:9) wp = WorkPrecisionSet( prob, abstols, reltols, setups; @@ -358,19 +348,17 @@ wp = WorkPrecisionSet( plot(wp, color=[2 2 3 3 4 4 5 5]) ``` -![](figures/lotkavolterra_14_1.svg) +![](figures/lotkavolterra_13_1.svg) Calibration: ```julia plot(wp, x=:final, y=:chi2_final, color=[2 2 3 3 4 4 5 5], yguide="Chi-squared (final)") -hline!([low, high], linestyle=:dash, color=:black, label="", - fill_between=true, fillcolor=:green, fillalpha=0.15) -hline!([mid], linestyle=:solid, color=:black, label="") +plot_chisq_interval!(2) ``` -![](figures/lotkavolterra_15_1.svg) +![](figures/lotkavolterra_14_1.svg) @@ -390,8 +378,8 @@ _setups = [ labels = first.(_setups) setups = last.(_setups) -abstols = 1.0 ./ 10.0 .^ (4:14) -reltols = 1.0 ./ 10.0 .^ (1:11) +abstols = 1.0 ./ 10.0 .^ (4:12) +reltols = 1.0 ./ 10.0 .^ (1:9) wp = WorkPrecisionSet( prob, abstols, reltols, setups; @@ -405,19 +393,17 @@ wp = WorkPrecisionSet( plot(wp, color=[2 2 3 3]) ``` -![](figures/lotkavolterra_16_1.svg) +![](figures/lotkavolterra_15_1.svg) Calibration: ```julia plot(wp, x=:final, y=:chi2_final, color=[2 2 3 3], yguide="Chi-squared (final)") -hline!([low, high], linestyle=:dash, color=:black, label="", - fill_between=true, fillcolor=:green, fillalpha=0.15) -hline!([mid], linestyle=:solid, color=:black, label="") +plot_chisq_interval!(2) ``` -![](figures/lotkavolterra_17_1.svg) +![](figures/lotkavolterra_16_1.svg) @@ -427,8 +413,8 @@ hline!([mid], linestyle=:solid, color=:black, label="") DENSE = false; SAVE_EVERYSTEP = false; -abstols = 1.0 ./ 10.0 .^ (4:14) -reltols = 1.0 ./ 10.0 .^ (1:11) +abstols = 1.0 ./ 10.0 .^ (4:12) +reltols = 1.0 ./ 10.0 .^ (1:9) orders = (2, 3, 5, 8) ps = [] @@ -463,7 +449,7 @@ plot( ) ``` -![](figures/lotkavolterra_18_1.svg) +![](figures/lotkavolterra_17_1.svg) @@ -505,7 +491,7 @@ Pkg.status() ``` Status `~/.julia/dev/ProbNumDiffEq/benchmarks/Project.toml` - [f3b72e0c] DiffEqDevTools v2.41.0 `~/.julia/dev/DiffEqDevTools` + [f3b72e0c] DiffEqDevTools v2.42.0 [31c24e10] Distributions v0.25.103 [7073ff75] IJulia v1.24.2 [7f56f5a3] LSODA v0.7.5 @@ -518,15 +504,13 @@ Status `~/.julia/dev/ProbNumDiffEq/benchmarks/Project.toml` [65888b18] ParameterizedFunctions v5.16.0 [91a5bcdd] Plots v1.39.0 [bf3e78b0] ProbNumDiffEq v0.13.0 `~/.julia/dev/ProbNumDiffEq` -⌃ [0bca4576] SciMLBase v2.7.3 + [0bca4576] SciMLBase v2.8.0 [505e40e9] SciPyDiffEq v0.2.1 [ce78b400] SimpleUnPack v1.1.0 [90137ffa] StaticArrays v1.6.5 [c3572dad] Sundials v4.20.1 [44d3d7a6] Weave v0.10.12 [0518478a] deSolveDiffEq v0.1.1 -Info Packages marked with ⌃ have new versions available and may be upgradab -le. ``` @@ -544,13 +528,14 @@ Status `~/.julia/dev/ProbNumDiffEq/benchmarks/Manifest.toml` ⌅ [c3fe647b] AbstractAlgebra v0.32.5 [621f4979] AbstractFFTs v1.5.0 [1520ce14] AbstractTrees v0.4.4 + [7d9f7c33] Accessors v0.1.33 [79e6a3ab] Adapt v3.7.1 [ec485272] ArnoldiMethod v0.2.0 [c9d4266f] ArrayAllocators v0.3.0 [4fba245c] ArrayInterface v7.5.1 [6e4b80f9] BenchmarkTools v1.3.2 [e2ed5e7c] Bijections v0.1.6 -⌃ [d1d4a3ce] BitFlags v0.1.7 + [d1d4a3ce] BitFlags v0.1.8 [62783981] BitTwiddlingConvenienceFunctions v0.1.5 [fa961155] CEnum v0.5.0 [2a0fbf3d] CPUSummary v0.2.4 @@ -570,6 +555,7 @@ Status `~/.julia/dev/ProbNumDiffEq/benchmarks/Manifest.toml` [bbf7d656] CommonSubexpressions v0.3.0 [34da2185] Compat v4.10.0 [b152e2b5] CompositeTypes v0.1.3 + [a33af91c] CompositionsBase v0.1.2 [2569d6c7] ConcreteStructs v0.2.3 [f0e56b4a] ConcurrentUtilities v2.3.0 [8f4d0f93] Conda v1.9.1 @@ -586,7 +572,7 @@ Status `~/.julia/dev/ProbNumDiffEq/benchmarks/Manifest.toml` [8bb1440f] DelimitedFiles v1.9.1 [2b5f629d] DiffEqBase v6.138.1 [459566f4] DiffEqCallbacks v2.33.1 - [f3b72e0c] DiffEqDevTools v2.41.0 `~/.julia/dev/DiffEqDevTools` + [f3b72e0c] DiffEqDevTools v2.42.0 [77a26b50] DiffEqNoiseProcess v5.19.0 [163ba53b] DiffResults v1.1.0 [b552c78f] DiffRules v1.15.1 @@ -605,7 +591,7 @@ Status `~/.julia/dev/ProbNumDiffEq/benchmarks/Manifest.toml` [e2ba6199] ExprTools v0.1.10 [c87230d0] FFMPEG v0.4.1 [7a1cc6ca] FFTW v1.7.1 -⌃ [7034ab61] FastBroadcast v0.2.7 + [7034ab61] FastBroadcast v0.2.8 [9aa1b823] FastClosures v0.3.2 [442a2c76] FastGaussQuadrature v1.0.0 [29a986be] FastLapackInterface v2.0.0 @@ -636,6 +622,7 @@ Status `~/.julia/dev/ProbNumDiffEq/benchmarks/Manifest.toml` [842dd82b] InlineStrings v1.4.0 [18e54dd8] IntegerMathUtils v0.1.2 [8197267c] IntervalSets v0.7.8 + [3587e190] InverseFunctions v0.1.12 [41ab1584] InvertedIndices v1.3.0 [92d709cd] IrrationalConstants v0.2.2 [c8e1da08] IterTools v1.8.0 @@ -653,21 +640,21 @@ Status `~/.julia/dev/ProbNumDiffEq/benchmarks/Manifest.toml` [2ee39098] LabelledArrays v1.14.0 [984bce1d] LambertW v0.4.6 [23fbe1c1] Latexify v0.16.1 + [73f95e8e] LatticeRules v0.0.1 [10f19ff3] LayoutPointers v0.1.15 [50d2b5c4] Lazy v0.15.1 [1d6d02ad] LeftChildRightSiblingTrees v0.2.0 [d3d80556] LineSearches v7.2.0 -⌃ [7ed4a6bd] LinearSolve v2.17.1 + [7ed4a6bd] LinearSolve v2.20.0 [2ab3a3ac] LogExpFunctions v0.3.26 [e6f89c97] LoggingExtras v1.0.3 [bdcacae8] LoopVectorization v0.12.166 [10e44e05] MATLAB v0.8.4 [e2752cbe] MATLABDiffEq v1.2.0 - [33e6dc65] MKL v0.6.1 [d8e11817] MLStyle v0.4.17 [1914dd2f] MacroTools v0.5.11 [d125e4d3] ManualMemory v0.1.8 -⌃ [739be429] MbedTLS v1.1.7 + [739be429] MbedTLS v1.1.8 [442fdcdd] Measures v0.3.2 [e1d29d7a] Missings v1.1.0 [961ee093] ModelingToolkit v8.72.2 @@ -688,12 +675,12 @@ Status `~/.julia/dev/ProbNumDiffEq/benchmarks/Manifest.toml` [429524aa] Optim v1.7.8 [bac558e1] OrderedCollections v1.6.2 [1dea7af3] OrdinaryDiffEq v6.59.0 -⌃ [90014a1f] PDMats v0.11.28 + [90014a1f] PDMats v0.11.29 [fe68d972] PSDMatrices v0.4.6 [65ce6f38] PackageExtensionCompat v1.0.2 [65888b18] ParameterizedFunctions v5.16.0 [d96e819e] Parameters v0.12.3 -⌃ [69de0a69] Parsers v2.7.2 + [69de0a69] Parsers v2.8.0 [b98c9c47] Pipe v1.3.0 [32113eaa] PkgBenchmark v0.2.12 [ccf2f8ad] PlotThemes v3.1.0 @@ -708,12 +695,13 @@ Status `~/.julia/dev/ProbNumDiffEq/benchmarks/Manifest.toml` [d236fae5] PreallocationTools v0.4.12 [aea7be01] PrecompileTools v1.2.0 [21216c6a] Preferences v1.4.1 - [08abe8d2] PrettyTables v2.2.8 -⌃ [27ebfcd6] Primes v0.5.4 + [08abe8d2] PrettyTables v2.3.0 + [27ebfcd6] Primes v0.5.5 [bf3e78b0] ProbNumDiffEq v0.13.0 `~/.julia/dev/ProbNumDiffEq` [33c8b6b6] ProgressLogging v0.1.4 -⌃ [438e738f] PyCall v1.96.1 + [438e738f] PyCall v1.96.2 [1fd47b50] QuadGK v2.9.1 + [8a4e6c94] QuasiMonteCarlo v0.3.2 [6f49c342] RCall v0.13.18 [74087812] Random123 v1.6.1 [fb686558] RandomExtensions v0.4.4 @@ -721,7 +709,7 @@ Status `~/.julia/dev/ProbNumDiffEq/benchmarks/Manifest.toml` [3cdcf5f2] RecipesBase v1.3.4 [01d81517] RecipesPipeline v0.6.12 [731186ca] RecursiveArrayTools v2.38.10 -⌃ [f2c3362d] RecursiveFactorization v0.2.20 + [f2c3362d] RecursiveFactorization v0.2.21 [189a3867] Reexport v1.2.2 [05181044] RelocatableFolders v1.0.1 [ae029012] Requires v1.3.0 @@ -732,7 +720,7 @@ Status `~/.julia/dev/ProbNumDiffEq/benchmarks/Manifest.toml` [fdea26ae] SIMD v3.4.6 [94e857df] SIMDTypes v0.1.0 [476501e8] SLEEFPirates v0.6.42 -⌃ [0bca4576] SciMLBase v2.7.3 + [0bca4576] SciMLBase v2.8.0 [e9a6253c] SciMLNLSolve v0.1.9 [c0aeaf25] SciMLOperators v0.3.7 [505e40e9] SciPyDiffEq v0.2.1 @@ -746,6 +734,7 @@ Status `~/.julia/dev/ProbNumDiffEq/benchmarks/Manifest.toml` [699a6c99] SimpleTraits v0.9.4 [ce78b400] SimpleUnPack v1.1.0 [66db9d55] SnoopPrecompile v1.0.3 + [ed01d8cd] Sobol v1.5.0 [b85f4697] SoftGlobalScope v1.1.0 [a2af1166] SortingAlgorithms v1.2.0 [47a9eef4] SparseDiffTools v2.11.0 @@ -760,7 +749,7 @@ Status `~/.julia/dev/ProbNumDiffEq/benchmarks/Manifest.toml` [2913bbd2] StatsBase v0.34.2 [4c63d2b9] StatsFuns v1.3.0 [3eaba693] StatsModels v0.7.3 -⌅ [7792a7ef] StrideArraysCore v0.4.17 + [7792a7ef] StrideArraysCore v0.5.1 [69024149] StringEncodings v0.3.7 [892a3eda] StringManipulation v0.3.4 [09ab397b] StructArrays v0.6.16 @@ -770,7 +759,7 @@ Status `~/.julia/dev/ProbNumDiffEq/benchmarks/Manifest.toml` [0c5d862f] Symbolics v5.10.0 [3783bdb8] TableTraits v1.0.1 [bd369af6] Tables v1.11.1 -⌃ [92b13dbe] TaylorIntegration v0.14.3 + [92b13dbe] TaylorIntegration v0.14.4 [6aa5eb33] TaylorSeries v0.15.2 [62fd8b95] TensorCore v0.1.1 [5d786b92] TerminalLoggers v0.1.7 @@ -786,7 +775,7 @@ Status `~/.julia/dev/ProbNumDiffEq/benchmarks/Manifest.toml` [5c2747f8] URIs v1.5.1 [3a884ed6] UnPack v1.0.2 [1cfade01] UnicodeFun v0.4.1 -⌃ [1986cc42] Unitful v1.17.0 + [1986cc42] Unitful v1.18.0 [45397f5d] UnitfulLatexify v1.6.3 [a7c27f48] Unityper v0.1.5 [41fe7b60] Unzip v0.2.0 @@ -933,9 +922,9 @@ Status `~/.julia/dev/ProbNumDiffEq/benchmarks/Manifest.toml` [8e850b90] libblastrampoline_jll v5.8.0+0 [8e850ede] nghttp2_jll v1.48.0+0 [3f19e933] p7zip_jll v17.4.0+0 -Info Packages marked with ⌃ and ⌅ have new versions available, but those wi -th ⌅ are restricted by compatibility constraints from upgrading. To see why - use `status --outdated -m` +Info Packages marked with ⌅ have new versions available but compatibility c +onstraints restrict them from upgrading. To see why use `status --outdated +-m` ``` diff --git a/docs/src/benchmarks/vanderpol.md b/docs/src/benchmarks/vanderpol.md index 8893b78cc..a57d16bb4 100644 --- a/docs/src/benchmarks/vanderpol.md +++ b/docs/src/benchmarks/vanderpol.md @@ -91,7 +91,7 @@ SAVE_EVERYSTEP = true; _setups = [ "EK1($order)" => Dict(:alg => EK1(order=order, smooth=DENSE)) - for order in 3:7 + for order in 3:6 ] labels = first.(_setups) @@ -132,33 +132,25 @@ plot(wp, x=:final, y=:chi2_final, yguide="Chi-squared (final)", palette=Plots.palette([:blue, :red], length(_setups))) # Should be distributed according to a Chi-squared distribution: -low, high, mid = quantile(Chisq(2), [0.01, 0.99])..., mean(Chisq(2)) -hline!([low, high], linestyle=:dash, color=:black, label="", - fill_between=true, fillcolor=:green, fillalpha=0.15) -hline!([mid], linestyle=:solid, color=:black, label="") +function plot_chisq_interval!(df, q=0.01) + dist = Chisq(df) + low, high, mid = quantile(dist, [q, 1-q])..., mean(dist) + hline!([low, high], linestyle=:dash, color=:black, label="", + fill_between=[high nothing], fillcolor=:green, fillalpha=0.15) + hline!([mid], linestyle=:solid, color=:black, label="") +end +plot_chisq_interval!(2) ``` ![](figures/vanderpol_6_1.svg) -```julia -plot(wp, x=:l2, y=:chi2_steps, yguide="Chi-squared (discrete steps)", - palette=Plots.palette([:blue, :red], length(_setups))) -hline!([low, high], linestyle=:dash, color=:black, label="", - fill_between=true, fillcolor=:green, fillalpha=0.15) -hline!([mid], linestyle=:solid, color=:black, label="") -``` - -![](figures/vanderpol_7_1.svg) - ```julia plot(wp, x=:L2, y=:chi2_interp, yguide="Chi-squared (dense)", palette=Plots.palette([:blue, :red], length(_setups))) -hline!([low, high], linestyle=:dash, color=:black, label="", - fill_between=true, fillcolor=:green, fillalpha=0.15) -hline!([mid], linestyle=:solid, color=:black, label="") +plot_chisq_interval!(2*100) ``` -![](figures/vanderpol_8_1.svg) +![](figures/vanderpol_7_1.svg) @@ -205,7 +197,7 @@ plot( ) ``` -![](figures/vanderpol_9_1.svg) +![](figures/vanderpol_8_1.svg) ```julia DENSE = false; @@ -241,7 +233,7 @@ wp = WorkPrecisionSet( plot(wp, palette=Plots.palette([:blue, :red], length(_setups)), xticks = 10.0 .^ (-16:1:5)) ``` -![](figures/vanderpol_10_1.svg) +![](figures/vanderpol_9_1.svg) @@ -262,7 +254,7 @@ test_sol2 = solve(prob2, RadauIIA5(), abstol=1/10^14, reltol=1/10^14) plot(test_sol2, title="Van der Pol Solution (2nd order)", legend=false, ylims=(-5, 5), xticks=:auto) ``` -![](figures/vanderpol_11_1.svg) +![](figures/vanderpol_10_1.svg) ```julia DENSE = true; @@ -299,13 +291,13 @@ color = [1 1 1 1 2 2 2 2] plot(wp; x=:final, color) ``` -![](figures/vanderpol_12_1.svg) +![](figures/vanderpol_11_1.svg) ```julia plot(wp; x=:L2, color) ``` -![](figures/vanderpol_13_1.svg) +![](figures/vanderpol_12_1.svg) @@ -313,21 +305,17 @@ plot(wp; x=:L2, color) ```julia plot(wp; x=:final, y=:chi2_final, yguide="Chi-squared (final)", color) -hline!([low, high], linestyle=:dash, color=:black, label="", - fill_between=true, fillcolor=:green, fillalpha=0.15) -hline!([mid], linestyle=:solid, color=:black, label="") +plot_chisq_interval!(2) ``` -![](figures/vanderpol_14_1.svg) +![](figures/vanderpol_13_1.svg) ```julia plot(wp; x=:L2, y=:chi2_interp, yguide="Chi-squared (dense)", color) -hline!([low, high], linestyle=:dash, color=:black, label="", - fill_between=true, fillcolor=:green, fillalpha=0.15) -hline!([mid], linestyle=:solid, color=:black, label="") +plot_chisq_interval!(2*100) ``` -![](figures/vanderpol_15_1.svg) +![](figures/vanderpol_14_1.svg) diff --git a/ext/DiffEqDevToolsExt.jl b/ext/DiffEqDevToolsExt.jl index 1f756d4c5..839c29847 100644 --- a/ext/DiffEqDevToolsExt.jl +++ b/ext/DiffEqDevToolsExt.jl @@ -8,6 +8,7 @@ using LinearAlgebra function chi2(gaussian_estimate, actual_value) μ, Σ = gaussian_estimate + d = length(μ) diff = μ - actual_value if iszero(Σ) if iszero(diff) @@ -17,8 +18,7 @@ function chi2(gaussian_estimate, actual_value) return convert(eltype(actual_value), Inf) end end - chi2_pinv = diff' * (Σ \ diff) - return chi2_pinv + return diff' * (Σ \ diff) end function DiffEqDevTools.appxtrue( @@ -45,13 +45,15 @@ end function _add_prob_errors!(out, sol, ref) out.errors[:chi2_final] = chi2(sol.pu[end], ref.u[end])[1] if :l2 in keys(out.errors) - out.errors[:chi2_steps] = mean(chi2.(sol.pu, ref.(sol.t))) + # out.errors[:chi2_steps] = sum(chi2.(sol.pu, ref.(sol.t))) + # This is hard to evaluate as it follows a distribution that depends on the number + # of steps taken. Therefore, don't compute it for now! end if :L2 in keys(out.errors) densetimes = collect(range(sol.t[1], stop=sol.t[end], length=100)) interp_pu = sol(densetimes).u interp_ref = ref(densetimes).u - out.errors[:chi2_interp] = mean(chi2.(interp_pu, interp_ref)) + out.errors[:chi2_interp] = sum(chi2.(interp_pu, interp_ref)) end return out end