From 389335ffb68993e5df1031f94767cd43e065b725 Mon Sep 17 00:00:00 2001 From: Guillaume Dalle <22795598+gdalle@users.noreply.github.com> Date: Wed, 20 Mar 2024 09:45:18 +0100 Subject: [PATCH 1/8] Fix header in docs --- docs/src/faq.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/src/faq.md b/docs/src/faq.md index d551e5f..4ef0db1 100644 --- a/docs/src/faq.md +++ b/docs/src/faq.md @@ -76,7 +76,7 @@ conditions(x, arg1, arg2; kwarg1, kwarg2) = c All of the positional and keyword arguments apart from `x` will get zero tangents during differentiation of the implicit function. -## Multiple outputs | Derivatives not needed +### Multiple outputs | Derivatives not needed The last and most tricky situation is when your forward mapping returns multiple outputs, but you only care about some of their derivatives. Then, you need to group the objects you don't want to differentiate into a "byproduct" `z`, returned alongside the actual output `y`. From 5dd7a620b0962eb754e3e648f9ba33de54469bb1 Mon Sep 17 00:00:00 2001 From: Guillaume Dalle <22795598+gdalle@users.noreply.github.com> Date: Wed, 20 Mar 2024 09:50:26 +0100 Subject: [PATCH 2/8] Update CI --- .github/workflows/Documentation.yml | 28 + .github/workflows/{CI.yml => Test.yml} | 25 +- docs/Manifest.toml | 950 ------------------------- examples/3_tricks.jl | 4 + 4 files changed, 35 insertions(+), 972 deletions(-) create mode 100644 .github/workflows/Documentation.yml rename .github/workflows/{CI.yml => Test.yml} (57%) delete mode 100644 docs/Manifest.toml diff --git a/.github/workflows/Documentation.yml b/.github/workflows/Documentation.yml new file mode 100644 index 0000000..c638907 --- /dev/null +++ b/.github/workflows/Documentation.yml @@ -0,0 +1,28 @@ +name: Documentation + +on: + push: + branches: + - main # update to match your development branch (master, main, dev, trunk, ...) + tags: '*' + pull_request: + +jobs: + build: + permissions: + contents: write + statuses: write + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: julia-actions/setup-julia@v1 + with: + version: '1' + - uses: julia-actions/cache@v1 + - name: Install dependencies + run: julia --project=docs/ -e 'using Pkg; Pkg.develop(PackageSpec(path=pwd())); Pkg.instantiate()' + - name: Build and deploy + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # If authenticating with GitHub Actions token + DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }} # If authenticating with SSH deploy key + run: julia --project=docs/ docs/make.jl \ No newline at end of file diff --git a/.github/workflows/CI.yml b/.github/workflows/Test.yml similarity index 57% rename from .github/workflows/CI.yml rename to .github/workflows/Test.yml index 1042db8..0bd94ce 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/Test.yml @@ -1,4 +1,4 @@ -name: CI +name: Test on: push: branches: @@ -23,7 +23,7 @@ jobs: arch: [x64] allow_failure: [false] steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - uses: julia-actions/setup-julia@v1 with: version: ${{ matrix.version }} @@ -36,23 +36,4 @@ jobs: with: files: lcov.info token: ${{ secrets.CODECOV_TOKEN }} - fail_ci_if_error: true - docs: - name: Documentation - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - uses: julia-actions/setup-julia@v1 - with: - version: '1' - - uses: julia-actions/julia-buildpkg@v1 - - uses: julia-actions/julia-docdeploy@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }} - - run: | - julia --project=docs -e ' - using Documenter: DocMeta, doctest - using ImplicitDifferentiation - DocMeta.setdocmeta!(ImplicitDifferentiation, :DocTestSetup, :(using ImplicitDifferentiation); recursive=true) - doctest(ImplicitDifferentiation)' + fail_ci_if_error: true \ No newline at end of file diff --git a/docs/Manifest.toml b/docs/Manifest.toml deleted file mode 100644 index 25ee906..0000000 --- a/docs/Manifest.toml +++ /dev/null @@ -1,950 +0,0 @@ -# This file is machine-generated - editing it directly is not advised - -julia_version = "1.10.2" -manifest_format = "2.0" -project_hash = "e53e426683e9d72288e035d7fd7b4528169a5566" - -[[deps.AMD]] -deps = ["LinearAlgebra", "SparseArrays", "SuiteSparse_jll"] -git-tree-sha1 = "45a1272e3f809d36431e57ab22703c6896b8908f" -uuid = "14f7f29c-3bd6-536c-9a0b-7339e30b5a3e" -version = "0.5.3" - -[[deps.ANSIColoredPrinters]] -git-tree-sha1 = "574baf8110975760d391c710b6341da1afa48d8c" -uuid = "a4c015fc-c6ff-483c-b24f-f7ea428134e9" -version = "0.0.1" - -[[deps.AbstractDifferentiation]] -deps = ["ExprTools", "LinearAlgebra", "Requires"] -git-tree-sha1 = "d29ce82ed1d4c37135095e1a4d799c93d7be2361" -uuid = "c29ec348-61ec-40c8-8164-b8c60e9d9f3d" -version = "0.6.2" - - [deps.AbstractDifferentiation.extensions] - AbstractDifferentiationChainRulesCoreExt = "ChainRulesCore" - AbstractDifferentiationFiniteDifferencesExt = "FiniteDifferences" - AbstractDifferentiationForwardDiffExt = ["DiffResults", "ForwardDiff"] - AbstractDifferentiationReverseDiffExt = ["DiffResults", "ReverseDiff"] - AbstractDifferentiationTrackerExt = "Tracker" - AbstractDifferentiationZygoteExt = "Zygote" - - [deps.AbstractDifferentiation.weakdeps] - ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" - DiffResults = "163ba53b-c6d8-5494-b064-1a9d43ac40c5" - FiniteDifferences = "26cc04aa-876d-5657-8c51-4c34ba976000" - ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" - ReverseDiff = "37e2e3b7-166d-5795-8a7a-e32c996b4267" - Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c" - Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f" - -[[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.AbstractTrees]] -git-tree-sha1 = "2d9c9a55f9c93e8887ad391fbae72f8ef55e1177" -uuid = "1520ce14-60c1-5f80-bbc7-55ef81b5835c" -version = "0.4.5" - -[[deps.Adapt]] -deps = ["LinearAlgebra", "Requires"] -git-tree-sha1 = "cea4ac3f5b4bc4b3000aa55afb6e5626518948fa" -uuid = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" -version = "4.0.3" - - [deps.Adapt.extensions] - AdaptStaticArraysExt = "StaticArrays" - - [deps.Adapt.weakdeps] - StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" - -[[deps.ArgTools]] -uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f" -version = "1.1.1" - -[[deps.ArrayInterface]] -deps = ["Adapt", "LinearAlgebra", "SparseArrays", "SuiteSparse"] -git-tree-sha1 = "44691067188f6bd1b2289552a23e4b7572f4528d" -uuid = "4fba245c-0d91-5ea0-9b3e-6abc04ee57a9" -version = "7.9.0" - - [deps.ArrayInterface.extensions] - ArrayInterfaceBandedMatricesExt = "BandedMatrices" - ArrayInterfaceBlockBandedMatricesExt = "BlockBandedMatrices" - ArrayInterfaceCUDAExt = "CUDA" - ArrayInterfaceChainRulesExt = "ChainRules" - ArrayInterfaceGPUArraysCoreExt = "GPUArraysCore" - ArrayInterfaceReverseDiffExt = "ReverseDiff" - 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" - ChainRules = "082447d4-558c-5d27-93f4-14fc19e9eca2" - GPUArraysCore = "46192b85-c4d5-4398-a991-12ede77f4527" - ReverseDiff = "37e2e3b7-166d-5795-8a7a-e32c996b4267" - StaticArraysCore = "1e83bf80-4336-4d27-bf5d-d5a4f845583c" - Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c" - -[[deps.Artifacts]] -uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33" - -[[deps.Base64]] -uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" - -[[deps.BenchmarkTools]] -deps = ["JSON", "Logging", "Printf", "Profile", "Statistics", "UUIDs"] -git-tree-sha1 = "f1dff6729bc61f4d49e140da1af55dcd1ac97b2f" -uuid = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" -version = "1.5.0" - -[[deps.Bzip2_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "9e2a6b69137e6969bab0152632dcb3bc108c8bdd" -uuid = "6e34b625-4abd-537c-b88f-471c36dfa7a0" -version = "1.0.8+1" - -[[deps.CEnum]] -git-tree-sha1 = "389ad5c84de1ae7cf0e28e381131c98ea87d54fc" -uuid = "fa961155-64e5-5f13-b03f-caf6b980ea82" -version = "0.5.0" - -[[deps.ChainRules]] -deps = ["Adapt", "ChainRulesCore", "Compat", "Distributed", "GPUArraysCore", "IrrationalConstants", "LinearAlgebra", "Random", "RealDot", "SparseArrays", "SparseInverseSubset", "Statistics", "StructArrays", "SuiteSparse"] -git-tree-sha1 = "4e42872be98fa3343c4f8458cbda8c5c6a6fa97c" -uuid = "082447d4-558c-5d27-93f4-14fc19e9eca2" -version = "1.63.0" - -[[deps.ChainRulesCore]] -deps = ["Compat", "LinearAlgebra"] -git-tree-sha1 = "575cd02e080939a33b6df6c5853d14924c08e35b" -uuid = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" -version = "1.23.0" -weakdeps = ["SparseArrays"] - - [deps.ChainRulesCore.extensions] - ChainRulesCoreSparseArraysExt = "SparseArrays" - -[[deps.CodecBzip2]] -deps = ["Bzip2_jll", "Libdl", "TranscodingStreams"] -git-tree-sha1 = "9b1ca1aa6ce3f71b3d1840c538a8210a043625eb" -uuid = "523fee87-0ab8-5b00-afb7-3ecf72e48cfd" -version = "0.8.2" - -[[deps.CodecZlib]] -deps = ["TranscodingStreams", "Zlib_jll"] -git-tree-sha1 = "59939d8a997469ee05c4b4944560a820f9ba0d73" -uuid = "944b1d66-785c-5afd-91f1-9de20f533193" -version = "0.7.4" - -[[deps.CommonSubexpressions]] -deps = ["MacroTools", "Test"] -git-tree-sha1 = "7b8a93dba8af7e3b42fecabf646260105ac373f7" -uuid = "bbf7d656-a473-5ed7-a52c-81e309532950" -version = "0.3.0" - -[[deps.Compat]] -deps = ["TOML", "UUIDs"] -git-tree-sha1 = "c955881e3c981181362ae4088b35995446298b80" -uuid = "34da2185-b29b-5c13-b0c7-acf172513d20" -version = "4.14.0" -weakdeps = ["Dates", "LinearAlgebra"] - - [deps.Compat.extensions] - CompatLinearAlgebraExt = "LinearAlgebra" - -[[deps.CompilerSupportLibraries_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae" -version = "1.1.0+0" - -[[deps.ComponentArrays]] -deps = ["ArrayInterface", "ChainRulesCore", "ForwardDiff", "Functors", "LinearAlgebra", "PackageExtensionCompat", "StaticArrayInterface", "StaticArraysCore"] -git-tree-sha1 = "dded0a186977e5a4a12b1f1224f73956e4e8e90a" -uuid = "b0b7db55-cfe3-40fc-9ded-d10e2dbeff66" -version = "0.15.11" - - [deps.ComponentArrays.extensions] - ComponentArraysAdaptExt = "Adapt" - ComponentArraysConstructionBaseExt = "ConstructionBase" - ComponentArraysGPUArraysExt = "GPUArrays" - ComponentArraysOptimisersExt = "Optimisers" - ComponentArraysRecursiveArrayToolsExt = "RecursiveArrayTools" - ComponentArraysReverseDiffExt = "ReverseDiff" - ComponentArraysSciMLBaseExt = "SciMLBase" - ComponentArraysTrackerExt = "Tracker" - ComponentArraysTruncatedStacktracesExt = "TruncatedStacktraces" - ComponentArraysZygoteExt = "Zygote" - - [deps.ComponentArrays.weakdeps] - Adapt = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" - ConstructionBase = "187b0558-2788-49d3-abe0-74a17ed4e7c9" - GPUArrays = "0c68f7d7-f131-5f86-a1c3-88cf8149b2d7" - Optimisers = "3bd65402-5787-11e9-1adc-39752487f4e2" - RecursiveArrayTools = "731186ca-8d62-57ce-b412-fbd966d074cd" - ReverseDiff = "37e2e3b7-166d-5795-8a7a-e32c996b4267" - SciMLBase = "0bca4576-84f4-4d90-8ffe-ffa030f20462" - Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c" - TruncatedStacktraces = "781d530d-4396-4725-bb49-402e4bee1e77" - Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f" - -[[deps.ConstructionBase]] -deps = ["LinearAlgebra"] -git-tree-sha1 = "260fd2400ed2dab602a7c15cf10c1933c59930a2" -uuid = "187b0558-2788-49d3-abe0-74a17ed4e7c9" -version = "1.5.5" - - [deps.ConstructionBase.extensions] - ConstructionBaseIntervalSetsExt = "IntervalSets" - ConstructionBaseStaticArraysExt = "StaticArrays" - - [deps.ConstructionBase.weakdeps] - IntervalSets = "8197267c-284f-5f27-9208-e0e47529a953" - StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" - -[[deps.DataAPI]] -git-tree-sha1 = "abe83f3a2f1b857aac70ef8b269080af17764bbe" -uuid = "9a962f9c-6df0-11e9-0e5d-c546b8b5ee8a" -version = "1.16.0" - -[[deps.DataStructures]] -deps = ["Compat", "InteractiveUtils", "OrderedCollections"] -git-tree-sha1 = "0f4b5d62a88d8f59003e43c25a8a90de9eb76317" -uuid = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8" -version = "0.18.18" - -[[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.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.Distances]] -deps = ["LinearAlgebra", "Statistics", "StatsAPI"] -git-tree-sha1 = "66c4c81f259586e8f002eacebc177e1fb06363b0" -uuid = "b4f34e82-e78d-54a5-968a-f98e89d6e8f7" -version = "0.10.11" -weakdeps = ["ChainRulesCore", "SparseArrays"] - - [deps.Distances.extensions] - DistancesChainRulesCoreExt = "ChainRulesCore" - DistancesSparseArraysExt = "SparseArrays" - -[[deps.Distributed]] -deps = ["Random", "Serialization", "Sockets"] -uuid = "8ba89e20-285c-5b6f-9357-94700520ee1b" - -[[deps.DocStringExtensions]] -deps = ["LibGit2"] -git-tree-sha1 = "2fb1e02f2b635d0845df5d7c167fec4dd739b00d" -uuid = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae" -version = "0.9.3" - -[[deps.Documenter]] -deps = ["ANSIColoredPrinters", "AbstractTrees", "Base64", "CodecZlib", "Dates", "DocStringExtensions", "Downloads", "Git", "IOCapture", "InteractiveUtils", "JSON", "LibGit2", "Logging", "Markdown", "MarkdownAST", "Pkg", "PrecompileTools", "REPL", "RegistryInstances", "SHA", "TOML", "Test", "Unicode"] -git-tree-sha1 = "4a40af50e8b24333b9ec6892546d9ca5724228eb" -uuid = "e30172f5-a6a5-5a46-863b-614d45cd2de4" -version = "1.3.0" - -[[deps.Downloads]] -deps = ["ArgTools", "FileWatching", "LibCURL", "NetworkOptions"] -uuid = "f43a241f-c20a-4ad4-852c-f6b1247861c6" -version = "1.6.0" - -[[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.FastClosures]] -git-tree-sha1 = "acebe244d53ee1b461970f8910c235b259e772ef" -uuid = "9aa1b823-49e4-5ca5-8b0f-3971ec8bab6a" -version = "0.3.2" - -[[deps.FileWatching]] -uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee" - -[[deps.FillArrays]] -deps = ["LinearAlgebra", "Random"] -git-tree-sha1 = "5b93957f6dcd33fc343044af3d48c215be2562f1" -uuid = "1a297f60-69ca-5386-bcde-b61e274b549b" -version = "1.9.3" - - [deps.FillArrays.extensions] - FillArraysPDMatsExt = "PDMats" - FillArraysSparseArraysExt = "SparseArrays" - FillArraysStatisticsExt = "Statistics" - - [deps.FillArrays.weakdeps] - PDMats = "90014a1f-27ba-587c-ab20-58faa44d9150" - SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" - Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" - -[[deps.FiniteDiff]] -deps = ["ArrayInterface", "LinearAlgebra", "Requires", "Setfield", "SparseArrays"] -git-tree-sha1 = "bc0c5092d6caaea112d3c8e3b238d61563c58d5f" -uuid = "6a86dc24-6348-571c-b903-95158fe2bd41" -version = "2.23.0" - - [deps.FiniteDiff.extensions] - FiniteDiffBandedMatricesExt = "BandedMatrices" - FiniteDiffBlockBandedMatricesExt = "BlockBandedMatrices" - FiniteDiffStaticArraysExt = "StaticArrays" - - [deps.FiniteDiff.weakdeps] - BandedMatrices = "aae01518-5342-5314-be14-df237901396f" - BlockBandedMatrices = "ffab5731-97b5-5995-9138-79e8c1846df0" - StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" - -[[deps.ForwardDiff]] -deps = ["CommonSubexpressions", "DiffResults", "DiffRules", "LinearAlgebra", "LogExpFunctions", "NaNMath", "Preferences", "Printf", "Random", "SpecialFunctions"] -git-tree-sha1 = "cf0fe81336da9fb90944683b8c41984b08793dad" -uuid = "f6369f11-7733-5829-9624-2563aa707210" -version = "0.10.36" - - [deps.ForwardDiff.extensions] - ForwardDiffStaticArraysExt = "StaticArrays" - - [deps.ForwardDiff.weakdeps] - StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" - -[[deps.Functors]] -deps = ["LinearAlgebra"] -git-tree-sha1 = "8ae30e786837ce0a24f5e2186938bf3251ab94b2" -uuid = "d9f16b24-f501-4c13-a1f2-28368ffc5196" -version = "0.4.8" - -[[deps.Future]] -deps = ["Random"] -uuid = "9fa8497b-333b-5362-9e8d-4d0656e87820" - -[[deps.GPUArrays]] -deps = ["Adapt", "GPUArraysCore", "LLVM", "LinearAlgebra", "Printf", "Random", "Reexport", "Serialization", "Statistics"] -git-tree-sha1 = "47e4686ec18a9620850bad110b79966132f14283" -uuid = "0c68f7d7-f131-5f86-a1c3-88cf8149b2d7" -version = "10.0.2" - -[[deps.GPUArraysCore]] -deps = ["Adapt"] -git-tree-sha1 = "ec632f177c0d990e64d955ccc1b8c04c485a0950" -uuid = "46192b85-c4d5-4398-a991-12ede77f4527" -version = "0.1.6" - -[[deps.Git]] -deps = ["Git_jll"] -git-tree-sha1 = "04eff47b1354d702c3a85e8ab23d539bb7d5957e" -uuid = "d7ba0133-e1db-5d97-8f8c-041e4b3a1eb2" -version = "1.3.1" - -[[deps.Git_jll]] -deps = ["Artifacts", "Expat_jll", "JLLWrappers", "LibCURL_jll", "Libdl", "Libiconv_jll", "OpenSSL_jll", "PCRE2_jll", "Zlib_jll"] -git-tree-sha1 = "12945451c5d0e2d0dca0724c3a8d6448b46bbdf9" -uuid = "f8c6e375-362e-5223-8a59-34ff63f689eb" -version = "2.44.0+1" - -[[deps.IOCapture]] -deps = ["Logging", "Random"] -git-tree-sha1 = "8b72179abc660bfab5e28472e019392b97d0985c" -uuid = "b5f81e59-6552-4d32-b1f0-c071b021bf89" -version = "0.2.4" - -[[deps.IRTools]] -deps = ["InteractiveUtils", "MacroTools", "Test"] -git-tree-sha1 = "5d8c5713f38f7bc029e26627b687710ba406d0dd" -uuid = "7869d1d1-7146-5819-86e3-90919afe41df" -version = "0.4.12" - -[[deps.IfElse]] -git-tree-sha1 = "debdd00ffef04665ccbb3e150747a77560e8fad1" -uuid = "615f187c-cbe4-4ef1-ba3b-2fcf58d6d173" -version = "0.1.1" - -[[deps.ImplicitDifferentiation]] -deps = ["AbstractDifferentiation", "Krylov", "LinearAlgebra", "LinearOperators", "PrecompileTools", "Requires", "SimpleUnPack"] -path = ".." -uuid = "57b37032-215b-411a-8a7c-41a003a55207" -version = "0.5.2" - - [deps.ImplicitDifferentiation.extensions] - ImplicitDifferentiationChainRulesCoreExt = "ChainRulesCore" - ImplicitDifferentiationForwardDiffExt = "ForwardDiff" - ImplicitDifferentiationStaticArraysExt = "StaticArrays" - ImplicitDifferentiationZygoteExt = "Zygote" - - [deps.ImplicitDifferentiation.weakdeps] - ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" - ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" - StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" - Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f" - -[[deps.InteractiveUtils]] -deps = ["Markdown"] -uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240" - -[[deps.IrrationalConstants]] -git-tree-sha1 = "630b497eafcc20001bba38a4651b327dcfc491d2" -uuid = "92d709cd-6900-40b7-9082-c6be49f344b6" -version = "0.2.2" - -[[deps.IteratorInterfaceExtensions]] -git-tree-sha1 = "a3f24677c21f5bbe9d2a714f95dcd58337fb2856" -uuid = "82899510-4779-5014-852e-03e436cf321d" -version = "1.0.0" - -[[deps.JLLWrappers]] -deps = ["Artifacts", "Preferences"] -git-tree-sha1 = "7e5d6779a1e09a36db2a7b6cff50942a0a7d0fca" -uuid = "692b3bcd-3c85-4b1f-b108-f13ce0eb3210" -version = "1.5.0" - -[[deps.JSON]] -deps = ["Dates", "Mmap", "Parsers", "Unicode"] -git-tree-sha1 = "31e996f0a15c7b280ba9f76636b3ff9e2ae58c9a" -uuid = "682c06a0-de6a-54ab-a142-c8b1cf79cde6" -version = "0.21.4" - -[[deps.Krylov]] -deps = ["LinearAlgebra", "Printf", "SparseArrays"] -git-tree-sha1 = "8a6837ec02fe5fb3def1abc907bb802ef11a0729" -uuid = "ba0b0d4f-ebba-5204-a429-3ac8c609bfb7" -version = "0.9.5" - -[[deps.LDLFactorizations]] -deps = ["AMD", "LinearAlgebra", "SparseArrays", "Test"] -git-tree-sha1 = "70f582b446a1c3ad82cf87e62b878668beef9d13" -uuid = "40e66cde-538c-5869-a4ad-c39174c6795b" -version = "0.10.1" - -[[deps.LLVM]] -deps = ["CEnum", "LLVMExtra_jll", "Libdl", "Preferences", "Printf", "Requires", "Unicode"] -git-tree-sha1 = "7c6650580b4c3169d9905858160db895bff6d2e2" -uuid = "929cbde3-209d-540e-8aea-75f648917ca0" -version = "6.6.1" - - [deps.LLVM.extensions] - BFloat16sExt = "BFloat16s" - - [deps.LLVM.weakdeps] - BFloat16s = "ab4f0b2a-ad5b-11e8-123f-65d77653426b" - -[[deps.LLVMExtra_jll]] -deps = ["Artifacts", "JLLWrappers", "LazyArtifacts", "Libdl", "TOML"] -git-tree-sha1 = "88b916503aac4fb7f701bb625cd84ca5dd1677bc" -uuid = "dad2f222-ce93-54a1-a47d-0025e8a3acab" -version = "0.0.29+0" - -[[deps.LazilyInitializedFields]] -git-tree-sha1 = "8f7f3cabab0fd1800699663533b6d5cb3fc0e612" -uuid = "0e77f7df-68c5-4e49-93ce-4cd80f5598bf" -version = "1.2.2" - -[[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.4" - -[[deps.LibCURL_jll]] -deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll", "Zlib_jll", "nghttp2_jll"] -uuid = "deac9b47-8bc7-5906-a0fe-35ac56dc84c0" -version = "8.4.0+0" - -[[deps.LibGit2]] -deps = ["Base64", "LibGit2_jll", "NetworkOptions", "Printf", "SHA"] -uuid = "76f85450-5226-5b5a-8eaa-529ad045b433" - -[[deps.LibGit2_jll]] -deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll"] -uuid = "e37daf67-58a4-590a-8e99-b0245dd2ffc5" -version = "1.6.4+0" - -[[deps.LibSSH2_jll]] -deps = ["Artifacts", "Libdl", "MbedTLS_jll"] -uuid = "29816b5a-b9ab-546f-933c-edad1886dfa8" -version = "1.11.0+1" - -[[deps.Libdl]] -uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb" - -[[deps.Libiconv_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "f9557a255370125b405568f9767d6d195822a175" -uuid = "94ce4f54-9a6c-5748-9c1c-f9c7231a4531" -version = "1.17.0+0" - -[[deps.LineSearches]] -deps = ["LinearAlgebra", "NLSolversBase", "NaNMath", "Parameters", "Printf"] -git-tree-sha1 = "7bbea35cec17305fc70a0e5b4641477dc0789d9d" -uuid = "d3d80556-e9d4-5f37-9878-2ab0fcc64255" -version = "7.2.0" - -[[deps.LinearAlgebra]] -deps = ["Libdl", "OpenBLAS_jll", "libblastrampoline_jll"] -uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" - -[[deps.LinearOperators]] -deps = ["FastClosures", "LDLFactorizations", "LinearAlgebra", "Printf", "Requires", "SparseArrays", "TimerOutputs"] -git-tree-sha1 = "f06df3a46255879cbccae1b5b6dcb16994c31be7" -uuid = "5c8ed15e-5a4c-59e4-a42b-c7e8811fb125" -version = "2.7.0" -weakdeps = ["ChainRulesCore"] - - [deps.LinearOperators.extensions] - LinearOperatorsChainRulesCoreExt = "ChainRulesCore" - -[[deps.Literate]] -deps = ["Base64", "IOCapture", "JSON", "REPL"] -git-tree-sha1 = "bad26f1ccd99c553886ec0725e99a509589dcd11" -uuid = "98b081ad-f1c9-55d3-8b20-4c87d4299306" -version = "2.16.1" - -[[deps.LogExpFunctions]] -deps = ["DocStringExtensions", "IrrationalConstants", "LinearAlgebra"] -git-tree-sha1 = "18144f3e9cbe9b15b070288eef858f71b291ce37" -uuid = "2ab3a3ac-af41-5b50-aa03-7779005ae688" -version = "0.3.27" - - [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.MacroTools]] -deps = ["Markdown", "Random"] -git-tree-sha1 = "2fa9ee3e63fd3a4f7a9a4f4744a52f4856de82df" -uuid = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09" -version = "0.5.13" - -[[deps.Markdown]] -deps = ["Base64"] -uuid = "d6f4376e-aef5-505a-96c1-9c027394607a" - -[[deps.MarkdownAST]] -deps = ["AbstractTrees", "Markdown"] -git-tree-sha1 = "465a70f0fc7d443a00dcdc3267a497397b8a3899" -uuid = "d0879d2d-cac2-40c8-9cee-1863dc0c7391" -version = "0.1.2" - -[[deps.MathOptInterface]] -deps = ["BenchmarkTools", "CodecBzip2", "CodecZlib", "DataStructures", "ForwardDiff", "JSON", "LinearAlgebra", "MutableArithmetics", "NaNMath", "OrderedCollections", "PrecompileTools", "Printf", "SparseArrays", "SpecialFunctions", "Test", "Unicode"] -git-tree-sha1 = "679c1aec6934d322783bd15db4d18f898653be4f" -uuid = "b8f27783-ece8-5eb3-8dc8-9495eed66fee" -version = "1.27.0" - -[[deps.MbedTLS_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "c8ffd9c3-330d-5841-b78e-0817d7145fa1" -version = "2.28.2+1" - -[[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 = "2023.1.10" - -[[deps.MutableArithmetics]] -deps = ["LinearAlgebra", "SparseArrays", "Test"] -git-tree-sha1 = "302fd161eb1c439e4115b51ae456da4e9984f130" -uuid = "d8a4904e-b15c-11e9-3269-09a3773c0cb0" -version = "1.4.1" - -[[deps.NLSolversBase]] -deps = ["DiffResults", "Distributed", "FiniteDiff", "ForwardDiff"] -git-tree-sha1 = "a0b464d183da839699f4c79e7606d9d186ec172c" -uuid = "d41bc354-129a-5804-8e4c-c37616107c6c" -version = "7.8.3" - -[[deps.NLsolve]] -deps = ["Distances", "LineSearches", "LinearAlgebra", "NLSolversBase", "Printf", "Reexport"] -git-tree-sha1 = "019f12e9a1a7880459d0173c182e6a99365d7ac1" -uuid = "2774e3e8-f4cf-5e23-947b-6d7e65073b56" -version = "4.5.1" - -[[deps.NaNMath]] -deps = ["OpenLibm_jll"] -git-tree-sha1 = "0877504529a3e5c3343c6f8b4c0381e57e4387e4" -uuid = "77ba4419-2d1f-58cd-9bb1-8ffee604a2e3" -version = "1.0.2" - -[[deps.NetworkOptions]] -uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" -version = "1.2.0" - -[[deps.OpenBLAS_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"] -uuid = "4536629a-c528-5b80-bd46-f80d51c5b363" -version = "0.3.23+4" - -[[deps.OpenLibm_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "05823500-19ac-5b8b-9628-191a04bc5112" -version = "0.8.1+2" - -[[deps.OpenSSL_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "60e3045590bd104a16fefb12836c00c0ef8c7f8c" -uuid = "458c3c95-2e84-50aa-8efc-19380b2a3a95" -version = "3.0.13+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.Optim]] -deps = ["Compat", "FillArrays", "ForwardDiff", "LineSearches", "LinearAlgebra", "MathOptInterface", "NLSolversBase", "NaNMath", "Parameters", "PositiveFactorizations", "Printf", "SparseArrays", "StatsBase"] -git-tree-sha1 = "d024bfb56144d947d4fafcd9cb5cafbe3410b133" -uuid = "429524aa-4258-5aef-a3af-852621145aeb" -version = "1.9.2" - -[[deps.OrderedCollections]] -git-tree-sha1 = "dfdf5519f235516220579f949664f1bf44e741c5" -uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d" -version = "1.6.3" - -[[deps.PCRE2_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "efcefdf7-47ab-520b-bdef-62a2eaa19f15" -version = "10.42.0+1" - -[[deps.PackageExtensionCompat]] -git-tree-sha1 = "fb28e33b8a95c4cee25ce296c817d89cc2e53518" -uuid = "65ce6f38-6b18-4e1d-a461-8949797d7930" -version = "1.0.2" -weakdeps = ["Requires", "TOML"] - -[[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 = "8489905bcdbcfac64d1daa51ca07c0d8f0283821" -uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0" -version = "2.8.1" - -[[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.10.0" - -[[deps.PositiveFactorizations]] -deps = ["LinearAlgebra"] -git-tree-sha1 = "17275485f373e6673f7e7f97051f703ed5b15b20" -uuid = "85a6dd25-e78a-55b7-8502-1745935b8125" -version = "0.2.4" - -[[deps.PrecompileTools]] -deps = ["Preferences"] -git-tree-sha1 = "5aa36f7049a63a1528fe8f7c3f2113413ffd4e1f" -uuid = "aea7be01-6a6a-4083-8856-8a6e6704d82a" -version = "1.2.1" - -[[deps.Preferences]] -deps = ["TOML"] -git-tree-sha1 = "9306f6085165d270f7e3db02af26a400d580f5c6" -uuid = "21216c6a-2e73-6563-6e65-726566657250" -version = "1.4.3" - -[[deps.Printf]] -deps = ["Unicode"] -uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7" - -[[deps.Profile]] -deps = ["Printf"] -uuid = "9abbd945-dff8-562f-b5e8-e1ebf5ef1b79" - -[[deps.REPL]] -deps = ["InteractiveUtils", "Markdown", "Sockets", "Unicode"] -uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb" - -[[deps.Random]] -deps = ["SHA"] -uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" - -[[deps.RealDot]] -deps = ["LinearAlgebra"] -git-tree-sha1 = "9f0a1b71baaf7650f4fa8a1d168c7fb6ee41f0c9" -uuid = "c1ae055f-0cd5-4b69-90a6-9a35b1a98df9" -version = "0.1.0" - -[[deps.Reexport]] -git-tree-sha1 = "45e428421666073eab6f2da5c9d310d99bb12f9b" -uuid = "189a3867-3050-52da-a836-e630ba90ab69" -version = "1.2.2" - -[[deps.RegistryInstances]] -deps = ["LazilyInitializedFields", "Pkg", "TOML", "Tar"] -git-tree-sha1 = "ffd19052caf598b8653b99404058fce14828be51" -uuid = "2792f1a3-b283-48e8-9a74-f99dce5104f3" -version = "0.1.0" - -[[deps.Requires]] -deps = ["UUIDs"] -git-tree-sha1 = "838a3a4188e2ded87a4f9f184b4b0d78a1e91cb7" -uuid = "ae029012-a4dd-5104-9daa-d747884805df" -version = "1.3.0" - -[[deps.SHA]] -uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce" -version = "0.7.0" - -[[deps.Serialization]] -uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b" - -[[deps.Setfield]] -deps = ["ConstructionBase", "Future", "MacroTools", "StaticArraysCore"] -git-tree-sha1 = "e2cc6d8c88613c05e1defb55170bf5ff211fbeac" -uuid = "efcf1570-3423-57d1-acb7-fd33fddbac46" -version = "1.1.1" - -[[deps.SimpleUnPack]] -git-tree-sha1 = "58e6353e72cde29b90a69527e56df1b5c3d8c437" -uuid = "ce78b400-467f-4804-87d8-8f486da07d0a" -version = "1.1.0" - -[[deps.Sockets]] -uuid = "6462fe0b-24de-5631-8697-dd941f90decc" - -[[deps.SortingAlgorithms]] -deps = ["DataStructures"] -git-tree-sha1 = "66e0a8e672a0bdfca2c3f5937efb8538b9ddc085" -uuid = "a2af1166-a08f-5f64-846c-94a0d3cef48c" -version = "1.2.1" - -[[deps.SparseArrays]] -deps = ["Libdl", "LinearAlgebra", "Random", "Serialization", "SuiteSparse_jll"] -uuid = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" -version = "1.10.0" - -[[deps.SparseInverseSubset]] -deps = ["LinearAlgebra", "SparseArrays", "SuiteSparse"] -git-tree-sha1 = "52962839426b75b3021296f7df242e40ecfc0852" -uuid = "dc90abb0-5640-4711-901d-7e5b23a2fada" -version = "0.1.2" - -[[deps.SpecialFunctions]] -deps = ["IrrationalConstants", "LogExpFunctions", "OpenLibm_jll", "OpenSpecFun_jll"] -git-tree-sha1 = "e2cfc4012a19088254b3950b85c3c1d8882d864d" -uuid = "276daf66-3868-5448-9aa4-cd146d93841b" -version = "2.3.1" -weakdeps = ["ChainRulesCore"] - - [deps.SpecialFunctions.extensions] - SpecialFunctionsChainRulesCoreExt = "ChainRulesCore" - -[[deps.Static]] -deps = ["IfElse"] -git-tree-sha1 = "d2fdac9ff3906e27f7a618d47b676941baa6c80c" -uuid = "aedffcd0-7271-4cad-89d0-dc628f76c6d3" -version = "0.8.10" - -[[deps.StaticArrayInterface]] -deps = ["ArrayInterface", "Compat", "IfElse", "LinearAlgebra", "PrecompileTools", "Requires", "SparseArrays", "Static", "SuiteSparse"] -git-tree-sha1 = "5d66818a39bb04bf328e92bc933ec5b4ee88e436" -uuid = "0d7ed370-da01-4f52-bd93-41d350b8b718" -version = "1.5.0" - - [deps.StaticArrayInterface.extensions] - StaticArrayInterfaceOffsetArraysExt = "OffsetArrays" - StaticArrayInterfaceStaticArraysExt = "StaticArrays" - - [deps.StaticArrayInterface.weakdeps] - OffsetArrays = "6fe1bfb0-de20-5000-8ca7-80f57d26f881" - StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" - -[[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.10.0" - -[[deps.StatsAPI]] -deps = ["LinearAlgebra"] -git-tree-sha1 = "1ff449ad350c9c4cbc756624d6f8a8c3ef56d3ed" -uuid = "82ae8749-77ed-4fe6-ae5f-f523153014b0" -version = "1.7.0" - -[[deps.StatsBase]] -deps = ["DataAPI", "DataStructures", "LinearAlgebra", "LogExpFunctions", "Missings", "Printf", "Random", "SortingAlgorithms", "SparseArrays", "Statistics", "StatsAPI"] -git-tree-sha1 = "1d77abd07f617c4868c33d4f5b9e1dbb2643c9cf" -uuid = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91" -version = "0.34.2" - -[[deps.StructArrays]] -deps = ["ConstructionBase", "DataAPI", "Tables"] -git-tree-sha1 = "f4dc295e983502292c4c3f951dbb4e985e35b3be" -uuid = "09ab397b-f2b6-538f-b94a-2f83cf4a842a" -version = "0.6.18" - - [deps.StructArrays.extensions] - StructArraysAdaptExt = "Adapt" - StructArraysGPUArraysCoreExt = "GPUArraysCore" - StructArraysSparseArraysExt = "SparseArrays" - StructArraysStaticArraysExt = "StaticArrays" - - [deps.StructArrays.weakdeps] - Adapt = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" - GPUArraysCore = "46192b85-c4d5-4398-a991-12ede77f4527" - SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" - StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" - -[[deps.SuiteSparse]] -deps = ["Libdl", "LinearAlgebra", "Serialization", "SparseArrays"] -uuid = "4607b0f0-06f3-5cda-b6b1-a6196a1729e9" - -[[deps.SuiteSparse_jll]] -deps = ["Artifacts", "Libdl", "libblastrampoline_jll"] -uuid = "bea87d4a-7f5b-5778-9afe-8cc45184846c" -version = "7.2.1+1" - -[[deps.TOML]] -deps = ["Dates"] -uuid = "fa267f1f-6049-4f14-aa54-33bafae1ed76" -version = "1.0.3" - -[[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"] -git-tree-sha1 = "cb76cf677714c095e535e3501ac7954732aeea2d" -uuid = "bd369af6-aec1-5ad0-b16a-f7cc5008161c" -version = "1.11.1" - -[[deps.Tar]] -deps = ["ArgTools", "SHA"] -uuid = "a4e569a6-e804-4fa4-b0f3-eef7a1d5b13e" -version = "1.10.0" - -[[deps.Test]] -deps = ["InteractiveUtils", "Logging", "Random", "Serialization"] -uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40" - -[[deps.TimerOutputs]] -deps = ["ExprTools", "Printf"] -git-tree-sha1 = "f548a9e9c490030e545f72074a41edfd0e5bcdd7" -uuid = "a759f4b9-e2f1-59dc-863e-4aeb61b1ea8f" -version = "0.5.23" - -[[deps.TranscodingStreams]] -git-tree-sha1 = "a09c933bebed12501890d8e92946bbab6a1690f1" -uuid = "3bb67fe8-82b1-5028-8e26-92a6c54297fa" -version = "0.10.5" -weakdeps = ["Random", "Test"] - - [deps.TranscodingStreams.extensions] - TestExt = ["Test", "Random"] - -[[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.Zlib_jll]] -deps = ["Libdl"] -uuid = "83775a58-1f1d-513f-b197-d71354ab007a" -version = "1.2.13+1" - -[[deps.Zygote]] -deps = ["AbstractFFTs", "ChainRules", "ChainRulesCore", "DiffRules", "Distributed", "FillArrays", "ForwardDiff", "GPUArrays", "GPUArraysCore", "IRTools", "InteractiveUtils", "LinearAlgebra", "LogExpFunctions", "MacroTools", "NaNMath", "PrecompileTools", "Random", "Requires", "SparseArrays", "SpecialFunctions", "Statistics", "ZygoteRules"] -git-tree-sha1 = "4ddb4470e47b0094c93055a3bcae799165cc68f1" -uuid = "e88e6eb3-aa80-5325-afca-941959d7151f" -version = "0.6.69" - - [deps.Zygote.extensions] - ZygoteColorsExt = "Colors" - ZygoteDistancesExt = "Distances" - ZygoteTrackerExt = "Tracker" - - [deps.Zygote.weakdeps] - Colors = "5ae59095-9a9b-59fe-a467-6f913c188581" - Distances = "b4f34e82-e78d-54a5-968a-f98e89d6e8f7" - Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c" - -[[deps.ZygoteRules]] -deps = ["ChainRulesCore", "MacroTools"] -git-tree-sha1 = "27798139afc0a2afa7b1824c206d5e87ea587a00" -uuid = "700de1a5-db45-46bc-99cf-38207098b444" -version = "0.2.5" - -[[deps.libblastrampoline_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "8e850b90-86db-534c-a0d3-1478176c7d93" -version = "5.8.0+1" - -[[deps.nghttp2_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "8e850ede-7688-5339-a07c-302acd2aaf8d" -version = "1.52.0+1" - -[[deps.p7zip_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0" -version = "17.4.0+2" diff --git a/examples/3_tricks.jl b/examples/3_tricks.jl index b1c1c22..f4532f6 100644 --- a/examples/3_tricks.jl +++ b/examples/3_tricks.jl @@ -64,6 +64,10 @@ implicit_components(x) ForwardDiff.jacobian(implicit_components, x) J = ForwardDiff.jacobian(forward_components, x) #src @test ForwardDiff.jacobian(implicit_components, x) ≈ J #src + +#- + +Zygote.jacobian(implicit_components, x)[1] @test Zygote.jacobian(implicit_components, x)[1] ≈ J #src #- The full differentiable pipeline looks like this From 714138be705e83212f719fe637cbd6041d3e9a7a Mon Sep 17 00:00:00 2001 From: Guillaume Dalle <22795598+gdalle@users.noreply.github.com> Date: Wed, 20 Mar 2024 09:51:48 +0100 Subject: [PATCH 3/8] Reunite CI --- .github/workflows/{Test.yml => CI.yml} | 22 ++++++++++++++++++-- .github/workflows/Documentation.yml | 28 -------------------------- 2 files changed, 20 insertions(+), 30 deletions(-) rename .github/workflows/{Test.yml => CI.yml} (60%) delete mode 100644 .github/workflows/Documentation.yml diff --git a/.github/workflows/Test.yml b/.github/workflows/CI.yml similarity index 60% rename from .github/workflows/Test.yml rename to .github/workflows/CI.yml index 0bd94ce..adec2a0 100644 --- a/.github/workflows/Test.yml +++ b/.github/workflows/CI.yml @@ -1,4 +1,4 @@ -name: Test +name: CI on: push: branches: @@ -36,4 +36,22 @@ jobs: with: files: lcov.info token: ${{ secrets.CODECOV_TOKEN }} - fail_ci_if_error: true \ No newline at end of file + fail_ci_if_error: true + documentation: + permissions: + contents: write + statuses: write + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: julia-actions/setup-julia@v1 + with: + version: '1' + - uses: julia-actions/cache@v1 + - name: Install dependencies + run: julia --project=docs/ -e 'using Pkg; Pkg.develop(PackageSpec(path=pwd())); Pkg.instantiate()' + - name: Build and deploy + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # If authenticating with GitHub Actions token + DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }} # If authenticating with SSH deploy key + run: julia --project=docs/ docs/make.jl \ No newline at end of file diff --git a/.github/workflows/Documentation.yml b/.github/workflows/Documentation.yml deleted file mode 100644 index c638907..0000000 --- a/.github/workflows/Documentation.yml +++ /dev/null @@ -1,28 +0,0 @@ -name: Documentation - -on: - push: - branches: - - main # update to match your development branch (master, main, dev, trunk, ...) - tags: '*' - pull_request: - -jobs: - build: - permissions: - contents: write - statuses: write - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: julia-actions/setup-julia@v1 - with: - version: '1' - - uses: julia-actions/cache@v1 - - name: Install dependencies - run: julia --project=docs/ -e 'using Pkg; Pkg.develop(PackageSpec(path=pwd())); Pkg.instantiate()' - - name: Build and deploy - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # If authenticating with GitHub Actions token - DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }} # If authenticating with SSH deploy key - run: julia --project=docs/ docs/make.jl \ No newline at end of file From 757e63c3ee696bcb2f640a38becb1ffc8aba2935 Mon Sep 17 00:00:00 2001 From: Guillaume Dalle <22795598+gdalle@users.noreply.github.com> Date: Wed, 20 Mar 2024 09:52:36 +0100 Subject: [PATCH 4/8] Remove noise --- .github/workflows/CI.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index adec2a0..8d549f9 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -37,7 +37,7 @@ jobs: files: lcov.info token: ${{ secrets.CODECOV_TOKEN }} fail_ci_if_error: true - documentation: + docs: permissions: contents: write statuses: write From 2d527b76ef78623a06bae8e29e7acbfface18849 Mon Sep 17 00:00:00 2001 From: Guillaume Dalle <22795598+gdalle@users.noreply.github.com> Date: Wed, 20 Mar 2024 09:54:44 +0100 Subject: [PATCH 5/8] No noise --- .github/workflows/CI.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 8d549f9..f4e70da 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -38,6 +38,7 @@ jobs: token: ${{ secrets.CODECOV_TOKEN }} fail_ci_if_error: true docs: + name: Documentation permissions: contents: write statuses: write From 766ab24b6f607cbe20073256c21587a8cfe64c1f Mon Sep 17 00:00:00 2001 From: Guillaume Dalle <22795598+gdalle@users.noreply.github.com> Date: Wed, 20 Mar 2024 10:03:23 +0100 Subject: [PATCH 6/8] Cleanup benchmarks --- benchmark/Manifest.toml | 1344 -------------------------------- benchmark/analysis.jl | 168 ++++ benchmark/benchmarks.jl | 170 ---- benchmark/tune.json | 1 - docs/Project.toml | 3 + docs/src/api.md | 23 +- src/ImplicitDifferentiation.jl | 1 - src/dense_operators.jl | 113 --- 8 files changed, 190 insertions(+), 1633 deletions(-) delete mode 100644 benchmark/Manifest.toml create mode 100644 benchmark/analysis.jl delete mode 100644 benchmark/tune.json delete mode 100644 src/dense_operators.jl diff --git a/benchmark/Manifest.toml b/benchmark/Manifest.toml deleted file mode 100644 index b9e10b5..0000000 --- a/benchmark/Manifest.toml +++ /dev/null @@ -1,1344 +0,0 @@ -# This file is machine-generated - editing it directly is not advised - -julia_version = "1.9.2" -manifest_format = "2.0" -project_hash = "965732a96088526bf2bf98c7db8925b60995a06e" - -[[deps.AMD]] -deps = ["LinearAlgebra", "SparseArrays", "SuiteSparse_jll"] -git-tree-sha1 = "d4b99dd70d7136fe75ec74d072191d688448d39c" -uuid = "14f7f29c-3bd6-536c-9a0b-7339e30b5a3e" -version = "0.5.2" - -[[deps.AbstractDifferentiation]] -deps = ["ExprTools", "LinearAlgebra", "Requires"] -git-tree-sha1 = "f83fd553acff1c6a7f5c4e6f5f2b5941d533cdc9" -uuid = "c29ec348-61ec-40c8-8164-b8c60e9d9f3d" -version = "0.5.2" - - [deps.AbstractDifferentiation.extensions] - AbstractDifferentiationChainRulesCoreExt = "ChainRulesCore" - AbstractDifferentiationFiniteDifferencesExt = "FiniteDifferences" - AbstractDifferentiationForwardDiffExt = ["DiffResults", "ForwardDiff"] - AbstractDifferentiationReverseDiffExt = ["DiffResults", "ReverseDiff"] - AbstractDifferentiationTrackerExt = "Tracker" - AbstractDifferentiationZygoteExt = "Zygote" - - [deps.AbstractDifferentiation.weakdeps] - ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" - DiffResults = "163ba53b-c6d8-5494-b064-1a9d43ac40c5" - FiniteDifferences = "26cc04aa-876d-5657-8c51-4c34ba976000" - ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" - ReverseDiff = "37e2e3b7-166d-5795-8a7a-e32c996b4267" - Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c" - Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f" - -[[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" - - [deps.Adapt.extensions] - AdaptStaticArraysExt = "StaticArrays" - - [deps.Adapt.weakdeps] - StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" - -[[deps.ArgTools]] -uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f" -version = "1.1.1" - -[[deps.Artifacts]] -uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33" - -[[deps.Base64]] -uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" - -[[deps.BenchmarkTools]] -deps = ["JSON", "Logging", "Printf", "Profile", "Statistics", "UUIDs"] -git-tree-sha1 = "d9a9701b899b30332bbcb3e1679c41cce81fb0e8" -uuid = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" -version = "1.3.2" - -[[deps.BitFlags]] -git-tree-sha1 = "43b1a4a8f797c1cddadf60499a8a077d4af2cd2d" -uuid = "d1d4a3ce-64b1-5f1a-9ba4-7e7e69966f35" -version = "0.1.7" - -[[deps.Bzip2_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -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.CSV]] -deps = ["CodecZlib", "Dates", "FilePathsBase", "InlineStrings", "Mmap", "Parsers", "PooledArrays", "PrecompileTools", "SentinelArrays", "Tables", "Unicode", "WeakRefStrings", "WorkerUtilities"] -git-tree-sha1 = "44dbf560808d49041989b8a96cae4cffbeb7966a" -uuid = "336ed68f-0bac-5ca0-87d4-7b16caf5d00b" -version = "0.10.11" - -[[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.ChainRules]] -deps = ["Adapt", "ChainRulesCore", "Compat", "Distributed", "GPUArraysCore", "IrrationalConstants", "LinearAlgebra", "Random", "RealDot", "SparseArrays", "Statistics", "StructArrays"] -git-tree-sha1 = "f98ae934cd677d51d2941088849f0bf2f59e6f6e" -uuid = "082447d4-558c-5d27-93f4-14fc19e9eca2" -version = "1.53.0" - -[[deps.ChainRulesCore]] -deps = ["Compat", "LinearAlgebra", "SparseArrays"] -git-tree-sha1 = "e30f2f4e20f7f186dc36529910beaedc60cfa644" -uuid = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" -version = "1.16.0" - -[[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 = "d9a8f86737b665e15a9641ecbac64deef9ce6724" -uuid = "35d6a980-a343-548e-a6ea-1d62b119f2f4" -version = "3.23.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.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.ConcurrentUtilities]] -deps = ["Serialization", "Sockets"] -git-tree-sha1 = "5372dbbf8f0bdb8c700db5367132925c0771ef7e" -uuid = "f0e56b4a-5159-44fe-b623-3e5288b988bb" -version = "2.2.1" - -[[deps.Contour]] -git-tree-sha1 = "d05d9e7b7aedff4e5b51a029dced05cfb6125781" -uuid = "d38c429a-6771-53c6-b99e-75d170b6e991" -version = "0.6.2" - -[[deps.Crayons]] -git-tree-sha1 = "249fe38abf76d48563e2f4556bebd215aa317e15" -uuid = "a8cc5b0e-0ffa-5ad4-8c14-923d3ee1735f" -version = "4.1.1" - -[[deps.DataAPI]] -git-tree-sha1 = "8da84edb865b0b5b0100c0666a9bc9a0b71c553c" -uuid = "9a962f9c-6df0-11e9-0e5d-c546b8b5ee8a" -version = "1.15.0" - -[[deps.DataFrames]] -deps = ["Compat", "DataAPI", "DataStructures", "Future", "InlineStrings", "InvertedIndices", "IteratorInterfaceExtensions", "LinearAlgebra", "Markdown", "Missings", "PooledArrays", "PrecompileTools", "PrettyTables", "Printf", "REPL", "Random", "Reexport", "SentinelArrays", "SortingAlgorithms", "Statistics", "TableTraits", "Tables", "Unicode"] -git-tree-sha1 = "04c738083f29f86e62c8afc341f0967d8717bdb8" -uuid = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0" -version = "1.6.1" - -[[deps.DataStructures]] -deps = ["Compat", "InteractiveUtils", "OrderedCollections"] -git-tree-sha1 = "3dbd312d370723b6bb43ba9d02fc36abade4518d" -uuid = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8" -version = "0.18.15" - -[[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.DelimitedFiles]] -deps = ["Mmap"] -git-tree-sha1 = "9e2f36d3c96a820c678f2f1f1782582fcf685bae" -uuid = "8bb1440f-4735-579b-a4ab-409b98df4dab" -version = "1.9.1" - -[[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.Distributed]] -deps = ["Random", "Serialization", "Sockets"] -uuid = "8ba89e20-285c-5b6f-9357-94700520ee1b" - -[[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.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.FastClosures]] -git-tree-sha1 = "acebe244d53ee1b461970f8910c235b259e772ef" -uuid = "9aa1b823-49e4-5ca5-8b0f-3971ec8bab6a" -version = "0.3.2" - -[[deps.FilePathsBase]] -deps = ["Compat", "Dates", "Mmap", "Printf", "Test", "UUIDs"] -git-tree-sha1 = "e27c4ebe80e8699540f2d6c805cc12203b614f12" -uuid = "48062228-2e41-5def-b9a4-89aafe57970f" -version = "0.9.20" - -[[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 = "cf0fe81336da9fb90944683b8c41984b08793dad" -uuid = "f6369f11-7733-5829-9624-2563aa707210" -version = "0.10.36" - - [deps.ForwardDiff.extensions] - ForwardDiffStaticArraysExt = "StaticArrays" - - [deps.ForwardDiff.weakdeps] - StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" - -[[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.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.GPUArrays]] -deps = ["Adapt", "GPUArraysCore", "LLVM", "LinearAlgebra", "Printf", "Random", "Reexport", "Serialization", "Statistics"] -git-tree-sha1 = "2e57b4a4f9cc15e85a24d603256fe08e527f48d1" -uuid = "0c68f7d7-f131-5f86-a1c3-88cf8149b2d7" -version = "8.8.1" - -[[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", "FreeType2_jll", "GLFW_jll", "JLLWrappers", "JpegTurbo_jll", "Libdl", "Libtiff_jll", "Pixman_jll", "Qt6Base_jll", "Zlib_jll", "libpng_jll"] -git-tree-sha1 = "1596bab77f4f073a14c62424283e7ebff3072eca" -uuid = "d2c73de3-f751-5644-a686-071e5b155ba9" -version = "0.72.9+1" - -[[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.Graphite2_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "344bf40dcab1073aca04aa0df4fb092f920e4011" -uuid = "3b182d85-2403-5c21-9c21-1e1f0cc25472" -version = "1.3.14+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.IRTools]] -deps = ["InteractiveUtils", "MacroTools", "Test"] -git-tree-sha1 = "eac00994ce3229a464c2847e956d77a2c64ad3a5" -uuid = "7869d1d1-7146-5819-86e3-90919afe41df" -version = "0.4.10" - -[[deps.ImplicitDifferentiation]] -deps = ["AbstractDifferentiation", "Krylov", "LinearAlgebra", "LinearOperators", "PrecompileTools", "Requires", "SimpleUnPack"] -path = ".." -uuid = "57b37032-215b-411a-8a7c-41a003a55207" -version = "0.5.0" - - [deps.ImplicitDifferentiation.extensions] - ImplicitDifferentiationChainRulesCoreExt = "ChainRulesCore" - ImplicitDifferentiationForwardDiffExt = "ForwardDiff" - ImplicitDifferentiationStaticArraysExt = "StaticArrays" - ImplicitDifferentiationZygoteExt = "Zygote" - - [deps.ImplicitDifferentiation.weakdeps] - ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" - ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" - StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" - Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f" - -[[deps.InlineStrings]] -deps = ["Parsers"] -git-tree-sha1 = "9cc2baf75c6d09f9da536ddf58eb2f29dedaf461" -uuid = "842dd82b-1e85-43dc-bf29-5d0ee9dffc48" -version = "1.4.0" - -[[deps.InteractiveUtils]] -deps = ["Markdown"] -uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240" - -[[deps.InvertedIndices]] -git-tree-sha1 = "0dc7b50b8d436461be01300fd8cd45aa0274b038" -uuid = "41ab1584-1d38-5bbf-9106-f11c6c58b48f" -version = "1.3.0" - -[[deps.IrrationalConstants]] -git-tree-sha1 = "630b497eafcc20001bba38a4651b327dcfc491d2" -uuid = "92d709cd-6900-40b7-9082-c6be49f344b6" -version = "0.2.2" - -[[deps.IteratorInterfaceExtensions]] -git-tree-sha1 = "a3f24677c21f5bbe9d2a714f95dcd58337fb2856" -uuid = "82899510-4779-5014-852e-03e436cf321d" -version = "1.0.0" - -[[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.Krylov]] -deps = ["LinearAlgebra", "Printf", "SparseArrays"] -git-tree-sha1 = "fbda7c58464204d92f3b158578fb0b3d4224cea5" -uuid = "ba0b0d4f-ebba-5204-a429-3ac8c609bfb7" -version = "0.9.3" - -[[deps.LAME_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "f6250b16881adf048549549fba48b1161acdac8c" -uuid = "c1c5ebd0-6772-5130-a774-d5fcae4a789d" -version = "3.100.1+0" - -[[deps.LDLFactorizations]] -deps = ["AMD", "LinearAlgebra", "SparseArrays", "Test"] -git-tree-sha1 = "cbf4b646f82bfc58bb48bcca9dcce2eb88da4cd1" -uuid = "40e66cde-538c-5869-a4ad-c39174c6795b" -version = "0.10.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.LLVM]] -deps = ["CEnum", "LLVMExtra_jll", "Libdl", "Printf", "Unicode"] -git-tree-sha1 = "8695a49bfe05a2dc0feeefd06b4ca6361a018729" -uuid = "929cbde3-209d-540e-8aea-75f648917ca0" -version = "6.1.0" - -[[deps.LLVMExtra_jll]] -deps = ["Artifacts", "JLLWrappers", "LazyArtifacts", "Libdl", "TOML"] -git-tree-sha1 = "c35203c1e1002747da220ffc3c0762ce7754b08c" -uuid = "dad2f222-ce93-54a1-a47d-0025e8a3acab" -version = "0.0.23+0" - -[[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.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.LinearOperators]] -deps = ["FastClosures", "LDLFactorizations", "LinearAlgebra", "Printf", "SparseArrays", "TimerOutputs"] -git-tree-sha1 = "a58ab1d18efa0bcf9f0868c6d387e4126dad3e72" -uuid = "5c8ed15e-5a4c-59e4-a42b-c7e8811fb125" -version = "2.5.2" - -[[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.MacroTools]] -deps = ["Markdown", "Random"] -git-tree-sha1 = "42324d08725e200c23d4dfb549e0d5d89dede2d2" -uuid = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09" -version = "0.5.10" - -[[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.Measures]] -git-tree-sha1 = "c13304c81eec1ed3af7fc20e75fb6b26092a1102" -uuid = "442fdcdd-2543-5da2-b0f3-8c86c306513e" -version = "0.3.2" - -[[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.NaNMath]] -deps = ["OpenLibm_jll"] -git-tree-sha1 = "0877504529a3e5c3343c6f8b4c0381e57e4387e4" -uuid = "77ba4419-2d1f-58cd-9bb1-8ffee604a2e3" -version = "1.0.2" - -[[deps.NetworkOptions]] -uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" -version = "1.2.0" - -[[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 = "bbb5c2115d63c2f1451cb70e5ef75e8fe4707019" -uuid = "458c3c95-2e84-50aa-8efc-19380b2a3a95" -version = "1.1.22+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.Parsers]] -deps = ["Dates", "PrecompileTools", "UUIDs"] -git-tree-sha1 = "716e24b21538abc91f6205fd1d8363f39b442851" -uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0" -version = "2.7.2" - -[[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.PooledArrays]] -deps = ["DataAPI", "Future"] -git-tree-sha1 = "a6062fe4063cdafe78f4a0a81cfffb89721b30e7" -uuid = "2dfb63ee-cc39-5dd5-95bd-886bf059d720" -version = "1.4.2" - -[[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.PrettyTables]] -deps = ["Crayons", "LaTeXStrings", "Markdown", "Printf", "Reexport", "StringManipulation", "Tables"] -git-tree-sha1 = "ee094908d720185ddbdc58dbe0c1cbe35453ec7a" -uuid = "08abe8d2-0d0c-5749-adfa-8a2ac140af0d" -version = "2.2.7" - -[[deps.Printf]] -deps = ["Unicode"] -uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7" - -[[deps.Profile]] -deps = ["Printf"] -uuid = "9abbd945-dff8-562f-b5e8-e1ebf5ef1b79" - -[[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.REPL]] -deps = ["InteractiveUtils", "Markdown", "Sockets", "Unicode"] -uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb" - -[[deps.Random]] -deps = ["SHA", "Serialization"] -uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" - -[[deps.RealDot]] -deps = ["LinearAlgebra"] -git-tree-sha1 = "9f0a1b71baaf7650f4fa8a1d168c7fb6ee41f0c9" -uuid = "c1ae055f-0cd5-4b69-90a6-9a35b1a98df9" -version = "0.1.0" - -[[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.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.SHA]] -uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce" -version = "0.7.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.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.SimpleUnPack]] -git-tree-sha1 = "58e6353e72cde29b90a69527e56df1b5c3d8c437" -uuid = "ce78b400-467f-4804-87d8-8f486da07d0a" -version = "1.1.0" - -[[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.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 = "75ebe04c5bed70b91614d684259b661c9e6274a4" -uuid = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91" -version = "0.34.0" - -[[deps.StringManipulation]] -git-tree-sha1 = "46da2434b41f41ac3594ee9816ce5541c6096123" -uuid = "892a3eda-7b42-436c-8928-eab12a02cf0e" -version = "0.3.0" - -[[deps.StructArrays]] -deps = ["Adapt", "DataAPI", "GPUArraysCore", "StaticArraysCore", "Tables"] -git-tree-sha1 = "521a0e828e98bb69042fec1809c1b5a680eb7389" -uuid = "09ab397b-f2b6-538f-b94a-2f83cf4a842a" -version = "0.6.15" - -[[deps.SuiteSparse_jll]] -deps = ["Artifacts", "Libdl", "Pkg", "libblastrampoline_jll"] -uuid = "bea87d4a-7f5b-5778-9afe-8cc45184846c" -version = "5.10.1+6" - -[[deps.TOML]] -deps = ["Dates"] -uuid = "fa267f1f-6049-4f14-aa54-33bafae1ed76" -version = "1.0.3" - -[[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.TimerOutputs]] -deps = ["ExprTools", "Printf"] -git-tree-sha1 = "f548a9e9c490030e545f72074a41edfd0e5bcdd7" -uuid = "a759f4b9-e2f1-59dc-863e-4aeb61b1ea8f" -version = "0.5.23" - -[[deps.TranscodingStreams]] -deps = ["Random", "Test"] -git-tree-sha1 = "9a6ae7ed916312b41236fcef7e0af564ef934769" -uuid = "3bb67fe8-82b1-5028-8e26-92a6c54297fa" -version = "0.9.13" - -[[deps.URIs]] -git-tree-sha1 = "b7a5e99f24892b6824a954199a45e9ffcc1c70f0" -uuid = "5c2747f8-b7ea-4ff2-ba2e-563bfd36b1d4" -version = "1.5.0" - -[[deps.UUIDs]] -deps = ["Random", "SHA"] -uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4" - -[[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 = "64eb17acef1d9734cf09967539818f38093d9b35" -uuid = "1986cc42-f94f-5a68-af5c-568840ba703d" -version = "1.16.2" - - [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.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.WeakRefStrings]] -deps = ["DataAPI", "InlineStrings", "Parsers"] -git-tree-sha1 = "b1be2855ed9ed8eac54e5caff2afcdb442d52c23" -uuid = "ea10d353-3f73-51f8-a26c-33c1cb351aa5" -version = "1.4.2" - -[[deps.WorkerUtilities]] -git-tree-sha1 = "cd1659ba0d57b71a464a29e64dbc67cfe83d54e7" -uuid = "76eceee3-57b5-4d4a-8e66-0e911cebbf60" -version = "1.6.1" - -[[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 = "cf2c7de82431ca6f39250d2fc4aacd0daa1675c0" -uuid = "ffd25f8a-64ca-5728-b0f7-c24cf3aae800" -version = "5.4.4+0" - -[[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.Zygote]] -deps = ["AbstractFFTs", "ChainRules", "ChainRulesCore", "DiffRules", "Distributed", "FillArrays", "ForwardDiff", "GPUArrays", "GPUArraysCore", "IRTools", "InteractiveUtils", "LinearAlgebra", "LogExpFunctions", "MacroTools", "NaNMath", "PrecompileTools", "Random", "Requires", "SparseArrays", "SpecialFunctions", "Statistics", "ZygoteRules"] -git-tree-sha1 = "5be3ddb88fc992a7d8ea96c3f10a49a7e98ebc7b" -uuid = "e88e6eb3-aa80-5325-afca-941959d7151f" -version = "0.6.62" - - [deps.Zygote.extensions] - ZygoteColorsExt = "Colors" - ZygoteDistancesExt = "Distances" - ZygoteTrackerExt = "Tracker" - - [deps.Zygote.weakdeps] - Colors = "5ae59095-9a9b-59fe-a467-6f913c188581" - Distances = "b4f34e82-e78d-54a5-968a-f98e89d6e8f7" - Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c" - -[[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" diff --git a/benchmark/analysis.jl b/benchmark/analysis.jl new file mode 100644 index 0000000..be425e1 --- /dev/null +++ b/benchmark/analysis.jl @@ -0,0 +1,168 @@ + +## Benchmark analysis + +using CSV +using DataFrames +using Plots + +function export_results( + results; + scenario_symbols, + linear_solver_symbols, + backend_symbols, + conditions_backend_symbols, + input_sizes, + output_sizes, + path=joinpath(@__DIR__, "benchmark_results.csv"), +) + min_results = minimum(results) + + data = DataFrame() + + for sc in scenario_symbols, + ls in linear_solver_symbols, + ba in backend_symbols, + cb in conditions_backend_symbols, + is in input_sizes, + os in output_sizes + + try + perf = min_results[sc][ls][ba][cb][is][os] + @unpack time, gctime, memory, allocs = perf + row = (; + scenario=sc, + linear_solver=ls, + backend=ba, + conditions_backend=cb, + input_size=is, + output_size=os, + time, + gctime, + memory, + allocs, + ) + push!(data, row) + catch KeyError + nothing + end + end + + if !isnothing(path) + open(path, "w") do file + CSV.write(file, data) + end + end + return data +end + +function plot_results( + data; + scenario::Symbol, + linear_solver_symbols=unique(data[!, :linear_solver]), + backend_symbols=unique(data[!, :backend]), + conditions_backend_symbols=unique(data[!, :conditions_backend]), + input_size=nothing, + output_size=nothing, + path=joinpath( + @__DIR__, + "benchmark_plot_$(scenario)_$(linear_solver_symbols)_$(backend_symbols)_$(conditions_backend_symbols)_$(input_size)_$(output_size).png", + ), +) + pl = plot(; + size=(800, 400), + ylabel="Time [s] (log)", + legendtitle="lin. solver / AD / cond. AD", + legend=:outerright, + xaxis=:log10, + yaxis=:log10, + margin=5Plots.mm, + legendtitlefontsize=7, + legendfontsize=6, + ) + + data = subset(data, :scenario => _col -> _col .== scenario) + + if isnothing(input_size) && isnothing(output_size) + error("Cannot plot if neither input nor output size is fixed") + elseif !isnothing(input_size) && !isnothing(output_size) + error("Cannot plot if both input and output size are fixed") + elseif !isnothing(input_size) + plot!( + pl; + xlabel="Output dimension (log)", + title="Implicit diff. - $scenario - input size $input_size", + ) + data = subset(data, :input_size => _col -> _col .== Ref(input_size)) + else + plot!( + pl; + xlabel="Input dimension (log)", + title="Implicit diff. - $scenario - output size $output_size", + ) + data = subset(data, :output_size => _col -> _col .== Ref(output_size)) + end + + for ls in linear_solver_symbols, ba in backend_symbols, cb in conditions_backend_symbols + filtered_data = subset( + data, + :linear_solver => _col -> _col .== ls, + :backend => _col -> _col .== ba, + :conditions_backend => _col -> _col .== cb, + ) + + if !isempty(filtered_data) + x = nothing + if !isnothing(output_size) + x = map(prod, filtered_data[!, :input_size]) + elseif !isnothing(output_size) + x = map(prod, filtered_data[!, :output_size]) + end + y = filtered_data[!, :time] ./ 1e9 + plot!( + pl, + x, + y; + linestyle=:auto, + markershape=:auto, + label="$ls / $ba / $(cb == :nothing ? ba : cb)", + ) + end + end + + if !isnothing(path) + savefig(pl, path) + end + return pl +end + +# results = BenchmarkTools.run(SUITE; verbose=true, evals=1, seconds=1) + +# data = export_results( +# results; +# scenario_symbols, +# linear_solver_symbols, +# backend_symbols, +# conditions_backend_symbols, +# input_sizes, +# output_sizes, +# ) + +# plot_results(data; scenario=:pullback, input_size=(1,)) +# plot_results(data; scenario=:pullback, input_size=(10,)) +# plot_results(data; scenario=:pullback, input_size=(100,)) +# plot_results(data; scenario=:pullback, input_size=(1000,)) + +# plot_results(data; scenario=:pushforward, output_size=(1,)) +# plot_results(data; scenario=:pushforward, output_size=(10,)) +# plot_results(data; scenario=:pushforward, output_size=(100,)) +# plot_results(data; scenario=:pushforward, output_size=(1000,)) + +# plot_results(data; scenario=:rrule, input_size=(1,)) +# plot_results(data; scenario=:rrule, input_size=(10,)) +# plot_results(data; scenario=:rrule, input_size=(100,)) +# plot_results(data; scenario=:rrule, input_size=(1000,)) + +# plot_results(data; scenario=:jacobian, input_size=(1,)) +# plot_results(data; scenario=:jacobian, input_size=(10,)) +# plot_results(data; scenario=:jacobian, input_size=(100,)) +# plot_results(data; scenario=:jacobian, input_size=(1000,)) diff --git a/benchmark/benchmarks.jl b/benchmark/benchmarks.jl index 6f6196e..eefeb23 100644 --- a/benchmark/benchmarks.jl +++ b/benchmark/benchmarks.jl @@ -141,173 +141,3 @@ SUITE = make_suite(; input_sizes, output_sizes, ) - -BenchmarkTools.save(joinpath(@__DIR__, "tune.json"), params(SUITE)); - -## Benchmark analysis - -using CSV -using DataFrames -using Plots - -function export_results( - results; - scenario_symbols, - linear_solver_symbols, - backend_symbols, - conditions_backend_symbols, - input_sizes, - output_sizes, - path=joinpath(@__DIR__, "benchmark_results.csv"), -) - min_results = minimum(results) - - data = DataFrame() - - for sc in scenario_symbols, - ls in linear_solver_symbols, - ba in backend_symbols, - cb in conditions_backend_symbols, - is in input_sizes, - os in output_sizes - - try - perf = min_results[sc][ls][ba][cb][is][os] - @unpack time, gctime, memory, allocs = perf - row = (; - scenario=sc, - linear_solver=ls, - backend=ba, - conditions_backend=cb, - input_size=is, - output_size=os, - time, - gctime, - memory, - allocs, - ) - push!(data, row) - catch KeyError - nothing - end - end - - if !isnothing(path) - open(path, "w") do file - CSV.write(file, data) - end - end - return data -end - -function plot_results( - data; - scenario::Symbol, - linear_solver_symbols=unique(data[!, :linear_solver]), - backend_symbols=unique(data[!, :backend]), - conditions_backend_symbols=unique(data[!, :conditions_backend]), - input_size=nothing, - output_size=nothing, - path=joinpath( - @__DIR__, - "benchmark_plot_$(scenario)_$(linear_solver_symbols)_$(backend_symbols)_$(conditions_backend_symbols)_$(input_size)_$(output_size).png", - ), -) - pl = plot(; - size=(800, 400), - ylabel="Time [s] (log)", - legendtitle="lin. solver / AD / cond. AD", - legend=:outerright, - xaxis=:log10, - yaxis=:log10, - margin=5Plots.mm, - legendtitlefontsize=7, - legendfontsize=6, - ) - - data = subset(data, :scenario => _col -> _col .== scenario) - - if isnothing(input_size) && isnothing(output_size) - error("Cannot plot if neither input nor output size is fixed") - elseif !isnothing(input_size) && !isnothing(output_size) - error("Cannot plot if both input and output size are fixed") - elseif !isnothing(input_size) - plot!( - pl; - xlabel="Output dimension (log)", - title="Implicit diff. - $scenario - input size $input_size", - ) - data = subset(data, :input_size => _col -> _col .== Ref(input_size)) - else - plot!( - pl; - xlabel="Input dimension (log)", - title="Implicit diff. - $scenario - output size $output_size", - ) - data = subset(data, :output_size => _col -> _col .== Ref(output_size)) - end - - for ls in linear_solver_symbols, ba in backend_symbols, cb in conditions_backend_symbols - filtered_data = subset( - data, - :linear_solver => _col -> _col .== ls, - :backend => _col -> _col .== ba, - :conditions_backend => _col -> _col .== cb, - ) - - if !isempty(filtered_data) - x = nothing - if !isnothing(output_size) - x = map(prod, filtered_data[!, :input_size]) - elseif !isnothing(output_size) - x = map(prod, filtered_data[!, :output_size]) - end - y = filtered_data[!, :time] ./ 1e9 - plot!( - pl, - x, - y; - linestyle=:auto, - markershape=:auto, - label="$ls / $ba / $(cb == :nothing ? ba : cb)", - ) - end - end - - if !isnothing(path) - savefig(pl, path) - end - return pl -end - -# results = BenchmarkTools.run(SUITE; verbose=true, evals=1, seconds=1) - -# data = export_results( -# results; -# scenario_symbols, -# linear_solver_symbols, -# backend_symbols, -# conditions_backend_symbols, -# input_sizes, -# output_sizes, -# ) - -# plot_results(data; scenario=:pullback, input_size=(1,)) -# plot_results(data; scenario=:pullback, input_size=(10,)) -# plot_results(data; scenario=:pullback, input_size=(100,)) -# plot_results(data; scenario=:pullback, input_size=(1000,)) - -# plot_results(data; scenario=:pushforward, output_size=(1,)) -# plot_results(data; scenario=:pushforward, output_size=(10,)) -# plot_results(data; scenario=:pushforward, output_size=(100,)) -# plot_results(data; scenario=:pushforward, output_size=(1000,)) - -# plot_results(data; scenario=:rrule, input_size=(1,)) -# plot_results(data; scenario=:rrule, input_size=(10,)) -# plot_results(data; scenario=:rrule, input_size=(100,)) -# plot_results(data; scenario=:rrule, input_size=(1000,)) - -# plot_results(data; scenario=:jacobian, input_size=(1,)) -# plot_results(data; scenario=:jacobian, input_size=(10,)) -# plot_results(data; scenario=:jacobian, input_size=(100,)) -# plot_results(data; scenario=:jacobian, input_size=(1000,)) diff --git a/benchmark/tune.json b/benchmark/tune.json deleted file mode 100644 index 6589140..0000000 --- a/benchmark/tune.json +++ /dev/null @@ -1 +0,0 @@ -[{"Julia":"1.10.0-beta1","BenchmarkTools":"1.0.0"},[["BenchmarkGroup",{"data":{"jacobian":["BenchmarkGroup",{"data":{"direct":["BenchmarkGroup",{"data":{"Zygote":["BenchmarkGroup",{"data":{"ForwardDiff":["BenchmarkGroup",{"data":{"(10,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1000,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}],"(1000,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}],"(1,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1000,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}],"(100,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}]},"tags":[]}],"nothing":["BenchmarkGroup",{"data":{"(10,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1000,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}],"(1000,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}],"(1,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1000,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}],"(100,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}]},"tags":[]}]},"tags":[]}],"ForwardDiff":["BenchmarkGroup",{"data":{"ForwardDiff":["BenchmarkGroup",{"data":{"(10,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1000,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}],"(1000,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}],"(1,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1000,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}],"(100,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}]},"tags":[]}],"nothing":["BenchmarkGroup",{"data":{"(10,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1000,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}],"(1000,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}],"(1,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1000,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}],"(100,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}]},"tags":[]}]},"tags":[]}]},"tags":[]}],"iterative":["BenchmarkGroup",{"data":{"Zygote":["BenchmarkGroup",{"data":{"ForwardDiff":["BenchmarkGroup",{"data":{"(10,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1000,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}],"(1000,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}],"(1,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1000,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}],"(100,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}]},"tags":[]}],"nothing":["BenchmarkGroup",{"data":{"(10,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1000,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}],"(1000,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}],"(1,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1000,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}],"(100,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}]},"tags":[]}]},"tags":[]}],"ForwardDiff":["BenchmarkGroup",{"data":{"ForwardDiff":["BenchmarkGroup",{"data":{"(10,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1000,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}],"(1000,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}],"(1,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1000,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}],"(100,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}]},"tags":[]}],"nothing":["BenchmarkGroup",{"data":{"(10,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1000,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}],"(1000,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}],"(1,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1000,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}],"(100,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}]},"tags":[]}]},"tags":[]}]},"tags":[]}]},"tags":[]}],"pushforward":["BenchmarkGroup",{"data":{"direct":["BenchmarkGroup",{"data":{"ForwardDiff":["BenchmarkGroup",{"data":{"ForwardDiff":["BenchmarkGroup",{"data":{"(10,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1000,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}],"(1000,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1000,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}],"(1,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1000,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}],"(100,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1000,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}]},"tags":[]}],"nothing":["BenchmarkGroup",{"data":{"(10,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1000,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}],"(1000,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1000,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}],"(1,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1000,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}],"(100,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1000,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}]},"tags":[]}]},"tags":[]}]},"tags":[]}],"iterative":["BenchmarkGroup",{"data":{"ForwardDiff":["BenchmarkGroup",{"data":{"ForwardDiff":["BenchmarkGroup",{"data":{"(10,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1000,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}],"(1000,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1000,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}],"(1,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1000,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}],"(100,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1000,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}]},"tags":[]}],"nothing":["BenchmarkGroup",{"data":{"(10,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1000,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}],"(1000,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1000,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}],"(1,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1000,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}],"(100,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1000,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}]},"tags":[]}]},"tags":[]}]},"tags":[]}]},"tags":[]}],"pullback":["BenchmarkGroup",{"data":{"direct":["BenchmarkGroup",{"data":{"Zygote":["BenchmarkGroup",{"data":{"ForwardDiff":["BenchmarkGroup",{"data":{"(10,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1000,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}],"(1000,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1000,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}],"(1,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1000,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}],"(100,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1000,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}]},"tags":[]}],"nothing":["BenchmarkGroup",{"data":{"(10,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1000,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}],"(1000,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1000,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}],"(1,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1000,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}],"(100,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1000,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}]},"tags":[]}]},"tags":[]}]},"tags":[]}],"iterative":["BenchmarkGroup",{"data":{"Zygote":["BenchmarkGroup",{"data":{"ForwardDiff":["BenchmarkGroup",{"data":{"(10,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1000,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}],"(1000,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1000,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}],"(1,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1000,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}],"(100,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1000,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}]},"tags":[]}],"nothing":["BenchmarkGroup",{"data":{"(10,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1000,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}],"(1000,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1000,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}],"(1,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1000,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}],"(100,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1000,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}]},"tags":[]}]},"tags":[]}]},"tags":[]}]},"tags":[]}],"rrule":["BenchmarkGroup",{"data":{"direct":["BenchmarkGroup",{"data":{"Zygote":["BenchmarkGroup",{"data":{"ForwardDiff":["BenchmarkGroup",{"data":{"(10,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1000,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}],"(1000,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1000,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}],"(1,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1000,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}],"(100,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1000,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}]},"tags":[]}],"nothing":["BenchmarkGroup",{"data":{"(10,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1000,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}],"(1000,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1000,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}],"(1,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1000,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}],"(100,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1000,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}]},"tags":[]}]},"tags":[]}]},"tags":[]}],"iterative":["BenchmarkGroup",{"data":{"Zygote":["BenchmarkGroup",{"data":{"ForwardDiff":["BenchmarkGroup",{"data":{"(10,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1000,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}],"(1000,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1000,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}],"(1,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1000,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}],"(100,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1000,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}]},"tags":[]}],"nothing":["BenchmarkGroup",{"data":{"(10,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1000,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}],"(1000,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1000,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}],"(1,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1000,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}],"(100,)":["BenchmarkGroup",{"data":{"(10,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1000,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(1,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}],"(100,)":["Parameters",{"gctrial":true,"time_tolerance":0.05,"samples":100,"evals":1,"gcsample":false,"seconds":1.0,"overhead":0.0,"memory_tolerance":0.01}]},"tags":[]}]},"tags":[]}]},"tags":[]}]},"tags":[]}]},"tags":[]}]},"tags":[]}]]] \ No newline at end of file diff --git a/docs/Project.toml b/docs/Project.toml index 850e9c5..b070058 100644 --- a/docs/Project.toml +++ b/docs/Project.toml @@ -13,3 +13,6 @@ Optim = "429524aa-4258-5aef-a3af-852621145aeb" Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f" + +[compat] +Documenter = "1.3" \ No newline at end of file diff --git a/docs/src/api.md b/docs/src/api.md index 4c74c8e..7e74648 100644 --- a/docs/src/api.md +++ b/docs/src/api.md @@ -1,16 +1,31 @@ +```@meta +CurrentModule = DifferentiationInterface +CollapsedDocStrings = true +``` + # API reference -## Index +## Public -```@index +```@autodocs +Modules = [ImplicitDifferentiation] +Private = false ``` -## Docstrings +## Internal + +### Main package ```@autodocs Modules = [ImplicitDifferentiation] +Public = false ``` +### Extensions + ```@docs -ChainRulesCore.rrule +Modules = [ + Base.get_extension(ImplicitDifferentiation, :ImplicitDifferentiationChainRulesCoreExt), + Base.get_extension(ImplicitDifferentiation, :ImplicitDifferentiationForwardDiffExt) +] ``` diff --git a/src/ImplicitDifferentiation.jl b/src/ImplicitDifferentiation.jl index da72fce..0fc55d8 100644 --- a/src/ImplicitDifferentiation.jl +++ b/src/ImplicitDifferentiation.jl @@ -20,7 +20,6 @@ include("utils.jl") include("linear_solver.jl") include("implicit_function.jl") include("operators.jl") -# include("dense_operators.jl") # type unstable export ImplicitFunction export AbstractLinearSolver, IterativeLinearSolver, DirectLinearSolver diff --git a/src/dense_operators.jl b/src/dense_operators.jl deleted file mode 100644 index 7fc03ad..0000000 --- a/src/dense_operators.jl +++ /dev/null @@ -1,113 +0,0 @@ -#= - -struct VecPartialConditions{whicharg,C,X,YZ,A,K} - conditions::C - x::X - y_or_yz::YZ - args::A - kwargs::K - - function VecPartialConditions{whicharg}( - conditions::C, x::X, y_or_yz::YZ, args::A, kwargs::K - ) where {whicharg,C,X,YZ,A,K} - return new{whicharg,C,X,YZ,A,K}(conditions, x, y_or_yz, args, kwargs) - end -end - -function (vpc::VecPartialConditions{1,C,X,<:AbstractArray})(_x_vec) where {C,X} - @unpack conditions, x, y_or_yz, args, kwargs = vpc - y = get_output(y_or_yz) - _x = reshape(_x_vec, size(x)) - return vec(conditions(_x, y, args...; kwargs...)) -end - -function (vpc::VecPartialConditions{1,C,X,<:Tuple})(_x_vec) where {C,X} - @unpack conditions, x, y_or_yz, args, kwargs = vpc - y, z = get_output(y_or_yz), get_byproduct(y_or_yz) - _x = reshape(_x_vec, size(x)) - return vec(conditions(_x, y, z, args...; kwargs...)) -end - -function (vpc::VecPartialConditions{2,C,X,<:AbstractArray})(_y_vec) where {C,X} - @unpack conditions, x, y_or_yz, args, kwargs = vpc - y = get_output(y_or_yz) - _y = reshape(_y_vec, size(y)) - return vec(conditions(x, _y, args...; kwargs...)) -end - -function (vpc::VecPartialConditions{2,C,X,<:Tuple})(_y_vec) where {C,X} - @unpack conditions, x, y_or_yz, args, kwargs = vpc - y, z = get_output(y_or_yz), get_byproduct(y_or_yz) - _y = reshape(_y_vec, size(y)) - return vec(conditions(x, _y, z, args...; kwargs...)) -end - -function conditions_partials( - implicit::ImplicitFunction, x::AbstractArray, y::AbstractArray, args; kwargs -) - conditions = implicit.conditions - function conditions_yvec(y_vec) - _y = reshape(y_vec, size(y)) - return vec(conditions(x, _y, args...; kwargs...)) - end - function conditions_xvec(x_vec) - _x = reshape(x_vec, size(x)) - return vec(conditions(_x, y, args...; kwargs...)) - end - return conditions_yvec, conditions_xvec -end - -function conditions_partials( - implicit::ImplicitFunction, x::AbstractArray, yz::Tuple, args; kwargs -) - conditions = implicit.conditions - y, z = yz - function conditions_yvec(y_vec) - _y = reshape(y_vec, size(y)) - return vec(conditions(x, _y, z, args...; kwargs...)) - end - function conditions_xvec(x_vec) - _x = reshape(x_vec, size(x)) - return vec(conditions(_x, y, z, args...; kwargs...)) - end - return conditions_yvec, conditions_xvec -end - -## Forward - -function conditions_forward_operators( - ba::AbstractBackend, - implicit::ImplicitFunction{F,C,DirectLinearSolver}, - x::AbstractArray, - y_or_yz, - args; - kwargs, -) where {F,C} - conditions_xvec = VecPartialConditions{1}(implicit.conditions, x, y_or_yz, args, kwargs) - conditions_yvec = VecPartialConditions{2}(implicit.conditions, x, y_or_yz, args, kwargs) - y = get_output(y_or_yz) - A_vec = only(jacobian(ba, conditions_yvec, vec(y))) - B_vec = only(jacobian(ba, conditions_xvec, vec(x))) - return A_vec, B_vec -end - -## Reverse - -function conditions_reverse_operators( - ba::AbstractBackend, - implicit::ImplicitFunction{F,C,DirectLinearSolver}, - x::AbstractArray, - y_or_yz, - args; - kwargs, -) where {F,C} - conditions_yvec, conditions_xvec = conditions_partials( - implicit, x, y_or_yz, args; kwargs - ) - y = get_output(y_or_yz) - A_vec = only(jacobian(ba, conditions_yvec, vec(y))) - B_vec = only(jacobian(ba, conditions_xvec, vec(x))) - return transpose(A_vec), transpose(B_vec) -end - -=# From 32be1043ea2adba749610294912108187c962fe6 Mon Sep 17 00:00:00 2001 From: Guillaume Dalle <22795598+gdalle@users.noreply.github.com> Date: Wed, 20 Mar 2024 10:06:11 +0100 Subject: [PATCH 7/8] Fix --- docs/src/api.md | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/src/api.md b/docs/src/api.md index 7e74648..298846e 100644 --- a/docs/src/api.md +++ b/docs/src/api.md @@ -1,5 +1,4 @@ ```@meta -CurrentModule = DifferentiationInterface CollapsedDocStrings = true ``` From 7527d8a7fe171819f819e84939387960c5daca1e Mon Sep 17 00:00:00 2001 From: Guillaume Dalle <22795598+gdalle@users.noreply.github.com> Date: Wed, 20 Mar 2024 10:34:00 +0100 Subject: [PATCH 8/8] Fix docs build --- docs/make.jl | 2 +- docs/src/api.md | 14 ++------------ 2 files changed, 3 insertions(+), 13 deletions(-) diff --git a/docs/make.jl b/docs/make.jl index f7227b5..5f8b71e 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -96,7 +96,7 @@ else end makedocs(; - modules=vcat([ImplicitDifferentiation], extension_modules), + modules=[ImplicitDifferentiation], authors="Guillaume Dalle, Mohamed Tarek and contributors", repo=Documenter.Remotes.GitHub("gdalle", "ImplicitDifferentiation.jl"), sitename="ImplicitDifferentiation.jl", diff --git a/docs/src/api.md b/docs/src/api.md index 298846e..cdfc218 100644 --- a/docs/src/api.md +++ b/docs/src/api.md @@ -1,4 +1,5 @@ ```@meta +CurrentModule = ImplicitDifferentiation CollapsedDocStrings = true ``` @@ -11,20 +12,9 @@ Modules = [ImplicitDifferentiation] Private = false ``` -## Internal - -### Main package +## Internals ```@autodocs Modules = [ImplicitDifferentiation] Public = false ``` - -### Extensions - -```@docs -Modules = [ - Base.get_extension(ImplicitDifferentiation, :ImplicitDifferentiationChainRulesCoreExt), - Base.get_extension(ImplicitDifferentiation, :ImplicitDifferentiationForwardDiffExt) -] -```