From 4a03b7b860c0a489ca46b0bfe093d9121a2bc797 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20Rusu?= <62118955+rusandris@users.noreply.github.com> Date: Fri, 30 Jun 2023 12:21:12 +0300 Subject: [PATCH 01/32] add compatibility constraint --- Project.toml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Project.toml b/Project.toml index 1285e6e..efa3a23 100644 --- a/Project.toml +++ b/Project.toml @@ -22,3 +22,6 @@ SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" StatsBase = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91" StatsPlots = "f3b207a7-027a-5e70-b257-86293d7955fd" + +[compat] +DynamicalSystems = "2.3" From e5206d02c6380600e8d8695b166f217bd6556b4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20Rusu?= <62118955+rusandris@users.noreply.github.com> Date: Fri, 30 Jun 2023 13:26:50 +0300 Subject: [PATCH 02/32] add compatibility constraints --- Project.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/Project.toml b/Project.toml index efa3a23..41aacc1 100644 --- a/Project.toml +++ b/Project.toml @@ -25,3 +25,4 @@ StatsPlots = "f3b207a7-027a-5e70-b257-86293d7955fd" [compat] DynamicalSystems = "2.3" +MetaGraphsNext = "0.6.0-DEV" From 74830368d7ed621b46c0d89f44d76537c27a3f28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20Rusu?= <62118955+rusandris@users.noreply.github.com> Date: Fri, 30 Jun 2023 13:27:55 +0300 Subject: [PATCH 03/32] add compatibility constraints --- Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Project.toml b/Project.toml index 41aacc1..48c238d 100644 --- a/Project.toml +++ b/Project.toml @@ -25,4 +25,4 @@ StatsPlots = "f3b207a7-027a-5e70-b257-86293d7955fd" [compat] DynamicalSystems = "2.3" -MetaGraphsNext = "0.6.0-DEV" +MetaGraphsNext = "0.6.0" From 72970aee9846028bd46ef2557f95954e94e943cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20Rusu?= <62118955+rusandris@users.noreply.github.com> Date: Fri, 30 Jun 2023 13:37:36 +0300 Subject: [PATCH 04/32] Update Project.toml --- Project.toml | 1 - 1 file changed, 1 deletion(-) diff --git a/Project.toml b/Project.toml index 48c238d..efa3a23 100644 --- a/Project.toml +++ b/Project.toml @@ -25,4 +25,3 @@ StatsPlots = "f3b207a7-027a-5e70-b257-86293d7955fd" [compat] DynamicalSystems = "2.3" -MetaGraphsNext = "0.6.0" From 819e3579916267b8630e57bdb83d56f53746f45d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20Rusu?= <62118955+rusandris@users.noreply.github.com> Date: Fri, 30 Jun 2023 14:30:52 +0300 Subject: [PATCH 05/32] fix create_stn method --- src/create_stn.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/create_stn.jl b/src/create_stn.jl index a652dec..53c9312 100644 --- a/src/create_stn.jl +++ b/src/create_stn.jl @@ -59,7 +59,7 @@ For more info about PSOS go to https://juliadynamics.github.io/DynamicalSystems function create_stn(ts,grid::Int64,plane,idxs;make_ergodic=false, verbose=false,kwargs...) #psos - psection = poincaresos(ts, plane; idxs=idxs,warning=true,kwargs...) + psection = poincaresos(Dataset(ts), plane; idxs=idxs,warning=true,kwargs...) #method for time-discrete trajectory create_stn(psection,grid; make_ergodic=make_ergodic, verbose=verbose) From 2d91c6bd87d8476e0bb2a838218acceed8cba2bb Mon Sep 17 00:00:00 2001 From: sbulcsu Date: Mon, 3 Jul 2023 09:30:54 +0300 Subject: [PATCH 06/32] measure for a single parameter --- tests/plot_measures_henon.jl | 32 +++++++++++++++++++++++++------- 1 file changed, 25 insertions(+), 7 deletions(-) diff --git a/tests/plot_measures_henon.jl b/tests/plot_measures_henon.jl index 56d09ba..7c38dcd 100644 --- a/tests/plot_measures_henon.jl +++ b/tests/plot_measures_henon.jl @@ -10,14 +10,29 @@ using LinearAlgebra using DelimitedFiles using LaTeXStrings +############################### +### Measures for a single value +############################### + +grid_size = 20; +b = 0.3; +a = 1.4; +ds = Systems.henon([0.1, 0.123]; a=a, b=b) +λ = lyapunov(ds, 10000; d0 = 1e-7, threshold = 1e-4, Ttr = 500) +timeseries = trajectory(ds, 100000, [0, 0]; Ttr=1000) +discrete_timeseries, vertex_names = timeseries_to_grid(timeseries, grid_size); +@time stn,retcode = create_stn(discrete_timeseries, vertex_names); +P = prob_matrix(stn); +S, Λ = network_measures(P) + ################# ### orbit diagram ################# b = 0.3; -a = 1.0; +a = 1.4; a_values = 1:0.001:1.4; -ds = Systems.henon([0.0, 0.0]; a=a, b=b) +ds = Systems.henon([0.1, 0.123]; a=a, b=b) i = 1 ics = [rand() for m in 1:10] n = 500 @@ -73,10 +88,10 @@ dpi=300) b = 0.3; a_values = 1:0.001:1.4; -a_values = 1.21:0.0001:1.23; -traj_length = 30000; +#a_values = 1.21:0.0001:1.23; +traj_length = 1000000; trans = 1000; -grid_size = 20; +grid_size = 200; ensemble = 1000; N_steps = 10000; @@ -101,12 +116,15 @@ end data = hcat(a_values, sim_entropy_measures, sim_lyapunov_measures, theor_entropy_measures, theor_lyapunov_measures) #save data -f_name = "./tests/henon_measures_a=1.0-1.4_da=0.001_t=10^5_ens=1000_tmax=30000_ttrans=1000.dat" -f_name = "./tests/henon_measures_a=1.21-1.23_da=0.0001_t=10^5_ens=1000_tmax=30000_ttrans=1000.dat" +#f_name = "./tests/henon_measures_a=1.0-1.4_da=0.001_t=10^5_ens=1000_tmax=30000_ttrans=1000.dat" +#f_name = "./tests/henon_measures_a=1.21-1.23_da=0.0001_t=10^5_ens=1000_tmax=30000_ttrans=1000.dat" +#f_name = "./tests/henon_measures_a=1.0-1.4_da=0.001_ens=1000_tmax=300000_ttrans=1000_grid=100.dat" +f_name = "./tests/henon_measures_a=1.0-1.4_da=0.001_ens=1000_tmax=1000000_ttrans=1000_grid=200.dat" writedlm(f_name,data) # load data f_name = "./tests/henon_measures_a=1.0-1.4_da=0.001_t=10^5_ens=1000_tmax=30000_ttrans=1000.dat" f_name = "./tests/henon_measures_a=1.21-1.23_da=0.0001_t=10^5_ens=1000_tmax=30000_ttrans=1000.dat" +f_name = "./tests/henon_measures_a=1.0-1.4_da=0.001_ens=1000_tmax=300000_ttrans=1000.dat" data = readdlm(f_name) pl = scatter(data[:,1], data[:,2], label = "Random walk", lw=2, color="gray", alpha=0.5) From 6976bab37f0dfab401eaaa93ce493ac7bc0b76d0 Mon Sep 17 00:00:00 2001 From: sbulcsu Date: Mon, 3 Jul 2023 09:31:29 +0300 Subject: [PATCH 07/32] random P matrices --- tests/test_random_stns.jl | 116 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 116 insertions(+) create mode 100644 tests/test_random_stns.jl diff --git a/tests/test_random_stns.jl b/tests/test_random_stns.jl new file mode 100644 index 0000000..667ce77 --- /dev/null +++ b/tests/test_random_stns.jl @@ -0,0 +1,116 @@ +using StateTransitionNetworks +using Plots +using DynamicalSystems +using Graphs +using GraphPlot +using Random +using Statistics + +using LinearAlgebra +using DelimitedFiles +using LaTeXStrings + +N = 4 +ens = 1000 + + +function random_transition_matrix(N, A) + P = zeros(N,N) + for i in 1:N + for j in 1:N + if A[i,j]==1 + P[i,j] = rand() + end + end + end + for i in 1:N + if sum(P[i,:]) !=0 + P[i,:] = P[i,:]/sum(P[i,:]) + end + end + return P +end + +a = 2^(N*N)-1 +A = Float64.(reshape(digits(a, base=2, pad=N*N), (N,N))) +P = random_transition_matrix(N,A) +network_measures(P) +stn, retcode = create_stn(P; make_ergodic=true) +P = prob_matrix(stn) +network_measures(P) + +data0 = []; +data1 = []; +data2 = []; +data3 = []; +data4 = []; +for a in 1:2^(N*N)-1 + @show a + A = Float64.(reshape(digits(a, base=2, pad=N*N), (N,N))) + P = random_transition_matrix(N,A) + stn, retcode = create_stn(P; make_ergodic=true) + if retcode == :Success + av_entropy = 0. + av_lyapunov = 0. + var_entropy = 0. + var_lyapunov = 0. + for i in 1:ens + P = random_transition_matrix(N,A) + stn, retcode = create_stn(P; make_ergodic=true) + P = prob_matrix(stn) + entropy, lyapunov = network_measures(P) + av_entropy += entropy + av_lyapunov += lyapunov + var_entropy += entropy^2 + var_lyapunov += lyapunov^2 + end + else + av_entropy = -1. * ens + av_lyapunov = -1. * ens + var_entropy = 1. * ens + var_lyapunov = 1. * ens + end + push!(data0, a) + push!(data1, av_entropy/ens) + push!(data2, av_lyapunov/ens) + push!(data3, sqrt(var_entropy/ens-(av_entropy/ens)^2)) + push!(data4, sqrt(var_lyapunov/ens-(av_lyapunov/ens)^2)) +end + +mask1 = data1 .!= -1 +plot(data0[mask1], data3[mask1], label=L"\mathrm{std}(S)") +plot!(data0[mask1], data1[mask1], label=L"\langle S \rangle") +plot!(xlabel=L"a", ylabel=L"S", xguidefontsize=22, yguidefontsize=22, tickfontsize=14, xtickfontsize=12, lw=2, legendfontsize=16) +savefig("random_networks_entropy_N=4_uniform.pdf") +mask2 = data2 .!= -1 +plot(data0[mask2], data4[mask2], label=L"\mathrm{std}(\Lambda)") +plot!(data0[mask2], data2[mask2], label=L"\langle \Lambda \rangle") +plot!(ylim=[0.01,2]) +plot!(xlabel=L"a", ylabel=L"\Lambda", xguidefontsize=22, yguidefontsize=22, tickfontsize=14, xtickfontsize=12, lw=2, legendfontsize=16) +savefig("random_networks_lyapunov_N=4_uniform.pdf") + + +idx = findall(x->x>1.15, data1) +A = reshape(digits(idx[1], base=2, pad=N*N), (N,N)) +P = random_transition_matrix(N,A) +stn, retcode = create_stn(P; make_ergodic=true) +P = prob_matrix(stn) +network_measures(P) +plot_stn(stn) + +idx = findall(x->x>10, data4) + +# 0 lyapunov measure +idx = findall(x->x≈0, data2) +A = reshape(digits(idx[end], base=2, pad=N*N), (N,N)) +P = random_transition_matrix(N,A) +stn, retcode = create_stn(P; make_ergodic=true) +P = prob_matrix(stn) +network_measures(P) + +idx = findmax(data1)[end] +A = reshape(digits(idx[end], base=2, pad=N*N), (N,N)) +P = random_transition_matrix(N,A) +stn, retcode = create_stn(P; make_ergodic=true) +P = prob_matrix(stn) +network_measures(P) \ No newline at end of file From acdbcc6552a2b8aa66eceb5099e0c740d8ba3e99 Mon Sep 17 00:00:00 2001 From: rusandris Date: Wed, 12 Jul 2023 10:17:29 +0300 Subject: [PATCH 08/32] optimized stn creation --- Manifest.toml | 8 ++++---- Project.toml | 1 + src/StateTransitionNetworks.jl | 1 + src/create_stn.jl | 31 ++++++++++++------------------- 4 files changed, 18 insertions(+), 23 deletions(-) diff --git a/Manifest.toml b/Manifest.toml index 34eee42..2287132 100644 --- a/Manifest.toml +++ b/Manifest.toml @@ -1,8 +1,8 @@ # This file is machine-generated - editing it directly is not advised -julia_version = "1.8.0" +julia_version = "1.8.1" manifest_format = "2.0" -project_hash = "4f0a8d8d7911342941c915f83866d669f6317b32" +project_hash = "6bbec9cbe86b9916261e0f849ba108bc4189daba" [[deps.AbstractFFTs]] deps = ["ChainRulesCore", "LinearAlgebra"] @@ -249,9 +249,9 @@ version = "1.14.0" [[deps.DataStructures]] deps = ["Compat", "InteractiveUtils", "OrderedCollections"] -git-tree-sha1 = "d1fff3a548102f48987a52a2e0d114fa97d730f0" +git-tree-sha1 = "cf25ccb972fec4e4817764d01c82386ae94f77b4" uuid = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8" -version = "0.18.13" +version = "0.18.14" [[deps.DataValueInterfaces]] git-tree-sha1 = "bfc1187b79289637fa0ef6d4436ebdfe6905cbd6" diff --git a/Project.toml b/Project.toml index efa3a23..433d568 100644 --- a/Project.toml +++ b/Project.toml @@ -7,6 +7,7 @@ version = "0.1.0" Cairo = "159f3aea-2a34-519c-b102-8c37f9878175" ChaosTools = "608a59af-f2a3-5ad4-90b4-758bdf3122a7" Compose = "a81c6b42-2e10-5240-aca2-a61377ecd94b" +DataStructures = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8" DelayEmbeddings = "5732040d-69e3-5649-938a-b6b4f237613f" DiscreteMarkovChains = "8abcb7ef-b365-4f7b-ac38-56893fb62f9f" DynamicalSystems = "61744808-ddfa-5f27-97ff-6e42cc95d634" diff --git a/src/StateTransitionNetworks.jl b/src/StateTransitionNetworks.jl index f678201..f33df55 100644 --- a/src/StateTransitionNetworks.jl +++ b/src/StateTransitionNetworks.jl @@ -8,6 +8,7 @@ import SparseArrays: spzeros import DelayEmbeddings: Dataset,AbstractDataset import ChaosTools: poincaresos import LinearAlgebra: eigen, Diagonal +import DataStructures: OrderedDict include("create_stn.jl") include("network_measures.jl") diff --git a/src/create_stn.jl b/src/create_stn.jl index 53c9312..3e80b42 100644 --- a/src/create_stn.jl +++ b/src/create_stn.jl @@ -26,7 +26,7 @@ function timeseries_to_grid(timeseries, grid) x_n = Vector{Int64}(undef, T) y_n = Vector{Int64}(undef, T) num_vertex = 0 - vertex_names = []; + vertex_names = OrderedDict{Tuple{Int64,Int64},Int64}() x_n, y_n = [], []; for row in eachrow(timeseries) @@ -34,14 +34,13 @@ function timeseries_to_grid(timeseries, grid) x = floor(Int,(row[1]-x_min)/Float64(x_grid.step))+1 if M[y,x] == 0 num_vertex += 1 - push!(vertex_names, [num_vertex, x, y]) + vertex_names[(x,y)] = num_vertex M[y,x] = 1 end push!(x_n, x) push!(y_n, y) end - vertex_names = reduce(hcat, vertex_names)' - d_timeseries = [x_n y_n] + d_timeseries = collect(zip(x_n,y_n)) return d_timeseries, vertex_names end @@ -90,22 +89,17 @@ Creates a state transition network (STN) using the discrete timeseries and verte stn[i,j] -> (:prob => P[i,j],:weight => Q[i,j]) """ function create_stn(discrete_timeseries,vertex_names;make_ergodic=false,verbose=false) - nr_vertices = length(vertex_names[:,1]) - states = zeros(Int32,length(discrete_timeseries[:,1])) #discrete timeseries but only with vertex indices - - for v in 1:nr_vertices - timepoints_at_v = findall(x -> x == vertex_names[v,2:end],[eachrow(discrete_timeseries)...]) #find all times when state was v - states[timepoints_at_v] .= v - end + nr_vertices = length(vertex_names) #weight and transition probability matrices Q = spzeros(nr_vertices, nr_vertices) P = spzeros(nr_vertices, nr_vertices) #count transitions - next_states = circshift(states,-1) - for i in eachindex(states[1:end-1]) - Q[states[i],next_states[i]] += 1 + for i in eachindex(discrete_timeseries[1:end-1]) + state = discrete_timeseries[i] + next_state = discrete_timeseries[i+1] + Q[vertex_names[state],vertex_names[next_state]] += 1 end #normalize Q and fill P by normalizing rows @@ -126,13 +120,12 @@ function create_stn(discrete_timeseries,vertex_names;make_ergodic=false,verbose= #add edges and properties #Properties: vertices -> Dict{Symbol,Int64}, edges -> Dict{Symbol,Float64} - for v in 1:nr_vertices - x,y = vertex_names[v,2:end] - stn[v] = Dict(:x => x,:y => y) + for state in keys(vertex_names) + stn[vertex_names[state]] = Dict(:x => state[1],:y => state[2]) end - for i in 1:nr_vertices - for j in 1:nr_vertices + for i in 1:length(vertex_names) + for j in 1:length(vertex_names) if P[i, j] != 0 stn[i,j] = Dict(:prob => P[i,j],:weight => Q[i,j]) end From 5ce7f178c260c4d568c900fa27aac2d25f0cc213 Mon Sep 17 00:00:00 2001 From: sbulcsu Date: Thu, 13 Jul 2023 15:34:33 +0300 Subject: [PATCH 09/32] random Erdos-Renyi graphs --- tests/test_random_stns.jl | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/tests/test_random_stns.jl b/tests/test_random_stns.jl index 667ce77..b636117 100644 --- a/tests/test_random_stns.jl +++ b/tests/test_random_stns.jl @@ -113,4 +113,28 @@ A = reshape(digits(idx[end], base=2, pad=N*N), (N,N)) P = random_transition_matrix(N,A) stn, retcode = create_stn(P; make_ergodic=true) P = prob_matrix(stn) -network_measures(P) \ No newline at end of file +network_measures(P) + + +# fully connected STN with random weights => S ~ N, Λ = 0.25 +data0 = []; +data1 = []; +data2 = []; +for N in 1:500 + @show N + A = ones(N,N) + P = random_transition_matrix(N,A) + S, Λ = network_measures(P) + push!(data0, N) + push!(data1, S) + push!(data2, Λ) + #lyapunov_measure(P) +end +mask1 = data1 .!= -1 +#mask1 = 1 ./ data1 .!= Inf +plot(data0[mask1], data1[mask1], label=L"S", linewidth=4) +plot!(data0[mask1], data2[mask1], label=L"\Lambda", linewidth=4) +plot!(data0[mask1], log.(data0[mask1]), label=L"S=\log(N)", linewidth=2, linestyle= :dash,color=:black) +plot!(data0[mask1], 0.25*ones(500), label=L"\Lambda=1/4", linewidth=2, linestyle= :dash,color=:gray) +plot!(xlabel=L"N", ylabel=L"S,\Lambda", xguidefontsize=22, yguidefontsize=22, tickfontsize=14, xtickfontsize=12, lw=2, legendfontsize=16) +#plot!(xaxis=:log, yaxis=:log) \ No newline at end of file From 462ff220236a3b4cc6e464afd2b42575e0dad02c Mon Sep 17 00:00:00 2001 From: sbulcsu Date: Fri, 14 Jul 2023 09:35:18 +0300 Subject: [PATCH 10/32] measures for different grid sizes --- tests/plot_measures_henon.jl | 56 ++++++++++++++++++++++++++++++++---- 1 file changed, 51 insertions(+), 5 deletions(-) diff --git a/tests/plot_measures_henon.jl b/tests/plot_measures_henon.jl index 7c38dcd..ebe373e 100644 --- a/tests/plot_measures_henon.jl +++ b/tests/plot_measures_henon.jl @@ -14,16 +14,62 @@ using LaTeXStrings ### Measures for a single value ############################### -grid_size = 20; +grid_size = 1000; b = 0.3; a = 1.4; -ds = Systems.henon([0.1, 0.123]; a=a, b=b) -λ = lyapunov(ds, 10000; d0 = 1e-7, threshold = 1e-4, Ttr = 500) -timeseries = trajectory(ds, 100000, [0, 0]; Ttr=1000) +ds = Systems.henon([0.1, 0.123]; a=a, b=b); +λ = lyapunov(ds, 10000; d0 = 1e-7, threshold = 1e-4, Ttr = 500); +timeseries = trajectory(ds, 100000, [0, 0]; Ttr=1000); discrete_timeseries, vertex_names = timeseries_to_grid(timeseries, grid_size); @time stn,retcode = create_stn(discrete_timeseries, vertex_names); P = prob_matrix(stn); -S, Λ = network_measures(P) +@time S, Λ = network_measures(P) + +############################### +### Measures as a function of the grid +############################### + +data0 = collect(10:1:500); +data1 = zeros(length(data0)); +data2 = zeros(length(data0)); +b = 0.3; +a = 1.4; +a = 1.2265; +ens = 10 +ds = Systems.henon([0.1, 0.123]; a=a, b=b); +λ = lyapunov(ds, 10000; d0 = 1e-7, threshold = 1e-4, Ttr = 500) +#plot(timeseries[end-1000:end,1]) +for i in 1:ens + @show i + u0 = 0.2*rand(2) + timeseries = trajectory(ds, 5000000, u0; Ttr=1000); + for (g,grid_size) in enumerate(data0); + @show grid_size + discrete_timeseries, vertex_names = timeseries_to_grid(timeseries, grid_size); + @time stn,retcode = create_stn(discrete_timeseries, vertex_names); + P = prob_matrix(stn); + @time S, Λ = network_measures(P) + data1[g] += S + data2[g] += Λ + end +end +data1 ./= ens +data2 ./= ens + +# save data +f_name1 = "./tests/henon_S-gr_a=1.4_b=0.3_gr=5-500_dgr=5_t=5x10^6_ttrans=1000.dat" +f_name1 = "./tests/henon_S-gr_a=1.2265_b=0.3_gr=5-500_dgr=5_t=5x10^6_ttrans=1000.dat" +writedlm(f_name1,data1) +f_name2 = "./tests/henon_Lyap-gr_a=1.4_b=0.3_gr=5-500_dgr=5_t=5x10^6_ttrans=1000.dat" +f_name2 = "./tests/henon_Lyap-gr_a=1.2265_b=0.3_gr=5-500_dgr=5_t=5x10^6_ttrans=1000.dat" +writedlm(f_name2,data2) +# load data +data0 = collect(5:5:500); +data1 = readdlm(f_name1); +data2 = readdlm(f_name2); + +plot!(data0, data1) +plot!(data0, data2) ################# ### orbit diagram From 1290c243fd74d26551ede55a94ca3118dab5f10a Mon Sep 17 00:00:00 2001 From: rusandris Date: Fri, 21 Jul 2023 11:38:39 +0300 Subject: [PATCH 11/32] add operations.jl and unit testing for addition and are_equal --- src/StateTransitionNetworks.jl | 4 +- src/create_stn.jl | 15 +++--- src/operations.jl | 87 ++++++++++++++++++++++++++++++++++ unit_tests/operations.jl | 26 ++++++++++ 4 files changed, 125 insertions(+), 7 deletions(-) create mode 100644 src/operations.jl create mode 100644 unit_tests/operations.jl diff --git a/src/StateTransitionNetworks.jl b/src/StateTransitionNetworks.jl index f33df55..09400ad 100644 --- a/src/StateTransitionNetworks.jl +++ b/src/StateTransitionNetworks.jl @@ -1,6 +1,6 @@ module StateTransitionNetworks -import Graphs: DiGraph,add_edge!, inneighbors,outneighbors, nv, ne, weights, is_strongly_connected,strongly_connected_components,edges,degree_histogram +import Graphs: DiGraph,add_edge!, inneighbors,outneighbors, nv, ne, weights, is_strongly_connected,strongly_connected_components,edges,degree_histogram,vertices import StatsBase: sample, mean, var, Weights using MetaGraphsNext using GraphPlot,Cairo,Compose @@ -14,10 +14,12 @@ include("create_stn.jl") include("network_measures.jl") include("plot_stn.jl") include("timeseries_analysis.jl") +include("operations.jl") export timeseries_to_grid, create_stn, check_stn!, prob_matrix, weight_matrix, calculate_weight_matrix, random_walk_on_stn, randomwalk_step,isnormalized export network_measures, sinai_kolmogorov_entropy, measure_convergence,lyapunov_measure export plot_stn export stn_analysis,read_bin,ndensity +export add_timeseries,are_equal,timeseries_to_common_grid end diff --git a/src/create_stn.jl b/src/create_stn.jl index 3e80b42..78beba8 100644 --- a/src/create_stn.jl +++ b/src/create_stn.jl @@ -4,14 +4,18 @@ Discretizes a 2D timeseries/trajectory on a grid. Returns a discrete timeseries containing the the cell coordinates and the list of vertices with cell coordinates. """ -function timeseries_to_grid(timeseries, grid) +function timeseries_to_grid(timeseries, grid; grid_edges = []) M = zeros(grid,grid) T = length(timeseries[:,1]) - x_min = minimum(timeseries[:, 1]) - y_min = minimum(timeseries[:, 2]) - x_max = maximum(timeseries[:, 1]) - y_max = maximum(timeseries[:, 2]) + if isempty(grid_edges) + x_min = minimum(timeseries[:, 1]) + y_min = minimum(timeseries[:, 2]) + x_max = maximum(timeseries[:, 1]) + y_max = maximum(timeseries[:, 2]) + else + x_min,y_min,x_max,y_max = grid_edges + end #partitioning with little extra space on both ends dx = 0.5*(x_max-x_min)/grid @@ -44,7 +48,6 @@ function timeseries_to_grid(timeseries, grid) return d_timeseries, vertex_names end - """ create_stn(ts,grid::Int64,plane,idxs;make_ergodic=false, verbose=false,kwargs...) -> stn Higher level function that creates a state transition network (STN) directly from the timeseries of a continuous system `ts` using `ChaosTools.poincaresos`. The returned `stn` is a directed metagraph object. \\ diff --git a/src/operations.jl b/src/operations.jl new file mode 100644 index 0000000..7f95720 --- /dev/null +++ b/src/operations.jl @@ -0,0 +1,87 @@ +function get_grid_edges(psections) + x_max, y_max = maximum(reduce(vcat, maximum.(Matrix.(psections); dims=1)); dims=1) + x_min, y_min = minimum(reduce(vcat, minimum.(Matrix.(psections); dims=1)); dims=1) + return [x_min, y_min, x_max, y_max] +end + +function timeseries_to_common_grid(list_of_timeseries, grid) + grid_edges = get_grid_edges(list_of_timeseries) + + symbolic_ts_list = [] + + for ts in list_of_timeseries + sym_ts,vnames = timeseries_to_grid(ts, grid; grid_edges = grid_edges) + push!(symbolic_ts_list,sym_ts) + end + return symbolic_ts_list +end + + + +function add_timeseries(symbolic_ts_list, grid; make_ergodic=false, verbose=false) + Q_null = zeros(Int32, grid*grid, grid*grid) # Null matrix with all possible transitions + vertex_names = OrderedDict{Tuple{Int64,Int64},Int64}() + vertex_place = []; # Rows, and column number in Q_null for a given vertex + M = zeros(grid,grid) + nr_vertices = 0; + for ts in symbolic_ts_list + O = zeros(Int32, grid*grid, grid*grid) + + + for (i,state) in enumerate(ts) + x, y = state + v = (x-1)*grid + y + + if M[y,x] == 0 + nr_vertices += 1 + vertex_names[(x,y)] = nr_vertices + push!(vertex_place, v) + M[y,x] = 1 + end + + if i < length(ts) + x_next,y_next = ts[i+1] + v_next = (x_next-1)*grid + y_next + O[v,v_next] +=1 + end + + end + + Q_null = Q_null + O + end + Q = Q_null[vertex_place, vertex_place] + #weight and transition probability matrices + P = spzeros(nr_vertices, nr_vertices) + #normalize Q and fill P by normalizing rows + Q = Q./sum(Q) + + P = renormalize(Q) + #create directed metagraph with static label and metadata types and default weight 0 + stn, ret_code = create_stn(P; make_ergodic=make_ergodic, verbose=verbose) + + for state in keys(vertex_names) + stn[vertex_names[state]] = Dict(:x => state[1],:y => state[2]) + end + + return stn, ret_code +end + +function are_equal(stn1, stn2) + Q1 = weight_matrix(stn1) + Q2 = weight_matrix(stn2) + if size(Q1) != size(Q2) + return false + end + vertices_2 = Vector(vertices(stn2)); + permutation = []; + for i in vertices(stn1) + for j in vertices_2 + if stn1[i] == stn2[j] + push!(permutation, j) + deleteat!(vertices_2, findall(x->x==j,vertices_2)) + break + end + end + end + return Q1 ≈ Q2[permutation, permutation] +end diff --git a/unit_tests/operations.jl b/unit_tests/operations.jl new file mode 100644 index 0000000..db621b0 --- /dev/null +++ b/unit_tests/operations.jl @@ -0,0 +1,26 @@ +using StateTransitionNetworks +using DynamicalSystems +using Test + + +@testset "stn addition test: addition" begin + stn_added_test,retcode = add_timeseries([[(1,2),(2,3),(3,4),(1,2),(3,4)],[(3,4),(10,4),(1,2)]],10) + @test retcode == :Success + @test length(prob_matrix(stn_added_test).nzval) == 6 +end + + +ds = Systems.henon() +traj1 = trajectory(ds,10000;Ttr = 1000) +traj2 = trajectory(ds,10000;Ttr = 11000) + + +@testset "stn addition test: commutativity" begin + symts_list12 = timeseries_to_common_grid([traj1,traj2],20) + symts_list21 = timeseries_to_common_grid([traj2,traj1],20) + + stn_added12,retcode = add_timeseries(symts_list12,20) + stn_added21,retcode = add_timeseries(symts_list21,20) + @test are_equal(stn_added12,stn_added21) + +end From b3aecf5b08a1ea6c58954b8222b0f9f30e75526e Mon Sep 17 00:00:00 2001 From: rusandris Date: Mon, 24 Jul 2023 16:17:53 +0300 Subject: [PATCH 12/32] update dependencies --- Manifest.toml | 88 +-------------------------------------------------- Project.toml | 4 +-- 2 files changed, 3 insertions(+), 89 deletions(-) diff --git a/Manifest.toml b/Manifest.toml index 2287132..05d6edb 100644 --- a/Manifest.toml +++ b/Manifest.toml @@ -2,7 +2,7 @@ julia_version = "1.8.1" manifest_format = "2.0" -project_hash = "6bbec9cbe86b9916261e0f849ba108bc4189daba" +project_hash = "92617478b276f78bc9c88089d2738cea504e47f8" [[deps.AbstractFFTs]] deps = ["ChainRulesCore", "LinearAlgebra"] @@ -73,11 +73,6 @@ git-tree-sha1 = "19a35467a82e236ff51bc17a3a44b69ef35185a2" uuid = "6e34b625-4abd-537c-b88f-471c36dfa7a0" version = "1.0.8+0" -[[deps.CEnum]] -git-tree-sha1 = "eb4cb44a499229b3b8426dcfb5dd85333951ff90" -uuid = "fa961155-64e5-5f13-b03f-caf6b980ea82" -version = "0.4.2" - [[deps.CPUSummary]] deps = ["CpuId", "IfElse", "Static"] git-tree-sha1 = "2c144ddb46b552f72d7eafe7cc2f50746e41ea21" @@ -231,11 +226,6 @@ git-tree-sha1 = "fcbb72b032692610bfbdb15018ac16a36cf2e406" uuid = "adafc99b-e345-5852-983c-f28acb93d879" version = "0.3.1" -[[deps.Crayons]] -git-tree-sha1 = "249fe38abf76d48563e2f4556bebd215aa317e15" -uuid = "a8cc5b0e-0ffa-5ad4-8c14-923d3ee1735f" -version = "4.1.1" - [[deps.DSP]] deps = ["Compat", "FFTW", "IterTools", "LinearAlgebra", "Polynomials", "Random", "Reexport", "SpecialFunctions", "Statistics"] git-tree-sha1 = "da8b06f89fce9996443010ef92572b193f8dca1f" @@ -335,24 +325,12 @@ git-tree-sha1 = "5837a837389fccf076445fce071c8ddaea35a566" uuid = "fa6b7ba4-c1ee-5f82-b5fc-ecf0adba8f74" version = "0.6.8" -[[deps.DynamicalSystems]] -deps = ["ChaosTools", "DelayEmbeddings", "DynamicalSystemsBase", "Entropies", "RecurrenceAnalysis", "Reexport", "Scratch"] -git-tree-sha1 = "5f6afe8c904f66e2f74ad23f032d526e690a3f55" -uuid = "61744808-ddfa-5f27-97ff-6e42cc95d634" -version = "2.3.0" - [[deps.DynamicalSystemsBase]] deps = ["DelayEmbeddings", "ForwardDiff", "LinearAlgebra", "Roots", "SciMLBase", "SimpleDiffEq", "SparseArrays", "StaticArrays", "Statistics"] git-tree-sha1 = "698c3ec275cf0e0784bdfdaf5fb30ec551fa5142" uuid = "6e36e845-645a-534a-86f2-f5d4aa5a06b4" version = "2.9.1" -[[deps.EarCut_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "e3290f2d49e661fbd94046d7e3726ffcb2d41053" -uuid = "5ae413db-bbd1-5e63-b57d-d24a61df00f5" -version = "2.2.4+0" - [[deps.Entropies]] deps = ["DelayEmbeddings", "Distances", "LinearAlgebra", "Neighborhood", "QuadGK", "SparseArrays", "SpecialFunctions", "StaticArrays", "Statistics", "StatsBase", "Wavelets"] git-tree-sha1 = "ca95997c3c3655e26886775f2d2efb1e2b412328" @@ -380,11 +358,6 @@ git-tree-sha1 = "c1d06d129da9f55715c6c212866f5b1bddc5fa00" uuid = "e2ba6199-217a-4e67-a87a-7c52f15ade04" version = "0.1.9" -[[deps.Extents]] -git-tree-sha1 = "5e1e4c53fa39afe63a7d356e30452249365fba99" -uuid = "411431e0-e8b7-467b-b5e0-f676ba4f2910" -version = "0.1.1" - [[deps.FFMPEG]] deps = ["FFMPEG_jll"] git-tree-sha1 = "b57e3acbe22f8484b4b5ff66a7499717fe1a9cc8" @@ -460,24 +433,12 @@ git-tree-sha1 = "00e252f4d706b3d55a8863432e742bf5717b498d" uuid = "f6369f11-7733-5829-9624-2563aa707210" version = "0.10.35" -[[deps.FreeType]] -deps = ["CEnum", "FreeType2_jll"] -git-tree-sha1 = "cabd77ab6a6fdff49bfd24af2ebe76e6e018a2b4" -uuid = "b38be410-82b0-50bf-ab77-7b57e271db43" -version = "4.0.0" - [[deps.FreeType2_jll]] deps = ["Artifacts", "Bzip2_jll", "JLLWrappers", "Libdl", "Pkg", "Zlib_jll"] git-tree-sha1 = "87eb71354d8ec1a96d4a7636bd57a7347dde3ef9" uuid = "d7e528f0-a631-5988-bf34-fe36492bcfd7" version = "2.10.4+0" -[[deps.FreeTypeAbstraction]] -deps = ["ColorVectorSpace", "Colors", "FreeType", "GeometryBasics"] -git-tree-sha1 = "b5c7fe9cea653443736d264b85466bad8c574f4a" -uuid = "663a7486-cb36-511b-a19d-713bb74d65c9" -version = "0.9.9" - [[deps.FriBidi_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] git-tree-sha1 = "aa31987c2ba8704e23c6c8ba8a4f769d5d7e4f91" @@ -523,18 +484,6 @@ git-tree-sha1 = "47a2efe07729dd508a032e2f56c46c517481052a" uuid = "d2c73de3-f751-5644-a686-071e5b155ba9" version = "0.72.2+0" -[[deps.GeoInterface]] -deps = ["Extents"] -git-tree-sha1 = "0eb6de0b312688f852f347171aba888658e29f20" -uuid = "cf35fbd7-0cd7-5166-be24-54bfbe79505f" -version = "1.3.0" - -[[deps.GeometryBasics]] -deps = ["EarCut_jll", "GeoInterface", "IterTools", "LinearAlgebra", "StaticArrays", "StructArrays", "Tables"] -git-tree-sha1 = "303202358e38d2b01ba46844b92e48a3c238fd9e" -uuid = "5c1252a2-5f33-56bf-86c9-59e7332b4326" -version = "0.4.6" - [[deps.Gettext_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Libiconv_jll", "Pkg", "XML2_jll"] git-tree-sha1 = "9b02998aba7bf074d14de89f9d37ca24a1a0b046" @@ -745,11 +694,6 @@ version = "0.15.1" deps = ["Artifacts", "Pkg"] uuid = "4af54fe1-eca0-43a8-85a7-787d91b784e3" -[[deps.LazyModules]] -git-tree-sha1 = "a560dd966b386ac9ae60bdd3a3d3a326062d3c3e" -uuid = "8cdb02fc-e678-4876-92c5-9defec4f444e" -version = "0.3.1" - [[deps.LibCURL]] deps = ["LibCURL_jll", "MozillaCACerts_jll"] uuid = "b27032c2-a3e7-50c8-80cd-2d36dbcbfd21" @@ -874,12 +818,6 @@ git-tree-sha1 = "bcaef4fc7a0cfe2cba636d84cda54b5e4e4ca3cd" uuid = "d125e4d3-2237-4719-b19c-fa641b8a4667" version = "0.1.8" -[[deps.MarchingCubes]] -deps = ["SnoopPrecompile", "StaticArrays"] -git-tree-sha1 = "b198463d1a631e8771709bc8e011ba329da9ad38" -uuid = "299715c1-40a9-479a-aaf9-4a633d36f717" -version = "0.1.7" - [[deps.Markdown]] deps = ["Base64"] uuid = "d6f4376e-aef5-505a-96c1-9c027394607a" @@ -1175,12 +1113,6 @@ git-tree-sha1 = "e974477be88cb5e3040009f3767611bc6357846f" uuid = "01d81517-befc-4cb6-b9ec-a95719d0359c" version = "0.6.11" -[[deps.RecurrenceAnalysis]] -deps = ["DelayEmbeddings", "DelimitedFiles", "Distances", "Graphs", "LinearAlgebra", "Random", "SparseArrays", "StaticArrays", "Statistics", "UnicodePlots"] -git-tree-sha1 = "6ef236edbec1e6e48ef64d2bb41e571267213f3a" -uuid = "639c3291-70d9-5ea2-8c5b-839eba1ee399" -version = "1.8.1" - [[deps.RecursiveArrayTools]] deps = ["Adapt", "ArrayInterface", "DocStringExtensions", "GPUArraysCore", "IteratorInterfaceExtensions", "LinearAlgebra", "RecipesBase", "Requires", "StaticArraysCore", "Statistics", "SymbolicIndexingInterface", "Tables"] git-tree-sha1 = "140cddd2c457e4ebb0cdc7c2fd14a7fbfbdf206e" @@ -1395,12 +1327,6 @@ git-tree-sha1 = "f5a57d3c111c79fcc1f8fed6058a8753d061c6d2" uuid = "7792a7ef-975c-4747-a70f-980b88e8d1da" version = "0.4.12" -[[deps.StructArrays]] -deps = ["Adapt", "DataAPI", "GPUArraysCore", "StaticArraysCore", "Tables"] -git-tree-sha1 = "521a0e828e98bb69042fec1809c1b5a680eb7389" -uuid = "09ab397b-f2b6-538f-b94a-2f83cf4a842a" -version = "0.6.15" - [[deps.SuiteSparse]] deps = ["Libdl", "LinearAlgebra", "Serialization", "SparseArrays"] uuid = "4607b0f0-06f3-5cda-b6b1-a6196a1729e9" @@ -1495,18 +1421,6 @@ git-tree-sha1 = "53915e50200959667e78a92a418594b428dffddf" uuid = "1cfade01-22cf-5700-b092-accc4b62d6e1" version = "0.4.1" -[[deps.UnicodePlots]] -deps = ["ColorTypes", "Contour", "Crayons", "Dates", "FileIO", "FreeTypeAbstraction", "LazyModules", "LinearAlgebra", "MarchingCubes", "NaNMath", "Printf", "SparseArrays", "StaticArrays", "StatsBase", "Unitful"] -git-tree-sha1 = "ae67ab0505b9453655f7d5ea65183a1cd1b3cfa0" -uuid = "b8865327-cd53-5732-bb35-84acbb429228" -version = "2.12.4" - -[[deps.Unitful]] -deps = ["ConstructionBase", "Dates", "LinearAlgebra", "Random"] -git-tree-sha1 = "dba3eba51b9512695b59e0bd8263ac074c5ed2d9" -uuid = "1986cc42-f94f-5a68-af5c-568840ba703d" -version = "1.13.1" - [[deps.Unzip]] git-tree-sha1 = "ca0969166a028236229f63514992fc073799bb78" uuid = "41fe7b60-77ed-43a1-b4f0-825fd5a5650d" diff --git a/Project.toml b/Project.toml index 433d568..b0d3abc 100644 --- a/Project.toml +++ b/Project.toml @@ -10,7 +10,6 @@ Compose = "a81c6b42-2e10-5240-aca2-a61377ecd94b" DataStructures = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8" DelayEmbeddings = "5732040d-69e3-5649-938a-b6b4f237613f" DiscreteMarkovChains = "8abcb7ef-b365-4f7b-ac38-56893fb62f9f" -DynamicalSystems = "61744808-ddfa-5f27-97ff-6e42cc95d634" GraphPlot = "a2cc645c-3eea-5389-862e-a155d0052231" Graphs = "86223c79-3864-5bf0-83f7-82e725a168b6" LaTeXStrings = "b964fa9f-0449-5b57-a5c2-d3ea65f4040f" @@ -24,5 +23,6 @@ StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" StatsBase = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91" StatsPlots = "f3b207a7-027a-5e70-b257-86293d7955fd" + [compat] -DynamicalSystems = "2.3" +ChaosTools = "2.9.0" From c67cbba3edd7a95bba48c281d5bcd1f05d96c0a7 Mon Sep 17 00:00:00 2001 From: rusandris Date: Mon, 24 Jul 2023 17:09:58 +0300 Subject: [PATCH 13/32] update dependencies --- Manifest.toml | 2 +- Project.toml | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/Manifest.toml b/Manifest.toml index 05d6edb..e95faeb 100644 --- a/Manifest.toml +++ b/Manifest.toml @@ -2,7 +2,7 @@ julia_version = "1.8.1" manifest_format = "2.0" -project_hash = "92617478b276f78bc9c88089d2738cea504e47f8" +project_hash = "a4bcbe41968978ca780cfc192eaa988a05702963" [[deps.AbstractFFTs]] deps = ["ChainRulesCore", "LinearAlgebra"] diff --git a/Project.toml b/Project.toml index b0d3abc..c991986 100644 --- a/Project.toml +++ b/Project.toml @@ -19,10 +19,8 @@ Permutations = "2ae35dd2-176d-5d53-8349-f30d82d94d4f" Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80" Revise = "295af30f-e4ad-537b-8983-00126c2a3abe" SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" -StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" StatsBase = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91" StatsPlots = "f3b207a7-027a-5e70-b257-86293d7955fd" - [compat] ChaosTools = "2.9.0" From 1ba657ba5abf2e188b8000f9b61cae202db2db90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20Rusu?= <62118955+rusandris@users.noreply.github.com> Date: Mon, 24 Jul 2023 17:14:53 +0300 Subject: [PATCH 14/32] Delete Manifest.toml --- Manifest.toml | 1681 ------------------------------------------------- 1 file changed, 1681 deletions(-) delete mode 100644 Manifest.toml diff --git a/Manifest.toml b/Manifest.toml deleted file mode 100644 index e95faeb..0000000 --- a/Manifest.toml +++ /dev/null @@ -1,1681 +0,0 @@ -# This file is machine-generated - editing it directly is not advised - -julia_version = "1.8.1" -manifest_format = "2.0" -project_hash = "a4bcbe41968978ca780cfc192eaa988a05702963" - -[[deps.AbstractFFTs]] -deps = ["ChainRulesCore", "LinearAlgebra"] -git-tree-sha1 = "16b6dbc4cf7caee4e1e75c49485ec67b667098a0" -uuid = "621f4979-c628-5d54-868e-fcf4e3e8185c" -version = "1.3.1" - -[[deps.Adapt]] -deps = ["LinearAlgebra", "Requires"] -git-tree-sha1 = "cc37d689f599e8df4f464b2fa3870ff7db7492ef" -uuid = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" -version = "3.6.1" - -[[deps.ArgTools]] -uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f" -version = "1.1.1" - -[[deps.ArnoldiMethod]] -deps = ["LinearAlgebra", "Random", "StaticArrays"] -git-tree-sha1 = "62e51b39331de8911e4a7ff6f5aaf38a5f4cc0ae" -uuid = "ec485272-7323-5ecc-a04f-4719b315124d" -version = "0.2.0" - -[[deps.Arpack]] -deps = ["Arpack_jll", "Libdl", "LinearAlgebra", "Logging"] -git-tree-sha1 = "9b9b347613394885fd1c8c7729bfc60528faa436" -uuid = "7d9fca2a-8960-54d3-9f78-7d1dccf2cb97" -version = "0.5.4" - -[[deps.Arpack_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "OpenBLAS_jll", "Pkg"] -git-tree-sha1 = "5ba6c757e8feccf03a1554dfaf3e26b3cfc7fd5e" -uuid = "68821587-b530-5797-8361-c406ea357684" -version = "3.5.1+1" - -[[deps.ArrayInterface]] -deps = ["Adapt", "LinearAlgebra", "Requires", "SnoopPrecompile", "SparseArrays", "SuiteSparse"] -git-tree-sha1 = "38911c7737e123b28182d89027f4216cfc8a9da7" -uuid = "4fba245c-0d91-5ea0-9b3e-6abc04ee57a9" -version = "7.4.3" - -[[deps.Artifacts]] -uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33" - -[[deps.AxisAlgorithms]] -deps = ["LinearAlgebra", "Random", "SparseArrays", "WoodburyMatrices"] -git-tree-sha1 = "66771c8d21c8ff5e3a93379480a2307ac36863f7" -uuid = "13072b0f-2c55-5437-9ae7-d433b7a33950" -version = "1.0.1" - -[[deps.Base64]] -uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" - -[[deps.BitFlags]] -git-tree-sha1 = "43b1a4a8f797c1cddadf60499a8a077d4af2cd2d" -uuid = "d1d4a3ce-64b1-5f1a-9ba4-7e7e69966f35" -version = "0.1.7" - -[[deps.BitTwiddlingConvenienceFunctions]] -deps = ["Static"] -git-tree-sha1 = "0c5f81f47bbbcf4aea7b2959135713459170798b" -uuid = "62783981-4cbd-42fc-bca8-16325de8dc4b" -version = "0.1.5" - -[[deps.Bzip2_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "19a35467a82e236ff51bc17a3a44b69ef35185a2" -uuid = "6e34b625-4abd-537c-b88f-471c36dfa7a0" -version = "1.0.8+0" - -[[deps.CPUSummary]] -deps = ["CpuId", "IfElse", "Static"] -git-tree-sha1 = "2c144ddb46b552f72d7eafe7cc2f50746e41ea21" -uuid = "2a0fbf3d-bb9c-48f3-b0a9-814d99fd7ab9" -version = "0.2.2" - -[[deps.CRlibm]] -deps = ["CRlibm_jll"] -git-tree-sha1 = "32abd86e3c2025db5172aa182b982debed519834" -uuid = "96374032-68de-5a5b-8d9e-752f78720389" -version = "1.0.1" - -[[deps.CRlibm_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "e329286945d0cfc04456972ea732551869af1cfc" -uuid = "4e9b3aee-d8a1-5a3d-ad8b-7d824db253f0" -version = "1.0.1+0" - -[[deps.Cairo]] -deps = ["Cairo_jll", "Colors", "Glib_jll", "Graphics", "Libdl", "Pango_jll"] -git-tree-sha1 = "d0b3f8b4ad16cb0a2988c6788646a5e6a17b6b1b" -uuid = "159f3aea-2a34-519c-b102-8c37f9878175" -version = "1.0.5" - -[[deps.Cairo_jll]] -deps = ["Artifacts", "Bzip2_jll", "CompilerSupportLibraries_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "JLLWrappers", "LZO_jll", "Libdl", "Pixman_jll", "Pkg", "Xorg_libXext_jll", "Xorg_libXrender_jll", "Zlib_jll", "libpng_jll"] -git-tree-sha1 = "4b859a208b2397a7a623a03449e4636bdb17bcf2" -uuid = "83423d85-b0ee-5818-9007-b63ccbeb887a" -version = "1.16.1+1" - -[[deps.Calculus]] -deps = ["LinearAlgebra"] -git-tree-sha1 = "f641eb0a4f00c343bbc32346e1217b86f3ce9dad" -uuid = "49dc2e85-a5d0-5ad3-a950-438e2897f1b9" -version = "0.5.1" - -[[deps.ChainRulesCore]] -deps = ["Compat", "LinearAlgebra", "SparseArrays"] -git-tree-sha1 = "c6d890a52d2c4d55d326439580c3b8d0875a77d9" -uuid = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" -version = "1.15.7" - -[[deps.ChangesOfVariables]] -deps = ["ChainRulesCore", "LinearAlgebra", "Test"] -git-tree-sha1 = "485193efd2176b88e6622a39a246f8c5b600e74e" -uuid = "9e997f8a-9a97-42d5-a9f1-ce6bfc15e2c0" -version = "0.1.6" - -[[deps.ChaosTools]] -deps = ["Clustering", "Combinatorics", "DSP", "DelayEmbeddings", "Distances", "Distributions", "DynamicalSystemsBase", "Entropies", "ForwardDiff", "IntervalRootFinding", "LinearAlgebra", "LombScargle", "Neighborhood", "ProgressMeter", "Random", "Roots", "SpecialFunctions", "StaticArrays", "Statistics", "StatsBase"] -git-tree-sha1 = "85e8370059f8fcbd99d437d86bbac472cbab9a98" -uuid = "608a59af-f2a3-5ad4-90b4-758bdf3122a7" -version = "2.9.0" - -[[deps.CloseOpenIntervals]] -deps = ["Static", "StaticArrayInterface"] -git-tree-sha1 = "70232f82ffaab9dc52585e0dd043b5e0c6b714f1" -uuid = "fb6a15b2-703c-40df-9091-08a04967cfa9" -version = "0.1.12" - -[[deps.Clustering]] -deps = ["Distances", "LinearAlgebra", "NearestNeighbors", "Printf", "Random", "SparseArrays", "Statistics", "StatsBase"] -git-tree-sha1 = "7ebbd653f74504447f1c33b91cd706a69a1b189f" -uuid = "aaaa29a8-35af-508c-8bc3-b662a17a0fe5" -version = "0.14.4" - -[[deps.CodeTracking]] -deps = ["InteractiveUtils", "UUIDs"] -git-tree-sha1 = "d730914ef30a06732bdd9f763f6cc32e92ffbff1" -uuid = "da1fd8a2-8d9e-5ec2-8556-3022fb5608a2" -version = "1.3.1" - -[[deps.CodecZlib]] -deps = ["TranscodingStreams", "Zlib_jll"] -git-tree-sha1 = "9c209fb7536406834aa938fb149964b985de6c83" -uuid = "944b1d66-785c-5afd-91f1-9de20f533193" -version = "0.7.1" - -[[deps.ColorSchemes]] -deps = ["ColorTypes", "ColorVectorSpace", "Colors", "FixedPointNumbers", "PrecompileTools", "Random"] -git-tree-sha1 = "be6ab11021cd29f0344d5c4357b163af05a48cba" -uuid = "35d6a980-a343-548e-a6ea-1d62b119f2f4" -version = "3.21.0" - -[[deps.ColorTypes]] -deps = ["FixedPointNumbers", "Random"] -git-tree-sha1 = "eb7f0f8307f71fac7c606984ea5fb2817275d6e4" -uuid = "3da002f7-5984-5a60-b8a6-cbb66c0b333f" -version = "0.11.4" - -[[deps.ColorVectorSpace]] -deps = ["ColorTypes", "FixedPointNumbers", "LinearAlgebra", "SpecialFunctions", "Statistics", "TensorCore"] -git-tree-sha1 = "600cc5508d66b78aae350f7accdb58763ac18589" -uuid = "c3611d14-8923-5661-9e6a-0046d554d3a4" -version = "0.9.10" - -[[deps.Colors]] -deps = ["ColorTypes", "FixedPointNumbers", "Reexport"] -git-tree-sha1 = "fc08e5930ee9a4e03f84bfb5211cb54e7769758a" -uuid = "5ae59095-9a9b-59fe-a467-6f913c188581" -version = "0.12.10" - -[[deps.Combinatorics]] -git-tree-sha1 = "08c8b6831dc00bfea825826be0bc8336fc369860" -uuid = "861a8166-3701-5b0c-9a16-15d98fcdc6aa" -version = "1.0.2" - -[[deps.CommonSolve]] -git-tree-sha1 = "9441451ee712d1aec22edad62db1a9af3dc8d852" -uuid = "38540f10-b2f7-11e9-35d8-d573e4eb0ff2" -version = "0.2.3" - -[[deps.CommonSubexpressions]] -deps = ["MacroTools", "Test"] -git-tree-sha1 = "7b8a93dba8af7e3b42fecabf646260105ac373f7" -uuid = "bbf7d656-a473-5ed7-a52c-81e309532950" -version = "0.3.0" - -[[deps.Compat]] -deps = ["Dates", "LinearAlgebra", "UUIDs"] -git-tree-sha1 = "7a60c856b9fa189eb34f5f8a6f6b5529b7942957" -uuid = "34da2185-b29b-5c13-b0c7-acf172513d20" -version = "4.6.1" - -[[deps.CompilerSupportLibraries_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae" -version = "0.5.2+0" - -[[deps.Compose]] -deps = ["Base64", "Colors", "DataStructures", "Dates", "IterTools", "JSON", "LinearAlgebra", "Measures", "Printf", "Random", "Requires", "Statistics", "UUIDs"] -git-tree-sha1 = "d853e57661ba3a57abcdaa201f4c9917a93487a2" -uuid = "a81c6b42-2e10-5240-aca2-a61377ecd94b" -version = "0.9.4" - -[[deps.ConstructionBase]] -deps = ["LinearAlgebra"] -git-tree-sha1 = "89a9db8d28102b094992472d333674bd1a83ce2a" -uuid = "187b0558-2788-49d3-abe0-74a17ed4e7c9" -version = "1.5.1" - -[[deps.Contour]] -deps = ["StaticArrays"] -git-tree-sha1 = "9f02045d934dc030edad45944ea80dbd1f0ebea7" -uuid = "d38c429a-6771-53c6-b99e-75d170b6e991" -version = "0.5.7" - -[[deps.CpuId]] -deps = ["Markdown"] -git-tree-sha1 = "fcbb72b032692610bfbdb15018ac16a36cf2e406" -uuid = "adafc99b-e345-5852-983c-f28acb93d879" -version = "0.3.1" - -[[deps.DSP]] -deps = ["Compat", "FFTW", "IterTools", "LinearAlgebra", "Polynomials", "Random", "Reexport", "SpecialFunctions", "Statistics"] -git-tree-sha1 = "da8b06f89fce9996443010ef92572b193f8dca1f" -uuid = "717857b8-e6f2-59f4-9121-6e50c889abd2" -version = "0.7.8" - -[[deps.DataAPI]] -git-tree-sha1 = "e8119c1a33d267e16108be441a287a6981ba1630" -uuid = "9a962f9c-6df0-11e9-0e5d-c546b8b5ee8a" -version = "1.14.0" - -[[deps.DataStructures]] -deps = ["Compat", "InteractiveUtils", "OrderedCollections"] -git-tree-sha1 = "cf25ccb972fec4e4817764d01c82386ae94f77b4" -uuid = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8" -version = "0.18.14" - -[[deps.DataValueInterfaces]] -git-tree-sha1 = "bfc1187b79289637fa0ef6d4436ebdfe6905cbd6" -uuid = "e2d170a0-9d28-54be-80f0-106bbe20a464" -version = "1.0.0" - -[[deps.Dates]] -deps = ["Printf"] -uuid = "ade2ca70-3891-5945-98fb-dc099432e06a" - -[[deps.DelayEmbeddings]] -deps = ["Distances", "Distributions", "LinearAlgebra", "Neighborhood", "Random", "StaticArrays", "Statistics", "StatsBase"] -git-tree-sha1 = "6ef537de783a2eb493d4124646b9c77e6700d0b6" -uuid = "5732040d-69e3-5649-938a-b6b4f237613f" -version = "2.5.0" - -[[deps.DelimitedFiles]] -deps = ["Mmap"] -uuid = "8bb1440f-4735-579b-a4ab-409b98df4dab" - -[[deps.DensityInterface]] -deps = ["InverseFunctions", "Test"] -git-tree-sha1 = "80c3e8639e3353e5d2912fb3a1916b8455e2494b" -uuid = "b429d917-457f-4dbc-8f4c-0cc954292b1d" -version = "0.4.0" - -[[deps.DiffEqBase]] -deps = ["ArrayInterface", "ChainRulesCore", "DataStructures", "Distributions", "DocStringExtensions", "EnumX", "FastBroadcast", "ForwardDiff", "FunctionWrappers", "FunctionWrappersWrappers", "LinearAlgebra", "Logging", "Markdown", "MuladdMacro", "Parameters", "PreallocationTools", "Printf", "RecursiveArrayTools", "Reexport", "Requires", "SciMLBase", "Setfield", "SparseArrays", "Static", "StaticArraysCore", "Statistics", "Tricks", "TruncatedStacktraces", "ZygoteRules"] -git-tree-sha1 = "988bbd7283aaee5c34cd3cc09e78e7c45a931c5b" -uuid = "2b5f629d-d688-5b77-993f-72d75c75574e" -version = "6.123.0" - -[[deps.DiffResults]] -deps = ["StaticArraysCore"] -git-tree-sha1 = "782dd5f4561f5d267313f23853baaaa4c52ea621" -uuid = "163ba53b-c6d8-5494-b064-1a9d43ac40c5" -version = "1.1.0" - -[[deps.DiffRules]] -deps = ["IrrationalConstants", "LogExpFunctions", "NaNMath", "Random", "SpecialFunctions"] -git-tree-sha1 = "a4ad7ef19d2cdc2eff57abbbe68032b1cd0bd8f8" -uuid = "b552c78f-8df3-52c6-915a-8e097449b14b" -version = "1.13.0" - -[[deps.DiscreteMarkovChains]] -deps = ["DataStructures", "LinearAlgebra"] -git-tree-sha1 = "a096d2a9505e06a5eff43228b0309e830e4e6961" -uuid = "8abcb7ef-b365-4f7b-ac38-56893fb62f9f" -version = "0.2.1" - -[[deps.Distances]] -deps = ["LinearAlgebra", "SparseArrays", "Statistics", "StatsAPI"] -git-tree-sha1 = "49eba9ad9f7ead780bfb7ee319f962c811c6d3b2" -uuid = "b4f34e82-e78d-54a5-968a-f98e89d6e8f7" -version = "0.10.8" - -[[deps.Distributed]] -deps = ["Random", "Serialization", "Sockets"] -uuid = "8ba89e20-285c-5b6f-9357-94700520ee1b" - -[[deps.Distributions]] -deps = ["ChainRulesCore", "DensityInterface", "FillArrays", "LinearAlgebra", "PDMats", "Printf", "QuadGK", "Random", "SparseArrays", "SpecialFunctions", "Statistics", "StatsBase", "StatsFuns", "Test"] -git-tree-sha1 = "13027f188d26206b9e7b863036f87d2f2e7d013a" -uuid = "31c24e10-a181-5473-b8eb-7969acd0382f" -version = "0.25.87" - -[[deps.DocStringExtensions]] -deps = ["LibGit2"] -git-tree-sha1 = "2fb1e02f2b635d0845df5d7c167fec4dd739b00d" -uuid = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae" -version = "0.9.3" - -[[deps.Downloads]] -deps = ["ArgTools", "FileWatching", "LibCURL", "NetworkOptions"] -uuid = "f43a241f-c20a-4ad4-852c-f6b1247861c6" -version = "1.6.0" - -[[deps.DualNumbers]] -deps = ["Calculus", "NaNMath", "SpecialFunctions"] -git-tree-sha1 = "5837a837389fccf076445fce071c8ddaea35a566" -uuid = "fa6b7ba4-c1ee-5f82-b5fc-ecf0adba8f74" -version = "0.6.8" - -[[deps.DynamicalSystemsBase]] -deps = ["DelayEmbeddings", "ForwardDiff", "LinearAlgebra", "Roots", "SciMLBase", "SimpleDiffEq", "SparseArrays", "StaticArrays", "Statistics"] -git-tree-sha1 = "698c3ec275cf0e0784bdfdaf5fb30ec551fa5142" -uuid = "6e36e845-645a-534a-86f2-f5d4aa5a06b4" -version = "2.9.1" - -[[deps.Entropies]] -deps = ["DelayEmbeddings", "Distances", "LinearAlgebra", "Neighborhood", "QuadGK", "SparseArrays", "SpecialFunctions", "StaticArrays", "Statistics", "StatsBase", "Wavelets"] -git-tree-sha1 = "ca95997c3c3655e26886775f2d2efb1e2b412328" -uuid = "ed8fcbec-b94c-44b6-89df-898894ad9591" -version = "1.2.1" - -[[deps.EnumX]] -git-tree-sha1 = "bdb1942cd4c45e3c678fd11569d5cccd80976237" -uuid = "4e289a0a-7415-4d19-859d-a7e5c4648b56" -version = "1.0.4" - -[[deps.ErrorfreeArithmetic]] -git-tree-sha1 = "d6863c556f1142a061532e79f611aa46be201686" -uuid = "90fa49ef-747e-5e6f-a989-263ba693cf1a" -version = "0.5.2" - -[[deps.Expat_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "bad72f730e9e91c08d9427d5e8db95478a3c323d" -uuid = "2e619515-83b5-522b-bb60-26c02a35a201" -version = "2.4.8+0" - -[[deps.ExprTools]] -git-tree-sha1 = "c1d06d129da9f55715c6c212866f5b1bddc5fa00" -uuid = "e2ba6199-217a-4e67-a87a-7c52f15ade04" -version = "0.1.9" - -[[deps.FFMPEG]] -deps = ["FFMPEG_jll"] -git-tree-sha1 = "b57e3acbe22f8484b4b5ff66a7499717fe1a9cc8" -uuid = "c87230d0-a227-11e9-1b43-d7ebe4e7570a" -version = "0.4.1" - -[[deps.FFMPEG_jll]] -deps = ["Artifacts", "Bzip2_jll", "FreeType2_jll", "FriBidi_jll", "JLLWrappers", "LAME_jll", "Libdl", "Ogg_jll", "OpenSSL_jll", "Opus_jll", "PCRE2_jll", "Pkg", "Zlib_jll", "libaom_jll", "libass_jll", "libfdk_aac_jll", "libvorbis_jll", "x264_jll", "x265_jll"] -git-tree-sha1 = "74faea50c1d007c85837327f6775bea60b5492dd" -uuid = "b22a6f82-2f65-5046-a5b2-351ab43fb4e5" -version = "4.4.2+2" - -[[deps.FFTW]] -deps = ["AbstractFFTs", "FFTW_jll", "LinearAlgebra", "MKL_jll", "Preferences", "Reexport"] -git-tree-sha1 = "f9818144ce7c8c41edf5c4c179c684d92aa4d9fe" -uuid = "7a1cc6ca-52ef-59f5-83cd-3a7055c09341" -version = "1.6.0" - -[[deps.FFTW_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "c6033cc3892d0ef5bb9cd29b7f2f0331ea5184ea" -uuid = "f5851436-0d7a-5f13-b9de-f02708fd171a" -version = "3.3.10+0" - -[[deps.FastBroadcast]] -deps = ["ArrayInterface", "LinearAlgebra", "Polyester", "Static", "StaticArrayInterface", "StrideArraysCore"] -git-tree-sha1 = "d1248fceea0b26493fd33e8e9e8c553270da03bd" -uuid = "7034ab61-46d4-4ed7-9d0f-46aef9175898" -version = "0.2.5" - -[[deps.FastRounding]] -deps = ["ErrorfreeArithmetic", "LinearAlgebra"] -git-tree-sha1 = "6344aa18f654196be82e62816935225b3b9abe44" -uuid = "fa42c844-2597-5d31-933b-ebd51ab2693f" -version = "0.3.1" - -[[deps.FileIO]] -deps = ["Pkg", "Requires", "UUIDs"] -git-tree-sha1 = "7be5f99f7d15578798f338f5433b6c432ea8037b" -uuid = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549" -version = "1.16.0" - -[[deps.FileWatching]] -uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee" - -[[deps.FillArrays]] -deps = ["LinearAlgebra", "Random", "SparseArrays", "Statistics"] -git-tree-sha1 = "fc86b4fd3eff76c3ce4f5e96e2fdfa6282722885" -uuid = "1a297f60-69ca-5386-bcde-b61e274b549b" -version = "1.0.0" - -[[deps.FixedPointNumbers]] -deps = ["Statistics"] -git-tree-sha1 = "335bfdceacc84c5cdf16aadc768aa5ddfc5383cc" -uuid = "53c48c17-4a7d-5ca2-90c5-79b7896eea93" -version = "0.8.4" - -[[deps.Fontconfig_jll]] -deps = ["Artifacts", "Bzip2_jll", "Expat_jll", "FreeType2_jll", "JLLWrappers", "Libdl", "Libuuid_jll", "Pkg", "Zlib_jll"] -git-tree-sha1 = "21efd19106a55620a188615da6d3d06cd7f6ee03" -uuid = "a3f928ae-7b40-5064-980b-68af3947d34b" -version = "2.13.93+0" - -[[deps.Formatting]] -deps = ["Printf"] -git-tree-sha1 = "8339d61043228fdd3eb658d86c926cb282ae72a8" -uuid = "59287772-0a20-5a39-b81b-1366585eb4c0" -version = "0.4.2" - -[[deps.ForwardDiff]] -deps = ["CommonSubexpressions", "DiffResults", "DiffRules", "LinearAlgebra", "LogExpFunctions", "NaNMath", "Preferences", "Printf", "Random", "SpecialFunctions", "StaticArrays"] -git-tree-sha1 = "00e252f4d706b3d55a8863432e742bf5717b498d" -uuid = "f6369f11-7733-5829-9624-2563aa707210" -version = "0.10.35" - -[[deps.FreeType2_jll]] -deps = ["Artifacts", "Bzip2_jll", "JLLWrappers", "Libdl", "Pkg", "Zlib_jll"] -git-tree-sha1 = "87eb71354d8ec1a96d4a7636bd57a7347dde3ef9" -uuid = "d7e528f0-a631-5988-bf34-fe36492bcfd7" -version = "2.10.4+0" - -[[deps.FriBidi_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "aa31987c2ba8704e23c6c8ba8a4f769d5d7e4f91" -uuid = "559328eb-81f9-559d-9380-de523a88c83c" -version = "1.0.10+0" - -[[deps.FunctionWrappers]] -git-tree-sha1 = "d62485945ce5ae9c0c48f124a84998d755bae00e" -uuid = "069b7b12-0de2-55c6-9aab-29f3d0a68a2e" -version = "1.1.3" - -[[deps.FunctionWrappersWrappers]] -deps = ["FunctionWrappers"] -git-tree-sha1 = "b104d487b34566608f8b4e1c39fb0b10aa279ff8" -uuid = "77dc65aa-8811-40c2-897b-53d922fa7daf" -version = "0.1.3" - -[[deps.Future]] -deps = ["Random"] -uuid = "9fa8497b-333b-5362-9e8d-4d0656e87820" - -[[deps.GLFW_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Libglvnd_jll", "Pkg", "Xorg_libXcursor_jll", "Xorg_libXi_jll", "Xorg_libXinerama_jll", "Xorg_libXrandr_jll"] -git-tree-sha1 = "d972031d28c8c8d9d7b41a536ad7bb0c2579caca" -uuid = "0656b61e-2033-5cc2-a64a-77c0f6c09b89" -version = "3.3.8+0" - -[[deps.GPUArraysCore]] -deps = ["Adapt"] -git-tree-sha1 = "1cd7f0af1aa58abc02ea1d872953a97359cb87fa" -uuid = "46192b85-c4d5-4398-a991-12ede77f4527" -version = "0.1.4" - -[[deps.GR]] -deps = ["Artifacts", "Base64", "DelimitedFiles", "Downloads", "GR_jll", "HTTP", "JSON", "Libdl", "LinearAlgebra", "Pkg", "Preferences", "Printf", "Random", "Serialization", "Sockets", "TOML", "Tar", "Test", "UUIDs", "p7zip_jll"] -git-tree-sha1 = "db730189e3d250d97515a91886de7e33aa8833e6" -uuid = "28b8d3ca-fb5f-59d9-8090-bfdbd6d07a71" -version = "0.72.2" - -[[deps.GR_jll]] -deps = ["Artifacts", "Bzip2_jll", "Cairo_jll", "FFMPEG_jll", "Fontconfig_jll", "GLFW_jll", "JLLWrappers", "JpegTurbo_jll", "Libdl", "Libtiff_jll", "Pixman_jll", "Qt5Base_jll", "Zlib_jll", "libpng_jll"] -git-tree-sha1 = "47a2efe07729dd508a032e2f56c46c517481052a" -uuid = "d2c73de3-f751-5644-a686-071e5b155ba9" -version = "0.72.2+0" - -[[deps.Gettext_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Libiconv_jll", "Pkg", "XML2_jll"] -git-tree-sha1 = "9b02998aba7bf074d14de89f9d37ca24a1a0b046" -uuid = "78b55507-aeef-58d4-861c-77aaff3498b1" -version = "0.21.0+0" - -[[deps.Glib_jll]] -deps = ["Artifacts", "Gettext_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Libiconv_jll", "Libmount_jll", "PCRE2_jll", "Pkg", "Zlib_jll"] -git-tree-sha1 = "d3b3624125c1474292d0d8ed0f65554ac37ddb23" -uuid = "7746bdde-850d-59dc-9ae8-88ece973131d" -version = "2.74.0+2" - -[[deps.GraphPlot]] -deps = ["ArnoldiMethod", "ColorTypes", "Colors", "Compose", "DelimitedFiles", "Graphs", "LinearAlgebra", "Random", "SparseArrays"] -git-tree-sha1 = "5cd479730a0cb01f880eff119e9803c13f214cab" -uuid = "a2cc645c-3eea-5389-862e-a155d0052231" -version = "0.5.2" - -[[deps.Graphics]] -deps = ["Colors", "LinearAlgebra", "NaNMath"] -git-tree-sha1 = "d61890399bc535850c4bf08e4e0d3a7ad0f21cbd" -uuid = "a2bd30eb-e257-5431-a919-1863eab51364" -version = "1.1.2" - -[[deps.Graphite2_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "344bf40dcab1073aca04aa0df4fb092f920e4011" -uuid = "3b182d85-2403-5c21-9c21-1e1f0cc25472" -version = "1.3.14+0" - -[[deps.Graphs]] -deps = ["ArnoldiMethod", "Compat", "DataStructures", "Distributed", "Inflate", "LinearAlgebra", "Random", "SharedArrays", "SimpleTraits", "SparseArrays", "Statistics"] -git-tree-sha1 = "ba2d094a88b6b287bd25cfa86f301e7693ffae2f" -uuid = "86223c79-3864-5bf0-83f7-82e725a168b6" -version = "1.7.4" - -[[deps.Grisu]] -git-tree-sha1 = "53bb909d1151e57e2484c3d1b53e19552b887fb2" -uuid = "42e2da0e-8278-4e71-bc24-59509adca0fe" -version = "1.0.2" - -[[deps.HTTP]] -deps = ["Base64", "CodecZlib", "Dates", "IniFile", "Logging", "LoggingExtras", "MbedTLS", "NetworkOptions", "OpenSSL", "Random", "SimpleBufferStream", "Sockets", "URIs", "UUIDs"] -git-tree-sha1 = "37e4657cd56b11abe3d10cd4a1ec5fbdb4180263" -uuid = "cd3eb016-35fb-5094-929b-558a96fad6f3" -version = "1.7.4" - -[[deps.HarfBuzz_jll]] -deps = ["Artifacts", "Cairo_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "Graphite2_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Pkg"] -git-tree-sha1 = "129acf094d168394e80ee1dc4bc06ec835e510a3" -uuid = "2e76f6c2-a576-52d4-95c1-20adfe4de566" -version = "2.8.1+1" - -[[deps.HypergeometricFunctions]] -deps = ["DualNumbers", "LinearAlgebra", "OpenLibm_jll", "SpecialFunctions"] -git-tree-sha1 = "432b5b03176f8182bd6841fbfc42c718506a2d5f" -uuid = "34004b35-14d8-5ef3-9330-4cdb6864b03a" -version = "0.3.15" - -[[deps.IfElse]] -git-tree-sha1 = "debdd00ffef04665ccbb3e150747a77560e8fad1" -uuid = "615f187c-cbe4-4ef1-ba3b-2fcf58d6d173" -version = "0.1.1" - -[[deps.Inflate]] -git-tree-sha1 = "5cd07aab533df5170988219191dfad0519391428" -uuid = "d25df0c9-e2be-5dd7-82c8-3ad0b3e990b9" -version = "0.1.3" - -[[deps.IniFile]] -git-tree-sha1 = "f550e6e32074c939295eb5ea6de31849ac2c9625" -uuid = "83e8ac13-25f8-5344-8a64-a9f2b223428f" -version = "0.5.1" - -[[deps.IntelOpenMP_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "0cb9352ef2e01574eeebdb102948a58740dcaf83" -uuid = "1d5cc7b8-4909-519e-a0f8-d0f5ad9712d0" -version = "2023.1.0+0" - -[[deps.InteractiveUtils]] -deps = ["Markdown"] -uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240" - -[[deps.Interpolations]] -deps = ["Adapt", "AxisAlgorithms", "ChainRulesCore", "LinearAlgebra", "OffsetArrays", "Random", "Ratios", "Requires", "SharedArrays", "SparseArrays", "StaticArrays", "WoodburyMatrices"] -git-tree-sha1 = "721ec2cf720536ad005cb38f50dbba7b02419a15" -uuid = "a98d9a8b-a2ab-59e6-89dd-64a1c18fca59" -version = "0.14.7" - -[[deps.IntervalArithmetic]] -deps = ["CRlibm", "FastRounding", "LinearAlgebra", "Markdown", "Random", "RecipesBase", "RoundingEmulator", "SetRounding", "StaticArrays"] -git-tree-sha1 = "c1c88395d09366dae431556bcb598ad08fa1392b" -uuid = "d1acc4aa-44c8-5952-acd4-ba5d80a2a253" -version = "0.20.8" - -[[deps.IntervalRootFinding]] -deps = ["ForwardDiff", "IntervalArithmetic", "LinearAlgebra", "Polynomials", "Reexport", "StaticArrays"] -git-tree-sha1 = "b92e9e2b356146918c4f3f3845571abcf0501594" -uuid = "d2bf35a9-74e0-55ec-b149-d360ff49b807" -version = "0.5.11" - -[[deps.InverseFunctions]] -deps = ["Test"] -git-tree-sha1 = "49510dfcb407e572524ba94aeae2fced1f3feb0f" -uuid = "3587e190-3f89-42d0-90ee-14403ec27112" -version = "0.1.8" - -[[deps.IrrationalConstants]] -git-tree-sha1 = "630b497eafcc20001bba38a4651b327dcfc491d2" -uuid = "92d709cd-6900-40b7-9082-c6be49f344b6" -version = "0.2.2" - -[[deps.IterTools]] -git-tree-sha1 = "fa6287a4469f5e048d763df38279ee729fbd44e5" -uuid = "c8e1da08-722c-5040-9ed9-7db0dc04731e" -version = "1.4.0" - -[[deps.IteratorInterfaceExtensions]] -git-tree-sha1 = "a3f24677c21f5bbe9d2a714f95dcd58337fb2856" -uuid = "82899510-4779-5014-852e-03e436cf321d" -version = "1.0.0" - -[[deps.JLD2]] -deps = ["FileIO", "MacroTools", "Mmap", "OrderedCollections", "Pkg", "Printf", "Reexport", "Requires", "TranscodingStreams", "UUIDs"] -git-tree-sha1 = "42c17b18ced77ff0be65957a591d34f4ed57c631" -uuid = "033835bb-8acc-5ee8-8aae-3f567f8a3819" -version = "0.4.31" - -[[deps.JLFzf]] -deps = ["Pipe", "REPL", "Random", "fzf_jll"] -git-tree-sha1 = "f377670cda23b6b7c1c0b3893e37451c5c1a2185" -uuid = "1019f520-868f-41f5-a6de-eb00f4b6a39c" -version = "0.1.5" - -[[deps.JLLWrappers]] -deps = ["Preferences"] -git-tree-sha1 = "abc9885a7ca2052a736a600f7fa66209f96506e1" -uuid = "692b3bcd-3c85-4b1f-b108-f13ce0eb3210" -version = "1.4.1" - -[[deps.JSON]] -deps = ["Dates", "Mmap", "Parsers", "Unicode"] -git-tree-sha1 = "31e996f0a15c7b280ba9f76636b3ff9e2ae58c9a" -uuid = "682c06a0-de6a-54ab-a142-c8b1cf79cde6" -version = "0.21.4" - -[[deps.JpegTurbo_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "6f2675ef130a300a112286de91973805fcc5ffbc" -uuid = "aacddb02-875f-59d6-b918-886e6ef4fbf8" -version = "2.1.91+0" - -[[deps.JuliaInterpreter]] -deps = ["CodeTracking", "InteractiveUtils", "Random", "UUIDs"] -git-tree-sha1 = "6a125e6a4cb391e0b9adbd1afa9e771c2179f8ef" -uuid = "aa1ae85d-cabe-5617-a682-6adf51b2e16a" -version = "0.9.23" - -[[deps.KernelDensity]] -deps = ["Distributions", "DocStringExtensions", "FFTW", "Interpolations", "StatsBase"] -git-tree-sha1 = "90442c50e202a5cdf21a7899c66b240fdef14035" -uuid = "5ab0869b-81aa-558d-bb23-cbf5423bbe9b" -version = "0.6.7" - -[[deps.LAME_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "f6250b16881adf048549549fba48b1161acdac8c" -uuid = "c1c5ebd0-6772-5130-a774-d5fcae4a789d" -version = "3.100.1+0" - -[[deps.LERC_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "bf36f528eec6634efc60d7ec062008f171071434" -uuid = "88015f11-f218-50d7-93a8-a6af411a945d" -version = "3.0.0+1" - -[[deps.LZO_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "e5b909bcf985c5e2605737d2ce278ed791b89be6" -uuid = "dd4b983a-f0e5-5f8d-a1b7-129d4a5fb1ac" -version = "2.10.1+0" - -[[deps.LaTeXStrings]] -git-tree-sha1 = "f2355693d6778a178ade15952b7ac47a4ff97996" -uuid = "b964fa9f-0449-5b57-a5c2-d3ea65f4040f" -version = "1.3.0" - -[[deps.Latexify]] -deps = ["Formatting", "InteractiveUtils", "LaTeXStrings", "MacroTools", "Markdown", "OrderedCollections", "Printf", "Requires"] -git-tree-sha1 = "98dc144f1e0b299d49e8d23e56ad68d3e4f340a5" -uuid = "23fbe1c1-3f47-55db-b15f-69d7ec21a316" -version = "0.15.20" - -[[deps.LayoutPointers]] -deps = ["ArrayInterface", "LinearAlgebra", "ManualMemory", "SIMDTypes", "Static", "StaticArrayInterface"] -git-tree-sha1 = "88b8f66b604da079a627b6fb2860d3704a6729a1" -uuid = "10f19ff3-798f-405d-979b-55457f8fc047" -version = "0.1.14" - -[[deps.Lazy]] -deps = ["MacroTools"] -git-tree-sha1 = "1370f8202dac30758f3c345f9909b97f53d87d3f" -uuid = "50d2b5c4-7a5e-59d5-8109-a42b560f39c0" -version = "0.15.1" - -[[deps.LazyArtifacts]] -deps = ["Artifacts", "Pkg"] -uuid = "4af54fe1-eca0-43a8-85a7-787d91b784e3" - -[[deps.LibCURL]] -deps = ["LibCURL_jll", "MozillaCACerts_jll"] -uuid = "b27032c2-a3e7-50c8-80cd-2d36dbcbfd21" -version = "0.6.3" - -[[deps.LibCURL_jll]] -deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll", "Zlib_jll", "nghttp2_jll"] -uuid = "deac9b47-8bc7-5906-a0fe-35ac56dc84c0" -version = "7.84.0+0" - -[[deps.LibGit2]] -deps = ["Base64", "NetworkOptions", "Printf", "SHA"] -uuid = "76f85450-5226-5b5a-8eaa-529ad045b433" - -[[deps.LibSSH2_jll]] -deps = ["Artifacts", "Libdl", "MbedTLS_jll"] -uuid = "29816b5a-b9ab-546f-933c-edad1886dfa8" -version = "1.10.2+0" - -[[deps.Libdl]] -uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb" - -[[deps.Libffi_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "0b4a5d71f3e5200a7dff793393e09dfc2d874290" -uuid = "e9f186c6-92d2-5b65-8a66-fee21dc1b490" -version = "3.2.2+1" - -[[deps.Libgcrypt_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Libgpg_error_jll", "Pkg"] -git-tree-sha1 = "64613c82a59c120435c067c2b809fc61cf5166ae" -uuid = "d4300ac3-e22c-5743-9152-c294e39db1e4" -version = "1.8.7+0" - -[[deps.Libglvnd_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll", "Xorg_libXext_jll"] -git-tree-sha1 = "6f73d1dd803986947b2c750138528a999a6c7733" -uuid = "7e76a0d4-f3c7-5321-8279-8d96eeed0f29" -version = "1.6.0+0" - -[[deps.Libgpg_error_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "c333716e46366857753e273ce6a69ee0945a6db9" -uuid = "7add5ba3-2f88-524e-9cd5-f83b8a55f7b8" -version = "1.42.0+0" - -[[deps.Libiconv_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "c7cb1f5d892775ba13767a87c7ada0b980ea0a71" -uuid = "94ce4f54-9a6c-5748-9c1c-f9c7231a4531" -version = "1.16.1+2" - -[[deps.Libmount_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "9c30530bf0effd46e15e0fdcf2b8636e78cbbd73" -uuid = "4b2f31a3-9ecc-558c-b454-b3730dcb73e9" -version = "2.35.0+0" - -[[deps.Libtiff_jll]] -deps = ["Artifacts", "JLLWrappers", "JpegTurbo_jll", "LERC_jll", "Libdl", "Pkg", "Zlib_jll", "Zstd_jll"] -git-tree-sha1 = "3eb79b0ca5764d4799c06699573fd8f533259713" -uuid = "89763e89-9b03-5906-acba-b20f662cd828" -version = "4.4.0+0" - -[[deps.Libuuid_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "7f3efec06033682db852f8b3bc3c1d2b0a0ab066" -uuid = "38a345b3-de98-5d2b-a5d3-14cd9215e700" -version = "2.36.0+0" - -[[deps.LinearAlgebra]] -deps = ["Libdl", "libblastrampoline_jll"] -uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" - -[[deps.LogExpFunctions]] -deps = ["ChainRulesCore", "ChangesOfVariables", "DocStringExtensions", "InverseFunctions", "IrrationalConstants", "LinearAlgebra"] -git-tree-sha1 = "0a1b7c2863e44523180fdb3146534e265a91870b" -uuid = "2ab3a3ac-af41-5b50-aa03-7779005ae688" -version = "0.3.23" - -[[deps.Logging]] -uuid = "56ddb016-857b-54e1-b83d-db4d58db5568" - -[[deps.LoggingExtras]] -deps = ["Dates", "Logging"] -git-tree-sha1 = "cedb76b37bc5a6c702ade66be44f831fa23c681e" -uuid = "e6f89c97-d47a-5376-807f-9c37f3926c36" -version = "1.0.0" - -[[deps.LombScargle]] -deps = ["FFTW", "LinearAlgebra", "Measurements", "Random", "SpecialFunctions", "Statistics"] -git-tree-sha1 = "d64a0ce7539181136a85fd8fe4f42626387f0f26" -uuid = "fc60dff9-86e7-5f2f-a8a0-edeadbb75bd9" -version = "1.0.3" - -[[deps.LoweredCodeUtils]] -deps = ["JuliaInterpreter"] -git-tree-sha1 = "60168780555f3e663c536500aa790b6368adc02a" -uuid = "6f1432cf-f94c-5a45-995e-cdbf5db27b0b" -version = "2.3.0" - -[[deps.MKL_jll]] -deps = ["Artifacts", "IntelOpenMP_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "Pkg"] -git-tree-sha1 = "2ce8695e1e699b68702c03402672a69f54b8aca9" -uuid = "856f044c-d86e-5d09-b602-aeab76dc8ba7" -version = "2022.2.0+0" - -[[deps.MacroTools]] -deps = ["Markdown", "Random"] -git-tree-sha1 = "42324d08725e200c23d4dfb549e0d5d89dede2d2" -uuid = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09" -version = "0.5.10" - -[[deps.MakieCore]] -deps = ["Observables"] -git-tree-sha1 = "9926529455a331ed73c19ff06d16906737a876ed" -uuid = "20f20a25-4f0e-4fdf-b5d1-57303727442b" -version = "0.6.3" - -[[deps.ManualMemory]] -git-tree-sha1 = "bcaef4fc7a0cfe2cba636d84cda54b5e4e4ca3cd" -uuid = "d125e4d3-2237-4719-b19c-fa641b8a4667" -version = "0.1.8" - -[[deps.Markdown]] -deps = ["Base64"] -uuid = "d6f4376e-aef5-505a-96c1-9c027394607a" - -[[deps.MbedTLS]] -deps = ["Dates", "MbedTLS_jll", "MozillaCACerts_jll", "Random", "Sockets"] -git-tree-sha1 = "03a9b9718f5682ecb107ac9f7308991db4ce395b" -uuid = "739be429-bea8-5141-9913-cc70e7f3736d" -version = "1.1.7" - -[[deps.MbedTLS_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "c8ffd9c3-330d-5841-b78e-0817d7145fa1" -version = "2.28.0+0" - -[[deps.Measurements]] -deps = ["Calculus", "LinearAlgebra", "Printf", "RecipesBase", "Requires"] -git-tree-sha1 = "51d946d38d62709d6a2d37ea9bcc30c80c686801" -uuid = "eff96d63-e80a-5855-80a2-b1b0885c5ab7" -version = "2.9.0" - -[[deps.Measures]] -git-tree-sha1 = "c13304c81eec1ed3af7fc20e75fb6b26092a1102" -uuid = "442fdcdd-2543-5da2-b0f3-8c86c306513e" -version = "0.3.2" - -[[deps.MetaGraphsNext]] -deps = ["Graphs", "JLD2", "SimpleTraits"] -git-tree-sha1 = "7d4e4864156345e0e117c49a3718fb34b1d4368b" -repo-rev = "master" -repo-url = "https://github.com/JuliaGraphs/MetaGraphsNext.jl.git" -uuid = "fa8bd995-216d-47f1-8a91-f3b68fbeb377" -version = "0.5.0" - -[[deps.Missings]] -deps = ["DataAPI"] -git-tree-sha1 = "f66bdc5de519e8f8ae43bdc598782d35a25b1272" -uuid = "e1d29d7a-bbdc-5cf2-9ac0-f12de2c33e28" -version = "1.1.0" - -[[deps.Mmap]] -uuid = "a63ad114-7e13-5084-954f-fe012c677804" - -[[deps.MozillaCACerts_jll]] -uuid = "14a3606d-f60d-562e-9121-12d972cd8159" -version = "2022.2.1" - -[[deps.MuladdMacro]] -git-tree-sha1 = "cac9cc5499c25554cba55cd3c30543cff5ca4fab" -uuid = "46d2c3a1-f734-5fdb-9937-b9b9aeba4221" -version = "0.2.4" - -[[deps.MultivariateStats]] -deps = ["Arpack", "LinearAlgebra", "SparseArrays", "Statistics", "StatsAPI", "StatsBase"] -git-tree-sha1 = "68bf5103e002c44adfd71fea6bd770b3f0586843" -uuid = "6f286f6a-111f-5878-ab1e-185364afe411" -version = "0.10.2" - -[[deps.MutableArithmetics]] -deps = ["LinearAlgebra", "SparseArrays", "Test"] -git-tree-sha1 = "3295d296288ab1a0a2528feb424b854418acff57" -uuid = "d8a4904e-b15c-11e9-3269-09a3773c0cb0" -version = "1.2.3" - -[[deps.NaNMath]] -deps = ["OpenLibm_jll"] -git-tree-sha1 = "0877504529a3e5c3343c6f8b4c0381e57e4387e4" -uuid = "77ba4419-2d1f-58cd-9bb1-8ffee604a2e3" -version = "1.0.2" - -[[deps.NearestNeighbors]] -deps = ["Distances", "StaticArrays"] -git-tree-sha1 = "2c3726ceb3388917602169bed973dbc97f1b51a8" -uuid = "b8a86587-4115-5ab1-83bc-aa920d37bbce" -version = "0.4.13" - -[[deps.Neighborhood]] -deps = ["Distances", "NearestNeighbors", "Random", "Test"] -git-tree-sha1 = "fdea60ca30d724e76cc3b3d90d7f9d29d3d5cab5" -uuid = "645ca80c-8b79-4109-87ea-e1f58159d116" -version = "0.2.4" - -[[deps.NetworkOptions]] -uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" -version = "1.2.0" - -[[deps.Observables]] -git-tree-sha1 = "6862738f9796b3edc1c09d0890afce4eca9e7e93" -uuid = "510215fc-4207-5dde-b226-833fc4488ee2" -version = "0.5.4" - -[[deps.OffsetArrays]] -deps = ["Adapt"] -git-tree-sha1 = "82d7c9e310fe55aa54996e6f7f94674e2a38fcb4" -uuid = "6fe1bfb0-de20-5000-8ca7-80f57d26f881" -version = "1.12.9" - -[[deps.Ogg_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "887579a3eb005446d514ab7aeac5d1d027658b8f" -uuid = "e7412a2a-1a6e-54c0-be00-318e2571c051" -version = "1.3.5+1" - -[[deps.OpenBLAS_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"] -uuid = "4536629a-c528-5b80-bd46-f80d51c5b363" -version = "0.3.20+0" - -[[deps.OpenLibm_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "05823500-19ac-5b8b-9628-191a04bc5112" -version = "0.8.1+0" - -[[deps.OpenSSL]] -deps = ["BitFlags", "Dates", "MozillaCACerts_jll", "OpenSSL_jll", "Sockets"] -git-tree-sha1 = "7fb975217aea8f1bb360cf1dde70bad2530622d2" -uuid = "4d8831e6-92b7-49fb-bdf8-b643e874388c" -version = "1.4.0" - -[[deps.OpenSSL_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "9ff31d101d987eb9d66bd8b176ac7c277beccd09" -uuid = "458c3c95-2e84-50aa-8efc-19380b2a3a95" -version = "1.1.20+0" - -[[deps.OpenSpecFun_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "13652491f6856acfd2db29360e1bbcd4565d04f1" -uuid = "efe28fd5-8261-553b-a9e1-b2916fc3738e" -version = "0.5.5+0" - -[[deps.Opus_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "51a08fb14ec28da2ec7a927c4337e4332c2a4720" -uuid = "91d4177d-7536-5919-b921-800302f37372" -version = "1.3.2+0" - -[[deps.OrderedCollections]] -git-tree-sha1 = "d321bf2de576bf25ec4d3e4360faca399afca282" -uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d" -version = "1.6.0" - -[[deps.PCRE2_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "efcefdf7-47ab-520b-bdef-62a2eaa19f15" -version = "10.40.0+0" - -[[deps.PDMats]] -deps = ["LinearAlgebra", "SparseArrays", "SuiteSparse"] -git-tree-sha1 = "67eae2738d63117a196f497d7db789821bce61d1" -uuid = "90014a1f-27ba-587c-ab20-58faa44d9150" -version = "0.11.17" - -[[deps.Pango_jll]] -deps = ["Artifacts", "Cairo_jll", "Fontconfig_jll", "FreeType2_jll", "FriBidi_jll", "Glib_jll", "HarfBuzz_jll", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "84a314e3926ba9ec66ac097e3635e270986b0f10" -uuid = "36c8627f-9965-5494-a995-c6b170f724f3" -version = "1.50.9+0" - -[[deps.Parameters]] -deps = ["OrderedCollections", "UnPack"] -git-tree-sha1 = "34c0e9ad262e5f7fc75b10a9952ca7692cfc5fbe" -uuid = "d96e819e-fc66-5662-9728-84c9c7592b0a" -version = "0.12.3" - -[[deps.Parsers]] -deps = ["Dates", "SnoopPrecompile"] -git-tree-sha1 = "478ac6c952fddd4399e71d4779797c538d0ff2bf" -uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0" -version = "2.5.8" - -[[deps.Permutations]] -deps = ["Combinatorics", "LinearAlgebra", "Random"] -git-tree-sha1 = "6e6cab1c54ae2382bcc48866b91cf949cea703a1" -uuid = "2ae35dd2-176d-5d53-8349-f30d82d94d4f" -version = "0.4.16" - -[[deps.Pipe]] -git-tree-sha1 = "6842804e7867b115ca9de748a0cf6b364523c16d" -uuid = "b98c9c47-44ae-5843-9183-064241ee97a0" -version = "1.3.0" - -[[deps.Pixman_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "b4f5d02549a10e20780a24fce72bea96b6329e29" -uuid = "30392449-352a-5448-841d-b1acce4e97dc" -version = "0.40.1+0" - -[[deps.Pkg]] -deps = ["Artifacts", "Dates", "Downloads", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "Serialization", "TOML", "Tar", "UUIDs", "p7zip_jll"] -uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" -version = "1.8.0" - -[[deps.PlotThemes]] -deps = ["PlotUtils", "Statistics"] -git-tree-sha1 = "1f03a2d339f42dca4a4da149c7e15e9b896ad899" -uuid = "ccf2f8ad-2431-5c83-bf29-c5338b663b6a" -version = "3.1.0" - -[[deps.PlotUtils]] -deps = ["ColorSchemes", "Colors", "Dates", "PrecompileTools", "Printf", "Random", "Reexport", "Statistics"] -git-tree-sha1 = "f92e1315dadf8c46561fb9396e525f7200cdc227" -uuid = "995b91a9-d308-5afd-9ec6-746e21dbc043" -version = "1.3.5" - -[[deps.Plots]] -deps = ["Base64", "Contour", "Dates", "Downloads", "FFMPEG", "FixedPointNumbers", "GR", "JLFzf", "JSON", "LaTeXStrings", "Latexify", "LinearAlgebra", "Measures", "NaNMath", "Pkg", "PlotThemes", "PlotUtils", "Preferences", "Printf", "REPL", "Random", "RecipesBase", "RecipesPipeline", "Reexport", "RelocatableFolders", "Requires", "Scratch", "Showoff", "SnoopPrecompile", "SparseArrays", "Statistics", "StatsBase", "UUIDs", "UnicodeFun", "Unzip"] -git-tree-sha1 = "5434b0ee344eaf2854de251f326df8720f6a7b55" -uuid = "91a5bcdd-55d7-5caf-9e0b-520d859cae80" -version = "1.38.10" - -[[deps.Polyester]] -deps = ["ArrayInterface", "BitTwiddlingConvenienceFunctions", "CPUSummary", "IfElse", "ManualMemory", "PolyesterWeave", "Requires", "Static", "StaticArrayInterface", "StrideArraysCore", "ThreadingUtilities"] -git-tree-sha1 = "0fe4e7c4d8ff4c70bfa507f0dd96fa161b115777" -uuid = "f517fe37-dbe3-4b94-8317-1923a5111588" -version = "0.7.3" - -[[deps.PolyesterWeave]] -deps = ["BitTwiddlingConvenienceFunctions", "CPUSummary", "IfElse", "Static", "ThreadingUtilities"] -git-tree-sha1 = "240d7170f5ffdb285f9427b92333c3463bf65bf6" -uuid = "1d0040c9-8b98-4ee7-8388-3f51789ca0ad" -version = "0.2.1" - -[[deps.Polynomials]] -deps = ["ChainRulesCore", "LinearAlgebra", "MakieCore", "MutableArithmetics", "RecipesBase"] -git-tree-sha1 = "66443538efd80fac4962b74523ec0b35c9464a21" -uuid = "f27b6e38-b328-58d1-80ce-0feddd5e7a45" -version = "3.2.9" - -[[deps.PreallocationTools]] -deps = ["Adapt", "ArrayInterface", "ForwardDiff", "Requires"] -git-tree-sha1 = "f739b1b3cc7b9949af3b35089931f2b58c289163" -uuid = "d236fae5-4411-538c-8e31-a6e3d9e00b46" -version = "0.4.12" - -[[deps.PrecompileTools]] -deps = ["Preferences"] -git-tree-sha1 = "bc2bda41d798c2e66e7c44a11007bb329b15941b" -uuid = "aea7be01-6a6a-4083-8856-8a6e6704d82a" -version = "1.0.1" - -[[deps.Preferences]] -deps = ["TOML"] -git-tree-sha1 = "47e5f437cc0e7ef2ce8406ce1e7e24d44915f88d" -uuid = "21216c6a-2e73-6563-6e65-726566657250" -version = "1.3.0" - -[[deps.Printf]] -deps = ["Unicode"] -uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7" - -[[deps.ProgressMeter]] -deps = ["Distributed", "Printf"] -git-tree-sha1 = "d7a7aef8f8f2d537104f170139553b14dfe39fe9" -uuid = "92933f4c-e287-5a05-a399-4b506db050ca" -version = "1.7.2" - -[[deps.Qt5Base_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "Fontconfig_jll", "Glib_jll", "JLLWrappers", "Libdl", "Libglvnd_jll", "OpenSSL_jll", "Pkg", "Xorg_libXext_jll", "Xorg_libxcb_jll", "Xorg_xcb_util_image_jll", "Xorg_xcb_util_keysyms_jll", "Xorg_xcb_util_renderutil_jll", "Xorg_xcb_util_wm_jll", "Zlib_jll", "xkbcommon_jll"] -git-tree-sha1 = "0c03844e2231e12fda4d0086fd7cbe4098ee8dc5" -uuid = "ea2cea3b-5b76-57ae-a6ef-0a8af62496e1" -version = "5.15.3+2" - -[[deps.QuadGK]] -deps = ["DataStructures", "LinearAlgebra"] -git-tree-sha1 = "6ec7ac8412e83d57e313393220879ede1740f9ee" -uuid = "1fd47b50-473d-5c70-9696-f719f8f3bcdc" -version = "2.8.2" - -[[deps.REPL]] -deps = ["InteractiveUtils", "Markdown", "Sockets", "Unicode"] -uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb" - -[[deps.Random]] -deps = ["SHA", "Serialization"] -uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" - -[[deps.Ratios]] -deps = ["Requires"] -git-tree-sha1 = "6d7bb727e76147ba18eed998700998e17b8e4911" -uuid = "c84ed2f1-dad5-54f0-aa8e-dbefe2724439" -version = "0.4.4" - -[[deps.RecipesBase]] -deps = ["SnoopPrecompile"] -git-tree-sha1 = "261dddd3b862bd2c940cf6ca4d1c8fe593e457c8" -uuid = "3cdcf5f2-1ef4-517c-9805-6587b60abb01" -version = "1.3.3" - -[[deps.RecipesPipeline]] -deps = ["Dates", "NaNMath", "PlotUtils", "RecipesBase", "SnoopPrecompile"] -git-tree-sha1 = "e974477be88cb5e3040009f3767611bc6357846f" -uuid = "01d81517-befc-4cb6-b9ec-a95719d0359c" -version = "0.6.11" - -[[deps.RecursiveArrayTools]] -deps = ["Adapt", "ArrayInterface", "DocStringExtensions", "GPUArraysCore", "IteratorInterfaceExtensions", "LinearAlgebra", "RecipesBase", "Requires", "StaticArraysCore", "Statistics", "SymbolicIndexingInterface", "Tables"] -git-tree-sha1 = "140cddd2c457e4ebb0cdc7c2fd14a7fbfbdf206e" -uuid = "731186ca-8d62-57ce-b412-fbd966d074cd" -version = "2.38.3" - -[[deps.Reexport]] -git-tree-sha1 = "45e428421666073eab6f2da5c9d310d99bb12f9b" -uuid = "189a3867-3050-52da-a836-e630ba90ab69" -version = "1.2.2" - -[[deps.RelocatableFolders]] -deps = ["SHA", "Scratch"] -git-tree-sha1 = "90bc7a7c96410424509e4263e277e43250c05691" -uuid = "05181044-ff0b-4ac5-8273-598c1e38db00" -version = "1.0.0" - -[[deps.Requires]] -deps = ["UUIDs"] -git-tree-sha1 = "838a3a4188e2ded87a4f9f184b4b0d78a1e91cb7" -uuid = "ae029012-a4dd-5104-9daa-d747884805df" -version = "1.3.0" - -[[deps.Revise]] -deps = ["CodeTracking", "Distributed", "FileWatching", "JuliaInterpreter", "LibGit2", "LoweredCodeUtils", "OrderedCollections", "Pkg", "REPL", "Requires", "UUIDs", "Unicode"] -git-tree-sha1 = "feafdc70b2e6684314e188d95fe66d116de834a7" -uuid = "295af30f-e4ad-537b-8983-00126c2a3abe" -version = "3.5.2" - -[[deps.Rmath]] -deps = ["Random", "Rmath_jll"] -git-tree-sha1 = "f65dcb5fa46aee0cf9ed6274ccbd597adc49aa7b" -uuid = "79098fc4-a85e-5d69-aa6a-4863f24498fa" -version = "0.7.1" - -[[deps.Rmath_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "6ed52fdd3382cf21947b15e8870ac0ddbff736da" -uuid = "f50d1b31-88e8-58de-be2c-1cc44531875f" -version = "0.4.0+0" - -[[deps.Roots]] -deps = ["ChainRulesCore", "CommonSolve", "Printf", "Setfield"] -git-tree-sha1 = "82362f2a4f756951f21ebb3ac2aed094c46a5109" -uuid = "f2b01f46-fcfa-551c-844a-d8ac1e96c665" -version = "2.0.12" - -[[deps.RoundingEmulator]] -git-tree-sha1 = "40b9edad2e5287e05bd413a38f61a8ff55b9557b" -uuid = "5eaf0fd0-dfba-4ccb-bf02-d820a40db705" -version = "0.2.1" - -[[deps.RuntimeGeneratedFunctions]] -deps = ["ExprTools", "SHA", "Serialization"] -git-tree-sha1 = "f139e81a81e6c29c40f1971c9e5309b09c03f2c3" -uuid = "7e49a35a-f44a-4d26-94aa-eba1b4ca6b47" -version = "0.5.6" - -[[deps.SHA]] -uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce" -version = "0.7.0" - -[[deps.SIMDTypes]] -git-tree-sha1 = "330289636fb8107c5f32088d2741e9fd7a061a5c" -uuid = "94e857df-77ce-4151-89e5-788b33177be4" -version = "0.1.0" - -[[deps.SciMLBase]] -deps = ["ArrayInterface", "CommonSolve", "ConstructionBase", "Distributed", "DocStringExtensions", "EnumX", "FunctionWrappersWrappers", "IteratorInterfaceExtensions", "LinearAlgebra", "Logging", "Markdown", "Preferences", "RecipesBase", "RecursiveArrayTools", "Reexport", "RuntimeGeneratedFunctions", "SciMLOperators", "SnoopPrecompile", "StaticArraysCore", "Statistics", "SymbolicIndexingInterface", "Tables", "TruncatedStacktraces"] -git-tree-sha1 = "392d3e28b05984496af37100ded94dc46fa6c8de" -uuid = "0bca4576-84f4-4d90-8ffe-ffa030f20462" -version = "1.91.7" - -[[deps.SciMLOperators]] -deps = ["ArrayInterface", "DocStringExtensions", "Lazy", "LinearAlgebra", "Setfield", "SparseArrays", "StaticArraysCore", "Tricks"] -git-tree-sha1 = "e61e48ef909375203092a6e83508c8416df55a83" -uuid = "c0aeaf25-5076-4817-a8d5-81caf7dfa961" -version = "0.2.0" - -[[deps.Scratch]] -deps = ["Dates"] -git-tree-sha1 = "30449ee12237627992a99d5e30ae63e4d78cd24a" -uuid = "6c6a2e73-6563-6170-7368-637461726353" -version = "1.2.0" - -[[deps.SentinelArrays]] -deps = ["Dates", "Random"] -git-tree-sha1 = "04bdff0b09c65ff3e06a05e3eb7b120223da3d39" -uuid = "91c51154-3ec4-41a3-a24f-3f23e20d615c" -version = "1.4.0" - -[[deps.Serialization]] -uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b" - -[[deps.SetRounding]] -git-tree-sha1 = "d7a25e439d07a17b7cdf97eecee504c50fedf5f6" -uuid = "3cc68bcd-71a2-5612-b932-767ffbe40ab0" -version = "0.2.1" - -[[deps.Setfield]] -deps = ["ConstructionBase", "Future", "MacroTools", "StaticArraysCore"] -git-tree-sha1 = "e2cc6d8c88613c05e1defb55170bf5ff211fbeac" -uuid = "efcf1570-3423-57d1-acb7-fd33fddbac46" -version = "1.1.1" - -[[deps.SharedArrays]] -deps = ["Distributed", "Mmap", "Random", "Serialization"] -uuid = "1a1011a3-84de-559e-8e89-a11a2f7dc383" - -[[deps.Showoff]] -deps = ["Dates", "Grisu"] -git-tree-sha1 = "91eddf657aca81df9ae6ceb20b959ae5653ad1de" -uuid = "992d4aef-0814-514b-bc4d-f2e9a6c4116f" -version = "1.0.3" - -[[deps.SimpleBufferStream]] -git-tree-sha1 = "874e8867b33a00e784c8a7e4b60afe9e037b74e1" -uuid = "777ac1f9-54b0-4bf8-805c-2214025038e7" -version = "1.1.0" - -[[deps.SimpleDiffEq]] -deps = ["DiffEqBase", "LinearAlgebra", "MuladdMacro", "Parameters", "RecursiveArrayTools", "Reexport", "StaticArrays"] -git-tree-sha1 = "58369b3d052f61b6607fbaef76b745929be77712" -uuid = "05bca326-078c-5bf0-a5bf-ce7c7982d7fd" -version = "1.9.0" - -[[deps.SimpleTraits]] -deps = ["InteractiveUtils", "MacroTools"] -git-tree-sha1 = "5d7e3f4e11935503d3ecaf7186eac40602e7d231" -uuid = "699a6c99-e7fa-54fc-8d76-47d257e15c1d" -version = "0.9.4" - -[[deps.SnoopPrecompile]] -deps = ["Preferences"] -git-tree-sha1 = "e760a70afdcd461cf01a575947738d359234665c" -uuid = "66db9d55-30c0-4569-8b51-7e840670fc0c" -version = "1.0.3" - -[[deps.Sockets]] -uuid = "6462fe0b-24de-5631-8697-dd941f90decc" - -[[deps.SortingAlgorithms]] -deps = ["DataStructures"] -git-tree-sha1 = "a4ada03f999bd01b3a25dcaa30b2d929fe537e00" -uuid = "a2af1166-a08f-5f64-846c-94a0d3cef48c" -version = "1.1.0" - -[[deps.SparseArrays]] -deps = ["LinearAlgebra", "Random"] -uuid = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" - -[[deps.SpecialFunctions]] -deps = ["ChainRulesCore", "IrrationalConstants", "LogExpFunctions", "OpenLibm_jll", "OpenSpecFun_jll"] -git-tree-sha1 = "ef28127915f4229c971eb43f3fc075dd3fe91880" -uuid = "276daf66-3868-5448-9aa4-cd146d93841b" -version = "2.2.0" - -[[deps.Static]] -deps = ["IfElse"] -git-tree-sha1 = "08be5ee09a7632c32695d954a602df96a877bf0d" -uuid = "aedffcd0-7271-4cad-89d0-dc628f76c6d3" -version = "0.8.6" - -[[deps.StaticArrayInterface]] -deps = ["ArrayInterface", "Compat", "IfElse", "LinearAlgebra", "Requires", "SnoopPrecompile", "SparseArrays", "Static", "SuiteSparse"] -git-tree-sha1 = "33040351d2403b84afce74dae2e22d3f5b18edcb" -uuid = "0d7ed370-da01-4f52-bd93-41d350b8b718" -version = "1.4.0" - -[[deps.StaticArrays]] -deps = ["LinearAlgebra", "Random", "StaticArraysCore", "Statistics"] -git-tree-sha1 = "63e84b7fdf5021026d0f17f76af7c57772313d99" -uuid = "90137ffa-7385-5640-81b9-e52037218182" -version = "1.5.21" - -[[deps.StaticArraysCore]] -git-tree-sha1 = "6b7ba252635a5eff6a0b0664a41ee140a1c9e72a" -uuid = "1e83bf80-4336-4d27-bf5d-d5a4f845583c" -version = "1.4.0" - -[[deps.Statistics]] -deps = ["LinearAlgebra", "SparseArrays"] -uuid = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" - -[[deps.StatsAPI]] -deps = ["LinearAlgebra"] -git-tree-sha1 = "45a7769a04a3cf80da1c1c7c60caf932e6f4c9f7" -uuid = "82ae8749-77ed-4fe6-ae5f-f523153014b0" -version = "1.6.0" - -[[deps.StatsBase]] -deps = ["DataAPI", "DataStructures", "LinearAlgebra", "LogExpFunctions", "Missings", "Printf", "Random", "SortingAlgorithms", "SparseArrays", "Statistics", "StatsAPI"] -git-tree-sha1 = "d1bf48bfcc554a3761a133fe3a9bb01488e06916" -uuid = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91" -version = "0.33.21" - -[[deps.StatsFuns]] -deps = ["ChainRulesCore", "HypergeometricFunctions", "InverseFunctions", "IrrationalConstants", "LogExpFunctions", "Reexport", "Rmath", "SpecialFunctions"] -git-tree-sha1 = "f625d686d5a88bcd2b15cd81f18f98186fdc0c9a" -uuid = "4c63d2b9-4356-54db-8cca-17b64c39e42c" -version = "1.3.0" - -[[deps.StatsPlots]] -deps = ["AbstractFFTs", "Clustering", "DataStructures", "Distributions", "Interpolations", "KernelDensity", "LinearAlgebra", "MultivariateStats", "NaNMath", "Observables", "Plots", "RecipesBase", "RecipesPipeline", "Reexport", "StatsBase", "TableOperations", "Tables", "Widgets"] -git-tree-sha1 = "14ef622cf28b05e38f8af1de57bc9142b03fbfe3" -uuid = "f3b207a7-027a-5e70-b257-86293d7955fd" -version = "0.15.5" - -[[deps.StrideArraysCore]] -deps = ["ArrayInterface", "CloseOpenIntervals", "IfElse", "LayoutPointers", "ManualMemory", "SIMDTypes", "Static", "StaticArrayInterface", "ThreadingUtilities"] -git-tree-sha1 = "f5a57d3c111c79fcc1f8fed6058a8753d061c6d2" -uuid = "7792a7ef-975c-4747-a70f-980b88e8d1da" -version = "0.4.12" - -[[deps.SuiteSparse]] -deps = ["Libdl", "LinearAlgebra", "Serialization", "SparseArrays"] -uuid = "4607b0f0-06f3-5cda-b6b1-a6196a1729e9" - -[[deps.SymbolicIndexingInterface]] -deps = ["DocStringExtensions"] -git-tree-sha1 = "f8ab052bfcbdb9b48fad2c80c873aa0d0344dfe5" -uuid = "2efcf032-c050-4f8e-a9bb-153293bab1f5" -version = "0.2.2" - -[[deps.TOML]] -deps = ["Dates"] -uuid = "fa267f1f-6049-4f14-aa54-33bafae1ed76" -version = "1.0.0" - -[[deps.TableOperations]] -deps = ["SentinelArrays", "Tables", "Test"] -git-tree-sha1 = "e383c87cf2a1dc41fa30c093b2a19877c83e1bc1" -uuid = "ab02a1b2-a7df-11e8-156e-fb1833f50b87" -version = "1.2.0" - -[[deps.TableTraits]] -deps = ["IteratorInterfaceExtensions"] -git-tree-sha1 = "c06b2f539df1c6efa794486abfb6ed2022561a39" -uuid = "3783bdb8-4a98-5b6b-af9a-565f29a5fe9c" -version = "1.0.1" - -[[deps.Tables]] -deps = ["DataAPI", "DataValueInterfaces", "IteratorInterfaceExtensions", "LinearAlgebra", "OrderedCollections", "TableTraits", "Test"] -git-tree-sha1 = "1544b926975372da01227b382066ab70e574a3ec" -uuid = "bd369af6-aec1-5ad0-b16a-f7cc5008161c" -version = "1.10.1" - -[[deps.Tar]] -deps = ["ArgTools", "SHA"] -uuid = "a4e569a6-e804-4fa4-b0f3-eef7a1d5b13e" -version = "1.10.0" - -[[deps.TensorCore]] -deps = ["LinearAlgebra"] -git-tree-sha1 = "1feb45f88d133a655e001435632f019a9a1bcdb6" -uuid = "62fd8b95-f654-4bbd-a8a5-9c27f68ccd50" -version = "0.1.1" - -[[deps.Test]] -deps = ["InteractiveUtils", "Logging", "Random", "Serialization"] -uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40" - -[[deps.ThreadingUtilities]] -deps = ["ManualMemory"] -git-tree-sha1 = "c97f60dd4f2331e1a495527f80d242501d2f9865" -uuid = "8290d209-cae3-49c0-8002-c8c24d57dab5" -version = "0.5.1" - -[[deps.TranscodingStreams]] -deps = ["Random", "Test"] -git-tree-sha1 = "0b829474fed270a4b0ab07117dce9b9a2fa7581a" -uuid = "3bb67fe8-82b1-5028-8e26-92a6c54297fa" -version = "0.9.12" - -[[deps.Tricks]] -git-tree-sha1 = "aadb748be58b492045b4f56166b5188aa63ce549" -uuid = "410a4b4d-49e4-4fbc-ab6d-cb71b17b3775" -version = "0.1.7" - -[[deps.TruncatedStacktraces]] -deps = ["InteractiveUtils", "MacroTools", "Preferences"] -git-tree-sha1 = "7bc1632a4eafbe9bd94cf1a784a9a4eb5e040a91" -uuid = "781d530d-4396-4725-bb49-402e4bee1e77" -version = "1.3.0" - -[[deps.URIs]] -git-tree-sha1 = "074f993b0ca030848b897beff716d93aca60f06a" -uuid = "5c2747f8-b7ea-4ff2-ba2e-563bfd36b1d4" -version = "1.4.2" - -[[deps.UUIDs]] -deps = ["Random", "SHA"] -uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4" - -[[deps.UnPack]] -git-tree-sha1 = "387c1f73762231e86e0c9c5443ce3b4a0a9a0c2b" -uuid = "3a884ed6-31ef-47d7-9d2a-63182c4928ed" -version = "1.0.2" - -[[deps.Unicode]] -uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5" - -[[deps.UnicodeFun]] -deps = ["REPL"] -git-tree-sha1 = "53915e50200959667e78a92a418594b428dffddf" -uuid = "1cfade01-22cf-5700-b092-accc4b62d6e1" -version = "0.4.1" - -[[deps.Unzip]] -git-tree-sha1 = "ca0969166a028236229f63514992fc073799bb78" -uuid = "41fe7b60-77ed-43a1-b4f0-825fd5a5650d" -version = "0.2.0" - -[[deps.Wavelets]] -deps = ["DSP", "FFTW", "LinearAlgebra", "Reexport", "SpecialFunctions", "Statistics"] -git-tree-sha1 = "58f7491c21ab2b1d69368c7f7e8a6a93cbf8b7bf" -uuid = "29a6e085-ba6d-5f35-a997-948ac2efa89a" -version = "0.9.5" - -[[deps.Wayland_jll]] -deps = ["Artifacts", "Expat_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Pkg", "XML2_jll"] -git-tree-sha1 = "ed8d92d9774b077c53e1da50fd81a36af3744c1c" -uuid = "a2964d1f-97da-50d4-b82a-358c7fce9d89" -version = "1.21.0+0" - -[[deps.Wayland_protocols_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "4528479aa01ee1b3b4cd0e6faef0e04cf16466da" -uuid = "2381bf8a-dfd0-557d-9999-79630e7b1b91" -version = "1.25.0+0" - -[[deps.Widgets]] -deps = ["Colors", "Dates", "Observables", "OrderedCollections"] -git-tree-sha1 = "fcdae142c1cfc7d89de2d11e08721d0f2f86c98a" -uuid = "cc8bc4a8-27d6-5769-a93b-9d913e69aa62" -version = "0.6.6" - -[[deps.WoodburyMatrices]] -deps = ["LinearAlgebra", "SparseArrays"] -git-tree-sha1 = "de67fa59e33ad156a590055375a30b23c40299d3" -uuid = "efce3f68-66dc-5838-9240-27a6d6f5f9b6" -version = "0.5.5" - -[[deps.XML2_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Libiconv_jll", "Pkg", "Zlib_jll"] -git-tree-sha1 = "93c41695bc1c08c46c5899f4fe06d6ead504bb73" -uuid = "02c8fc9c-b97f-50b9-bbe4-9be30ff0a78a" -version = "2.10.3+0" - -[[deps.XSLT_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Libgcrypt_jll", "Libgpg_error_jll", "Libiconv_jll", "Pkg", "XML2_jll", "Zlib_jll"] -git-tree-sha1 = "91844873c4085240b95e795f692c4cec4d805f8a" -uuid = "aed1982a-8fda-507f-9586-7b0439959a61" -version = "1.1.34+0" - -[[deps.Xorg_libX11_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libxcb_jll", "Xorg_xtrans_jll"] -git-tree-sha1 = "5be649d550f3f4b95308bf0183b82e2582876527" -uuid = "4f6342f7-b3d2-589e-9d20-edeb45f2b2bc" -version = "1.6.9+4" - -[[deps.Xorg_libXau_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "4e490d5c960c314f33885790ed410ff3a94ce67e" -uuid = "0c0b7dd1-d40b-584c-a123-a41640f87eec" -version = "1.0.9+4" - -[[deps.Xorg_libXcursor_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXfixes_jll", "Xorg_libXrender_jll"] -git-tree-sha1 = "12e0eb3bc634fa2080c1c37fccf56f7c22989afd" -uuid = "935fb764-8cf2-53bf-bb30-45bb1f8bf724" -version = "1.2.0+4" - -[[deps.Xorg_libXdmcp_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "4fe47bd2247248125c428978740e18a681372dd4" -uuid = "a3789734-cfe1-5b06-b2d0-1dd0d9d62d05" -version = "1.1.3+4" - -[[deps.Xorg_libXext_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll"] -git-tree-sha1 = "b7c0aa8c376b31e4852b360222848637f481f8c3" -uuid = "1082639a-0dae-5f34-9b06-72781eeb8cb3" -version = "1.3.4+4" - -[[deps.Xorg_libXfixes_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll"] -git-tree-sha1 = "0e0dc7431e7a0587559f9294aeec269471c991a4" -uuid = "d091e8ba-531a-589c-9de9-94069b037ed8" -version = "5.0.3+4" - -[[deps.Xorg_libXi_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXext_jll", "Xorg_libXfixes_jll"] -git-tree-sha1 = "89b52bc2160aadc84d707093930ef0bffa641246" -uuid = "a51aa0fd-4e3c-5386-b890-e753decda492" -version = "1.7.10+4" - -[[deps.Xorg_libXinerama_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXext_jll"] -git-tree-sha1 = "26be8b1c342929259317d8b9f7b53bf2bb73b123" -uuid = "d1454406-59df-5ea1-beac-c340f2130bc3" -version = "1.1.4+4" - -[[deps.Xorg_libXrandr_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXext_jll", "Xorg_libXrender_jll"] -git-tree-sha1 = "34cea83cb726fb58f325887bf0612c6b3fb17631" -uuid = "ec84b674-ba8e-5d96-8ba1-2a689ba10484" -version = "1.5.2+4" - -[[deps.Xorg_libXrender_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll"] -git-tree-sha1 = "19560f30fd49f4d4efbe7002a1037f8c43d43b96" -uuid = "ea2f1a96-1ddc-540d-b46f-429655e07cfa" -version = "0.9.10+4" - -[[deps.Xorg_libpthread_stubs_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "6783737e45d3c59a4a4c4091f5f88cdcf0908cbb" -uuid = "14d82f49-176c-5ed1-bb49-ad3f5cbd8c74" -version = "0.1.0+3" - -[[deps.Xorg_libxcb_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "XSLT_jll", "Xorg_libXau_jll", "Xorg_libXdmcp_jll", "Xorg_libpthread_stubs_jll"] -git-tree-sha1 = "daf17f441228e7a3833846cd048892861cff16d6" -uuid = "c7cfdc94-dc32-55de-ac96-5a1b8d977c5b" -version = "1.13.0+3" - -[[deps.Xorg_libxkbfile_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll"] -git-tree-sha1 = "926af861744212db0eb001d9e40b5d16292080b2" -uuid = "cc61e674-0454-545c-8b26-ed2c68acab7a" -version = "1.1.0+4" - -[[deps.Xorg_xcb_util_image_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_xcb_util_jll"] -git-tree-sha1 = "0fab0a40349ba1cba2c1da699243396ff8e94b97" -uuid = "12413925-8142-5f55-bb0e-6d7ca50bb09b" -version = "0.4.0+1" - -[[deps.Xorg_xcb_util_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libxcb_jll"] -git-tree-sha1 = "e7fd7b2881fa2eaa72717420894d3938177862d1" -uuid = "2def613f-5ad1-5310-b15b-b15d46f528f5" -version = "0.4.0+1" - -[[deps.Xorg_xcb_util_keysyms_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_xcb_util_jll"] -git-tree-sha1 = "d1151e2c45a544f32441a567d1690e701ec89b00" -uuid = "975044d2-76e6-5fbe-bf08-97ce7c6574c7" -version = "0.4.0+1" - -[[deps.Xorg_xcb_util_renderutil_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_xcb_util_jll"] -git-tree-sha1 = "dfd7a8f38d4613b6a575253b3174dd991ca6183e" -uuid = "0d47668e-0667-5a69-a72c-f761630bfb7e" -version = "0.3.9+1" - -[[deps.Xorg_xcb_util_wm_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_xcb_util_jll"] -git-tree-sha1 = "e78d10aab01a4a154142c5006ed44fd9e8e31b67" -uuid = "c22f9ab0-d5fe-5066-847c-f4bb1cd4e361" -version = "0.4.1+1" - -[[deps.Xorg_xkbcomp_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libxkbfile_jll"] -git-tree-sha1 = "4bcbf660f6c2e714f87e960a171b119d06ee163b" -uuid = "35661453-b289-5fab-8a00-3d9160c6a3a4" -version = "1.4.2+4" - -[[deps.Xorg_xkeyboard_config_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_xkbcomp_jll"] -git-tree-sha1 = "5c8424f8a67c3f2209646d4425f3d415fee5931d" -uuid = "33bec58e-1273-512f-9401-5d533626f822" -version = "2.27.0+4" - -[[deps.Xorg_xtrans_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "79c31e7844f6ecf779705fbc12146eb190b7d845" -uuid = "c5fb5394-a638-5e4d-96e5-b29de1b5cf10" -version = "1.4.0+3" - -[[deps.Zlib_jll]] -deps = ["Libdl"] -uuid = "83775a58-1f1d-513f-b197-d71354ab007a" -version = "1.2.12+3" - -[[deps.Zstd_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "49ce682769cd5de6c72dcf1b94ed7790cd08974c" -uuid = "3161d3a3-bdf6-5164-811a-617609db77b4" -version = "1.5.5+0" - -[[deps.ZygoteRules]] -deps = ["ChainRulesCore", "MacroTools"] -git-tree-sha1 = "977aed5d006b840e2e40c0b48984f7463109046d" -uuid = "700de1a5-db45-46bc-99cf-38207098b444" -version = "0.2.3" - -[[deps.fzf_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "868e669ccb12ba16eaf50cb2957ee2ff61261c56" -uuid = "214eeab7-80f7-51ab-84ad-2988db7cef09" -version = "0.29.0+0" - -[[deps.libaom_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "3a2ea60308f0996d26f1e5354e10c24e9ef905d4" -uuid = "a4ae2306-e953-59d6-aa16-d00cac43593b" -version = "3.4.0+0" - -[[deps.libass_jll]] -deps = ["Artifacts", "Bzip2_jll", "FreeType2_jll", "FriBidi_jll", "HarfBuzz_jll", "JLLWrappers", "Libdl", "Pkg", "Zlib_jll"] -git-tree-sha1 = "5982a94fcba20f02f42ace44b9894ee2b140fe47" -uuid = "0ac62f75-1d6f-5e53-bd7c-93b484bb37c0" -version = "0.15.1+0" - -[[deps.libblastrampoline_jll]] -deps = ["Artifacts", "Libdl", "OpenBLAS_jll"] -uuid = "8e850b90-86db-534c-a0d3-1478176c7d93" -version = "5.1.1+0" - -[[deps.libfdk_aac_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "daacc84a041563f965be61859a36e17c4e4fcd55" -uuid = "f638f0a6-7fb0-5443-88ba-1cc74229b280" -version = "2.0.2+0" - -[[deps.libpng_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Zlib_jll"] -git-tree-sha1 = "94d180a6d2b5e55e447e2d27a29ed04fe79eb30c" -uuid = "b53b4c65-9356-5827-b1ea-8c7a1a84506f" -version = "1.6.38+0" - -[[deps.libvorbis_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Ogg_jll", "Pkg"] -git-tree-sha1 = "b910cb81ef3fe6e78bf6acee440bda86fd6ae00c" -uuid = "f27f6e37-5d2b-51aa-960f-b287f2bc3b7a" -version = "1.3.7+1" - -[[deps.nghttp2_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "8e850ede-7688-5339-a07c-302acd2aaf8d" -version = "1.48.0+0" - -[[deps.p7zip_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0" -version = "17.4.0+0" - -[[deps.x264_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "4fea590b89e6ec504593146bf8b988b2c00922b2" -uuid = "1270edf5-f2f9-52d2-97e9-ab00b5d0237a" -version = "2021.5.5+0" - -[[deps.x265_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "ee567a171cce03570d77ad3a43e90218e38937a9" -uuid = "dfaa095f-4041-5dcd-9319-2fabd8486b76" -version = "3.5.0+0" - -[[deps.xkbcommon_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Wayland_jll", "Wayland_protocols_jll", "Xorg_libxcb_jll", "Xorg_xkeyboard_config_jll"] -git-tree-sha1 = "9ebfc140cc56e8c2156a15ceac2f0302e327ac0a" -uuid = "d8fb68d0-12a3-5cfd-a85a-d49703b185fd" -version = "1.4.1+0" From 6c612121b5e4a7078dc2d02c601841f4faf43ffd Mon Sep 17 00:00:00 2001 From: rusandris Date: Tue, 1 Aug 2023 08:08:45 +0300 Subject: [PATCH 15/32] Update Dependencies --- Project.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/Project.toml b/Project.toml index c991986..ff372f1 100644 --- a/Project.toml +++ b/Project.toml @@ -24,3 +24,4 @@ StatsPlots = "f3b207a7-027a-5e70-b257-86293d7955fd" [compat] ChaosTools = "2.9.0" +DelayEmbeddings = "2.3.3" From e01ab47efb7e26de531ae8cc7f97c3f10a59ccca Mon Sep 17 00:00:00 2001 From: rusandris Date: Tue, 1 Aug 2023 08:28:37 +0300 Subject: [PATCH 16/32] update dependency constraints --- Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Project.toml b/Project.toml index ff372f1..0a2ccde 100644 --- a/Project.toml +++ b/Project.toml @@ -24,4 +24,4 @@ StatsPlots = "f3b207a7-027a-5e70-b257-86293d7955fd" [compat] ChaosTools = "2.9.0" -DelayEmbeddings = "2.3.3" +DelayEmbeddings = "<2.6" From 4e74afd0421260e86aec561343b0db872a496e28 Mon Sep 17 00:00:00 2001 From: rusandris Date: Tue, 1 Aug 2023 09:41:48 +0300 Subject: [PATCH 17/32] add probability vertex attribute to stn --- src/create_stn.jl | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/create_stn.jl b/src/create_stn.jl index 78beba8..83d8304 100644 --- a/src/create_stn.jl +++ b/src/create_stn.jl @@ -98,12 +98,23 @@ function create_stn(discrete_timeseries,vertex_names;make_ergodic=false,verbose= Q = spzeros(nr_vertices, nr_vertices) P = spzeros(nr_vertices, nr_vertices) + #probability distribution of states + states_distrib = zeros(nr_vertices) + #count transitions for i in eachindex(discrete_timeseries[1:end-1]) state = discrete_timeseries[i] next_state = discrete_timeseries[i+1] Q[vertex_names[state],vertex_names[next_state]] += 1 + states_distrib[vertex_names[state]] += 1 end + + #update end (final) state + end_state = discrete_timeseries[end] + states_distrib[vertex_names[end_state]] += 1 + + #normalize state distribution + states_distrib = states_distrib ./ sum(states_distrib) #normalize Q and fill P by normalizing rows Q = Q./sum(Q) @@ -113,7 +124,7 @@ function create_stn(discrete_timeseries,vertex_names;make_ergodic=false,verbose= stn = MetaGraph( DiGraph(), Int64, - Dict{Symbol, Int64}, + Dict{Symbol, Union{Int64,Float64}}, Dict{Symbol, Float64}, nothing, edge_data -> 1.0, @@ -124,7 +135,7 @@ function create_stn(discrete_timeseries,vertex_names;make_ergodic=false,verbose= #Properties: vertices -> Dict{Symbol,Int64}, edges -> Dict{Symbol,Float64} for state in keys(vertex_names) - stn[vertex_names[state]] = Dict(:x => state[1],:y => state[2]) + stn[vertex_names[state]] = Dict(:x => state[1],:y => state[2],:prob => states_distrib[vertex_names[state]]) end for i in 1:length(vertex_names) From 78d38e04eec16c46366a7952f404202f51577f6e Mon Sep 17 00:00:00 2001 From: sbulcsu Date: Tue, 1 Aug 2023 19:28:02 +0300 Subject: [PATCH 18/32] measures for the logistic map --- src/test_logistic_map.jl | 149 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 149 insertions(+) create mode 100644 src/test_logistic_map.jl diff --git a/src/test_logistic_map.jl b/src/test_logistic_map.jl new file mode 100644 index 0000000..8e42b9e --- /dev/null +++ b/src/test_logistic_map.jl @@ -0,0 +1,149 @@ +using StateTransitionNetworks +using Plots +using DynamicalSystems +using Graphs +using GraphPlot +using Random +using Statistics + +using LinearAlgebra +using DelimitedFiles +using LaTeXStrings + +function transition_matrix(f, grid, grid_edges) + P = zeros(grid,grid) + x_min,x_max = grid_edges + dx = 0.5*(x_max-x_min)/grid + x = collect(range(grid_edges[1],grid_edges[2], grid)) + for i in 1:grid + P[i,Int(f(i))] + end +end + +function bit_number_measures(P::AbstractMatrix) + λ, X = eigen(transpose(Matrix(P))) + + if real(λ[end]) ≈ 1 + x = transpose(X[:,end]./sum(X[:,end])) + else + return -1, :StochasticMatrixError + end + + l = -log.(x) + replace!(l, Inf=>0.0) + entropy = sum((x .* l)) + #variance = sum(x .* ((l .- entropy).^2)) + variance = sum(x .* l .* l) - entropy^2 + return real(entropy), real(variance), :Success +end + +############################### +### Measures for a single value +############################### + +grid_size = 200; +r = 4.; +ds = Systems.logistic(0.4; r = r) +λ = lyapunov(ds, 10000; Ttr = 500) +timeseries = trajectory(ds, 100000, 0.4; Ttr=1000); +ys = zeros(length(timeseries)) +timeseries = hcat(timeseries, ys) +discrete_timeseries, vertex_names = timeseries_to_grid(timeseries, grid_size; grid_edges = [0., 0., 1., 1.]); +@time stn,retcode = create_stn(discrete_timeseries, vertex_names); +P = prob_matrix(stn); +@time S, Λ = network_measures(P) +@time C1, C2 = bit_number_measures(P) +#################### +### network measures +#################### + +r_values = 3.5:0.001:4.; +traj_length = 100000; +trans = 1000; +grid_size = 1000; +ensemble = 1000; +N_steps = 10000; + +sim_entropy_measures = zeros(length(r_values)) +sim_lyapunov_measures = zeros(length(r_values)) +theor_entropy_measures = zeros(length(r_values)) +theor_lyapunov_measures = zeros(length(r_values)) +C1_measures = zeros(length(r_values)) +C2_measures = zeros(length(r_values)) + +for (i,r) in enumerate(r_values) + system = Systems.logistic(0.4; r=r) + @show r + timeseries = trajectory(system, traj_length, 0.4; Ttr=trans) + ys = zeros(length(timeseries)) + timeseries = hcat(timeseries, ys) + discrete_timeseries, vertex_names = timeseries_to_grid(timeseries, grid_size; grid_edges = [0., 0., 1., 1.]); + stn,retcode = create_stn(discrete_timeseries, vertex_names) + #sim_entropy_measures[i], sim_lyapunov_measures[i] = network_measures(stn, ensemble, N_steps) + P = prob_matrix(stn); + theor_entropy_measures[i], theor_lyapunov_measures[i] = network_measures(P) + C1_measures[i], C2_measures[i] = bit_number_measures(P) +end + +data = hcat(r_values, sim_entropy_measures, sim_lyapunov_measures, theor_entropy_measures, theor_lyapunov_measures, C1_measures, C2_measures) + +#save data +f_name = "./tests/logistic_measures_r=3.5-4_da=0.001_ens=1000_tmax=100000_ttrans=1000_grid=200.dat" +f_name = "./tests/logistic_measures_r=3.5-4_da=0.0001_tmax=100000_ttrans=1000_grid=200.dat" +f_name = "./tests/logistic_measures_r=3.5-4_da=0.0001_tmax=100000_ttrans=1000_grid=1000.dat" +f_name = "./tests/logistic_measures_r=3.5-4_da=0.0001_tmax=100000_ttrans=1000_grid=20.dat" +writedlm(f_name,data) +# load data +f_name = "./tests/logistic_measures_r=0-4_da=0.01_ens=1000_tmax=100000_ttrans=1000_grid=200.dat" +data = readdlm(f_name) + +pl = plot() +#scatter!(pl, data[:,1], data[:,2], label = "Random walk", lw=2, color="gray", alpha=0.5) +f_name = "./tests/logistic_measures_r=3.5-4_da=0.0001_tmax=100000_ttrans=1000_grid=1000.dat" +data = readdlm(f_name) +plot!(pl, data[:,1], data[:,4], label = "grid=1000", lw=2, alpha=0.5, color="black") +f_name = "./tests/logistic_measures_r=3.5-4_da=0.0001_tmax=100000_ttrans=1000_grid=200.dat" +data = readdlm(f_name) +plot!(pl, data[:,1], data[:,4], label = "grid=200", lw=2, alpha=0.5, color="red") +f_name = "./tests/logistic_measures_r=3.5-4_da=0.0001_tmax=100000_ttrans=1000_grid=20.dat" +data = readdlm(f_name) +plot!(pl, data[:,1], data[:,4], label = "grid=20", lw=2, alpha=0.5, color="blue") +plot!(pl, xlabel=L"r", ylabel=L"S", xguidefontsize=22, yguidefontsize=22, xlim=[3.5,4], tickfontsize=14, lw=2, fontfamily="Serif", legendfontsize=16, +dpi=300) +savefig(pl, "./tests/logistic_entr_r=3.5-4_da=0.0001_tmax=100000_ttrans=1000_grid=20-200-1000.svg") +savefig(pl, "./tests/logistic_entr_r=3.5-4_da=0.0001_tmax=100000_ttrans=1000_grid=20-200-1000.pdf") + + +# lyapunov measure +pl = plot() +f_name = "./tests/logistic_measures_r=3.5-4_da=0.0001_tmax=100000_ttrans=1000_grid=1000.dat" +data = readdlm(f_name) +plot!(pl, data[:,1], data[:,5].+0.01, label = "grid=1000", lw=2, alpha=0.5, color="black") +f_name = "./tests/logistic_measures_r=3.5-4_da=0.0001_tmax=100000_ttrans=1000_grid=200.dat" +data = readdlm(f_name) +plot!(pl, data[:,1], data[:,5].+0.01, label = "grid=200", lw=2, alpha=0.5, color="red") +f_name = "./tests/logistic_measures_r=3.5-4_da=0.0001_tmax=100000_ttrans=1000_grid=20.dat" +data = readdlm(f_name) +plot!(pl, data[:,1], data[:,5].+0.01, label = "grid=20", lw=2, alpha=0.5, color="blue") +plot!(pl, xlabel=L"r", ylabel=L"\Lambda", xguidefontsize=22, yguidefontsize=22, xlim=[3.5,4], tickfontsize=14, lw=2, fontfamily="Serif", legendfontsize=16, +dpi=300, yscale=:linear) +plot!(ylim=[0,2]) +savefig(pl, "./tests/logistic_lyap_r=3.5-4_da=0.0001_tmax=100000_ttrans=1000_grid=20-200-1000.svg") +savefig(pl, "./tests/logistic_lyap_r=3.5-4_da=0.0001_tmax=100000_ttrans=1000_grid=20-200-1000.pdf") + +# compare gris in r\in [3.6,3.7] +pl = plot() +#scatter!(pl, data[:,1], data[:,3], label = "Random walk", lw=2, color="gray", alpha=0.5) +f_name = "./tests/logistic_measures_r=3.5-4_da=0.0001_tmax=100000_ttrans=1000_grid=1000.dat" +data = readdlm(f_name) +plot!(pl, data[:,1], data[:,5].+0.01, label = "grid=1000", lw=2, alpha=0.5, color="black") +f_name = "./tests/logistic_measures_r=3.5-4_da=0.0001_tmax=100000_ttrans=1000_grid=200.dat" +data = readdlm(f_name) +plot!(pl, data[:,1], data[:,5].+0.01, label = "grid=200", lw=2, alpha=0.5, color="red") +f_name = "./tests/logistic_measures_r=3.5-4_da=0.0001_tmax=100000_ttrans=1000_grid=20.dat" +data = readdlm(f_name) +plot!(pl, data[:,1], data[:,5].+0.01, label = "grid=20", lw=2, alpha=0.5, color="blue") +plot!(pl, xlabel=L"r", ylabel=L"\Lambda+0.01", xguidefontsize=22, yguidefontsize=22, xlim=[3.6,3.7], tickfontsize=14, lw=2, fontfamily="Serif", legendfontsize=16, +dpi=300, yscale=:log) +savefig(pl, "./tests/logistic_lyap_r=3.6-3.7_da=0.0001_tmax=100000_ttrans=1000_grid=20-200-1000.svg") +savefig(pl, "./tests/logistic_lyap_r=3.6-3.7_da=0.0001_tmax=100000_ttrans=1000_grid=20-200-1000.pdf") \ No newline at end of file From a6d8cd6a8d11529dccbd46c6e2bbdb98504fbff8 Mon Sep 17 00:00:00 2001 From: sbulcsu Date: Tue, 1 Aug 2023 19:28:19 +0300 Subject: [PATCH 19/32] measures for a single value --- tests/plot_measures_lorenz.jl | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/tests/plot_measures_lorenz.jl b/tests/plot_measures_lorenz.jl index ad03a4b..2b0e732 100644 --- a/tests/plot_measures_lorenz.jl +++ b/tests/plot_measures_lorenz.jl @@ -10,6 +10,29 @@ using LinearAlgebra using DelimitedFiles using LaTeXStrings + +############################### +### Measures for a single value +############################### + +Δt = 0.001; +plane = (1,15.0); +grid_size = 1000; +u0 = rand(3) +ρ = 180. +T = 100000; +trans = 5000 + + +system = Systems.lorenz(u0; ρ=ρ); +timeseries = trajectory(system, T; Δt=Δt, Ttr=trans); +psection = ChaosTools.poincaresos(timeseries, plane; direction=+1, idxs=[2,3]); +d_traj, v_names = timeseries_to_grid(psection, grid_size); +stn, ret_code_stn = create_stn(d_traj, v_names); +P = prob_matrix(stn); +network_measures(P) + + ################# ### orbit diagram ################# @@ -204,4 +227,7 @@ savefig(pl, "./tests/lorenz_corr_lyapexp-lyapmes.png") pl = plot() scatter!(pl, (data_zoom[:,1] .- ρ_c)/ρ_c, data_zoom[:,5] ./ data_zoom[:,4], label=L"\rho_c=%$(ρ_c)", lw=0, ms=6, markerstrokewidth=0, color="red", alpha=0.5) plot!(pl, xaxis=:log, yaxis=:log, xlabel=L"(\rho-\rho_c)/\rho_c", ylabel=L"\Lambda/S", xlim=[1e-6,1e-3], xguidefontsize=22, yguidefontsize=22, tickfontsize=14, lw=2, fontfamily="sans-serif", legendfontsize=16, dpi=300) -savefig(pl, "./tests/lorenz_scaling_rhoc=181.669.png") \ No newline at end of file +savefig(pl, "./tests/lorenz_scaling_rhoc=181.669.png") + + + From 1b9efa9cc41d6aeb8281c1df339387b5df775d48 Mon Sep 17 00:00:00 2001 From: Denes Karoly Date: Wed, 2 Aug 2023 10:40:55 +0300 Subject: [PATCH 20/32] Modified network measures, omitting eigenvalues --- src/StateTransitionNetworks.jl | 2 +- src/network_measures.jl | 37 +++++++++++----------------------- 2 files changed, 13 insertions(+), 26 deletions(-) diff --git a/src/StateTransitionNetworks.jl b/src/StateTransitionNetworks.jl index f33df55..d2f1684 100644 --- a/src/StateTransitionNetworks.jl +++ b/src/StateTransitionNetworks.jl @@ -7,7 +7,7 @@ using GraphPlot,Cairo,Compose import SparseArrays: spzeros import DelayEmbeddings: Dataset,AbstractDataset import ChaosTools: poincaresos -import LinearAlgebra: eigen, Diagonal +import LinearAlgebra: eigen, Diagonal, I, nullspace import DataStructures: OrderedDict include("create_stn.jl") diff --git a/src/network_measures.jl b/src/network_measures.jl index 4277c2b..63eb492 100644 --- a/src/network_measures.jl +++ b/src/network_measures.jl @@ -110,20 +110,14 @@ Calculates analytically the Sinai-Kolmogorov entropy given the P transition prob """ function sinai_kolmogorov_entropy(P::AbstractMatrix) - λ, V = eigen(Matrix(P)) - λ, X = eigen(transpose(Matrix(P))) - - if real(λ[end]) ≈ 1 - x = transpose(X[:,end]./sum(X[:,end])) - v = V[:,end]./V[1,end] - else - return -1, :StochasticMatrixError - end + x = nullspace(Matrix(P' - I)) + x = x' ./sum(x) + v = ones(length(x)) L = Matrix(-log.(P)) replace!(L, Inf=>0.0) L = P.*L - entropy = x*L*v + entropy = (x*L*v)[1] return real(entropy), :Success end @@ -134,30 +128,23 @@ Calculates analytically the Lyapunov measure given the the P transition probabil """ function lyapunov_measure(P::AbstractMatrix) - λ, V = eigen(Matrix(P)) - λ, X = eigen(transpose(Matrix(P))) + x = nullspace(Matrix(P' - I)) + x = x' ./sum(x) + v = ones(length(x)) - if real(λ[end]) ≈ 1 - x = transpose(X[:,end]./sum(X[:,end])) - v = V[:,end]./V[1,end] - else - return -1, -1, -1, :StochasticMatrixError - end - L = Matrix(-log.(P)) replace!(L, Inf=>0.0) L2 = P.*L.^2 L = P.*L - I = Diagonal(ones(length(x))) S = (I-v*x)+(P-v*x)*inv(I-P+v*x) - covariance = x*L*S*L*v - variance = x*L2*v-(x*L*v)^2 - lyapunov = variance + 2*real(covariance) + covariance = (x*L*S*L*v)[1] + variance = (x*L2*v)[1] -(x*L*v)[1]^2 + lyapunov = variance + 2*covariance if imag(covariance) < 1.0e-3 - return real(lyapunov), real(variance), real(covariance), :Success + return lyapunov, variance, covariance, :Success else @show covariance return real(lyapunov), real(variance), real(covariance), :ComplexCovariancveWarning end end - + \ No newline at end of file From b5c90866b8a82eba12300a816bcc88d4c6c0b4f6 Mon Sep 17 00:00:00 2001 From: sbulcsu Date: Wed, 2 Aug 2023 18:25:59 +0300 Subject: [PATCH 21/32] logistic map tests --- src/test_logistic_map.jl | 40 +++++++++++++++++++++++++++++++++------- 1 file changed, 33 insertions(+), 7 deletions(-) diff --git a/src/test_logistic_map.jl b/src/test_logistic_map.jl index 8e42b9e..b5c3c24 100644 --- a/src/test_logistic_map.jl +++ b/src/test_logistic_map.jl @@ -41,11 +41,11 @@ end ### Measures for a single value ############################### -grid_size = 200; +grid_size = 20; r = 4.; ds = Systems.logistic(0.4; r = r) λ = lyapunov(ds, 10000; Ttr = 500) -timeseries = trajectory(ds, 100000, 0.4; Ttr=1000); +timeseries = trajectory(ds, 10^8, 0.4; Ttr=1000); ys = zeros(length(timeseries)) timeseries = hcat(timeseries, ys) discrete_timeseries, vertex_names = timeseries_to_grid(timeseries, grid_size; grid_edges = [0., 0., 1., 1.]); @@ -53,14 +53,15 @@ discrete_timeseries, vertex_names = timeseries_to_grid(timeseries, grid_size; gr P = prob_matrix(stn); @time S, Λ = network_measures(P) @time C1, C2 = bit_number_measures(P) + #################### ### network measures #################### -r_values = 3.5:0.001:4.; -traj_length = 100000; +r_values = 3.995:0.001:4.; +traj_length = 10^8; trans = 1000; -grid_size = 1000; +grid_size = 20; ensemble = 1000; N_steps = 10000; @@ -82,21 +83,46 @@ for (i,r) in enumerate(r_values) #sim_entropy_measures[i], sim_lyapunov_measures[i] = network_measures(stn, ensemble, N_steps) P = prob_matrix(stn); theor_entropy_measures[i], theor_lyapunov_measures[i] = network_measures(P) - C1_measures[i], C2_measures[i] = bit_number_measures(P) + #C1_measures[i], C2_measures[i] = bit_number_measures(P) end data = hcat(r_values, sim_entropy_measures, sim_lyapunov_measures, theor_entropy_measures, theor_lyapunov_measures, C1_measures, C2_measures) #save data f_name = "./tests/logistic_measures_r=3.5-4_da=0.001_ens=1000_tmax=100000_ttrans=1000_grid=200.dat" +f_name = "./tests/logistic_measures_r=3.5-4_da=0.0001_tmax=100000_ttrans=1000_grid=20.dat" +f_name = "./tests/logistic_measures_r=3.5-4_da=0.0001_tmax=10^2_ttrans=1000_grid=200.dat" +f_name = "./tests/logistic_measures_r=3.5-4_da=0.0001_tmax=10^3_ttrans=1000_grid=200.dat" +f_name = "./tests/logistic_measures_r=3.5-4_da=0.0001_tmax=10^4_ttrans=1000_grid=200.dat" +f_name = "./tests/logistic_measures_r=3.5-4_da=0.0001_tmax=10^5_ttrans=1000_grid=200.dat" f_name = "./tests/logistic_measures_r=3.5-4_da=0.0001_tmax=100000_ttrans=1000_grid=200.dat" +f_name = "./tests/logistic_measures_r=3.5-4_da=0.0001_tmax=10^7_ttrans=1000_grid=200.dat" f_name = "./tests/logistic_measures_r=3.5-4_da=0.0001_tmax=100000_ttrans=1000_grid=1000.dat" -f_name = "./tests/logistic_measures_r=3.5-4_da=0.0001_tmax=100000_ttrans=1000_grid=20.dat" +f_name = "./tests/logistic_measures_r=3.5-4_da=0.0001_tmax=1000000_ttrans=1000_grid=2000.dat" writedlm(f_name,data) # load data f_name = "./tests/logistic_measures_r=0-4_da=0.01_ens=1000_tmax=100000_ttrans=1000_grid=200.dat" data = readdlm(f_name) +# plot bit number measures C2 +pl = plot() +plot!(pl, data[:,1], data[:,5], label = L"\Lambda", lw=2, alpha=0.5, color="red") +plot!(pl, data[:,1], data[:,7], label = L"C_2", lw=2, alpha=0.5, color="orange") +plot!(pl, xlabel=L"r", ylabel=L"\Lambda, C_2", xguidefontsize=22, yguidefontsize=22, xlim=[3.5,4], tickfontsize=14, lw=2, fontfamily="Serif", legendfontsize=16, +dpi=300) +plot!(ylim=[0,1], xlim=[3.6,3.7]) +savefig(pl, "./tests/logistic_var_r=3.5-4_da=0.0001_tmax=100000_ttrans=1000_grid=20.svg") +savefig(pl, "./tests/logistic_var_r=3.5-4_da=0.0001_tmax=100000_ttrans=1000_grid=20.pdf") + +# plot bit number measures C1 +pl = plot() +plot!(pl, data[:,1], data[:,4], label = L"S", lw=2, alpha=0.5, color="black") +plot!(pl, data[:,1], data[:,6], label = L"C_1", lw=2, alpha=0.5, color="brown") +plot!(pl, xlabel=L"r", ylabel=L"S, C_1", xguidefontsize=22, yguidefontsize=22, xlim=[3.5,4], tickfontsize=14, lw=2, fontfamily="Serif", legendfontsize=16, +dpi=300) +savefig(pl, "./tests/logistic_entr_r=3.5-4_da=0.0001_tmax=100000_ttrans=1000_grid=20.svg") +savefig(pl, "./tests/logistic_entr_r=3.5-4_da=0.0001_tmax=100000_ttrans=1000_grid=20.pdf") + pl = plot() #scatter!(pl, data[:,1], data[:,2], label = "Random walk", lw=2, color="gray", alpha=0.5) f_name = "./tests/logistic_measures_r=3.5-4_da=0.0001_tmax=100000_ttrans=1000_grid=1000.dat" From 88d399f4ae1e4e9546625579463d036a51633127 Mon Sep 17 00:00:00 2001 From: sbulcsu Date: Wed, 2 Aug 2023 18:26:36 +0300 Subject: [PATCH 22/32] henon measures tests --- tests/plot_measures_henon.jl | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/tests/plot_measures_henon.jl b/tests/plot_measures_henon.jl index ebe373e..41165d1 100644 --- a/tests/plot_measures_henon.jl +++ b/tests/plot_measures_henon.jl @@ -14,7 +14,7 @@ using LaTeXStrings ### Measures for a single value ############################### -grid_size = 1000; +grid_size = 200; b = 0.3; a = 1.4; ds = Systems.henon([0.1, 0.123]; a=a, b=b); @@ -35,7 +35,7 @@ data2 = zeros(length(data0)); b = 0.3; a = 1.4; a = 1.2265; -ens = 10 +ens = 5 ds = Systems.henon([0.1, 0.123]; a=a, b=b); λ = lyapunov(ds, 10000; d0 = 1e-7, threshold = 1e-4, Ttr = 500) #plot(timeseries[end-1000:end,1]) @@ -59,17 +59,32 @@ data2 ./= ens # save data f_name1 = "./tests/henon_S-gr_a=1.4_b=0.3_gr=5-500_dgr=5_t=5x10^6_ttrans=1000.dat" f_name1 = "./tests/henon_S-gr_a=1.2265_b=0.3_gr=5-500_dgr=5_t=5x10^6_ttrans=1000.dat" +f_name1 = "./tests/henon_S-gr_a=1.2265_b=0.3_gr=10-500_dgr=1_t=5x10^6_ttrans=1000_ens=5.dat" writedlm(f_name1,data1) f_name2 = "./tests/henon_Lyap-gr_a=1.4_b=0.3_gr=5-500_dgr=5_t=5x10^6_ttrans=1000.dat" f_name2 = "./tests/henon_Lyap-gr_a=1.2265_b=0.3_gr=5-500_dgr=5_t=5x10^6_ttrans=1000.dat" +f_name2 = "./tests/henon_Lyap-gr_a=1.2265_b=0.3_gr=10-500_dgr=1_t=5x10^6_ttrans=1000_ens=5.dat" writedlm(f_name2,data2) + # load data +f_name1 = "./tests/henon_S-gr_a=1.4_b=0.3_gr=5-500_dgr=5_t=5x10^6_ttrans=1000.dat" +f_name2 = "./tests/henon_Lyap-gr_a=1.4_b=0.3_gr=5-500_dgr=5_t=5x10^6_ttrans=1000.dat" +f_name1cr = "./tests/henon_S-gr_a=1.2265_b=0.3_gr=10-500_dgr=1_t=5x10^6_ttrans=1000_ens=5.dat" +f_name2cr = "./tests/henon_Lyap-gr_a=1.2265_b=0.3_gr=10-500_dgr=1_t=5x10^6_ttrans=1000_ens=5.dat" data0 = collect(5:5:500); +data0cr = collect(10:1:500); data1 = readdlm(f_name1); data2 = readdlm(f_name2); +data1cr = readdlm(f_name1cr); +data2cr = readdlm(f_name2cr); + +plot(data0, data1, lw=2, color=:orange, label=L"S, a=1.4") +plot!(data0, data2, lw=2, color=:orange, linestyle=:dash, label=L"\Lambda, a=1.4") +plot!(data0cr, data1cr, lw=2, color=:red, label=L"S, a=1.2265") +plot!(data0cr, data2cr, lw=2, color=:red, linestyle=:dash, label=L"\Lambda, a=1.2265") +plot!(xlabel="# of grid cells", ylabel=L"S, \Lambda", ylim=[0,3], xguidefontsize=22, yguidefontsize=22, tickfontsize=14, lw=2, legendfontsize=16, dpi=300) +savefig("./tests/henon_S-Lyap-gr_a=1.4_1.2265_gr=5-500_t=5x10^6_ttrans=1000_ens=5.pdf") -plot!(data0, data1) -plot!(data0, data2) ################# ### orbit diagram @@ -125,7 +140,7 @@ sim_lyapunov_eponent = readdlm(f_name) pl = plot() plot!(pl, a_values, zeros(length(a_values)), linestyle=:dash, color="black", label=nothing) plot!(pl, a_values, sim_lyapunov_eponent, label=nothing, lw=2) -plot!(pl, xlabel=L"a", ylabel=L"\lambda", xlim=[1,1.4], xticks=1:0.1:1.4, xguidefontsize=22, yguidefontsize=22, tickfontsize=14, lw=2, fontfamily="Serif", legendfontsize=16, +plot!(pl, xlabel=L"a", ylabel=L"\lambda", xlim=[1,1.4], xticks=1:0.1:1.4, dpi=300) #################### From 801b6be91e4e6d709f2b24fd71669b464f90b784 Mon Sep 17 00:00:00 2001 From: sbulcsu Date: Wed, 2 Aug 2023 18:29:49 +0300 Subject: [PATCH 23/32] manifest updates --- Manifest.toml | 1872 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1872 insertions(+) create mode 100644 Manifest.toml diff --git a/Manifest.toml b/Manifest.toml new file mode 100644 index 0000000..ff9419a --- /dev/null +++ b/Manifest.toml @@ -0,0 +1,1872 @@ +# This file is machine-generated - editing it directly is not advised + +julia_version = "1.9.2" +manifest_format = "2.0" +project_hash = "b8abae0b7b42f2012bc93bd898671e2cfa83d2c3" + +[[deps.ADTypes]] +git-tree-sha1 = "f5c25e8a5b29b5e941b7408bc8cc79fea4d9ef9a" +uuid = "47edcb42-4c32-4615-8424-f2b9edc5f35b" +version = "0.1.6" + +[[deps.AbstractFFTs]] +deps = ["LinearAlgebra"] +git-tree-sha1 = "d92ad398961a3ed262d8bf04a1a2b8340f915fef" +uuid = "621f4979-c628-5d54-868e-fcf4e3e8185c" +version = "1.5.0" +weakdeps = ["ChainRulesCore", "Test"] + + [deps.AbstractFFTs.extensions] + AbstractFFTsChainRulesCoreExt = "ChainRulesCore" + AbstractFFTsTestExt = "Test" + +[[deps.Adapt]] +deps = ["LinearAlgebra", "Requires"] +git-tree-sha1 = "76289dc51920fdc6e0013c872ba9551d54961c24" +uuid = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" +version = "3.6.2" +weakdeps = ["StaticArrays"] + + [deps.Adapt.extensions] + AdaptStaticArraysExt = "StaticArrays" + +[[deps.ArgTools]] +uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f" +version = "1.1.1" + +[[deps.ArnoldiMethod]] +deps = ["LinearAlgebra", "Random", "StaticArrays"] +git-tree-sha1 = "62e51b39331de8911e4a7ff6f5aaf38a5f4cc0ae" +uuid = "ec485272-7323-5ecc-a04f-4719b315124d" +version = "0.2.0" + +[[deps.Arpack]] +deps = ["Arpack_jll", "Libdl", "LinearAlgebra", "Logging"] +git-tree-sha1 = "9b9b347613394885fd1c8c7729bfc60528faa436" +uuid = "7d9fca2a-8960-54d3-9f78-7d1dccf2cb97" +version = "0.5.4" + +[[deps.Arpack_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "OpenBLAS_jll", "Pkg"] +git-tree-sha1 = "5ba6c757e8feccf03a1554dfaf3e26b3cfc7fd5e" +uuid = "68821587-b530-5797-8361-c406ea357684" +version = "3.5.1+1" + +[[deps.ArrayInterface]] +deps = ["Adapt", "LinearAlgebra", "Requires", "SparseArrays", "SuiteSparse"] +git-tree-sha1 = "f83ec24f76d4c8f525099b2ac475fc098138ec31" +uuid = "4fba245c-0d91-5ea0-9b3e-6abc04ee57a9" +version = "7.4.11" + + [deps.ArrayInterface.extensions] + ArrayInterfaceBandedMatricesExt = "BandedMatrices" + ArrayInterfaceBlockBandedMatricesExt = "BlockBandedMatrices" + ArrayInterfaceCUDAExt = "CUDA" + ArrayInterfaceGPUArraysCoreExt = "GPUArraysCore" + ArrayInterfaceStaticArraysCoreExt = "StaticArraysCore" + ArrayInterfaceTrackerExt = "Tracker" + + [deps.ArrayInterface.weakdeps] + BandedMatrices = "aae01518-5342-5314-be14-df237901396f" + BlockBandedMatrices = "ffab5731-97b5-5995-9138-79e8c1846df0" + CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba" + GPUArraysCore = "46192b85-c4d5-4398-a991-12ede77f4527" + StaticArraysCore = "1e83bf80-4336-4d27-bf5d-d5a4f845583c" + Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c" + +[[deps.Artifacts]] +uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33" + +[[deps.AxisAlgorithms]] +deps = ["LinearAlgebra", "Random", "SparseArrays", "WoodburyMatrices"] +git-tree-sha1 = "66771c8d21c8ff5e3a93379480a2307ac36863f7" +uuid = "13072b0f-2c55-5437-9ae7-d433b7a33950" +version = "1.0.1" + +[[deps.Base64]] +uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" + +[[deps.BitFlags]] +git-tree-sha1 = "43b1a4a8f797c1cddadf60499a8a077d4af2cd2d" +uuid = "d1d4a3ce-64b1-5f1a-9ba4-7e7e69966f35" +version = "0.1.7" + +[[deps.BitTwiddlingConvenienceFunctions]] +deps = ["Static"] +git-tree-sha1 = "0c5f81f47bbbcf4aea7b2959135713459170798b" +uuid = "62783981-4cbd-42fc-bca8-16325de8dc4b" +version = "0.1.5" + +[[deps.Bzip2_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "19a35467a82e236ff51bc17a3a44b69ef35185a2" +uuid = "6e34b625-4abd-537c-b88f-471c36dfa7a0" +version = "1.0.8+0" + +[[deps.CPUSummary]] +deps = ["CpuId", "IfElse", "PrecompileTools", "Static"] +git-tree-sha1 = "89e0654ed8c7aebad6d5ad235d6242c2d737a928" +uuid = "2a0fbf3d-bb9c-48f3-b0a9-814d99fd7ab9" +version = "0.2.3" + +[[deps.CRlibm]] +deps = ["CRlibm_jll"] +git-tree-sha1 = "32abd86e3c2025db5172aa182b982debed519834" +uuid = "96374032-68de-5a5b-8d9e-752f78720389" +version = "1.0.1" + +[[deps.CRlibm_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "e329286945d0cfc04456972ea732551869af1cfc" +uuid = "4e9b3aee-d8a1-5a3d-ad8b-7d824db253f0" +version = "1.0.1+0" + +[[deps.Cairo]] +deps = ["Cairo_jll", "Colors", "Glib_jll", "Graphics", "Libdl", "Pango_jll"] +git-tree-sha1 = "d0b3f8b4ad16cb0a2988c6788646a5e6a17b6b1b" +uuid = "159f3aea-2a34-519c-b102-8c37f9878175" +version = "1.0.5" + +[[deps.Cairo_jll]] +deps = ["Artifacts", "Bzip2_jll", "CompilerSupportLibraries_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "JLLWrappers", "LZO_jll", "Libdl", "Pixman_jll", "Pkg", "Xorg_libXext_jll", "Xorg_libXrender_jll", "Zlib_jll", "libpng_jll"] +git-tree-sha1 = "4b859a208b2397a7a623a03449e4636bdb17bcf2" +uuid = "83423d85-b0ee-5818-9007-b63ccbeb887a" +version = "1.16.1+1" + +[[deps.Calculus]] +deps = ["LinearAlgebra"] +git-tree-sha1 = "f641eb0a4f00c343bbc32346e1217b86f3ce9dad" +uuid = "49dc2e85-a5d0-5ad3-a950-438e2897f1b9" +version = "0.5.1" + +[[deps.ChainRulesCore]] +deps = ["Compat", "LinearAlgebra", "SparseArrays"] +git-tree-sha1 = "e30f2f4e20f7f186dc36529910beaedc60cfa644" +uuid = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" +version = "1.16.0" + +[[deps.ChaosTools]] +deps = ["Clustering", "Combinatorics", "DSP", "DelayEmbeddings", "Distances", "Distributions", "DynamicalSystemsBase", "Entropies", "ForwardDiff", "IntervalRootFinding", "LinearAlgebra", "LombScargle", "Neighborhood", "ProgressMeter", "Random", "Roots", "SpecialFunctions", "StaticArrays", "Statistics", "StatsBase"] +git-tree-sha1 = "85e8370059f8fcbd99d437d86bbac472cbab9a98" +uuid = "608a59af-f2a3-5ad4-90b4-758bdf3122a7" +version = "2.9.0" + +[[deps.CloseOpenIntervals]] +deps = ["Static", "StaticArrayInterface"] +git-tree-sha1 = "70232f82ffaab9dc52585e0dd043b5e0c6b714f1" +uuid = "fb6a15b2-703c-40df-9091-08a04967cfa9" +version = "0.1.12" + +[[deps.Clustering]] +deps = ["Distances", "LinearAlgebra", "NearestNeighbors", "Printf", "Random", "SparseArrays", "Statistics", "StatsBase"] +git-tree-sha1 = "7ebbd653f74504447f1c33b91cd706a69a1b189f" +uuid = "aaaa29a8-35af-508c-8bc3-b662a17a0fe5" +version = "0.14.4" + +[[deps.CodeTracking]] +deps = ["InteractiveUtils", "UUIDs"] +git-tree-sha1 = "8dd599a2fdbf3132d4c0be3a016f8f1518e28fa8" +uuid = "da1fd8a2-8d9e-5ec2-8556-3022fb5608a2" +version = "1.3.2" + +[[deps.CodecZlib]] +deps = ["TranscodingStreams", "Zlib_jll"] +git-tree-sha1 = "02aa26a4cf76381be7f66e020a3eddeb27b0a092" +uuid = "944b1d66-785c-5afd-91f1-9de20f533193" +version = "0.7.2" + +[[deps.ColorSchemes]] +deps = ["ColorTypes", "ColorVectorSpace", "Colors", "FixedPointNumbers", "PrecompileTools", "Random"] +git-tree-sha1 = "dd3000d954d483c1aad05fe1eb9e6a715c97013e" +uuid = "35d6a980-a343-548e-a6ea-1d62b119f2f4" +version = "3.22.0" + +[[deps.ColorTypes]] +deps = ["FixedPointNumbers", "Random"] +git-tree-sha1 = "eb7f0f8307f71fac7c606984ea5fb2817275d6e4" +uuid = "3da002f7-5984-5a60-b8a6-cbb66c0b333f" +version = "0.11.4" + +[[deps.ColorVectorSpace]] +deps = ["ColorTypes", "FixedPointNumbers", "LinearAlgebra", "Requires", "Statistics", "TensorCore"] +git-tree-sha1 = "a1f44953f2382ebb937d60dafbe2deea4bd23249" +uuid = "c3611d14-8923-5661-9e6a-0046d554d3a4" +version = "0.10.0" +weakdeps = ["SpecialFunctions"] + + [deps.ColorVectorSpace.extensions] + SpecialFunctionsExt = "SpecialFunctions" + +[[deps.Colors]] +deps = ["ColorTypes", "FixedPointNumbers", "Reexport"] +git-tree-sha1 = "fc08e5930ee9a4e03f84bfb5211cb54e7769758a" +uuid = "5ae59095-9a9b-59fe-a467-6f913c188581" +version = "0.12.10" + +[[deps.Combinatorics]] +git-tree-sha1 = "08c8b6831dc00bfea825826be0bc8336fc369860" +uuid = "861a8166-3701-5b0c-9a16-15d98fcdc6aa" +version = "1.0.2" + +[[deps.CommonSolve]] +git-tree-sha1 = "0eee5eb66b1cf62cd6ad1b460238e60e4b09400c" +uuid = "38540f10-b2f7-11e9-35d8-d573e4eb0ff2" +version = "0.2.4" + +[[deps.CommonSubexpressions]] +deps = ["MacroTools", "Test"] +git-tree-sha1 = "7b8a93dba8af7e3b42fecabf646260105ac373f7" +uuid = "bbf7d656-a473-5ed7-a52c-81e309532950" +version = "0.3.0" + +[[deps.Compat]] +deps = ["UUIDs"] +git-tree-sha1 = "e460f044ca8b99be31d35fe54fc33a5c33dd8ed7" +uuid = "34da2185-b29b-5c13-b0c7-acf172513d20" +version = "4.9.0" +weakdeps = ["Dates", "LinearAlgebra"] + + [deps.Compat.extensions] + CompatLinearAlgebraExt = "LinearAlgebra" + +[[deps.CompilerSupportLibraries_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae" +version = "1.0.5+0" + +[[deps.Compose]] +deps = ["Base64", "Colors", "DataStructures", "Dates", "IterTools", "JSON", "LinearAlgebra", "Measures", "Printf", "Random", "Requires", "Statistics", "UUIDs"] +git-tree-sha1 = "bf6570a34c850f99407b494757f5d7ad233a7257" +uuid = "a81c6b42-2e10-5240-aca2-a61377ecd94b" +version = "0.9.5" + +[[deps.ConcurrentUtilities]] +deps = ["Serialization", "Sockets"] +git-tree-sha1 = "5372dbbf8f0bdb8c700db5367132925c0771ef7e" +uuid = "f0e56b4a-5159-44fe-b623-3e5288b988bb" +version = "2.2.1" + +[[deps.ConstructionBase]] +deps = ["LinearAlgebra"] +git-tree-sha1 = "fe2838a593b5f776e1597e086dcd47560d94e816" +uuid = "187b0558-2788-49d3-abe0-74a17ed4e7c9" +version = "1.5.3" + + [deps.ConstructionBase.extensions] + ConstructionBaseIntervalSetsExt = "IntervalSets" + ConstructionBaseStaticArraysExt = "StaticArrays" + + [deps.ConstructionBase.weakdeps] + IntervalSets = "8197267c-284f-5f27-9208-e0e47529a953" + StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" + +[[deps.Contour]] +git-tree-sha1 = "d05d9e7b7aedff4e5b51a029dced05cfb6125781" +uuid = "d38c429a-6771-53c6-b99e-75d170b6e991" +version = "0.6.2" + +[[deps.CpuId]] +deps = ["Markdown"] +git-tree-sha1 = "fcbb72b032692610bfbdb15018ac16a36cf2e406" +uuid = "adafc99b-e345-5852-983c-f28acb93d879" +version = "0.3.1" + +[[deps.DSP]] +deps = ["Compat", "FFTW", "IterTools", "LinearAlgebra", "Polynomials", "Random", "Reexport", "SpecialFunctions", "Statistics"] +git-tree-sha1 = "da8b06f89fce9996443010ef92572b193f8dca1f" +uuid = "717857b8-e6f2-59f4-9121-6e50c889abd2" +version = "0.7.8" + +[[deps.DataAPI]] +git-tree-sha1 = "8da84edb865b0b5b0100c0666a9bc9a0b71c553c" +uuid = "9a962f9c-6df0-11e9-0e5d-c546b8b5ee8a" +version = "1.15.0" + +[[deps.DataStructures]] +deps = ["Compat", "InteractiveUtils", "OrderedCollections"] +git-tree-sha1 = "cf25ccb972fec4e4817764d01c82386ae94f77b4" +uuid = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8" +version = "0.18.14" + +[[deps.DataValueInterfaces]] +git-tree-sha1 = "bfc1187b79289637fa0ef6d4436ebdfe6905cbd6" +uuid = "e2d170a0-9d28-54be-80f0-106bbe20a464" +version = "1.0.0" + +[[deps.Dates]] +deps = ["Printf"] +uuid = "ade2ca70-3891-5945-98fb-dc099432e06a" + +[[deps.DelayEmbeddings]] +deps = ["Distances", "Distributions", "LinearAlgebra", "Neighborhood", "Random", "StaticArrays", "Statistics", "StatsBase"] +git-tree-sha1 = "6ef537de783a2eb493d4124646b9c77e6700d0b6" +uuid = "5732040d-69e3-5649-938a-b6b4f237613f" +version = "2.5.0" + +[[deps.DelimitedFiles]] +deps = ["Mmap"] +git-tree-sha1 = "9e2f36d3c96a820c678f2f1f1782582fcf685bae" +uuid = "8bb1440f-4735-579b-a4ab-409b98df4dab" +version = "1.9.1" + +[[deps.DiffEqBase]] +deps = ["ArrayInterface", "ChainRulesCore", "DataStructures", "DocStringExtensions", "EnumX", "FastBroadcast", "ForwardDiff", "FunctionWrappers", "FunctionWrappersWrappers", "LinearAlgebra", "Logging", "Markdown", "MuladdMacro", "Parameters", "PreallocationTools", "Printf", "RecursiveArrayTools", "Reexport", "Requires", "SciMLBase", "SciMLOperators", "Setfield", "SparseArrays", "Static", "StaticArraysCore", "Statistics", "Tricks", "TruncatedStacktraces", "ZygoteRules"] +git-tree-sha1 = "ed586656058844e48660c6d6fdb384e83afc50db" +uuid = "2b5f629d-d688-5b77-993f-72d75c75574e" +version = "6.128.0" + + [deps.DiffEqBase.extensions] + DiffEqBaseDistributionsExt = "Distributions" + DiffEqBaseGeneralizedGeneratedExt = "GeneralizedGenerated" + DiffEqBaseMPIExt = "MPI" + DiffEqBaseMeasurementsExt = "Measurements" + DiffEqBaseMonteCarloMeasurementsExt = "MonteCarloMeasurements" + DiffEqBaseReverseDiffExt = "ReverseDiff" + DiffEqBaseTrackerExt = "Tracker" + DiffEqBaseUnitfulExt = "Unitful" + DiffEqBaseZygoteExt = "Zygote" + + [deps.DiffEqBase.weakdeps] + Distributions = "31c24e10-a181-5473-b8eb-7969acd0382f" + GeneralizedGenerated = "6b9d7cbe-bcb9-11e9-073f-15a7a543e2eb" + MPI = "da04e1cc-30fd-572f-bb4f-1f8673147195" + Measurements = "eff96d63-e80a-5855-80a2-b1b0885c5ab7" + MonteCarloMeasurements = "0987c9cc-fe09-11e8-30f0-b96dd679fdca" + ReverseDiff = "37e2e3b7-166d-5795-8a7a-e32c996b4267" + Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c" + Unitful = "1986cc42-f94f-5a68-af5c-568840ba703d" + Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f" + +[[deps.DiffResults]] +deps = ["StaticArraysCore"] +git-tree-sha1 = "782dd5f4561f5d267313f23853baaaa4c52ea621" +uuid = "163ba53b-c6d8-5494-b064-1a9d43ac40c5" +version = "1.1.0" + +[[deps.DiffRules]] +deps = ["IrrationalConstants", "LogExpFunctions", "NaNMath", "Random", "SpecialFunctions"] +git-tree-sha1 = "23163d55f885173722d1e4cf0f6110cdbaf7e272" +uuid = "b552c78f-8df3-52c6-915a-8e097449b14b" +version = "1.15.1" + +[[deps.DiscreteMarkovChains]] +deps = ["DataStructures", "LinearAlgebra"] +git-tree-sha1 = "a096d2a9505e06a5eff43228b0309e830e4e6961" +uuid = "8abcb7ef-b365-4f7b-ac38-56893fb62f9f" +version = "0.2.1" + +[[deps.Distances]] +deps = ["LinearAlgebra", "Statistics", "StatsAPI"] +git-tree-sha1 = "b6def76ffad15143924a2199f72a5cd883a2e8a9" +uuid = "b4f34e82-e78d-54a5-968a-f98e89d6e8f7" +version = "0.10.9" +weakdeps = ["SparseArrays"] + + [deps.Distances.extensions] + DistancesSparseArraysExt = "SparseArrays" + +[[deps.Distributed]] +deps = ["Random", "Serialization", "Sockets"] +uuid = "8ba89e20-285c-5b6f-9357-94700520ee1b" + +[[deps.Distributions]] +deps = ["FillArrays", "LinearAlgebra", "PDMats", "Printf", "QuadGK", "Random", "SparseArrays", "SpecialFunctions", "Statistics", "StatsAPI", "StatsBase", "StatsFuns", "Test"] +git-tree-sha1 = "e76a3281de2719d7c81ed62c6ea7057380c87b1d" +uuid = "31c24e10-a181-5473-b8eb-7969acd0382f" +version = "0.25.98" + + [deps.Distributions.extensions] + DistributionsChainRulesCoreExt = "ChainRulesCore" + DistributionsDensityInterfaceExt = "DensityInterface" + + [deps.Distributions.weakdeps] + ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" + DensityInterface = "b429d917-457f-4dbc-8f4c-0cc954292b1d" + +[[deps.DocStringExtensions]] +deps = ["LibGit2"] +git-tree-sha1 = "2fb1e02f2b635d0845df5d7c167fec4dd739b00d" +uuid = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae" +version = "0.9.3" + +[[deps.Downloads]] +deps = ["ArgTools", "FileWatching", "LibCURL", "NetworkOptions"] +uuid = "f43a241f-c20a-4ad4-852c-f6b1247861c6" +version = "1.6.0" + +[[deps.DualNumbers]] +deps = ["Calculus", "NaNMath", "SpecialFunctions"] +git-tree-sha1 = "5837a837389fccf076445fce071c8ddaea35a566" +uuid = "fa6b7ba4-c1ee-5f82-b5fc-ecf0adba8f74" +version = "0.6.8" + +[[deps.DynamicalSystemsBase]] +deps = ["DelayEmbeddings", "ForwardDiff", "LinearAlgebra", "Roots", "SciMLBase", "SimpleDiffEq", "SparseArrays", "StaticArrays", "Statistics"] +git-tree-sha1 = "698c3ec275cf0e0784bdfdaf5fb30ec551fa5142" +uuid = "6e36e845-645a-534a-86f2-f5d4aa5a06b4" +version = "2.9.1" + +[[deps.Entropies]] +deps = ["DelayEmbeddings", "Distances", "LinearAlgebra", "Neighborhood", "QuadGK", "SparseArrays", "SpecialFunctions", "StaticArrays", "Statistics", "StatsBase", "Wavelets"] +git-tree-sha1 = "ca95997c3c3655e26886775f2d2efb1e2b412328" +uuid = "ed8fcbec-b94c-44b6-89df-898894ad9591" +version = "1.2.1" + +[[deps.EnumX]] +git-tree-sha1 = "bdb1942cd4c45e3c678fd11569d5cccd80976237" +uuid = "4e289a0a-7415-4d19-859d-a7e5c4648b56" +version = "1.0.4" + +[[deps.ErrorfreeArithmetic]] +git-tree-sha1 = "d6863c556f1142a061532e79f611aa46be201686" +uuid = "90fa49ef-747e-5e6f-a989-263ba693cf1a" +version = "0.5.2" + +[[deps.ExceptionUnwrapping]] +deps = ["Test"] +git-tree-sha1 = "e90caa41f5a86296e014e148ee061bd6c3edec96" +uuid = "460bff9d-24e4-43bc-9d9f-a8973cb893f4" +version = "0.1.9" + +[[deps.Expat_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "4558ab818dcceaab612d1bb8c19cee87eda2b83c" +uuid = "2e619515-83b5-522b-bb60-26c02a35a201" +version = "2.5.0+0" + +[[deps.ExprTools]] +git-tree-sha1 = "27415f162e6028e81c72b82ef756bf321213b6ec" +uuid = "e2ba6199-217a-4e67-a87a-7c52f15ade04" +version = "0.1.10" + +[[deps.FFMPEG]] +deps = ["FFMPEG_jll"] +git-tree-sha1 = "b57e3acbe22f8484b4b5ff66a7499717fe1a9cc8" +uuid = "c87230d0-a227-11e9-1b43-d7ebe4e7570a" +version = "0.4.1" + +[[deps.FFMPEG_jll]] +deps = ["Artifacts", "Bzip2_jll", "FreeType2_jll", "FriBidi_jll", "JLLWrappers", "LAME_jll", "Libdl", "Ogg_jll", "OpenSSL_jll", "Opus_jll", "PCRE2_jll", "Pkg", "Zlib_jll", "libaom_jll", "libass_jll", "libfdk_aac_jll", "libvorbis_jll", "x264_jll", "x265_jll"] +git-tree-sha1 = "74faea50c1d007c85837327f6775bea60b5492dd" +uuid = "b22a6f82-2f65-5046-a5b2-351ab43fb4e5" +version = "4.4.2+2" + +[[deps.FFTW]] +deps = ["AbstractFFTs", "FFTW_jll", "LinearAlgebra", "MKL_jll", "Preferences", "Reexport"] +git-tree-sha1 = "b4fbdd20c889804969571cc589900803edda16b7" +uuid = "7a1cc6ca-52ef-59f5-83cd-3a7055c09341" +version = "1.7.1" + +[[deps.FFTW_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "c6033cc3892d0ef5bb9cd29b7f2f0331ea5184ea" +uuid = "f5851436-0d7a-5f13-b9de-f02708fd171a" +version = "3.3.10+0" + +[[deps.FastBroadcast]] +deps = ["ArrayInterface", "LinearAlgebra", "Polyester", "Static", "StaticArrayInterface", "StrideArraysCore"] +git-tree-sha1 = "aa9925a229d45fe3018715238956766fa21804d1" +uuid = "7034ab61-46d4-4ed7-9d0f-46aef9175898" +version = "0.2.6" + +[[deps.FastRounding]] +deps = ["ErrorfreeArithmetic", "LinearAlgebra"] +git-tree-sha1 = "6344aa18f654196be82e62816935225b3b9abe44" +uuid = "fa42c844-2597-5d31-933b-ebd51ab2693f" +version = "0.3.1" + +[[deps.FileIO]] +deps = ["Pkg", "Requires", "UUIDs"] +git-tree-sha1 = "299dc33549f68299137e51e6d49a13b5b1da9673" +uuid = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549" +version = "1.16.1" + +[[deps.FileWatching]] +uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee" + +[[deps.FillArrays]] +deps = ["LinearAlgebra", "Random", "SparseArrays", "Statistics"] +git-tree-sha1 = "f372472e8672b1d993e93dada09e23139b509f9e" +uuid = "1a297f60-69ca-5386-bcde-b61e274b549b" +version = "1.5.0" + +[[deps.FixedPointNumbers]] +deps = ["Statistics"] +git-tree-sha1 = "335bfdceacc84c5cdf16aadc768aa5ddfc5383cc" +uuid = "53c48c17-4a7d-5ca2-90c5-79b7896eea93" +version = "0.8.4" + +[[deps.Fontconfig_jll]] +deps = ["Artifacts", "Bzip2_jll", "Expat_jll", "FreeType2_jll", "JLLWrappers", "Libdl", "Libuuid_jll", "Pkg", "Zlib_jll"] +git-tree-sha1 = "21efd19106a55620a188615da6d3d06cd7f6ee03" +uuid = "a3f928ae-7b40-5064-980b-68af3947d34b" +version = "2.13.93+0" + +[[deps.Formatting]] +deps = ["Printf"] +git-tree-sha1 = "8339d61043228fdd3eb658d86c926cb282ae72a8" +uuid = "59287772-0a20-5a39-b81b-1366585eb4c0" +version = "0.4.2" + +[[deps.ForwardDiff]] +deps = ["CommonSubexpressions", "DiffResults", "DiffRules", "LinearAlgebra", "LogExpFunctions", "NaNMath", "Preferences", "Printf", "Random", "SpecialFunctions"] +git-tree-sha1 = "00e252f4d706b3d55a8863432e742bf5717b498d" +uuid = "f6369f11-7733-5829-9624-2563aa707210" +version = "0.10.35" +weakdeps = ["StaticArrays"] + + [deps.ForwardDiff.extensions] + ForwardDiffStaticArraysExt = "StaticArrays" + +[[deps.FreeType2_jll]] +deps = ["Artifacts", "Bzip2_jll", "JLLWrappers", "Libdl", "Zlib_jll"] +git-tree-sha1 = "d8db6a5a2fe1381c1ea4ef2cab7c69c2de7f9ea0" +uuid = "d7e528f0-a631-5988-bf34-fe36492bcfd7" +version = "2.13.1+0" + +[[deps.FriBidi_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "aa31987c2ba8704e23c6c8ba8a4f769d5d7e4f91" +uuid = "559328eb-81f9-559d-9380-de523a88c83c" +version = "1.0.10+0" + +[[deps.FunctionWrappers]] +git-tree-sha1 = "d62485945ce5ae9c0c48f124a84998d755bae00e" +uuid = "069b7b12-0de2-55c6-9aab-29f3d0a68a2e" +version = "1.1.3" + +[[deps.FunctionWrappersWrappers]] +deps = ["FunctionWrappers"] +git-tree-sha1 = "b104d487b34566608f8b4e1c39fb0b10aa279ff8" +uuid = "77dc65aa-8811-40c2-897b-53d922fa7daf" +version = "0.1.3" + +[[deps.Future]] +deps = ["Random"] +uuid = "9fa8497b-333b-5362-9e8d-4d0656e87820" + +[[deps.GLFW_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Libglvnd_jll", "Pkg", "Xorg_libXcursor_jll", "Xorg_libXi_jll", "Xorg_libXinerama_jll", "Xorg_libXrandr_jll"] +git-tree-sha1 = "d972031d28c8c8d9d7b41a536ad7bb0c2579caca" +uuid = "0656b61e-2033-5cc2-a64a-77c0f6c09b89" +version = "3.3.8+0" + +[[deps.GPUArraysCore]] +deps = ["Adapt"] +git-tree-sha1 = "2d6ca471a6c7b536127afccfa7564b5b39227fe0" +uuid = "46192b85-c4d5-4398-a991-12ede77f4527" +version = "0.1.5" + +[[deps.GR]] +deps = ["Artifacts", "Base64", "DelimitedFiles", "Downloads", "GR_jll", "HTTP", "JSON", "Libdl", "LinearAlgebra", "Pkg", "Preferences", "Printf", "Random", "Serialization", "Sockets", "TOML", "Tar", "Test", "UUIDs", "p7zip_jll"] +git-tree-sha1 = "d73afa4a2bb9de56077242d98cf763074ab9a970" +uuid = "28b8d3ca-fb5f-59d9-8090-bfdbd6d07a71" +version = "0.72.9" + +[[deps.GR_jll]] +deps = ["Artifacts", "Bzip2_jll", "Cairo_jll", "FFMPEG_jll", "Fontconfig_jll", "GLFW_jll", "JLLWrappers", "JpegTurbo_jll", "Libdl", "Libtiff_jll", "Pixman_jll", "Qt6Base_jll", "Zlib_jll", "libpng_jll"] +git-tree-sha1 = "f61f768bf090d97c532d24b64e07b237e9bb7b6b" +uuid = "d2c73de3-f751-5644-a686-071e5b155ba9" +version = "0.72.9+0" + +[[deps.Gettext_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Libiconv_jll", "Pkg", "XML2_jll"] +git-tree-sha1 = "9b02998aba7bf074d14de89f9d37ca24a1a0b046" +uuid = "78b55507-aeef-58d4-861c-77aaff3498b1" +version = "0.21.0+0" + +[[deps.Glib_jll]] +deps = ["Artifacts", "Gettext_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Libiconv_jll", "Libmount_jll", "PCRE2_jll", "Pkg", "Zlib_jll"] +git-tree-sha1 = "d3b3624125c1474292d0d8ed0f65554ac37ddb23" +uuid = "7746bdde-850d-59dc-9ae8-88ece973131d" +version = "2.74.0+2" + +[[deps.GraphPlot]] +deps = ["ArnoldiMethod", "ColorTypes", "Colors", "Compose", "DelimitedFiles", "Graphs", "LinearAlgebra", "Random", "SparseArrays"] +git-tree-sha1 = "5cd479730a0cb01f880eff119e9803c13f214cab" +uuid = "a2cc645c-3eea-5389-862e-a155d0052231" +version = "0.5.2" + +[[deps.Graphics]] +deps = ["Colors", "LinearAlgebra", "NaNMath"] +git-tree-sha1 = "d61890399bc535850c4bf08e4e0d3a7ad0f21cbd" +uuid = "a2bd30eb-e257-5431-a919-1863eab51364" +version = "1.1.2" + +[[deps.Graphite2_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "344bf40dcab1073aca04aa0df4fb092f920e4011" +uuid = "3b182d85-2403-5c21-9c21-1e1f0cc25472" +version = "1.3.14+0" + +[[deps.Graphs]] +deps = ["ArnoldiMethod", "Compat", "DataStructures", "Distributed", "Inflate", "LinearAlgebra", "Random", "SharedArrays", "SimpleTraits", "SparseArrays", "Statistics"] +git-tree-sha1 = "1cf1d7dcb4bc32d7b4a5add4232db3750c27ecb4" +uuid = "86223c79-3864-5bf0-83f7-82e725a168b6" +version = "1.8.0" + +[[deps.Grisu]] +git-tree-sha1 = "53bb909d1151e57e2484c3d1b53e19552b887fb2" +uuid = "42e2da0e-8278-4e71-bc24-59509adca0fe" +version = "1.0.2" + +[[deps.HTTP]] +deps = ["Base64", "CodecZlib", "ConcurrentUtilities", "Dates", "ExceptionUnwrapping", "Logging", "LoggingExtras", "MbedTLS", "NetworkOptions", "OpenSSL", "Random", "SimpleBufferStream", "Sockets", "URIs", "UUIDs"] +git-tree-sha1 = "cb56ccdd481c0dd7f975ad2b3b62d9eda088f7e2" +uuid = "cd3eb016-35fb-5094-929b-558a96fad6f3" +version = "1.9.14" + +[[deps.HarfBuzz_jll]] +deps = ["Artifacts", "Cairo_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "Graphite2_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Pkg"] +git-tree-sha1 = "129acf094d168394e80ee1dc4bc06ec835e510a3" +uuid = "2e76f6c2-a576-52d4-95c1-20adfe4de566" +version = "2.8.1+1" + +[[deps.HypergeometricFunctions]] +deps = ["DualNumbers", "LinearAlgebra", "OpenLibm_jll", "SpecialFunctions"] +git-tree-sha1 = "f218fe3736ddf977e0e772bc9a586b2383da2685" +uuid = "34004b35-14d8-5ef3-9330-4cdb6864b03a" +version = "0.3.23" + +[[deps.IfElse]] +git-tree-sha1 = "debdd00ffef04665ccbb3e150747a77560e8fad1" +uuid = "615f187c-cbe4-4ef1-ba3b-2fcf58d6d173" +version = "0.1.1" + +[[deps.Inflate]] +git-tree-sha1 = "5cd07aab533df5170988219191dfad0519391428" +uuid = "d25df0c9-e2be-5dd7-82c8-3ad0b3e990b9" +version = "0.1.3" + +[[deps.IntelOpenMP_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "0cb9352ef2e01574eeebdb102948a58740dcaf83" +uuid = "1d5cc7b8-4909-519e-a0f8-d0f5ad9712d0" +version = "2023.1.0+0" + +[[deps.InteractiveUtils]] +deps = ["Markdown"] +uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240" + +[[deps.Interpolations]] +deps = ["Adapt", "AxisAlgorithms", "ChainRulesCore", "LinearAlgebra", "OffsetArrays", "Random", "Ratios", "Requires", "SharedArrays", "SparseArrays", "StaticArrays", "WoodburyMatrices"] +git-tree-sha1 = "721ec2cf720536ad005cb38f50dbba7b02419a15" +uuid = "a98d9a8b-a2ab-59e6-89dd-64a1c18fca59" +version = "0.14.7" + +[[deps.IntervalArithmetic]] +deps = ["CRlibm", "FastRounding", "LinearAlgebra", "Markdown", "Random", "RecipesBase", "RoundingEmulator", "SetRounding", "StaticArrays"] +git-tree-sha1 = "5ab7744289be503d76a944784bac3f2df7b809af" +uuid = "d1acc4aa-44c8-5952-acd4-ba5d80a2a253" +version = "0.20.9" + +[[deps.IntervalRootFinding]] +deps = ["ForwardDiff", "IntervalArithmetic", "LinearAlgebra", "Polynomials", "Reexport", "StaticArrays"] +git-tree-sha1 = "b92e9e2b356146918c4f3f3845571abcf0501594" +uuid = "d2bf35a9-74e0-55ec-b149-d360ff49b807" +version = "0.5.11" + +[[deps.IrrationalConstants]] +git-tree-sha1 = "630b497eafcc20001bba38a4651b327dcfc491d2" +uuid = "92d709cd-6900-40b7-9082-c6be49f344b6" +version = "0.2.2" + +[[deps.IterTools]] +git-tree-sha1 = "4ced6667f9974fc5c5943fa5e2ef1ca43ea9e450" +uuid = "c8e1da08-722c-5040-9ed9-7db0dc04731e" +version = "1.8.0" + +[[deps.IteratorInterfaceExtensions]] +git-tree-sha1 = "a3f24677c21f5bbe9d2a714f95dcd58337fb2856" +uuid = "82899510-4779-5014-852e-03e436cf321d" +version = "1.0.0" + +[[deps.JLD2]] +deps = ["FileIO", "MacroTools", "Mmap", "OrderedCollections", "Pkg", "Printf", "Reexport", "Requires", "TranscodingStreams", "UUIDs"] +git-tree-sha1 = "aa6ffef1fd85657f4999030c52eaeec22a279738" +uuid = "033835bb-8acc-5ee8-8aae-3f567f8a3819" +version = "0.4.33" + +[[deps.JLFzf]] +deps = ["Pipe", "REPL", "Random", "fzf_jll"] +git-tree-sha1 = "f377670cda23b6b7c1c0b3893e37451c5c1a2185" +uuid = "1019f520-868f-41f5-a6de-eb00f4b6a39c" +version = "0.1.5" + +[[deps.JLLWrappers]] +deps = ["Preferences"] +git-tree-sha1 = "abc9885a7ca2052a736a600f7fa66209f96506e1" +uuid = "692b3bcd-3c85-4b1f-b108-f13ce0eb3210" +version = "1.4.1" + +[[deps.JSON]] +deps = ["Dates", "Mmap", "Parsers", "Unicode"] +git-tree-sha1 = "31e996f0a15c7b280ba9f76636b3ff9e2ae58c9a" +uuid = "682c06a0-de6a-54ab-a142-c8b1cf79cde6" +version = "0.21.4" + +[[deps.JpegTurbo_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "6f2675ef130a300a112286de91973805fcc5ffbc" +uuid = "aacddb02-875f-59d6-b918-886e6ef4fbf8" +version = "2.1.91+0" + +[[deps.JuliaInterpreter]] +deps = ["CodeTracking", "InteractiveUtils", "Random", "UUIDs"] +git-tree-sha1 = "6a125e6a4cb391e0b9adbd1afa9e771c2179f8ef" +uuid = "aa1ae85d-cabe-5617-a682-6adf51b2e16a" +version = "0.9.23" + +[[deps.KernelDensity]] +deps = ["Distributions", "DocStringExtensions", "FFTW", "Interpolations", "StatsBase"] +git-tree-sha1 = "90442c50e202a5cdf21a7899c66b240fdef14035" +uuid = "5ab0869b-81aa-558d-bb23-cbf5423bbe9b" +version = "0.6.7" + +[[deps.LAME_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "f6250b16881adf048549549fba48b1161acdac8c" +uuid = "c1c5ebd0-6772-5130-a774-d5fcae4a789d" +version = "3.100.1+0" + +[[deps.LERC_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "bf36f528eec6634efc60d7ec062008f171071434" +uuid = "88015f11-f218-50d7-93a8-a6af411a945d" +version = "3.0.0+1" + +[[deps.LLVMOpenMP_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "f689897ccbe049adb19a065c495e75f372ecd42b" +uuid = "1d63c593-3942-5779-bab2-d838dc0a180e" +version = "15.0.4+0" + +[[deps.LZO_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "e5b909bcf985c5e2605737d2ce278ed791b89be6" +uuid = "dd4b983a-f0e5-5f8d-a1b7-129d4a5fb1ac" +version = "2.10.1+0" + +[[deps.LaTeXStrings]] +git-tree-sha1 = "f2355693d6778a178ade15952b7ac47a4ff97996" +uuid = "b964fa9f-0449-5b57-a5c2-d3ea65f4040f" +version = "1.3.0" + +[[deps.Latexify]] +deps = ["Formatting", "InteractiveUtils", "LaTeXStrings", "MacroTools", "Markdown", "OrderedCollections", "Printf", "Requires"] +git-tree-sha1 = "f428ae552340899a935973270b8d98e5a31c49fe" +uuid = "23fbe1c1-3f47-55db-b15f-69d7ec21a316" +version = "0.16.1" + + [deps.Latexify.extensions] + DataFramesExt = "DataFrames" + SymEngineExt = "SymEngine" + + [deps.Latexify.weakdeps] + DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0" + SymEngine = "123dc426-2d89-5057-bbad-38513e3affd8" + +[[deps.LayoutPointers]] +deps = ["ArrayInterface", "LinearAlgebra", "ManualMemory", "SIMDTypes", "Static", "StaticArrayInterface"] +git-tree-sha1 = "88b8f66b604da079a627b6fb2860d3704a6729a1" +uuid = "10f19ff3-798f-405d-979b-55457f8fc047" +version = "0.1.14" + +[[deps.Lazy]] +deps = ["MacroTools"] +git-tree-sha1 = "1370f8202dac30758f3c345f9909b97f53d87d3f" +uuid = "50d2b5c4-7a5e-59d5-8109-a42b560f39c0" +version = "0.15.1" + +[[deps.LazyArtifacts]] +deps = ["Artifacts", "Pkg"] +uuid = "4af54fe1-eca0-43a8-85a7-787d91b784e3" + +[[deps.LibCURL]] +deps = ["LibCURL_jll", "MozillaCACerts_jll"] +uuid = "b27032c2-a3e7-50c8-80cd-2d36dbcbfd21" +version = "0.6.3" + +[[deps.LibCURL_jll]] +deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll", "Zlib_jll", "nghttp2_jll"] +uuid = "deac9b47-8bc7-5906-a0fe-35ac56dc84c0" +version = "7.84.0+0" + +[[deps.LibGit2]] +deps = ["Base64", "NetworkOptions", "Printf", "SHA"] +uuid = "76f85450-5226-5b5a-8eaa-529ad045b433" + +[[deps.LibSSH2_jll]] +deps = ["Artifacts", "Libdl", "MbedTLS_jll"] +uuid = "29816b5a-b9ab-546f-933c-edad1886dfa8" +version = "1.10.2+0" + +[[deps.Libdl]] +uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb" + +[[deps.Libffi_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "0b4a5d71f3e5200a7dff793393e09dfc2d874290" +uuid = "e9f186c6-92d2-5b65-8a66-fee21dc1b490" +version = "3.2.2+1" + +[[deps.Libgcrypt_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Libgpg_error_jll", "Pkg"] +git-tree-sha1 = "64613c82a59c120435c067c2b809fc61cf5166ae" +uuid = "d4300ac3-e22c-5743-9152-c294e39db1e4" +version = "1.8.7+0" + +[[deps.Libglvnd_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll", "Xorg_libXext_jll"] +git-tree-sha1 = "6f73d1dd803986947b2c750138528a999a6c7733" +uuid = "7e76a0d4-f3c7-5321-8279-8d96eeed0f29" +version = "1.6.0+0" + +[[deps.Libgpg_error_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "c333716e46366857753e273ce6a69ee0945a6db9" +uuid = "7add5ba3-2f88-524e-9cd5-f83b8a55f7b8" +version = "1.42.0+0" + +[[deps.Libiconv_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "c7cb1f5d892775ba13767a87c7ada0b980ea0a71" +uuid = "94ce4f54-9a6c-5748-9c1c-f9c7231a4531" +version = "1.16.1+2" + +[[deps.Libmount_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "9c30530bf0effd46e15e0fdcf2b8636e78cbbd73" +uuid = "4b2f31a3-9ecc-558c-b454-b3730dcb73e9" +version = "2.35.0+0" + +[[deps.Libtiff_jll]] +deps = ["Artifacts", "JLLWrappers", "JpegTurbo_jll", "LERC_jll", "Libdl", "XZ_jll", "Zlib_jll", "Zstd_jll"] +git-tree-sha1 = "2da088d113af58221c52828a80378e16be7d037a" +uuid = "89763e89-9b03-5906-acba-b20f662cd828" +version = "4.5.1+1" + +[[deps.Libuuid_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "7f3efec06033682db852f8b3bc3c1d2b0a0ab066" +uuid = "38a345b3-de98-5d2b-a5d3-14cd9215e700" +version = "2.36.0+0" + +[[deps.LinearAlgebra]] +deps = ["Libdl", "OpenBLAS_jll", "libblastrampoline_jll"] +uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" + +[[deps.LogExpFunctions]] +deps = ["DocStringExtensions", "IrrationalConstants", "LinearAlgebra"] +git-tree-sha1 = "c3ce8e7420b3a6e071e0fe4745f5d4300e37b13f" +uuid = "2ab3a3ac-af41-5b50-aa03-7779005ae688" +version = "0.3.24" + + [deps.LogExpFunctions.extensions] + LogExpFunctionsChainRulesCoreExt = "ChainRulesCore" + LogExpFunctionsChangesOfVariablesExt = "ChangesOfVariables" + LogExpFunctionsInverseFunctionsExt = "InverseFunctions" + + [deps.LogExpFunctions.weakdeps] + ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" + ChangesOfVariables = "9e997f8a-9a97-42d5-a9f1-ce6bfc15e2c0" + InverseFunctions = "3587e190-3f89-42d0-90ee-14403ec27112" + +[[deps.Logging]] +uuid = "56ddb016-857b-54e1-b83d-db4d58db5568" + +[[deps.LoggingExtras]] +deps = ["Dates", "Logging"] +git-tree-sha1 = "cedb76b37bc5a6c702ade66be44f831fa23c681e" +uuid = "e6f89c97-d47a-5376-807f-9c37f3926c36" +version = "1.0.0" + +[[deps.LombScargle]] +deps = ["FFTW", "LinearAlgebra", "Measurements", "Random", "SpecialFunctions", "Statistics"] +git-tree-sha1 = "d64a0ce7539181136a85fd8fe4f42626387f0f26" +uuid = "fc60dff9-86e7-5f2f-a8a0-edeadbb75bd9" +version = "1.0.3" + +[[deps.LoweredCodeUtils]] +deps = ["JuliaInterpreter"] +git-tree-sha1 = "60168780555f3e663c536500aa790b6368adc02a" +uuid = "6f1432cf-f94c-5a45-995e-cdbf5db27b0b" +version = "2.3.0" + +[[deps.MKL_jll]] +deps = ["Artifacts", "IntelOpenMP_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "Pkg"] +git-tree-sha1 = "154d7aaa82d24db6d8f7e4ffcfe596f40bff214b" +uuid = "856f044c-d86e-5d09-b602-aeab76dc8ba7" +version = "2023.1.0+0" + +[[deps.MacroTools]] +deps = ["Markdown", "Random"] +git-tree-sha1 = "42324d08725e200c23d4dfb549e0d5d89dede2d2" +uuid = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09" +version = "0.5.10" + +[[deps.ManualMemory]] +git-tree-sha1 = "bcaef4fc7a0cfe2cba636d84cda54b5e4e4ca3cd" +uuid = "d125e4d3-2237-4719-b19c-fa641b8a4667" +version = "0.1.8" + +[[deps.Markdown]] +deps = ["Base64"] +uuid = "d6f4376e-aef5-505a-96c1-9c027394607a" + +[[deps.MbedTLS]] +deps = ["Dates", "MbedTLS_jll", "MozillaCACerts_jll", "Random", "Sockets"] +git-tree-sha1 = "03a9b9718f5682ecb107ac9f7308991db4ce395b" +uuid = "739be429-bea8-5141-9913-cc70e7f3736d" +version = "1.1.7" + +[[deps.MbedTLS_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "c8ffd9c3-330d-5841-b78e-0817d7145fa1" +version = "2.28.2+0" + +[[deps.Measurements]] +deps = ["Calculus", "LinearAlgebra", "Printf", "RecipesBase", "Requires"] +git-tree-sha1 = "51d946d38d62709d6a2d37ea9bcc30c80c686801" +uuid = "eff96d63-e80a-5855-80a2-b1b0885c5ab7" +version = "2.9.0" + +[[deps.Measures]] +git-tree-sha1 = "c13304c81eec1ed3af7fc20e75fb6b26092a1102" +uuid = "442fdcdd-2543-5da2-b0f3-8c86c306513e" +version = "0.3.2" + +[[deps.MetaGraphsNext]] +deps = ["Graphs", "JLD2", "SimpleTraits"] +git-tree-sha1 = "500e526a1f76b73ab7522f9580f86abef895de68" +uuid = "fa8bd995-216d-47f1-8a91-f3b68fbeb377" +version = "0.5.0" + +[[deps.Missings]] +deps = ["DataAPI"] +git-tree-sha1 = "f66bdc5de519e8f8ae43bdc598782d35a25b1272" +uuid = "e1d29d7a-bbdc-5cf2-9ac0-f12de2c33e28" +version = "1.1.0" + +[[deps.Mmap]] +uuid = "a63ad114-7e13-5084-954f-fe012c677804" + +[[deps.MozillaCACerts_jll]] +uuid = "14a3606d-f60d-562e-9121-12d972cd8159" +version = "2022.10.11" + +[[deps.MuladdMacro]] +git-tree-sha1 = "cac9cc5499c25554cba55cd3c30543cff5ca4fab" +uuid = "46d2c3a1-f734-5fdb-9937-b9b9aeba4221" +version = "0.2.4" + +[[deps.MultivariateStats]] +deps = ["Arpack", "LinearAlgebra", "SparseArrays", "Statistics", "StatsAPI", "StatsBase"] +git-tree-sha1 = "68bf5103e002c44adfd71fea6bd770b3f0586843" +uuid = "6f286f6a-111f-5878-ab1e-185364afe411" +version = "0.10.2" + +[[deps.NaNMath]] +deps = ["OpenLibm_jll"] +git-tree-sha1 = "0877504529a3e5c3343c6f8b4c0381e57e4387e4" +uuid = "77ba4419-2d1f-58cd-9bb1-8ffee604a2e3" +version = "1.0.2" + +[[deps.NearestNeighbors]] +deps = ["Distances", "StaticArrays"] +git-tree-sha1 = "2c3726ceb3388917602169bed973dbc97f1b51a8" +uuid = "b8a86587-4115-5ab1-83bc-aa920d37bbce" +version = "0.4.13" + +[[deps.Neighborhood]] +deps = ["Distances", "NearestNeighbors", "Random", "Test"] +git-tree-sha1 = "fdea60ca30d724e76cc3b3d90d7f9d29d3d5cab5" +uuid = "645ca80c-8b79-4109-87ea-e1f58159d116" +version = "0.2.4" + +[[deps.NetworkOptions]] +uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" +version = "1.2.0" + +[[deps.Observables]] +git-tree-sha1 = "6862738f9796b3edc1c09d0890afce4eca9e7e93" +uuid = "510215fc-4207-5dde-b226-833fc4488ee2" +version = "0.5.4" + +[[deps.OffsetArrays]] +deps = ["Adapt"] +git-tree-sha1 = "2ac17d29c523ce1cd38e27785a7d23024853a4bb" +uuid = "6fe1bfb0-de20-5000-8ca7-80f57d26f881" +version = "1.12.10" + +[[deps.Ogg_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "887579a3eb005446d514ab7aeac5d1d027658b8f" +uuid = "e7412a2a-1a6e-54c0-be00-318e2571c051" +version = "1.3.5+1" + +[[deps.OpenBLAS_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"] +uuid = "4536629a-c528-5b80-bd46-f80d51c5b363" +version = "0.3.21+4" + +[[deps.OpenLibm_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "05823500-19ac-5b8b-9628-191a04bc5112" +version = "0.8.1+0" + +[[deps.OpenSSL]] +deps = ["BitFlags", "Dates", "MozillaCACerts_jll", "OpenSSL_jll", "Sockets"] +git-tree-sha1 = "51901a49222b09e3743c65b8847687ae5fc78eb2" +uuid = "4d8831e6-92b7-49fb-bdf8-b643e874388c" +version = "1.4.1" + +[[deps.OpenSSL_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "1aa4b74f80b01c6bc2b89992b861b5f210e665b5" +uuid = "458c3c95-2e84-50aa-8efc-19380b2a3a95" +version = "1.1.21+0" + +[[deps.OpenSpecFun_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "13652491f6856acfd2db29360e1bbcd4565d04f1" +uuid = "efe28fd5-8261-553b-a9e1-b2916fc3738e" +version = "0.5.5+0" + +[[deps.Opus_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "51a08fb14ec28da2ec7a927c4337e4332c2a4720" +uuid = "91d4177d-7536-5919-b921-800302f37372" +version = "1.3.2+0" + +[[deps.OrderedCollections]] +git-tree-sha1 = "2e73fe17cac3c62ad1aebe70d44c963c3cfdc3e3" +uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d" +version = "1.6.2" + +[[deps.PCRE2_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "efcefdf7-47ab-520b-bdef-62a2eaa19f15" +version = "10.42.0+0" + +[[deps.PDMats]] +deps = ["LinearAlgebra", "SparseArrays", "SuiteSparse"] +git-tree-sha1 = "67eae2738d63117a196f497d7db789821bce61d1" +uuid = "90014a1f-27ba-587c-ab20-58faa44d9150" +version = "0.11.17" + +[[deps.Pango_jll]] +deps = ["Artifacts", "Cairo_jll", "Fontconfig_jll", "FreeType2_jll", "FriBidi_jll", "Glib_jll", "HarfBuzz_jll", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "84a314e3926ba9ec66ac097e3635e270986b0f10" +uuid = "36c8627f-9965-5494-a995-c6b170f724f3" +version = "1.50.9+0" + +[[deps.Parameters]] +deps = ["OrderedCollections", "UnPack"] +git-tree-sha1 = "34c0e9ad262e5f7fc75b10a9952ca7692cfc5fbe" +uuid = "d96e819e-fc66-5662-9728-84c9c7592b0a" +version = "0.12.3" + +[[deps.Parsers]] +deps = ["Dates", "PrecompileTools", "UUIDs"] +git-tree-sha1 = "716e24b21538abc91f6205fd1d8363f39b442851" +uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0" +version = "2.7.2" + +[[deps.Permutations]] +deps = ["Combinatorics", "LinearAlgebra", "Random"] +git-tree-sha1 = "6e6cab1c54ae2382bcc48866b91cf949cea703a1" +uuid = "2ae35dd2-176d-5d53-8349-f30d82d94d4f" +version = "0.4.16" + +[[deps.Pipe]] +git-tree-sha1 = "6842804e7867b115ca9de748a0cf6b364523c16d" +uuid = "b98c9c47-44ae-5843-9183-064241ee97a0" +version = "1.3.0" + +[[deps.Pixman_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LLVMOpenMP_jll", "Libdl"] +git-tree-sha1 = "64779bc4c9784fee475689a1752ef4d5747c5e87" +uuid = "30392449-352a-5448-841d-b1acce4e97dc" +version = "0.42.2+0" + +[[deps.Pkg]] +deps = ["Artifacts", "Dates", "Downloads", "FileWatching", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "Serialization", "TOML", "Tar", "UUIDs", "p7zip_jll"] +uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" +version = "1.9.2" + +[[deps.PlotThemes]] +deps = ["PlotUtils", "Statistics"] +git-tree-sha1 = "1f03a2d339f42dca4a4da149c7e15e9b896ad899" +uuid = "ccf2f8ad-2431-5c83-bf29-c5338b663b6a" +version = "3.1.0" + +[[deps.PlotUtils]] +deps = ["ColorSchemes", "Colors", "Dates", "PrecompileTools", "Printf", "Random", "Reexport", "Statistics"] +git-tree-sha1 = "f92e1315dadf8c46561fb9396e525f7200cdc227" +uuid = "995b91a9-d308-5afd-9ec6-746e21dbc043" +version = "1.3.5" + +[[deps.Plots]] +deps = ["Base64", "Contour", "Dates", "Downloads", "FFMPEG", "FixedPointNumbers", "GR", "JLFzf", "JSON", "LaTeXStrings", "Latexify", "LinearAlgebra", "Measures", "NaNMath", "Pkg", "PlotThemes", "PlotUtils", "PrecompileTools", "Preferences", "Printf", "REPL", "Random", "RecipesBase", "RecipesPipeline", "Reexport", "RelocatableFolders", "Requires", "Scratch", "Showoff", "SparseArrays", "Statistics", "StatsBase", "UUIDs", "UnicodeFun", "UnitfulLatexify", "Unzip"] +git-tree-sha1 = "9f8675a55b37a70aa23177ec110f6e3f4dd68466" +uuid = "91a5bcdd-55d7-5caf-9e0b-520d859cae80" +version = "1.38.17" + + [deps.Plots.extensions] + FileIOExt = "FileIO" + GeometryBasicsExt = "GeometryBasics" + IJuliaExt = "IJulia" + ImageInTerminalExt = "ImageInTerminal" + UnitfulExt = "Unitful" + + [deps.Plots.weakdeps] + FileIO = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549" + GeometryBasics = "5c1252a2-5f33-56bf-86c9-59e7332b4326" + IJulia = "7073ff75-c697-5162-941a-fcdaad2a7d2a" + ImageInTerminal = "d8c32880-2388-543b-8c61-d9f865259254" + Unitful = "1986cc42-f94f-5a68-af5c-568840ba703d" + +[[deps.Polyester]] +deps = ["ArrayInterface", "BitTwiddlingConvenienceFunctions", "CPUSummary", "IfElse", "ManualMemory", "PolyesterWeave", "Requires", "Static", "StaticArrayInterface", "StrideArraysCore", "ThreadingUtilities"] +git-tree-sha1 = "3d811babe092a6e7b130beee84998fe7663348b6" +uuid = "f517fe37-dbe3-4b94-8317-1923a5111588" +version = "0.7.5" + +[[deps.PolyesterWeave]] +deps = ["BitTwiddlingConvenienceFunctions", "CPUSummary", "IfElse", "Static", "ThreadingUtilities"] +git-tree-sha1 = "240d7170f5ffdb285f9427b92333c3463bf65bf6" +uuid = "1d0040c9-8b98-4ee7-8388-3f51789ca0ad" +version = "0.2.1" + +[[deps.Polynomials]] +deps = ["LinearAlgebra", "RecipesBase"] +git-tree-sha1 = "3aa2bb4982e575acd7583f01531f241af077b163" +uuid = "f27b6e38-b328-58d1-80ce-0feddd5e7a45" +version = "3.2.13" + + [deps.Polynomials.extensions] + PolynomialsChainRulesCoreExt = "ChainRulesCore" + PolynomialsMakieCoreExt = "MakieCore" + PolynomialsMutableArithmeticsExt = "MutableArithmetics" + + [deps.Polynomials.weakdeps] + ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" + MakieCore = "20f20a25-4f0e-4fdf-b5d1-57303727442b" + MutableArithmetics = "d8a4904e-b15c-11e9-3269-09a3773c0cb0" + +[[deps.PreallocationTools]] +deps = ["Adapt", "ArrayInterface", "ForwardDiff", "Requires"] +git-tree-sha1 = "f739b1b3cc7b9949af3b35089931f2b58c289163" +uuid = "d236fae5-4411-538c-8e31-a6e3d9e00b46" +version = "0.4.12" + + [deps.PreallocationTools.extensions] + PreallocationToolsReverseDiffExt = "ReverseDiff" + + [deps.PreallocationTools.weakdeps] + ReverseDiff = "37e2e3b7-166d-5795-8a7a-e32c996b4267" + +[[deps.PrecompileTools]] +deps = ["Preferences"] +git-tree-sha1 = "9673d39decc5feece56ef3940e5dafba15ba0f81" +uuid = "aea7be01-6a6a-4083-8856-8a6e6704d82a" +version = "1.1.2" + +[[deps.Preferences]] +deps = ["TOML"] +git-tree-sha1 = "7eb1686b4f04b82f96ed7a4ea5890a4f0c7a09f1" +uuid = "21216c6a-2e73-6563-6e65-726566657250" +version = "1.4.0" + +[[deps.Printf]] +deps = ["Unicode"] +uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7" + +[[deps.ProgressMeter]] +deps = ["Distributed", "Printf"] +git-tree-sha1 = "d7a7aef8f8f2d537104f170139553b14dfe39fe9" +uuid = "92933f4c-e287-5a05-a399-4b506db050ca" +version = "1.7.2" + +[[deps.Qt6Base_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "Fontconfig_jll", "Glib_jll", "JLLWrappers", "Libdl", "Libglvnd_jll", "OpenSSL_jll", "Pkg", "Xorg_libXext_jll", "Xorg_libXrender_jll", "Xorg_libxcb_jll", "Xorg_xcb_util_image_jll", "Xorg_xcb_util_keysyms_jll", "Xorg_xcb_util_renderutil_jll", "Xorg_xcb_util_wm_jll", "Zlib_jll", "xkbcommon_jll"] +git-tree-sha1 = "364898e8f13f7eaaceec55fd3d08680498c0aa6e" +uuid = "c0090381-4147-56d7-9ebc-da0b1113ec56" +version = "6.4.2+3" + +[[deps.QuadGK]] +deps = ["DataStructures", "LinearAlgebra"] +git-tree-sha1 = "6ec7ac8412e83d57e313393220879ede1740f9ee" +uuid = "1fd47b50-473d-5c70-9696-f719f8f3bcdc" +version = "2.8.2" + +[[deps.REPL]] +deps = ["InteractiveUtils", "Markdown", "Sockets", "Unicode"] +uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb" + +[[deps.Random]] +deps = ["SHA", "Serialization"] +uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" + +[[deps.Ratios]] +deps = ["Requires"] +git-tree-sha1 = "1342a47bf3260ee108163042310d26f2be5ec90b" +uuid = "c84ed2f1-dad5-54f0-aa8e-dbefe2724439" +version = "0.4.5" +weakdeps = ["FixedPointNumbers"] + + [deps.Ratios.extensions] + RatiosFixedPointNumbersExt = "FixedPointNumbers" + +[[deps.RecipesBase]] +deps = ["PrecompileTools"] +git-tree-sha1 = "5c3d09cc4f31f5fc6af001c250bf1278733100ff" +uuid = "3cdcf5f2-1ef4-517c-9805-6587b60abb01" +version = "1.3.4" + +[[deps.RecipesPipeline]] +deps = ["Dates", "NaNMath", "PlotUtils", "PrecompileTools", "RecipesBase"] +git-tree-sha1 = "45cf9fd0ca5839d06ef333c8201714e888486342" +uuid = "01d81517-befc-4cb6-b9ec-a95719d0359c" +version = "0.6.12" + +[[deps.RecursiveArrayTools]] +deps = ["Adapt", "ArrayInterface", "DocStringExtensions", "GPUArraysCore", "IteratorInterfaceExtensions", "LinearAlgebra", "RecipesBase", "Requires", "StaticArraysCore", "Statistics", "SymbolicIndexingInterface", "Tables"] +git-tree-sha1 = "7ed35fb5f831aaf09c2d7c8736d44667a1afdcb0" +uuid = "731186ca-8d62-57ce-b412-fbd966d074cd" +version = "2.38.7" + + [deps.RecursiveArrayTools.extensions] + RecursiveArrayToolsMeasurementsExt = "Measurements" + RecursiveArrayToolsTrackerExt = "Tracker" + RecursiveArrayToolsZygoteExt = "Zygote" + + [deps.RecursiveArrayTools.weakdeps] + Measurements = "eff96d63-e80a-5855-80a2-b1b0885c5ab7" + Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c" + Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f" + +[[deps.Reexport]] +git-tree-sha1 = "45e428421666073eab6f2da5c9d310d99bb12f9b" +uuid = "189a3867-3050-52da-a836-e630ba90ab69" +version = "1.2.2" + +[[deps.RelocatableFolders]] +deps = ["SHA", "Scratch"] +git-tree-sha1 = "90bc7a7c96410424509e4263e277e43250c05691" +uuid = "05181044-ff0b-4ac5-8273-598c1e38db00" +version = "1.0.0" + +[[deps.Requires]] +deps = ["UUIDs"] +git-tree-sha1 = "838a3a4188e2ded87a4f9f184b4b0d78a1e91cb7" +uuid = "ae029012-a4dd-5104-9daa-d747884805df" +version = "1.3.0" + +[[deps.Revise]] +deps = ["CodeTracking", "Distributed", "FileWatching", "JuliaInterpreter", "LibGit2", "LoweredCodeUtils", "OrderedCollections", "Pkg", "REPL", "Requires", "UUIDs", "Unicode"] +git-tree-sha1 = "1e597b93700fa4045d7189afa7c004e0584ea548" +uuid = "295af30f-e4ad-537b-8983-00126c2a3abe" +version = "3.5.3" + +[[deps.Rmath]] +deps = ["Random", "Rmath_jll"] +git-tree-sha1 = "f65dcb5fa46aee0cf9ed6274ccbd597adc49aa7b" +uuid = "79098fc4-a85e-5d69-aa6a-4863f24498fa" +version = "0.7.1" + +[[deps.Rmath_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "6ed52fdd3382cf21947b15e8870ac0ddbff736da" +uuid = "f50d1b31-88e8-58de-be2c-1cc44531875f" +version = "0.4.0+0" + +[[deps.Roots]] +deps = ["ChainRulesCore", "CommonSolve", "Printf", "Setfield"] +git-tree-sha1 = "de432823e8aab4dd1a985be4be768f95acf152d4" +uuid = "f2b01f46-fcfa-551c-844a-d8ac1e96c665" +version = "2.0.17" + + [deps.Roots.extensions] + RootsForwardDiffExt = "ForwardDiff" + RootsIntervalRootFindingExt = "IntervalRootFinding" + RootsSymPyExt = "SymPy" + + [deps.Roots.weakdeps] + ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" + IntervalRootFinding = "d2bf35a9-74e0-55ec-b149-d360ff49b807" + SymPy = "24249f21-da20-56a4-8eb1-6a02cf4ae2e6" + +[[deps.RoundingEmulator]] +git-tree-sha1 = "40b9edad2e5287e05bd413a38f61a8ff55b9557b" +uuid = "5eaf0fd0-dfba-4ccb-bf02-d820a40db705" +version = "0.2.1" + +[[deps.RuntimeGeneratedFunctions]] +deps = ["ExprTools", "SHA", "Serialization"] +git-tree-sha1 = "237edc1563bbf078629b4f8d194bd334e97907cf" +uuid = "7e49a35a-f44a-4d26-94aa-eba1b4ca6b47" +version = "0.5.11" + +[[deps.SHA]] +uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce" +version = "0.7.0" + +[[deps.SIMDTypes]] +git-tree-sha1 = "330289636fb8107c5f32088d2741e9fd7a061a5c" +uuid = "94e857df-77ce-4151-89e5-788b33177be4" +version = "0.1.0" + +[[deps.SciMLBase]] +deps = ["ADTypes", "ArrayInterface", "CommonSolve", "ConstructionBase", "Distributed", "DocStringExtensions", "EnumX", "FunctionWrappersWrappers", "IteratorInterfaceExtensions", "LinearAlgebra", "Logging", "Markdown", "PrecompileTools", "Preferences", "RecipesBase", "RecursiveArrayTools", "Reexport", "RuntimeGeneratedFunctions", "SciMLOperators", "StaticArraysCore", "Statistics", "SymbolicIndexingInterface", "Tables", "TruncatedStacktraces"] +git-tree-sha1 = "04370090604cd399db5bebddb636d80ab9d338e9" +uuid = "0bca4576-84f4-4d90-8ffe-ffa030f20462" +version = "1.94.0" + +[[deps.SciMLOperators]] +deps = ["ArrayInterface", "DocStringExtensions", "Lazy", "LinearAlgebra", "Setfield", "SparseArrays", "StaticArraysCore", "Tricks"] +git-tree-sha1 = "65c2e6ced6f62ea796af251eb292a0e131a3613b" +uuid = "c0aeaf25-5076-4817-a8d5-81caf7dfa961" +version = "0.3.6" + +[[deps.Scratch]] +deps = ["Dates"] +git-tree-sha1 = "30449ee12237627992a99d5e30ae63e4d78cd24a" +uuid = "6c6a2e73-6563-6170-7368-637461726353" +version = "1.2.0" + +[[deps.SentinelArrays]] +deps = ["Dates", "Random"] +git-tree-sha1 = "04bdff0b09c65ff3e06a05e3eb7b120223da3d39" +uuid = "91c51154-3ec4-41a3-a24f-3f23e20d615c" +version = "1.4.0" + +[[deps.Serialization]] +uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b" + +[[deps.SetRounding]] +git-tree-sha1 = "d7a25e439d07a17b7cdf97eecee504c50fedf5f6" +uuid = "3cc68bcd-71a2-5612-b932-767ffbe40ab0" +version = "0.2.1" + +[[deps.Setfield]] +deps = ["ConstructionBase", "Future", "MacroTools", "StaticArraysCore"] +git-tree-sha1 = "e2cc6d8c88613c05e1defb55170bf5ff211fbeac" +uuid = "efcf1570-3423-57d1-acb7-fd33fddbac46" +version = "1.1.1" + +[[deps.SharedArrays]] +deps = ["Distributed", "Mmap", "Random", "Serialization"] +uuid = "1a1011a3-84de-559e-8e89-a11a2f7dc383" + +[[deps.Showoff]] +deps = ["Dates", "Grisu"] +git-tree-sha1 = "91eddf657aca81df9ae6ceb20b959ae5653ad1de" +uuid = "992d4aef-0814-514b-bc4d-f2e9a6c4116f" +version = "1.0.3" + +[[deps.SimpleBufferStream]] +git-tree-sha1 = "874e8867b33a00e784c8a7e4b60afe9e037b74e1" +uuid = "777ac1f9-54b0-4bf8-805c-2214025038e7" +version = "1.1.0" + +[[deps.SimpleDiffEq]] +deps = ["DiffEqBase", "LinearAlgebra", "MuladdMacro", "Parameters", "RecursiveArrayTools", "Reexport", "StaticArrays"] +git-tree-sha1 = "58369b3d052f61b6607fbaef76b745929be77712" +uuid = "05bca326-078c-5bf0-a5bf-ce7c7982d7fd" +version = "1.9.0" + +[[deps.SimpleTraits]] +deps = ["InteractiveUtils", "MacroTools"] +git-tree-sha1 = "5d7e3f4e11935503d3ecaf7186eac40602e7d231" +uuid = "699a6c99-e7fa-54fc-8d76-47d257e15c1d" +version = "0.9.4" + +[[deps.SnoopPrecompile]] +deps = ["Preferences"] +git-tree-sha1 = "e760a70afdcd461cf01a575947738d359234665c" +uuid = "66db9d55-30c0-4569-8b51-7e840670fc0c" +version = "1.0.3" + +[[deps.Sockets]] +uuid = "6462fe0b-24de-5631-8697-dd941f90decc" + +[[deps.SortingAlgorithms]] +deps = ["DataStructures"] +git-tree-sha1 = "c60ec5c62180f27efea3ba2908480f8055e17cee" +uuid = "a2af1166-a08f-5f64-846c-94a0d3cef48c" +version = "1.1.1" + +[[deps.SparseArrays]] +deps = ["Libdl", "LinearAlgebra", "Random", "Serialization", "SuiteSparse_jll"] +uuid = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" + +[[deps.SpecialFunctions]] +deps = ["IrrationalConstants", "LogExpFunctions", "OpenLibm_jll", "OpenSpecFun_jll"] +git-tree-sha1 = "7beb031cf8145577fbccacd94b8a8f4ce78428d3" +uuid = "276daf66-3868-5448-9aa4-cd146d93841b" +version = "2.3.0" +weakdeps = ["ChainRulesCore"] + + [deps.SpecialFunctions.extensions] + SpecialFunctionsChainRulesCoreExt = "ChainRulesCore" + +[[deps.Static]] +deps = ["IfElse"] +git-tree-sha1 = "f295e0a1da4ca425659c57441bcb59abb035a4bc" +uuid = "aedffcd0-7271-4cad-89d0-dc628f76c6d3" +version = "0.8.8" + +[[deps.StaticArrayInterface]] +deps = ["ArrayInterface", "Compat", "IfElse", "LinearAlgebra", "Requires", "SnoopPrecompile", "SparseArrays", "Static", "SuiteSparse"] +git-tree-sha1 = "33040351d2403b84afce74dae2e22d3f5b18edcb" +uuid = "0d7ed370-da01-4f52-bd93-41d350b8b718" +version = "1.4.0" +weakdeps = ["OffsetArrays", "StaticArrays"] + + [deps.StaticArrayInterface.extensions] + StaticArrayInterfaceOffsetArraysExt = "OffsetArrays" + StaticArrayInterfaceStaticArraysExt = "StaticArrays" + +[[deps.StaticArrays]] +deps = ["LinearAlgebra", "Random", "StaticArraysCore"] +git-tree-sha1 = "9cabadf6e7cd2349b6cf49f1915ad2028d65e881" +uuid = "90137ffa-7385-5640-81b9-e52037218182" +version = "1.6.2" +weakdeps = ["Statistics"] + + [deps.StaticArrays.extensions] + StaticArraysStatisticsExt = "Statistics" + +[[deps.StaticArraysCore]] +git-tree-sha1 = "36b3d696ce6366023a0ea192b4cd442268995a0d" +uuid = "1e83bf80-4336-4d27-bf5d-d5a4f845583c" +version = "1.4.2" + +[[deps.Statistics]] +deps = ["LinearAlgebra", "SparseArrays"] +uuid = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" +version = "1.9.0" + +[[deps.StatsAPI]] +deps = ["LinearAlgebra"] +git-tree-sha1 = "45a7769a04a3cf80da1c1c7c60caf932e6f4c9f7" +uuid = "82ae8749-77ed-4fe6-ae5f-f523153014b0" +version = "1.6.0" + +[[deps.StatsBase]] +deps = ["DataAPI", "DataStructures", "LinearAlgebra", "LogExpFunctions", "Missings", "Printf", "Random", "SortingAlgorithms", "SparseArrays", "Statistics", "StatsAPI"] +git-tree-sha1 = "d1bf48bfcc554a3761a133fe3a9bb01488e06916" +uuid = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91" +version = "0.33.21" + +[[deps.StatsFuns]] +deps = ["HypergeometricFunctions", "IrrationalConstants", "LogExpFunctions", "Reexport", "Rmath", "SpecialFunctions"] +git-tree-sha1 = "f625d686d5a88bcd2b15cd81f18f98186fdc0c9a" +uuid = "4c63d2b9-4356-54db-8cca-17b64c39e42c" +version = "1.3.0" + + [deps.StatsFuns.extensions] + StatsFunsChainRulesCoreExt = "ChainRulesCore" + StatsFunsInverseFunctionsExt = "InverseFunctions" + + [deps.StatsFuns.weakdeps] + ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" + InverseFunctions = "3587e190-3f89-42d0-90ee-14403ec27112" + +[[deps.StatsPlots]] +deps = ["AbstractFFTs", "Clustering", "DataStructures", "Distributions", "Interpolations", "KernelDensity", "LinearAlgebra", "MultivariateStats", "NaNMath", "Observables", "Plots", "RecipesBase", "RecipesPipeline", "Reexport", "StatsBase", "TableOperations", "Tables", "Widgets"] +git-tree-sha1 = "9115a29e6c2cf66cf213ccc17ffd61e27e743b24" +uuid = "f3b207a7-027a-5e70-b257-86293d7955fd" +version = "0.15.6" + +[[deps.StrideArraysCore]] +deps = ["ArrayInterface", "CloseOpenIntervals", "IfElse", "LayoutPointers", "ManualMemory", "SIMDTypes", "Static", "StaticArrayInterface", "ThreadingUtilities"] +git-tree-sha1 = "f02eb61eb5c97b48c153861c72fbbfdddc607e06" +uuid = "7792a7ef-975c-4747-a70f-980b88e8d1da" +version = "0.4.17" + +[[deps.SuiteSparse]] +deps = ["Libdl", "LinearAlgebra", "Serialization", "SparseArrays"] +uuid = "4607b0f0-06f3-5cda-b6b1-a6196a1729e9" + +[[deps.SuiteSparse_jll]] +deps = ["Artifacts", "Libdl", "Pkg", "libblastrampoline_jll"] +uuid = "bea87d4a-7f5b-5778-9afe-8cc45184846c" +version = "5.10.1+6" + +[[deps.SymbolicIndexingInterface]] +deps = ["DocStringExtensions"] +git-tree-sha1 = "f8ab052bfcbdb9b48fad2c80c873aa0d0344dfe5" +uuid = "2efcf032-c050-4f8e-a9bb-153293bab1f5" +version = "0.2.2" + +[[deps.TOML]] +deps = ["Dates"] +uuid = "fa267f1f-6049-4f14-aa54-33bafae1ed76" +version = "1.0.3" + +[[deps.TableOperations]] +deps = ["SentinelArrays", "Tables", "Test"] +git-tree-sha1 = "e383c87cf2a1dc41fa30c093b2a19877c83e1bc1" +uuid = "ab02a1b2-a7df-11e8-156e-fb1833f50b87" +version = "1.2.0" + +[[deps.TableTraits]] +deps = ["IteratorInterfaceExtensions"] +git-tree-sha1 = "c06b2f539df1c6efa794486abfb6ed2022561a39" +uuid = "3783bdb8-4a98-5b6b-af9a-565f29a5fe9c" +version = "1.0.1" + +[[deps.Tables]] +deps = ["DataAPI", "DataValueInterfaces", "IteratorInterfaceExtensions", "LinearAlgebra", "OrderedCollections", "TableTraits", "Test"] +git-tree-sha1 = "1544b926975372da01227b382066ab70e574a3ec" +uuid = "bd369af6-aec1-5ad0-b16a-f7cc5008161c" +version = "1.10.1" + +[[deps.Tar]] +deps = ["ArgTools", "SHA"] +uuid = "a4e569a6-e804-4fa4-b0f3-eef7a1d5b13e" +version = "1.10.0" + +[[deps.TensorCore]] +deps = ["LinearAlgebra"] +git-tree-sha1 = "1feb45f88d133a655e001435632f019a9a1bcdb6" +uuid = "62fd8b95-f654-4bbd-a8a5-9c27f68ccd50" +version = "0.1.1" + +[[deps.Test]] +deps = ["InteractiveUtils", "Logging", "Random", "Serialization"] +uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40" + +[[deps.ThreadingUtilities]] +deps = ["ManualMemory"] +git-tree-sha1 = "eda08f7e9818eb53661b3deb74e3159460dfbc27" +uuid = "8290d209-cae3-49c0-8002-c8c24d57dab5" +version = "0.5.2" + +[[deps.TranscodingStreams]] +deps = ["Random", "Test"] +git-tree-sha1 = "9a6ae7ed916312b41236fcef7e0af564ef934769" +uuid = "3bb67fe8-82b1-5028-8e26-92a6c54297fa" +version = "0.9.13" + +[[deps.Tricks]] +git-tree-sha1 = "aadb748be58b492045b4f56166b5188aa63ce549" +uuid = "410a4b4d-49e4-4fbc-ab6d-cb71b17b3775" +version = "0.1.7" + +[[deps.TruncatedStacktraces]] +deps = ["InteractiveUtils", "MacroTools", "Preferences"] +git-tree-sha1 = "ea3e54c2bdde39062abf5a9758a23735558705e1" +uuid = "781d530d-4396-4725-bb49-402e4bee1e77" +version = "1.4.0" + +[[deps.URIs]] +git-tree-sha1 = "074f993b0ca030848b897beff716d93aca60f06a" +uuid = "5c2747f8-b7ea-4ff2-ba2e-563bfd36b1d4" +version = "1.4.2" + +[[deps.UUIDs]] +deps = ["Random", "SHA"] +uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4" + +[[deps.UnPack]] +git-tree-sha1 = "387c1f73762231e86e0c9c5443ce3b4a0a9a0c2b" +uuid = "3a884ed6-31ef-47d7-9d2a-63182c4928ed" +version = "1.0.2" + +[[deps.Unicode]] +uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5" + +[[deps.UnicodeFun]] +deps = ["REPL"] +git-tree-sha1 = "53915e50200959667e78a92a418594b428dffddf" +uuid = "1cfade01-22cf-5700-b092-accc4b62d6e1" +version = "0.4.1" + +[[deps.Unitful]] +deps = ["Dates", "LinearAlgebra", "Random"] +git-tree-sha1 = "1cd9b6d3f637988ca788007b7466c132feebe263" +uuid = "1986cc42-f94f-5a68-af5c-568840ba703d" +version = "1.16.1" + + [deps.Unitful.extensions] + ConstructionBaseUnitfulExt = "ConstructionBase" + InverseFunctionsUnitfulExt = "InverseFunctions" + + [deps.Unitful.weakdeps] + ConstructionBase = "187b0558-2788-49d3-abe0-74a17ed4e7c9" + InverseFunctions = "3587e190-3f89-42d0-90ee-14403ec27112" + +[[deps.UnitfulLatexify]] +deps = ["LaTeXStrings", "Latexify", "Unitful"] +git-tree-sha1 = "e2d817cc500e960fdbafcf988ac8436ba3208bfd" +uuid = "45397f5d-5981-4c77-b2b3-fc36d6e9b728" +version = "1.6.3" + +[[deps.Unzip]] +git-tree-sha1 = "ca0969166a028236229f63514992fc073799bb78" +uuid = "41fe7b60-77ed-43a1-b4f0-825fd5a5650d" +version = "0.2.0" + +[[deps.Wavelets]] +deps = ["DSP", "FFTW", "LinearAlgebra", "Reexport", "SpecialFunctions", "Statistics"] +git-tree-sha1 = "58f7491c21ab2b1d69368c7f7e8a6a93cbf8b7bf" +uuid = "29a6e085-ba6d-5f35-a997-948ac2efa89a" +version = "0.9.5" + +[[deps.Wayland_jll]] +deps = ["Artifacts", "Expat_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Pkg", "XML2_jll"] +git-tree-sha1 = "ed8d92d9774b077c53e1da50fd81a36af3744c1c" +uuid = "a2964d1f-97da-50d4-b82a-358c7fce9d89" +version = "1.21.0+0" + +[[deps.Wayland_protocols_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "4528479aa01ee1b3b4cd0e6faef0e04cf16466da" +uuid = "2381bf8a-dfd0-557d-9999-79630e7b1b91" +version = "1.25.0+0" + +[[deps.Widgets]] +deps = ["Colors", "Dates", "Observables", "OrderedCollections"] +git-tree-sha1 = "fcdae142c1cfc7d89de2d11e08721d0f2f86c98a" +uuid = "cc8bc4a8-27d6-5769-a93b-9d913e69aa62" +version = "0.6.6" + +[[deps.WoodburyMatrices]] +deps = ["LinearAlgebra", "SparseArrays"] +git-tree-sha1 = "de67fa59e33ad156a590055375a30b23c40299d3" +uuid = "efce3f68-66dc-5838-9240-27a6d6f5f9b6" +version = "0.5.5" + +[[deps.XML2_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Libiconv_jll", "Pkg", "Zlib_jll"] +git-tree-sha1 = "93c41695bc1c08c46c5899f4fe06d6ead504bb73" +uuid = "02c8fc9c-b97f-50b9-bbe4-9be30ff0a78a" +version = "2.10.3+0" + +[[deps.XSLT_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Libgcrypt_jll", "Libgpg_error_jll", "Libiconv_jll", "Pkg", "XML2_jll", "Zlib_jll"] +git-tree-sha1 = "91844873c4085240b95e795f692c4cec4d805f8a" +uuid = "aed1982a-8fda-507f-9586-7b0439959a61" +version = "1.1.34+0" + +[[deps.XZ_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "2222b751598bd9f4885c9ce9cd23e83404baa8ce" +uuid = "ffd25f8a-64ca-5728-b0f7-c24cf3aae800" +version = "5.4.3+1" + +[[deps.Xorg_libX11_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libxcb_jll", "Xorg_xtrans_jll"] +git-tree-sha1 = "afead5aba5aa507ad5a3bf01f58f82c8d1403495" +uuid = "4f6342f7-b3d2-589e-9d20-edeb45f2b2bc" +version = "1.8.6+0" + +[[deps.Xorg_libXau_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "6035850dcc70518ca32f012e46015b9beeda49d8" +uuid = "0c0b7dd1-d40b-584c-a123-a41640f87eec" +version = "1.0.11+0" + +[[deps.Xorg_libXcursor_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXfixes_jll", "Xorg_libXrender_jll"] +git-tree-sha1 = "12e0eb3bc634fa2080c1c37fccf56f7c22989afd" +uuid = "935fb764-8cf2-53bf-bb30-45bb1f8bf724" +version = "1.2.0+4" + +[[deps.Xorg_libXdmcp_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "34d526d318358a859d7de23da945578e8e8727b7" +uuid = "a3789734-cfe1-5b06-b2d0-1dd0d9d62d05" +version = "1.1.4+0" + +[[deps.Xorg_libXext_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll"] +git-tree-sha1 = "b7c0aa8c376b31e4852b360222848637f481f8c3" +uuid = "1082639a-0dae-5f34-9b06-72781eeb8cb3" +version = "1.3.4+4" + +[[deps.Xorg_libXfixes_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll"] +git-tree-sha1 = "0e0dc7431e7a0587559f9294aeec269471c991a4" +uuid = "d091e8ba-531a-589c-9de9-94069b037ed8" +version = "5.0.3+4" + +[[deps.Xorg_libXi_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXext_jll", "Xorg_libXfixes_jll"] +git-tree-sha1 = "89b52bc2160aadc84d707093930ef0bffa641246" +uuid = "a51aa0fd-4e3c-5386-b890-e753decda492" +version = "1.7.10+4" + +[[deps.Xorg_libXinerama_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXext_jll"] +git-tree-sha1 = "26be8b1c342929259317d8b9f7b53bf2bb73b123" +uuid = "d1454406-59df-5ea1-beac-c340f2130bc3" +version = "1.1.4+4" + +[[deps.Xorg_libXrandr_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXext_jll", "Xorg_libXrender_jll"] +git-tree-sha1 = "34cea83cb726fb58f325887bf0612c6b3fb17631" +uuid = "ec84b674-ba8e-5d96-8ba1-2a689ba10484" +version = "1.5.2+4" + +[[deps.Xorg_libXrender_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll"] +git-tree-sha1 = "19560f30fd49f4d4efbe7002a1037f8c43d43b96" +uuid = "ea2f1a96-1ddc-540d-b46f-429655e07cfa" +version = "0.9.10+4" + +[[deps.Xorg_libpthread_stubs_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "8fdda4c692503d44d04a0603d9ac0982054635f9" +uuid = "14d82f49-176c-5ed1-bb49-ad3f5cbd8c74" +version = "0.1.1+0" + +[[deps.Xorg_libxcb_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "XSLT_jll", "Xorg_libXau_jll", "Xorg_libXdmcp_jll", "Xorg_libpthread_stubs_jll"] +git-tree-sha1 = "b4bfde5d5b652e22b9c790ad00af08b6d042b97d" +uuid = "c7cfdc94-dc32-55de-ac96-5a1b8d977c5b" +version = "1.15.0+0" + +[[deps.Xorg_libxkbfile_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libX11_jll"] +git-tree-sha1 = "730eeca102434283c50ccf7d1ecdadf521a765a4" +uuid = "cc61e674-0454-545c-8b26-ed2c68acab7a" +version = "1.1.2+0" + +[[deps.Xorg_xcb_util_image_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_xcb_util_jll"] +git-tree-sha1 = "0fab0a40349ba1cba2c1da699243396ff8e94b97" +uuid = "12413925-8142-5f55-bb0e-6d7ca50bb09b" +version = "0.4.0+1" + +[[deps.Xorg_xcb_util_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libxcb_jll"] +git-tree-sha1 = "e7fd7b2881fa2eaa72717420894d3938177862d1" +uuid = "2def613f-5ad1-5310-b15b-b15d46f528f5" +version = "0.4.0+1" + +[[deps.Xorg_xcb_util_keysyms_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_xcb_util_jll"] +git-tree-sha1 = "d1151e2c45a544f32441a567d1690e701ec89b00" +uuid = "975044d2-76e6-5fbe-bf08-97ce7c6574c7" +version = "0.4.0+1" + +[[deps.Xorg_xcb_util_renderutil_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_xcb_util_jll"] +git-tree-sha1 = "dfd7a8f38d4613b6a575253b3174dd991ca6183e" +uuid = "0d47668e-0667-5a69-a72c-f761630bfb7e" +version = "0.3.9+1" + +[[deps.Xorg_xcb_util_wm_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_xcb_util_jll"] +git-tree-sha1 = "e78d10aab01a4a154142c5006ed44fd9e8e31b67" +uuid = "c22f9ab0-d5fe-5066-847c-f4bb1cd4e361" +version = "0.4.1+1" + +[[deps.Xorg_xkbcomp_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libxkbfile_jll"] +git-tree-sha1 = "330f955bc41bb8f5270a369c473fc4a5a4e4d3cb" +uuid = "35661453-b289-5fab-8a00-3d9160c6a3a4" +version = "1.4.6+0" + +[[deps.Xorg_xkeyboard_config_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_xkbcomp_jll"] +git-tree-sha1 = "691634e5453ad362044e2ad653e79f3ee3bb98c3" +uuid = "33bec58e-1273-512f-9401-5d533626f822" +version = "2.39.0+0" + +[[deps.Xorg_xtrans_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "e92a1a012a10506618f10b7047e478403a046c77" +uuid = "c5fb5394-a638-5e4d-96e5-b29de1b5cf10" +version = "1.5.0+0" + +[[deps.Zlib_jll]] +deps = ["Libdl"] +uuid = "83775a58-1f1d-513f-b197-d71354ab007a" +version = "1.2.13+0" + +[[deps.Zstd_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "49ce682769cd5de6c72dcf1b94ed7790cd08974c" +uuid = "3161d3a3-bdf6-5164-811a-617609db77b4" +version = "1.5.5+0" + +[[deps.ZygoteRules]] +deps = ["ChainRulesCore", "MacroTools"] +git-tree-sha1 = "977aed5d006b840e2e40c0b48984f7463109046d" +uuid = "700de1a5-db45-46bc-99cf-38207098b444" +version = "0.2.3" + +[[deps.fzf_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "868e669ccb12ba16eaf50cb2957ee2ff61261c56" +uuid = "214eeab7-80f7-51ab-84ad-2988db7cef09" +version = "0.29.0+0" + +[[deps.libaom_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "3a2ea60308f0996d26f1e5354e10c24e9ef905d4" +uuid = "a4ae2306-e953-59d6-aa16-d00cac43593b" +version = "3.4.0+0" + +[[deps.libass_jll]] +deps = ["Artifacts", "Bzip2_jll", "FreeType2_jll", "FriBidi_jll", "HarfBuzz_jll", "JLLWrappers", "Libdl", "Pkg", "Zlib_jll"] +git-tree-sha1 = "5982a94fcba20f02f42ace44b9894ee2b140fe47" +uuid = "0ac62f75-1d6f-5e53-bd7c-93b484bb37c0" +version = "0.15.1+0" + +[[deps.libblastrampoline_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "8e850b90-86db-534c-a0d3-1478176c7d93" +version = "5.8.0+0" + +[[deps.libfdk_aac_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "daacc84a041563f965be61859a36e17c4e4fcd55" +uuid = "f638f0a6-7fb0-5443-88ba-1cc74229b280" +version = "2.0.2+0" + +[[deps.libpng_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Zlib_jll"] +git-tree-sha1 = "94d180a6d2b5e55e447e2d27a29ed04fe79eb30c" +uuid = "b53b4c65-9356-5827-b1ea-8c7a1a84506f" +version = "1.6.38+0" + +[[deps.libvorbis_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Ogg_jll", "Pkg"] +git-tree-sha1 = "b910cb81ef3fe6e78bf6acee440bda86fd6ae00c" +uuid = "f27f6e37-5d2b-51aa-960f-b287f2bc3b7a" +version = "1.3.7+1" + +[[deps.nghttp2_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "8e850ede-7688-5339-a07c-302acd2aaf8d" +version = "1.48.0+0" + +[[deps.p7zip_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0" +version = "17.4.0+0" + +[[deps.x264_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "4fea590b89e6ec504593146bf8b988b2c00922b2" +uuid = "1270edf5-f2f9-52d2-97e9-ab00b5d0237a" +version = "2021.5.5+0" + +[[deps.x265_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "ee567a171cce03570d77ad3a43e90218e38937a9" +uuid = "dfaa095f-4041-5dcd-9319-2fabd8486b76" +version = "3.5.0+0" + +[[deps.xkbcommon_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Wayland_jll", "Wayland_protocols_jll", "Xorg_libxcb_jll", "Xorg_xkeyboard_config_jll"] +git-tree-sha1 = "9ebfc140cc56e8c2156a15ceac2f0302e327ac0a" +uuid = "d8fb68d0-12a3-5cfd-a85a-d49703b185fd" +version = "1.4.1+0" From a5f1070b8882cbc7d49d1c2bf9205991b10c7e0b Mon Sep 17 00:00:00 2001 From: sbulcsu Date: Wed, 2 Aug 2023 18:34:26 +0300 Subject: [PATCH 24/32] Revert "henon measures tests" This reverts commit 88d399f4ae1e4e9546625579463d036a51633127. --- tests/plot_measures_henon.jl | 25 +++++-------------------- 1 file changed, 5 insertions(+), 20 deletions(-) diff --git a/tests/plot_measures_henon.jl b/tests/plot_measures_henon.jl index 41165d1..ebe373e 100644 --- a/tests/plot_measures_henon.jl +++ b/tests/plot_measures_henon.jl @@ -14,7 +14,7 @@ using LaTeXStrings ### Measures for a single value ############################### -grid_size = 200; +grid_size = 1000; b = 0.3; a = 1.4; ds = Systems.henon([0.1, 0.123]; a=a, b=b); @@ -35,7 +35,7 @@ data2 = zeros(length(data0)); b = 0.3; a = 1.4; a = 1.2265; -ens = 5 +ens = 10 ds = Systems.henon([0.1, 0.123]; a=a, b=b); λ = lyapunov(ds, 10000; d0 = 1e-7, threshold = 1e-4, Ttr = 500) #plot(timeseries[end-1000:end,1]) @@ -59,32 +59,17 @@ data2 ./= ens # save data f_name1 = "./tests/henon_S-gr_a=1.4_b=0.3_gr=5-500_dgr=5_t=5x10^6_ttrans=1000.dat" f_name1 = "./tests/henon_S-gr_a=1.2265_b=0.3_gr=5-500_dgr=5_t=5x10^6_ttrans=1000.dat" -f_name1 = "./tests/henon_S-gr_a=1.2265_b=0.3_gr=10-500_dgr=1_t=5x10^6_ttrans=1000_ens=5.dat" writedlm(f_name1,data1) f_name2 = "./tests/henon_Lyap-gr_a=1.4_b=0.3_gr=5-500_dgr=5_t=5x10^6_ttrans=1000.dat" f_name2 = "./tests/henon_Lyap-gr_a=1.2265_b=0.3_gr=5-500_dgr=5_t=5x10^6_ttrans=1000.dat" -f_name2 = "./tests/henon_Lyap-gr_a=1.2265_b=0.3_gr=10-500_dgr=1_t=5x10^6_ttrans=1000_ens=5.dat" writedlm(f_name2,data2) - # load data -f_name1 = "./tests/henon_S-gr_a=1.4_b=0.3_gr=5-500_dgr=5_t=5x10^6_ttrans=1000.dat" -f_name2 = "./tests/henon_Lyap-gr_a=1.4_b=0.3_gr=5-500_dgr=5_t=5x10^6_ttrans=1000.dat" -f_name1cr = "./tests/henon_S-gr_a=1.2265_b=0.3_gr=10-500_dgr=1_t=5x10^6_ttrans=1000_ens=5.dat" -f_name2cr = "./tests/henon_Lyap-gr_a=1.2265_b=0.3_gr=10-500_dgr=1_t=5x10^6_ttrans=1000_ens=5.dat" data0 = collect(5:5:500); -data0cr = collect(10:1:500); data1 = readdlm(f_name1); data2 = readdlm(f_name2); -data1cr = readdlm(f_name1cr); -data2cr = readdlm(f_name2cr); - -plot(data0, data1, lw=2, color=:orange, label=L"S, a=1.4") -plot!(data0, data2, lw=2, color=:orange, linestyle=:dash, label=L"\Lambda, a=1.4") -plot!(data0cr, data1cr, lw=2, color=:red, label=L"S, a=1.2265") -plot!(data0cr, data2cr, lw=2, color=:red, linestyle=:dash, label=L"\Lambda, a=1.2265") -plot!(xlabel="# of grid cells", ylabel=L"S, \Lambda", ylim=[0,3], xguidefontsize=22, yguidefontsize=22, tickfontsize=14, lw=2, legendfontsize=16, dpi=300) -savefig("./tests/henon_S-Lyap-gr_a=1.4_1.2265_gr=5-500_t=5x10^6_ttrans=1000_ens=5.pdf") +plot!(data0, data1) +plot!(data0, data2) ################# ### orbit diagram @@ -140,7 +125,7 @@ sim_lyapunov_eponent = readdlm(f_name) pl = plot() plot!(pl, a_values, zeros(length(a_values)), linestyle=:dash, color="black", label=nothing) plot!(pl, a_values, sim_lyapunov_eponent, label=nothing, lw=2) -plot!(pl, xlabel=L"a", ylabel=L"\lambda", xlim=[1,1.4], xticks=1:0.1:1.4, +plot!(pl, xlabel=L"a", ylabel=L"\lambda", xlim=[1,1.4], xticks=1:0.1:1.4, xguidefontsize=22, yguidefontsize=22, tickfontsize=14, lw=2, fontfamily="Serif", legendfontsize=16, dpi=300) #################### From 87a67b7faaffe81d8f44e327121351d5585c77a5 Mon Sep 17 00:00:00 2001 From: sbulcsu Date: Wed, 2 Aug 2023 18:26:36 +0300 Subject: [PATCH 25/32] henon measures tests --- tests/plot_measures_henon.jl | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/tests/plot_measures_henon.jl b/tests/plot_measures_henon.jl index ebe373e..41165d1 100644 --- a/tests/plot_measures_henon.jl +++ b/tests/plot_measures_henon.jl @@ -14,7 +14,7 @@ using LaTeXStrings ### Measures for a single value ############################### -grid_size = 1000; +grid_size = 200; b = 0.3; a = 1.4; ds = Systems.henon([0.1, 0.123]; a=a, b=b); @@ -35,7 +35,7 @@ data2 = zeros(length(data0)); b = 0.3; a = 1.4; a = 1.2265; -ens = 10 +ens = 5 ds = Systems.henon([0.1, 0.123]; a=a, b=b); λ = lyapunov(ds, 10000; d0 = 1e-7, threshold = 1e-4, Ttr = 500) #plot(timeseries[end-1000:end,1]) @@ -59,17 +59,32 @@ data2 ./= ens # save data f_name1 = "./tests/henon_S-gr_a=1.4_b=0.3_gr=5-500_dgr=5_t=5x10^6_ttrans=1000.dat" f_name1 = "./tests/henon_S-gr_a=1.2265_b=0.3_gr=5-500_dgr=5_t=5x10^6_ttrans=1000.dat" +f_name1 = "./tests/henon_S-gr_a=1.2265_b=0.3_gr=10-500_dgr=1_t=5x10^6_ttrans=1000_ens=5.dat" writedlm(f_name1,data1) f_name2 = "./tests/henon_Lyap-gr_a=1.4_b=0.3_gr=5-500_dgr=5_t=5x10^6_ttrans=1000.dat" f_name2 = "./tests/henon_Lyap-gr_a=1.2265_b=0.3_gr=5-500_dgr=5_t=5x10^6_ttrans=1000.dat" +f_name2 = "./tests/henon_Lyap-gr_a=1.2265_b=0.3_gr=10-500_dgr=1_t=5x10^6_ttrans=1000_ens=5.dat" writedlm(f_name2,data2) + # load data +f_name1 = "./tests/henon_S-gr_a=1.4_b=0.3_gr=5-500_dgr=5_t=5x10^6_ttrans=1000.dat" +f_name2 = "./tests/henon_Lyap-gr_a=1.4_b=0.3_gr=5-500_dgr=5_t=5x10^6_ttrans=1000.dat" +f_name1cr = "./tests/henon_S-gr_a=1.2265_b=0.3_gr=10-500_dgr=1_t=5x10^6_ttrans=1000_ens=5.dat" +f_name2cr = "./tests/henon_Lyap-gr_a=1.2265_b=0.3_gr=10-500_dgr=1_t=5x10^6_ttrans=1000_ens=5.dat" data0 = collect(5:5:500); +data0cr = collect(10:1:500); data1 = readdlm(f_name1); data2 = readdlm(f_name2); +data1cr = readdlm(f_name1cr); +data2cr = readdlm(f_name2cr); + +plot(data0, data1, lw=2, color=:orange, label=L"S, a=1.4") +plot!(data0, data2, lw=2, color=:orange, linestyle=:dash, label=L"\Lambda, a=1.4") +plot!(data0cr, data1cr, lw=2, color=:red, label=L"S, a=1.2265") +plot!(data0cr, data2cr, lw=2, color=:red, linestyle=:dash, label=L"\Lambda, a=1.2265") +plot!(xlabel="# of grid cells", ylabel=L"S, \Lambda", ylim=[0,3], xguidefontsize=22, yguidefontsize=22, tickfontsize=14, lw=2, legendfontsize=16, dpi=300) +savefig("./tests/henon_S-Lyap-gr_a=1.4_1.2265_gr=5-500_t=5x10^6_ttrans=1000_ens=5.pdf") -plot!(data0, data1) -plot!(data0, data2) ################# ### orbit diagram @@ -125,7 +140,7 @@ sim_lyapunov_eponent = readdlm(f_name) pl = plot() plot!(pl, a_values, zeros(length(a_values)), linestyle=:dash, color="black", label=nothing) plot!(pl, a_values, sim_lyapunov_eponent, label=nothing, lw=2) -plot!(pl, xlabel=L"a", ylabel=L"\lambda", xlim=[1,1.4], xticks=1:0.1:1.4, xguidefontsize=22, yguidefontsize=22, tickfontsize=14, lw=2, fontfamily="Serif", legendfontsize=16, +plot!(pl, xlabel=L"a", ylabel=L"\lambda", xlim=[1,1.4], xticks=1:0.1:1.4, dpi=300) #################### From 27e44d46d754401299fcc1632897dcfd6926cef6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bulcs=C3=BA=20S=C3=A1ndor?= Date: Fri, 4 Aug 2023 10:28:37 +0300 Subject: [PATCH 26/32] moving logistic map to tests folder --- {src => tests}/test_logistic_map.jl | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {src => tests}/test_logistic_map.jl (100%) diff --git a/src/test_logistic_map.jl b/tests/test_logistic_map.jl similarity index 100% rename from src/test_logistic_map.jl rename to tests/test_logistic_map.jl From abfbd270d9942924480628487b0774c1557be5a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bulcs=C3=BA=20S=C3=A1ndor?= Date: Fri, 4 Aug 2023 15:11:13 +0300 Subject: [PATCH 27/32] setting grid size without extra padding --- src/create_stn.jl | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/create_stn.jl b/src/create_stn.jl index 83d8304..419b8c2 100644 --- a/src/create_stn.jl +++ b/src/create_stn.jl @@ -16,14 +16,11 @@ function timeseries_to_grid(timeseries, grid; grid_edges = []) else x_min,y_min,x_max,y_max = grid_edges end - #partitioning with little extra space on both ends - dx = 0.5*(x_max-x_min)/grid - dy = 0.5*(y_max-y_min)/grid - - x_grid = range(x_min-dx, x_max+dx, grid); + #partitioning between `x_min` and `x_max` into `grid` number of cells + x_grid = range(x_min, x_max, grid); x_min = x_grid[1] - y_grid = range(y_min-dy, y_max+dy, grid); + y_grid = range(y_min, y_max, grid); y_min = y_grid[1] #arrays for space-discrete timeseries From 9f597beb6b1e24ff4d42421c10953ee6aff64229 Mon Sep 17 00:00:00 2001 From: sbulcsu Date: Tue, 8 Aug 2023 14:11:02 +0300 Subject: [PATCH 28/32] fixed grid size and edges --- src/create_stn.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/create_stn.jl b/src/create_stn.jl index 419b8c2..b039ab1 100644 --- a/src/create_stn.jl +++ b/src/create_stn.jl @@ -18,9 +18,9 @@ function timeseries_to_grid(timeseries, grid; grid_edges = []) end #partitioning between `x_min` and `x_max` into `grid` number of cells - x_grid = range(x_min, x_max, grid); + x_grid = range(x_min, nextfloat(x_max), grid+1); x_min = x_grid[1] - y_grid = range(y_min, y_max, grid); + y_grid = range(y_min, nextfloat(x_max), grid+1); y_min = y_grid[1] #arrays for space-discrete timeseries From fd35ed9baa6220d1430167232a3f3b345533d851 Mon Sep 17 00:00:00 2001 From: sbulcsu Date: Tue, 8 Aug 2023 14:11:43 +0300 Subject: [PATCH 29/32] fixed comments --- src/create_stn.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/create_stn.jl b/src/create_stn.jl index b039ab1..a18fe1b 100644 --- a/src/create_stn.jl +++ b/src/create_stn.jl @@ -17,7 +17,7 @@ function timeseries_to_grid(timeseries, grid; grid_edges = []) x_min,y_min,x_max,y_max = grid_edges end - #partitioning between `x_min` and `x_max` into `grid` number of cells + #partitioning between [`x_min`, `x_max`] into `grid` number of cells x_grid = range(x_min, nextfloat(x_max), grid+1); x_min = x_grid[1] y_grid = range(y_min, nextfloat(x_max), grid+1); From 73374a5b020a6e6ec112961037b4381880800048 Mon Sep 17 00:00:00 2001 From: sbulcsu Date: Wed, 9 Aug 2023 17:49:28 +0300 Subject: [PATCH 30/32] fix nextfloat problem --- src/create_stn.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/create_stn.jl b/src/create_stn.jl index a18fe1b..517f383 100644 --- a/src/create_stn.jl +++ b/src/create_stn.jl @@ -18,9 +18,9 @@ function timeseries_to_grid(timeseries, grid; grid_edges = []) end #partitioning between [`x_min`, `x_max`] into `grid` number of cells - x_grid = range(x_min, nextfloat(x_max), grid+1); + x_grid = range(x_min, nextfloat(x_max, 100), grid+1); x_min = x_grid[1] - y_grid = range(y_min, nextfloat(x_max), grid+1); + y_grid = range(y_min, nextfloat(y_max, 100), grid+1); y_min = y_grid[1] #arrays for space-discrete timeseries From 437c76efa25c3f517be8b990724cb2bf7ccc0b41 Mon Sep 17 00:00:00 2001 From: rusandris Date: Thu, 10 Aug 2023 10:43:33 +0300 Subject: [PATCH 31/32] stored stationary distribution features --- src/StateTransitionNetworks.jl | 2 +- src/create_stn.jl | 21 +++++++++++++++++++++ src/network_measures.jl | 30 +++++++++++++++++++----------- src/plot_stn.jl | 17 ++++++----------- src/timeseries_analysis.jl | 6 +++--- 5 files changed, 50 insertions(+), 26 deletions(-) diff --git a/src/StateTransitionNetworks.jl b/src/StateTransitionNetworks.jl index 9a73ed2..77d301e 100644 --- a/src/StateTransitionNetworks.jl +++ b/src/StateTransitionNetworks.jl @@ -16,7 +16,7 @@ include("plot_stn.jl") include("timeseries_analysis.jl") include("operations.jl") -export timeseries_to_grid, create_stn, check_stn!, prob_matrix, weight_matrix, calculate_weight_matrix, random_walk_on_stn, randomwalk_step,isnormalized +export timeseries_to_grid, create_stn, check_stn!, prob_matrix, weight_matrix, state_distribution, calculate_weight_matrix, random_walk_on_stn, randomwalk_step,isnormalized export network_measures, sinai_kolmogorov_entropy, measure_convergence,lyapunov_measure export plot_stn export stn_analysis,read_bin,ndensity diff --git a/src/create_stn.jl b/src/create_stn.jl index 517f383..9067e8e 100644 --- a/src/create_stn.jl +++ b/src/create_stn.jl @@ -189,6 +189,27 @@ function create_stn(P::AbstractMatrix;make_ergodic=false,verbose=false) return stn,retcode end + +""" + state_distribution(stn) -> prob_states,pos_states +Returns the probability distribution of states and the positions of the vertices that correspond to these states. +""" +function state_distribution(stn) + prob_states = zeros(nv(stn)) #probability of vertices(states) + pos_states = zeros(Int32,nv(stn),2) #position of vertices + + for v in collect(vertices(stn)) + # v is the code of the vertex + v_label = label_for(stn,v) + prob_states[v] = stn[v_label][:prob] + pos_states[v,:] .= [stn[v_label][:x],stn[v_label][:y]] + end + + return prob_states,pos_states +end + + + function prob_matrix(stn) nr_vertices = nv(stn) P = spzeros(Float64,(nr_vertices,nr_vertices)) diff --git a/src/network_measures.jl b/src/network_measures.jl index 63eb492..8a6fe37 100644 --- a/src/network_measures.jl +++ b/src/network_measures.jl @@ -46,9 +46,9 @@ end Calculates the Sinai-Kolmogorov Entropy and Lyapunov measure of a STN by using the analytical definitions of both quantities """ -function network_measures(P::AbstractMatrix) - entropy, ret_code_entr = sinai_kolmogorov_entropy(P) - lyapunov, variance, covariance, ret_code_lyap = lyapunov_measure(P) +function network_measures(P::AbstractMatrix;x=nothing) + entropy, ret_code_entr = sinai_kolmogorov_entropy(P;x=x) + lyapunov, variance, covariance, ret_code_lyap = lyapunov_measure(P;x=x) return entropy, lyapunov end @@ -109,15 +109,19 @@ end Calculates analytically the Sinai-Kolmogorov entropy given the P transition probability matrix of the STN. """ -function sinai_kolmogorov_entropy(P::AbstractMatrix) - x = nullspace(Matrix(P' - I)) - x = x' ./sum(x) +function sinai_kolmogorov_entropy(P::AbstractMatrix;x=nothing) + + if isnothing(x) + x = nullspace(Matrix(P' - I)) + x = x ./sum(x) + end + v = ones(length(x)) L = Matrix(-log.(P)) replace!(L, Inf=>0.0) L = P.*L - entropy = (x*L*v)[1] + entropy = (x'*L*v)[1] return real(entropy), :Success end @@ -127,9 +131,13 @@ end Calculates analytically the Lyapunov measure given the the P transition probability matrix of the STN. """ -function lyapunov_measure(P::AbstractMatrix) - x = nullspace(Matrix(P' - I)) - x = x' ./sum(x) +function lyapunov_measure(P::AbstractMatrix;x=nothing) + + if isnothing(x) + x = nullspace(Matrix(P' - I)) + x = x ./sum(x) + end + x = x' v = ones(length(x)) L = Matrix(-log.(P)) @@ -147,4 +155,4 @@ function lyapunov_measure(P::AbstractMatrix) return real(lyapunov), real(variance), real(covariance), :ComplexCovariancveWarning end end - \ No newline at end of file + diff --git a/src/plot_stn.jl b/src/plot_stn.jl index fe88fb2..aaaa6a9 100644 --- a/src/plot_stn.jl +++ b/src/plot_stn.jl @@ -1,15 +1,10 @@ function plot_stn(stn;filename="stn.pdf",nodesize=1,nodefillc="orange",linetype="straight",max_edgelinewidth=1,weight_exponent=1,nodelabels=false,kwargs...) - nr_vertices = nv(stn) - x = [] - y = [] - - for i in 1:nr_vertices - ilabel = label_for(stn,i) - push!(x,stn[ilabel][:x]) - push!(y,stn[ilabel][:y]) - end - x = Int32.(x) - y = Int32.(y) + + prob_states,pos_states = state_distribution(stn) + #vertex alphas could be a function of their probability + + x = pos_states[:,1] + y = pos_states[:,2] w = weight_matrix(stn) diff --git a/src/timeseries_analysis.jl b/src/timeseries_analysis.jl index 098daff..54de44e 100644 --- a/src/timeseries_analysis.jl +++ b/src/timeseries_analysis.jl @@ -1,4 +1,4 @@ -stn_analysis(timeseries::Matrix;grid,plane,idxs,ensemble=100,N_steps=1000,make_ergodic=false, verbose=false,return_stn=false,use_analytic=false) = stn_analysis(Dataset(timeseries);grid=grid,plane=plane,idxs=idxs,ensemble=ensemble,N_steps=N_steps,make_ergodic=make_ergodic, verbose=verbose,return_stn=return_stn,use_analytic=use_analytic) +stn_analysis(timeseries::Matrix;grid,plane,idxs,ensemble=100,N_steps=1000,make_ergodic=false, verbose=false,return_stn=false,use_analytic=false,use_stored_distribution=false) = stn_analysis(Dataset(timeseries);grid=grid,plane=plane,idxs=idxs,ensemble=ensemble,N_steps=N_steps,make_ergodic=make_ergodic, verbose=verbose,return_stn=return_stn,use_analytic=use_analytic,use_stored_distribution=use_stored_distribution) """ stn_analysis(timeseries::Dataset;grid,plane,idxs,ensemble=100,N_steps=1000,make_ergodic=false, verbose=false,return_stn=false,use_analytic=false) -> S, Λ @@ -14,7 +14,7 @@ Calculates the Sinai-Kolmogorov Entropy and Lyapunov measure of a STN created fr * `make_ergodic` : returns an `stn` with only one strongly connected component. Defaults to `false`. * `verbose` : logs the connectedness checking process """ -function stn_analysis(timeseries::Dataset;grid,plane,idxs,ensemble=100,N_steps=1000,make_ergodic=false, verbose=false,return_stn=false,use_analytic=false) +function stn_analysis(timeseries::Dataset;grid,plane,idxs,ensemble=100,N_steps=1000,make_ergodic=false, verbose=false,return_stn=false,use_analytic=false,use_stored_distribution=false) stn,retcode = create_stn(timeseries,grid::Int64,plane,idxs;make_ergodic=make_ergodic, verbose=verbose) @@ -23,7 +23,7 @@ function stn_analysis(timeseries::Dataset;grid,plane,idxs,ensemble=100,N_steps=1 if retcode ==:Success if use_analytic P = prob_matrix(stn) - entropy,lyapunov = network_measures(P) + entropy,lyapunov = use_stored_distribution ? network_measures(P;x=state_distribution(stn)[1]) : network_measures(P) else entropy,lyapunov = network_measures(stn,ensemble,N_steps) end From 2ffbfd0d5e68ff00ae3d00e6632202872c0e25e5 Mon Sep 17 00:00:00 2001 From: sbulcsu Date: Thu, 10 Aug 2023 19:06:03 +0300 Subject: [PATCH 32/32] add dummy coordinates to STNs from P matrices --- src/create_stn.jl | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/create_stn.jl b/src/create_stn.jl index 9067e8e..2e808d3 100644 --- a/src/create_stn.jl +++ b/src/create_stn.jl @@ -164,14 +164,16 @@ function create_stn(P::AbstractMatrix;make_ergodic=false,verbose=false) stn = MetaGraph( DiGraph(), Int64, - Dict{Symbol, Int64}, + Dict{Symbol, Union{Int64,Float64}}, Dict{Symbol, Float64}, nothing, edge_data -> 1.0, 0.0) + # add dummy coordinates for v in 1:nr_vertices - stn[v] = Dict{Symbol, Int64}() + #stn[v] = Dict{Symbol, Int64}() + stn[v] = Dict(:x => v, :y => 0, :prob => 0.) end Q = calculate_weight_matrix(P)