diff --git a/Manifest.toml b/Manifest.toml index 977363c..452f988 100644 --- a/Manifest.toml +++ b/Manifest.toml @@ -1,36 +1,74 @@ # This file is machine-generated - editing it directly is not advised -julia_version = "1.8.2" +julia_version = "1.10.4" manifest_format = "2.0" -project_hash = "9b8a1945f5816801b7562238471dff88c334a7e3" +project_hash = "8053b3a46fe702cdf41b80678f9917c23dc0c17d" [[deps.Adapt]] deps = ["LinearAlgebra", "Requires"] -git-tree-sha1 = "76289dc51920fdc6e0013c872ba9551d54961c24" +git-tree-sha1 = "6a55b747d1812e699320963ffde36f1ebdda4099" uuid = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" -version = "3.6.2" +version = "4.0.4" +weakdeps = ["StaticArrays"] + + [deps.Adapt.extensions] + AdaptStaticArraysExt = "StaticArrays" + +[[deps.AliasTables]] +deps = ["PtrArrays", "Random"] +git-tree-sha1 = "9876e1e164b144ca45e9e3198d0b689cadfed9ff" +uuid = "66dad0bd-aa9a-41b7-9441-69ab47430ed8" +version = "1.1.3" [[deps.ArgTools]] uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f" version = "1.1.1" +[[deps.ArnoldiMethod]] +deps = ["LinearAlgebra", "Random", "StaticArrays"] +git-tree-sha1 = "d57bd3762d308bded22c3b82d033bff85f6195c6" +uuid = "ec485272-7323-5ecc-a04f-4719b315124d" +version = "0.4.0" + [[deps.ArrayInterface]] -deps = ["Adapt", "LinearAlgebra", "Requires", "SparseArrays", "SuiteSparse"] -git-tree-sha1 = "917286faa2abb288796e75b88ca67edc016f3219" +deps = ["Adapt", "LinearAlgebra"] +git-tree-sha1 = "3640d077b6dafd64ceb8fd5c1ec76f7ca53bcf76" uuid = "4fba245c-0d91-5ea0-9b3e-6abc04ee57a9" -version = "7.4.5" - -[[deps.ArrayInterfaceCore]] -deps = ["LinearAlgebra", "SnoopPrecompile", "SparseArrays", "SuiteSparse"] -git-tree-sha1 = "e5f08b5689b1aad068e01751889f2f615c7db36d" -uuid = "30b0a656-2188-435a-8636-2ec0e6a096e2" -version = "0.1.29" +version = "7.16.0" + + [deps.ArrayInterface.extensions] + ArrayInterfaceBandedMatricesExt = "BandedMatrices" + ArrayInterfaceBlockBandedMatricesExt = "BlockBandedMatrices" + ArrayInterfaceCUDAExt = "CUDA" + ArrayInterfaceCUDSSExt = "CUDSS" + ArrayInterfaceChainRulesExt = "ChainRules" + ArrayInterfaceGPUArraysCoreExt = "GPUArraysCore" + ArrayInterfaceReverseDiffExt = "ReverseDiff" + ArrayInterfaceSparseArraysExt = "SparseArrays" + 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" + CUDSS = "45b445bb-4962-46a0-9369-b4df9d0f772e" + ChainRules = "082447d4-558c-5d27-93f4-14fc19e9eca2" + GPUArraysCore = "46192b85-c4d5-4398-a991-12ede77f4527" + ReverseDiff = "37e2e3b7-166d-5795-8a7a-e32c996b4267" + SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" + StaticArraysCore = "1e83bf80-4336-4d27-bf5d-d5a4f845583c" + Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c" [[deps.ArrayLayouts]] -deps = ["FillArrays", "LinearAlgebra", "SparseArrays"] -git-tree-sha1 = "4aff5fa660eb95c2e0deb6bcdabe4d9a96bc4667" +deps = ["FillArrays", "LinearAlgebra"] +git-tree-sha1 = "0dd7edaff278e346eb0ca07a7e75c9438408a3ce" uuid = "4c555306-a7a7-4459-81d9-ec55ddd5c99a" -version = "0.8.18" +version = "1.10.3" +weakdeps = ["SparseArrays"] + + [deps.ArrayLayouts.extensions] + ArrayLayoutsSparseArraysExt = "SparseArrays" [[deps.Artifacts]] uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33" @@ -38,88 +76,86 @@ uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33" [[deps.Base64]] uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" +[[deps.BayesBase]] +deps = ["Distributions", "DomainSets", "LinearAlgebra", "LoopVectorization", "Random", "SpecialFunctions", "StaticArrays", "Statistics", "StatsAPI", "StatsBase", "StatsFuns", "TinyHugeNumbers"] +git-tree-sha1 = "81314e14f7ce9b59261a93221ab095f4dc8df2c8" +uuid = "b4ee3484-f114-42fe-b91c-797d54a0c67e" +version = "1.3.3" + [[deps.BitFlags]] -git-tree-sha1 = "43b1a4a8f797c1cddadf60499a8a077d4af2cd2d" +git-tree-sha1 = "0691e34b3bb8be9307330f88d1a3c3f25466c24d" uuid = "d1d4a3ce-64b1-5f1a-9ba4-7e7e69966f35" -version = "0.1.7" +version = "0.1.9" + +[[deps.BitSetTuples]] +deps = ["TupleTools"] +git-tree-sha1 = "aa19428fb6ad21db22f8568f068de4f443d3bacc" +uuid = "0f2f92aa-23a3-4d05-b791-88071d064721" +version = "1.1.5" [[deps.BitTwiddlingConvenienceFunctions]] deps = ["Static"] -git-tree-sha1 = "0c5f81f47bbbcf4aea7b2959135713459170798b" +git-tree-sha1 = "f21cfd4950cb9f0587d5067e69405ad2acd27b87" uuid = "62783981-4cbd-42fc-bca8-16325de8dc4b" -version = "0.1.5" +version = "0.1.6" [[deps.Bzip2_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "19a35467a82e236ff51bc17a3a44b69ef35185a2" +git-tree-sha1 = "9e2a6b69137e6969bab0152632dcb3bc108c8bdd" uuid = "6e34b625-4abd-537c-b88f-471c36dfa7a0" -version = "1.0.8+0" +version = "1.0.8+1" [[deps.CPUSummary]] -deps = ["CpuId", "IfElse", "Static"] -git-tree-sha1 = "2c144ddb46b552f72d7eafe7cc2f50746e41ea21" +deps = ["CpuId", "IfElse", "PrecompileTools", "Static"] +git-tree-sha1 = "5a97e67919535d6841172016c9530fd69494e5ec" uuid = "2a0fbf3d-bb9c-48f3-b0a9-814d99fd7ab9" -version = "0.2.2" +version = "0.2.6" [[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" +deps = ["Artifacts", "Bzip2_jll", "CompilerSupportLibraries_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "JLLWrappers", "LZO_jll", "Libdl", "Pixman_jll", "Xorg_libXext_jll", "Xorg_libXrender_jll", "Zlib_jll", "libpng_jll"] +git-tree-sha1 = "a2f1c8c668c8e3cb4cca4e57a8efdb09067bb3fd" uuid = "83423d85-b0ee-5818-9007-b63ccbeb887a" -version = "1.16.1+1" - -[[deps.Calculus]] -deps = ["LinearAlgebra"] -git-tree-sha1 = "f641eb0a4f00c343bbc32346e1217b86f3ce9dad" -uuid = "49dc2e85-a5d0-5ad3-a950-438e2897f1b9" -version = "0.5.1" - -[[deps.ChainRulesCore]] -deps = ["Compat", "LinearAlgebra", "SparseArrays"] -git-tree-sha1 = "e30f2f4e20f7f186dc36529910beaedc60cfa644" -uuid = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" -version = "1.16.0" - -[[deps.ChangesOfVariables]] -deps = ["LinearAlgebra", "Test"] -git-tree-sha1 = "f84967c4497e0e1955f9a582c232b02847c5f589" -uuid = "9e997f8a-9a97-42d5-a9f1-ce6bfc15e2c0" -version = "0.1.7" +version = "1.18.0+2" [[deps.CloseOpenIntervals]] deps = ["Static", "StaticArrayInterface"] -git-tree-sha1 = "70232f82ffaab9dc52585e0dd043b5e0c6b714f1" +git-tree-sha1 = "05ba0d07cd4fd8b7a39541e31a7b0254704ea581" uuid = "fb6a15b2-703c-40df-9091-08a04967cfa9" -version = "0.1.12" +version = "0.1.13" [[deps.CodecZlib]] deps = ["TranscodingStreams", "Zlib_jll"] -git-tree-sha1 = "9c209fb7536406834aa938fb149964b985de6c83" +git-tree-sha1 = "bce6804e5e6044c6daab27bb533d1295e4a2e759" uuid = "944b1d66-785c-5afd-91f1-9de20f533193" -version = "0.7.1" +version = "0.7.6" [[deps.ColorSchemes]] deps = ["ColorTypes", "ColorVectorSpace", "Colors", "FixedPointNumbers", "PrecompileTools", "Random"] -git-tree-sha1 = "be6ab11021cd29f0344d5c4357b163af05a48cba" +git-tree-sha1 = "b5278586822443594ff615963b0c09755771b3e0" uuid = "35d6a980-a343-548e-a6ea-1d62b119f2f4" -version = "3.21.0" +version = "3.26.0" [[deps.ColorTypes]] deps = ["FixedPointNumbers", "Random"] -git-tree-sha1 = "eb7f0f8307f71fac7c606984ea5fb2817275d6e4" +git-tree-sha1 = "b10d0b65641d57b8b4d5e234446582de5047050d" uuid = "3da002f7-5984-5a60-b8a6-cbb66c0b333f" -version = "0.11.4" +version = "0.11.5" [[deps.ColorVectorSpace]] -deps = ["ColorTypes", "FixedPointNumbers", "LinearAlgebra", "SpecialFunctions", "Statistics", "TensorCore"] -git-tree-sha1 = "600cc5508d66b78aae350f7accdb58763ac18589" +deps = ["ColorTypes", "FixedPointNumbers", "LinearAlgebra", "Requires", "Statistics", "TensorCore"] +git-tree-sha1 = "a1f44953f2382ebb937d60dafbe2deea4bd23249" uuid = "c3611d14-8923-5661-9e6a-0046d554d3a4" -version = "0.9.10" +version = "0.10.0" +weakdeps = ["SpecialFunctions"] + + [deps.ColorVectorSpace.extensions] + SpecialFunctionsExt = "SpecialFunctions" [[deps.Colors]] deps = ["ColorTypes", "FixedPointNumbers", "Reexport"] -git-tree-sha1 = "fc08e5930ee9a4e03f84bfb5211cb54e7769758a" +git-tree-sha1 = "362a287c3aa50601b0bc359053d5c2468f0e7ce0" uuid = "5ae59095-9a9b-59fe-a467-6f913c188581" -version = "0.12.10" +version = "0.12.11" [[deps.Combinatorics]] git-tree-sha1 = "08c8b6831dc00bfea825826be0bc8336fc369860" @@ -127,43 +163,57 @@ uuid = "861a8166-3701-5b0c-9a16-15d98fcdc6aa" version = "1.0.2" [[deps.CommonSubexpressions]] -deps = ["MacroTools", "Test"] -git-tree-sha1 = "7b8a93dba8af7e3b42fecabf646260105ac373f7" +deps = ["MacroTools"] +git-tree-sha1 = "cda2cfaebb4be89c9084adaca7dd7333369715c5" uuid = "bbf7d656-a473-5ed7-a52c-81e309532950" -version = "0.3.0" +version = "0.3.1" + +[[deps.CommonWorldInvalidations]] +git-tree-sha1 = "ae52d1c52048455e85a387fbee9be553ec2b68d0" +uuid = "f70d9fcc-98c5-4d4a-abd7-e4cdeebd8ca8" +version = "1.0.0" [[deps.Compat]] -deps = ["Dates", "LinearAlgebra", "UUIDs"] -git-tree-sha1 = "7a60c856b9fa189eb34f5f8a6f6b5529b7942957" +deps = ["TOML", "UUIDs"] +git-tree-sha1 = "8ae8d32e09f0dcf42a36b90d4e17f5dd2e4c4215" uuid = "34da2185-b29b-5c13-b0c7-acf172513d20" -version = "4.6.1" +version = "4.16.0" +weakdeps = ["Dates", "LinearAlgebra"] + + [deps.Compat.extensions] + CompatLinearAlgebraExt = "LinearAlgebra" [[deps.CompilerSupportLibraries_jll]] deps = ["Artifacts", "Libdl"] uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae" -version = "0.5.2+0" +version = "1.1.1+0" [[deps.CompositeTypes]] -git-tree-sha1 = "02d2316b7ffceff992f3096ae48c7829a8aa0638" +git-tree-sha1 = "bce26c3dab336582805503bed209faab1c279768" uuid = "b152e2b5-7a66-4b01-a709-34e65c35f657" -version = "0.1.3" +version = "0.1.4" [[deps.ConcurrentUtilities]] deps = ["Serialization", "Sockets"] -git-tree-sha1 = "96d823b94ba8d187a6d8f0826e731195a74b90e9" +git-tree-sha1 = "ea32b83ca4fefa1768dc84e504cc0a94fb1ab8d1" uuid = "f0e56b4a-5159-44fe-b623-3e5288b988bb" -version = "2.2.0" +version = "2.4.2" [[deps.ConstructionBase]] -deps = ["LinearAlgebra"] -git-tree-sha1 = "738fec4d684a9a6ee9598a8bfee305b26831f28c" +git-tree-sha1 = "76219f1ed5771adbb096743bff43fb5fdd4c1157" uuid = "187b0558-2788-49d3-abe0-74a17ed4e7c9" -version = "1.5.2" +version = "1.5.8" +weakdeps = ["IntervalSets", "LinearAlgebra", "StaticArrays"] + + [deps.ConstructionBase.extensions] + ConstructionBaseIntervalSetsExt = "IntervalSets" + ConstructionBaseLinearAlgebraExt = "LinearAlgebra" + ConstructionBaseStaticArraysExt = "StaticArrays" [[deps.Contour]] -git-tree-sha1 = "d05d9e7b7aedff4e5b51a029dced05cfb6125781" +git-tree-sha1 = "439e35b0b36e2e5881738abc8857bd92ad6ff9a8" uuid = "d38c429a-6771-53c6-b99e-75d170b6e991" -version = "0.6.2" +version = "0.6.3" [[deps.CpuId]] deps = ["Markdown"] @@ -172,29 +222,37 @@ uuid = "adafc99b-e345-5852-983c-f28acb93d879" version = "0.3.1" [[deps.DataAPI]] -git-tree-sha1 = "8da84edb865b0b5b0100c0666a9bc9a0b71c553c" +git-tree-sha1 = "abe83f3a2f1b857aac70ef8b269080af17764bbe" uuid = "9a962f9c-6df0-11e9-0e5d-c546b8b5ee8a" -version = "1.15.0" +version = "1.16.0" [[deps.DataStructures]] deps = ["Compat", "InteractiveUtils", "OrderedCollections"] -git-tree-sha1 = "d1fff3a548102f48987a52a2e0d114fa97d730f0" +git-tree-sha1 = "1d0a14036acb104d9e89698bd408f63ab58cdc82" uuid = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8" -version = "0.18.13" +version = "0.18.20" [[deps.Dates]] deps = ["Printf"] uuid = "ade2ca70-3891-5945-98fb-dc099432e06a" +[[deps.Dbus_jll]] +deps = ["Artifacts", "Expat_jll", "JLLWrappers", "Libdl"] +git-tree-sha1 = "fc173b380865f70627d7dd1190dc2fce6cc105af" +uuid = "ee1fde0b-3d02-5ea6-8484-8dfef6360eab" +version = "1.14.10+0" + [[deps.DelimitedFiles]] deps = ["Mmap"] +git-tree-sha1 = "9e2f36d3c96a820c678f2f1f1782582fcf685bae" uuid = "8bb1440f-4735-579b-a4ab-409b98df4dab" +version = "1.9.1" -[[deps.DensityInterface]] -deps = ["InverseFunctions", "Test"] -git-tree-sha1 = "80c3e8639e3353e5d2912fb3a1916b8455e2494b" -uuid = "b429d917-457f-4dbc-8f4c-0cc954292b1d" -version = "0.4.0" +[[deps.Dictionaries]] +deps = ["Indexing", "Random", "Serialization"] +git-tree-sha1 = "35b66b6744b2d92c778afd3a88d2571875664a2a" +uuid = "85a47980-9c8c-11e8-2b9f-f7ca1fa99fb4" +version = "0.4.2" [[deps.DiffResults]] deps = ["StaticArraysCore"] @@ -204,19 +262,29 @@ version = "1.1.0" [[deps.DiffRules]] deps = ["IrrationalConstants", "LogExpFunctions", "NaNMath", "Random", "SpecialFunctions"] -git-tree-sha1 = "a4ad7ef19d2cdc2eff57abbbe68032b1cd0bd8f8" +git-tree-sha1 = "23163d55f885173722d1e4cf0f6110cdbaf7e272" uuid = "b552c78f-8df3-52c6-915a-8e097449b14b" -version = "1.13.0" +version = "1.15.1" [[deps.Distributed]] deps = ["Random", "Serialization", "Sockets"] uuid = "8ba89e20-285c-5b6f-9357-94700520ee1b" [[deps.Distributions]] -deps = ["ChainRulesCore", "DensityInterface", "FillArrays", "LinearAlgebra", "PDMats", "Printf", "QuadGK", "Random", "SparseArrays", "SpecialFunctions", "Statistics", "StatsAPI", "StatsBase", "StatsFuns", "Test"] -git-tree-sha1 = "5eeb2bd01e5065090ad591a205d8cad432ae6cb6" +deps = ["AliasTables", "FillArrays", "LinearAlgebra", "PDMats", "Printf", "QuadGK", "Random", "SpecialFunctions", "Statistics", "StatsAPI", "StatsBase", "StatsFuns"] +git-tree-sha1 = "e6c693a0e4394f8fda0e51a5bdf5aef26f8235e9" uuid = "31c24e10-a181-5473-b8eb-7969acd0382f" -version = "0.25.93" +version = "0.25.111" + + [deps.Distributions.extensions] + DistributionsChainRulesCoreExt = "ChainRulesCore" + DistributionsDensityInterfaceExt = "DensityInterface" + DistributionsTestExt = "Test" + + [deps.Distributions.weakdeps] + ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" + DensityInterface = "b429d917-457f-4dbc-8f4c-0cc954292b1d" + Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" [[deps.DocStringExtensions]] deps = ["LibGit2"] @@ -226,32 +294,50 @@ version = "0.9.3" [[deps.DomainIntegrals]] deps = ["CompositeTypes", "DomainSets", "FastGaussQuadrature", "GaussQuadrature", "HCubature", "IntervalSets", "LinearAlgebra", "QuadGK", "StaticArrays"] -git-tree-sha1 = "0b0425701a4b9b0b9da831d834e2580af35b321a" +git-tree-sha1 = "95c6b8fd44ee7e41d166c1adf7b1c94309be6195" uuid = "cc6bae93-f070-4015-88fd-838f9505a86c" -version = "0.4.3" +version = "0.4.6" [[deps.DomainSets]] -deps = ["CompositeTypes", "IntervalSets", "LinearAlgebra", "Random", "StaticArrays", "Statistics"] -git-tree-sha1 = "698124109da77b6914f64edd696be8dccf90229e" +deps = ["CompositeTypes", "IntervalSets", "LinearAlgebra", "Random", "StaticArrays"] +git-tree-sha1 = "490392af2c7d63183bfa2c8aaa6ab981c5ba7561" uuid = "5b8099bc-c8ec-5219-889f-1d9e522a28bf" -version = "0.6.6" +version = "0.7.14" + + [deps.DomainSets.extensions] + DomainSetsMakieExt = "Makie" + + [deps.DomainSets.weakdeps] + Makie = "ee78f7c6-11fb-53f2-987a-cfe4a2b5a57a" [[deps.Downloads]] deps = ["ArgTools", "FileWatching", "LibCURL", "NetworkOptions"] uuid = "f43a241f-c20a-4ad4-852c-f6b1247861c6" version = "1.6.0" -[[deps.DualNumbers]] -deps = ["Calculus", "NaNMath", "SpecialFunctions"] -git-tree-sha1 = "5837a837389fccf076445fce071c8ddaea35a566" -uuid = "fa6b7ba4-c1ee-5f82-b5fc-ecf0adba8f74" -version = "0.6.8" +[[deps.EpollShim_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "8e9441ee83492030ace98f9789a654a6d0b1f643" +uuid = "2702e6a9-849d-5ed8-8c21-79e8b8f9ee43" +version = "0.0.20230411+0" + +[[deps.ExceptionUnwrapping]] +deps = ["Test"] +git-tree-sha1 = "dcb08a0d93ec0b1cdc4af184b26b591e9695423a" +uuid = "460bff9d-24e4-43bc-9d9f-a8973cb893f4" +version = "0.1.10" [[deps.Expat_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "bad72f730e9e91c08d9427d5e8db95478a3c323d" +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "1c6317308b9dc757616f0b5cb379db10494443a7" uuid = "2e619515-83b5-522b-bb60-26c02a35a201" -version = "2.4.8+0" +version = "2.6.2+0" + +[[deps.ExponentialFamily]] +deps = ["BayesBase", "Distributions", "DomainSets", "FastCholesky", "FillArrays", "ForwardDiff", "HCubature", "HypergeometricFunctions", "IntervalSets", "IrrationalConstants", "LinearAlgebra", "LogExpFunctions", "LoopVectorization", "PositiveFactorizations", "Random", "SparseArrays", "SpecialFunctions", "StaticArrays", "StatsBase", "StatsFuns", "TinyHugeNumbers"] +git-tree-sha1 = "edf3b0aa42cc7310a02141ae42d275b494d07f33" +uuid = "62312e5e-252a-4322-ace9-a5f4bf9b357b" +version = "1.5.1" [[deps.FFMPEG]] deps = ["FFMPEG_jll"] @@ -260,10 +346,20 @@ 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" +deps = ["Artifacts", "Bzip2_jll", "FreeType2_jll", "FriBidi_jll", "JLLWrappers", "LAME_jll", "Libdl", "Ogg_jll", "OpenSSL_jll", "Opus_jll", "PCRE2_jll", "Zlib_jll", "libaom_jll", "libass_jll", "libfdk_aac_jll", "libvorbis_jll", "x264_jll", "x265_jll"] +git-tree-sha1 = "466d45dc38e15794ec7d5d63ec03d776a9aff36e" uuid = "b22a6f82-2f65-5046-a5b2-351ab43fb4e5" -version = "4.4.2+2" +version = "4.4.4+1" + +[[deps.FastCholesky]] +deps = ["LinearAlgebra", "PositiveFactorizations"] +git-tree-sha1 = "92b6feedfac624e2ffd225e5b767eb46e844cb66" +uuid = "2d5283b6-8564-42b6-bb00-83ed8e915756" +version = "1.3.1" +weakdeps = ["StaticArraysCore"] + + [deps.FastCholesky.extensions] + StaticArraysCoreExt = "StaticArraysCore" [[deps.FastGaussQuadrature]] deps = ["LinearAlgebra", "SpecialFunctions", "StaticArrays"] @@ -273,82 +369,107 @@ version = "0.5.1" [[deps.FileIO]] deps = ["Pkg", "Requires", "UUIDs"] -git-tree-sha1 = "299dc33549f68299137e51e6d49a13b5b1da9673" +git-tree-sha1 = "82d8afa92ecf4b52d78d869f038ebfb881267322" uuid = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549" -version = "1.16.1" +version = "1.16.3" [[deps.FileWatching]] uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee" [[deps.FillArrays]] -deps = ["LinearAlgebra", "Random", "SparseArrays", "Statistics"] -git-tree-sha1 = "7072f1e3e5a8be51d525d64f63d3ec1287ff2790" +deps = ["LinearAlgebra"] +git-tree-sha1 = "6a70198746448456524cb442b8af316927ff3e1a" uuid = "1a297f60-69ca-5386-bcde-b61e274b549b" -version = "0.13.11" +version = "1.13.0" +weakdeps = ["PDMats", "SparseArrays", "Statistics"] + + [deps.FillArrays.extensions] + FillArraysPDMatsExt = "PDMats" + FillArraysSparseArraysExt = "SparseArrays" + FillArraysStatisticsExt = "Statistics" [[deps.FiniteDiff]] -deps = ["ArrayInterface", "LinearAlgebra", "Requires", "Setfield", "SparseArrays", "StaticArrays"] -git-tree-sha1 = "6604e18a0220650dbbea7854938768f15955dd8e" +deps = ["ArrayInterface", "LinearAlgebra", "Setfield", "SparseArrays"] +git-tree-sha1 = "f9219347ebf700e77ca1d48ef84e4a82a6701882" uuid = "6a86dc24-6348-571c-b903-95158fe2bd41" -version = "2.20.0" +version = "2.24.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.FixedArguments]] +deps = ["TupleTools"] +git-tree-sha1 = "befa1ad59c77643dec6fc20d71fd6f5c3afcdadd" +uuid = "4130a065-6d82-41fe-881e-7a5c65156f7d" +version = "0.1.1" [[deps.FixedPointNumbers]] deps = ["Statistics"] -git-tree-sha1 = "335bfdceacc84c5cdf16aadc768aa5ddfc5383cc" +git-tree-sha1 = "05882d6995ae5c12bb5f36dd2ed3f61c98cbb172" uuid = "53c48c17-4a7d-5ca2-90c5-79b7896eea93" -version = "0.8.4" +version = "0.8.5" [[deps.Fontconfig_jll]] -deps = ["Artifacts", "Bzip2_jll", "Expat_jll", "FreeType2_jll", "JLLWrappers", "Libdl", "Libuuid_jll", "Pkg", "Zlib_jll"] -git-tree-sha1 = "21efd19106a55620a188615da6d3d06cd7f6ee03" +deps = ["Artifacts", "Bzip2_jll", "Expat_jll", "FreeType2_jll", "JLLWrappers", "Libdl", "Libuuid_jll", "Zlib_jll"] +git-tree-sha1 = "db16beca600632c95fc8aca29890d83788dd8b23" uuid = "a3f928ae-7b40-5064-980b-68af3947d34b" -version = "2.13.93+0" +version = "2.13.96+0" -[[deps.Formatting]] -deps = ["Printf"] -git-tree-sha1 = "8339d61043228fdd3eb658d86c926cb282ae72a8" -uuid = "59287772-0a20-5a39-b81b-1366585eb4c0" -version = "0.4.2" +[[deps.Format]] +git-tree-sha1 = "9c68794ef81b08086aeb32eeaf33531668d5f5fc" +uuid = "1fa38f19-a742-5d3f-a2b9-30dd87b9d5f8" +version = "1.3.7" [[deps.ForwardDiff]] -deps = ["CommonSubexpressions", "DiffResults", "DiffRules", "LinearAlgebra", "LogExpFunctions", "NaNMath", "Preferences", "Printf", "Random", "SpecialFunctions", "StaticArrays"] -git-tree-sha1 = "00e252f4d706b3d55a8863432e742bf5717b498d" +deps = ["CommonSubexpressions", "DiffResults", "DiffRules", "LinearAlgebra", "LogExpFunctions", "NaNMath", "Preferences", "Printf", "Random", "SpecialFunctions"] +git-tree-sha1 = "cf0fe81336da9fb90944683b8c41984b08793dad" uuid = "f6369f11-7733-5829-9624-2563aa707210" -version = "0.10.35" +version = "0.10.36" +weakdeps = ["StaticArrays"] + + [deps.ForwardDiff.extensions] + ForwardDiffStaticArraysExt = "StaticArrays" [[deps.FreeType2_jll]] -deps = ["Artifacts", "Bzip2_jll", "JLLWrappers", "Libdl", "Pkg", "Zlib_jll"] -git-tree-sha1 = "87eb71354d8ec1a96d4a7636bd57a7347dde3ef9" +deps = ["Artifacts", "Bzip2_jll", "JLLWrappers", "Libdl", "Zlib_jll"] +git-tree-sha1 = "5c1d8ae0efc6c2e7b1fc502cbe25def8f661b7bc" uuid = "d7e528f0-a631-5988-bf34-fe36492bcfd7" -version = "2.10.4+0" +version = "2.13.2+0" [[deps.FriBidi_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "aa31987c2ba8704e23c6c8ba8a4f769d5d7e4f91" +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "1ed150b39aebcc805c26b93a8d0122c940f64ce2" uuid = "559328eb-81f9-559d-9380-de523a88c83c" -version = "1.0.10+0" +version = "1.0.14+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" +deps = ["Artifacts", "JLLWrappers", "Libdl", "Libglvnd_jll", "Xorg_libXcursor_jll", "Xorg_libXi_jll", "Xorg_libXinerama_jll", "Xorg_libXrandr_jll", "libdecor_jll", "xkbcommon_jll"] +git-tree-sha1 = "532f9126ad901533af1d4f5c198867227a7bb077" uuid = "0656b61e-2033-5cc2-a64a-77c0f6c09b89" -version = "3.3.8+0" +version = "3.4.0+1" [[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 = "d014972cd6f5afb1f8cd7adf000b7a966d62c304" +deps = ["Artifacts", "Base64", "DelimitedFiles", "Downloads", "GR_jll", "HTTP", "JSON", "Libdl", "LinearAlgebra", "Preferences", "Printf", "Qt6Wayland_jll", "Random", "Serialization", "Sockets", "TOML", "Tar", "Test", "p7zip_jll"] +git-tree-sha1 = "629693584cef594c3f6f99e76e7a7ad17e60e8d5" uuid = "28b8d3ca-fb5f-59d9-8090-bfdbd6d07a71" -version = "0.72.5" +version = "0.73.7" [[deps.GR_jll]] -deps = ["Artifacts", "Bzip2_jll", "Cairo_jll", "FFMPEG_jll", "Fontconfig_jll", "GLFW_jll", "JLLWrappers", "JpegTurbo_jll", "Libdl", "Libtiff_jll", "Pixman_jll", "Qt5Base_jll", "Zlib_jll", "libpng_jll"] -git-tree-sha1 = "f670f269909a9114df1380cc0fcaa316fff655fb" +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 = "a8863b69c2a0859f2c2c87ebdc4c6712e88bdf0d" uuid = "d2c73de3-f751-5644-a686-071e5b155ba9" -version = "0.72.5+0" +version = "0.73.7+0" [[deps.GaussQuadrature]] deps = ["SpecialFunctions"] @@ -363,16 +484,25 @@ 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" +deps = ["Artifacts", "Gettext_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Libiconv_jll", "Libmount_jll", "PCRE2_jll", "Zlib_jll"] +git-tree-sha1 = "7c82e6a6cd34e9d935e9aa4051b66c6ff3af59ba" uuid = "7746bdde-850d-59dc-9ae8-88ece973131d" -version = "2.74.0+2" +version = "2.80.2+0" [[deps.GraphPPL]] -deps = ["MacroTools", "TupleTools"] -git-tree-sha1 = "36d1953626dcb87e87824488167a5a27e6046424" +deps = ["BitSetTuples", "DataStructures", "Dictionaries", "MacroTools", "MetaGraphsNext", "NamedTupleTools", "Static", "StaticArrays", "TupleTools", "Unrolled"] +git-tree-sha1 = "d307859581b09e7ac9df5fc9262aeb07723663b2" uuid = "b3f8163a-e979-4e85-b43e-1f63d8c8b42c" -version = "3.1.0" +version = "4.3.3" + + [deps.GraphPPL.extensions] + GraphPPLDistributionsExt = "Distributions" + GraphPPLPlottingExt = ["Cairo", "GraphPlot"] + + [deps.GraphPPL.weakdeps] + Cairo = "159f3aea-2a34-519c-b102-8c37f9878175" + Distributions = "31c24e10-a181-5473-b8eb-7969acd0382f" + GraphPlot = "a2cc645c-3eea-5389-862e-a155d0052231" [[deps.Graphite2_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] @@ -380,6 +510,12 @@ git-tree-sha1 = "344bf40dcab1073aca04aa0df4fb092f920e4011" uuid = "3b182d85-2403-5c21-9c21-1e1f0cc25472" version = "1.3.14+0" +[[deps.Graphs]] +deps = ["ArnoldiMethod", "Compat", "DataStructures", "Distributed", "Inflate", "LinearAlgebra", "Random", "SharedArrays", "SimpleTraits", "SparseArrays", "Statistics"] +git-tree-sha1 = "ebd18c326fa6cee1efb7da9a3b45cf69da2ed4d9" +uuid = "86223c79-3864-5bf0-83f7-82e725a168b6" +version = "1.11.2" + [[deps.Grisu]] git-tree-sha1 = "53bb909d1151e57e2484c3d1b53e19552b887fb2" uuid = "42e2da0e-8278-4e71-bc24-59509adca0fe" @@ -387,54 +523,63 @@ version = "1.0.2" [[deps.HCubature]] deps = ["Combinatorics", "DataStructures", "LinearAlgebra", "QuadGK", "StaticArrays"] -git-tree-sha1 = "e95b36755023def6ebc3d269e6483efa8b2f7f65" +git-tree-sha1 = "19ef9f0cb324eed957b7fe7257ac84e8ed8a48ec" uuid = "19dc6840-f33b-545b-b366-655c7e3ffd49" -version = "1.5.1" +version = "1.7.0" [[deps.HTTP]] -deps = ["Base64", "CodecZlib", "ConcurrentUtilities", "Dates", "Logging", "LoggingExtras", "MbedTLS", "NetworkOptions", "OpenSSL", "Random", "SimpleBufferStream", "Sockets", "URIs", "UUIDs"] -git-tree-sha1 = "ba9eca9f8bdb787c6f3cf52cb4a404c0e349a0d1" +deps = ["Base64", "CodecZlib", "ConcurrentUtilities", "Dates", "ExceptionUnwrapping", "Logging", "LoggingExtras", "MbedTLS", "NetworkOptions", "OpenSSL", "Random", "SimpleBufferStream", "Sockets", "URIs", "UUIDs"] +git-tree-sha1 = "d1d712be3164d61d1fb98e7ce9bcbc6cc06b45ed" uuid = "cd3eb016-35fb-5094-929b-558a96fad6f3" -version = "1.9.5" +version = "1.10.8" [[deps.HarfBuzz_jll]] -deps = ["Artifacts", "Cairo_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "Graphite2_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Pkg"] -git-tree-sha1 = "129acf094d168394e80ee1dc4bc06ec835e510a3" +deps = ["Artifacts", "Cairo_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "Graphite2_jll", "JLLWrappers", "Libdl", "Libffi_jll"] +git-tree-sha1 = "401e4f3f30f43af2c8478fc008da50096ea5240f" uuid = "2e76f6c2-a576-52d4-95c1-20adfe4de566" -version = "2.8.1+1" +version = "8.3.1+0" [[deps.HostCPUFeatures]] deps = ["BitTwiddlingConvenienceFunctions", "IfElse", "Libdl", "Static"] -git-tree-sha1 = "734fd90dd2f920a2f1921d5388dcebe805b262dc" +git-tree-sha1 = "8e070b599339d622e9a081d17230d74a5c473293" uuid = "3e5b6fbb-0976-4d2c-9146-d79de83f2fb0" -version = "0.1.14" +version = "0.1.17" [[deps.HypergeometricFunctions]] -deps = ["DualNumbers", "LinearAlgebra", "OpenLibm_jll", "SpecialFunctions"] -git-tree-sha1 = "84204eae2dd237500835990bcade263e27674a93" +deps = ["LinearAlgebra", "OpenLibm_jll", "SpecialFunctions"] +git-tree-sha1 = "7c4195be1649ae622304031ed46a2f4df989f1eb" uuid = "34004b35-14d8-5ef3-9330-4cdb6864b03a" -version = "0.3.16" +version = "0.3.24" [[deps.IfElse]] git-tree-sha1 = "debdd00ffef04665ccbb3e150747a77560e8fad1" uuid = "615f187c-cbe4-4ef1-ba3b-2fcf58d6d173" version = "0.1.1" +[[deps.Indexing]] +git-tree-sha1 = "ce1566720fd6b19ff3411404d4b977acd4814f9f" +uuid = "313cdc1a-70c2-5d6a-ae34-0150d3930a38" +version = "1.1.1" + +[[deps.Inflate]] +git-tree-sha1 = "d1b1b796e47d94588b3757fe84fbf65a5ec4a80d" +uuid = "d25df0c9-e2be-5dd7-82c8-3ad0b3e990b9" +version = "0.1.5" + [[deps.InteractiveUtils]] deps = ["Markdown"] uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240" [[deps.IntervalSets]] -deps = ["Dates", "Random", "Statistics"] -git-tree-sha1 = "16c0cc91853084cb5f58a78bd209513900206ce6" +git-tree-sha1 = "dba9ddf07f77f60450fe5d2e2beb9854d9a49bd0" uuid = "8197267c-284f-5f27-9208-e0e47529a953" -version = "0.7.4" +version = "0.7.10" +weakdeps = ["Random", "RecipesBase", "Statistics"] -[[deps.InverseFunctions]] -deps = ["Test"] -git-tree-sha1 = "6667aadd1cdee2c6cd068128b3d226ebc4fb0c67" -uuid = "3587e190-3f89-42d0-90ee-14403ec27112" -version = "0.1.9" + [deps.IntervalSets.extensions] + IntervalSetsRandomExt = "Random" + IntervalSetsRecipesBaseExt = "RecipesBase" + IntervalSetsStatisticsExt = "Statistics" [[deps.IrrationalConstants]] git-tree-sha1 = "630b497eafcc20001bba38a4651b327dcfc491d2" @@ -442,22 +587,22 @@ uuid = "92d709cd-6900-40b7-9082-c6be49f344b6" version = "0.2.2" [[deps.JLD2]] -deps = ["FileIO", "MacroTools", "Mmap", "OrderedCollections", "Pkg", "Printf", "Reexport", "Requires", "TranscodingStreams", "UUIDs"] -git-tree-sha1 = "42c17b18ced77ff0be65957a591d34f4ed57c631" +deps = ["FileIO", "MacroTools", "Mmap", "OrderedCollections", "PrecompileTools", "Requires", "TranscodingStreams"] +git-tree-sha1 = "a0746c21bdc986d0dc293efa6b1faee112c37c28" uuid = "033835bb-8acc-5ee8-8aae-3f567f8a3819" -version = "0.4.31" +version = "0.4.53" [[deps.JLFzf]] deps = ["Pipe", "REPL", "Random", "fzf_jll"] -git-tree-sha1 = "f377670cda23b6b7c1c0b3893e37451c5c1a2185" +git-tree-sha1 = "39d64b09147620f5ffbf6b2d3255be3c901bec63" uuid = "1019f520-868f-41f5-a6de-eb00f4b6a39c" -version = "0.1.5" +version = "0.1.8" [[deps.JLLWrappers]] -deps = ["Preferences"] -git-tree-sha1 = "abc9885a7ca2052a736a600f7fa66209f96506e1" +deps = ["Artifacts", "Preferences"] +git-tree-sha1 = "f389674c99bfcde17dc57454011aa44d5a260a40" uuid = "692b3bcd-3c85-4b1f-b108-f13ce0eb3210" -version = "1.4.1" +version = "1.6.0" [[deps.JSON]] deps = ["Dates", "Mmap", "Parsers", "Unicode"] @@ -467,15 +612,15 @@ version = "0.21.4" [[deps.JpegTurbo_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "6f2675ef130a300a112286de91973805fcc5ffbc" +git-tree-sha1 = "c84a835e1a09b289ffcd2271bf2a337bbdda6637" uuid = "aacddb02-875f-59d6-b918-886e6ef4fbf8" -version = "2.1.91+0" +version = "3.0.3+0" [[deps.LAME_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "f6250b16881adf048549549fba48b1161acdac8c" +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "170b660facf5df5de098d866564877e119141cbd" uuid = "c1c5ebd0-6772-5130-a774-d5fcae4a789d" -version = "3.100.1+0" +version = "3.100.2+0" [[deps.LERC_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] @@ -483,53 +628,86 @@ git-tree-sha1 = "bf36f528eec6634efc60d7ec062008f171071434" uuid = "88015f11-f218-50d7-93a8-a6af411a945d" version = "3.0.0+1" +[[deps.LLVMOpenMP_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "78211fb6cbc872f77cad3fc0b6cf647d923f4929" +uuid = "1d63c593-3942-5779-bab2-d838dc0a180e" +version = "18.1.7+0" + [[deps.LZO_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "e5b909bcf985c5e2605737d2ce278ed791b89be6" +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "70c5da094887fd2cae843b8db33920bac4b6f07d" uuid = "dd4b983a-f0e5-5f8d-a1b7-129d4a5fb1ac" -version = "2.10.1+0" +version = "2.10.2+0" [[deps.LaTeXStrings]] -git-tree-sha1 = "f2355693d6778a178ade15952b7ac47a4ff97996" +git-tree-sha1 = "50901ebc375ed41dbf8058da26f9de442febbbec" uuid = "b964fa9f-0449-5b57-a5c2-d3ea65f4040f" -version = "1.3.0" +version = "1.3.1" [[deps.Latexify]] -deps = ["Formatting", "InteractiveUtils", "LaTeXStrings", "MacroTools", "Markdown", "OrderedCollections", "Printf", "Requires"] -git-tree-sha1 = "099e356f267354f46ba65087981a77da23a279b7" +deps = ["Format", "InteractiveUtils", "LaTeXStrings", "MacroTools", "Markdown", "OrderedCollections", "Requires"] +git-tree-sha1 = "ce5f5621cac23a86011836badfedf664a612cee4" uuid = "23fbe1c1-3f47-55db-b15f-69d7ec21a316" -version = "0.16.0" +version = "0.16.5" + + [deps.Latexify.extensions] + DataFramesExt = "DataFrames" + SparseArraysExt = "SparseArrays" + SymEngineExt = "SymEngine" + + [deps.Latexify.weakdeps] + DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0" + SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" + SymEngine = "123dc426-2d89-5057-bbad-38513e3affd8" [[deps.LayoutPointers]] deps = ["ArrayInterface", "LinearAlgebra", "ManualMemory", "SIMDTypes", "Static", "StaticArrayInterface"] -git-tree-sha1 = "88b8f66b604da079a627b6fb2860d3704a6729a1" +git-tree-sha1 = "a9eaadb366f5493a5654e843864c13d8b107548c" uuid = "10f19ff3-798f-405d-979b-55457f8fc047" -version = "0.1.14" +version = "0.1.17" [[deps.LazyArrays]] -deps = ["ArrayLayouts", "FillArrays", "LinearAlgebra", "MacroTools", "MatrixFactorizations", "SparseArrays", "StaticArrays"] -git-tree-sha1 = "7402f6be1a28a05516c6881596879e6d18d28039" +deps = ["ArrayLayouts", "FillArrays", "LinearAlgebra", "MacroTools", "SparseArrays"] +git-tree-sha1 = "360f6039babd6e4d6364eff0d4fc9120834a2d9a" uuid = "5078a376-72f3-5289-bfd5-ec5146d43c02" -version = "0.22.18" +version = "2.2.1" + + [deps.LazyArrays.extensions] + LazyArraysBandedMatricesExt = "BandedMatrices" + LazyArraysBlockArraysExt = "BlockArrays" + LazyArraysBlockBandedMatricesExt = "BlockBandedMatrices" + LazyArraysStaticArraysExt = "StaticArrays" + + [deps.LazyArrays.weakdeps] + BandedMatrices = "aae01518-5342-5314-be14-df237901396f" + BlockArrays = "8e7c35d0-a365-5155-bbbb-fb81a777f24e" + BlockBandedMatrices = "ffab5731-97b5-5995-9138-79e8c1846df0" + StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" [[deps.LibCURL]] deps = ["LibCURL_jll", "MozillaCACerts_jll"] uuid = "b27032c2-a3e7-50c8-80cd-2d36dbcbfd21" -version = "0.6.3" +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 = "7.84.0+0" +version = "8.4.0+0" [[deps.LibGit2]] -deps = ["Base64", "NetworkOptions", "Printf", "SHA"] +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.10.2+0" +version = "1.11.0+1" [[deps.Libdl]] uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb" @@ -541,10 +719,10 @@ 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" +deps = ["Artifacts", "JLLWrappers", "Libdl", "Libgpg_error_jll"] +git-tree-sha1 = "9fd170c4bbfd8b935fdc5f8b7aa33532c991a673" uuid = "d4300ac3-e22c-5743-9152-c294e39db1e4" -version = "1.8.7+0" +version = "1.8.11+0" [[deps.Libglvnd_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll", "Xorg_libXext_jll"] @@ -553,71 +731,90 @@ uuid = "7e76a0d4-f3c7-5321-8279-8d96eeed0f29" version = "1.6.0+0" [[deps.Libgpg_error_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "c333716e46366857753e273ce6a69ee0945a6db9" +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "fbb1f2bef882392312feb1ede3615ddc1e9b99ed" uuid = "7add5ba3-2f88-524e-9cd5-f83b8a55f7b8" -version = "1.42.0+0" +version = "1.49.0+0" [[deps.Libiconv_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "c7cb1f5d892775ba13767a87c7ada0b980ea0a71" +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "f9557a255370125b405568f9767d6d195822a175" uuid = "94ce4f54-9a6c-5748-9c1c-f9c7231a4531" -version = "1.16.1+2" +version = "1.17.0+0" [[deps.Libmount_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "9c30530bf0effd46e15e0fdcf2b8636e78cbbd73" +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "0c4f9c4f1a50d8f35048fa0532dabbadf702f81e" uuid = "4b2f31a3-9ecc-558c-b454-b3730dcb73e9" -version = "2.35.0+0" +version = "2.40.1+0" [[deps.Libtiff_jll]] -deps = ["Artifacts", "JLLWrappers", "JpegTurbo_jll", "LERC_jll", "Libdl", "Pkg", "Zlib_jll", "Zstd_jll"] -git-tree-sha1 = "3eb79b0ca5764d4799c06699573fd8f533259713" +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.4.0+0" +version = "4.5.1+1" [[deps.Libuuid_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "7f3efec06033682db852f8b3bc3c1d2b0a0ab066" +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "5ee6203157c120d79034c748a2acba45b82b8807" uuid = "38a345b3-de98-5d2b-a5d3-14cd9215e700" -version = "2.36.0+0" +version = "2.40.1+0" [[deps.LineSearches]] deps = ["LinearAlgebra", "NLSolversBase", "NaNMath", "Parameters", "Printf"] -git-tree-sha1 = "7bbea35cec17305fc70a0e5b4641477dc0789d9d" +git-tree-sha1 = "e4c3be53733db1051cc15ecf573b1042b3a712a1" uuid = "d3d80556-e9d4-5f37-9878-2ab0fcc64255" -version = "7.2.0" +version = "7.3.0" [[deps.LinearAlgebra]] -deps = ["Libdl", "libblastrampoline_jll"] +deps = ["Libdl", "OpenBLAS_jll", "libblastrampoline_jll"] uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" [[deps.LogExpFunctions]] -deps = ["ChainRulesCore", "ChangesOfVariables", "DocStringExtensions", "InverseFunctions", "IrrationalConstants", "LinearAlgebra"] -git-tree-sha1 = "0a1b7c2863e44523180fdb3146534e265a91870b" +deps = ["DocStringExtensions", "IrrationalConstants", "LinearAlgebra"] +git-tree-sha1 = "a2d09619db4e765091ee5c6ffe8872849de0feea" uuid = "2ab3a3ac-af41-5b50-aa03-7779005ae688" -version = "0.3.23" +version = "0.3.28" + + [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" +git-tree-sha1 = "c1dd6d7978c12545b4179fb6153b9250c96b0075" uuid = "e6f89c97-d47a-5376-807f-9c37f3926c36" -version = "1.0.0" +version = "1.0.3" [[deps.LoopVectorization]] -deps = ["ArrayInterface", "ArrayInterfaceCore", "CPUSummary", "ChainRulesCore", "CloseOpenIntervals", "DocStringExtensions", "ForwardDiff", "HostCPUFeatures", "IfElse", "LayoutPointers", "LinearAlgebra", "OffsetArrays", "PolyesterWeave", "PrecompileTools", "SIMDTypes", "SLEEFPirates", "SpecialFunctions", "Static", "StaticArrayInterface", "ThreadingUtilities", "UnPack", "VectorizationBase"] -git-tree-sha1 = "3bb62b5003bc7d2d49f26663484267dc49fa1bf5" +deps = ["ArrayInterface", "CPUSummary", "CloseOpenIntervals", "DocStringExtensions", "HostCPUFeatures", "IfElse", "LayoutPointers", "LinearAlgebra", "OffsetArrays", "PolyesterWeave", "PrecompileTools", "SIMDTypes", "SLEEFPirates", "Static", "StaticArrayInterface", "ThreadingUtilities", "UnPack", "VectorizationBase"] +git-tree-sha1 = "8084c25a250e00ae427a379a5b607e7aed96a2dd" uuid = "bdcacae8-1622-11e9-2a5c-532679323890" -version = "0.12.159" +version = "0.12.171" + + [deps.LoopVectorization.extensions] + ForwardDiffExt = ["ChainRulesCore", "ForwardDiff"] + SpecialFunctionsExt = "SpecialFunctions" + + [deps.LoopVectorization.weakdeps] + ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" + ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" + SpecialFunctions = "276daf66-3868-5448-9aa4-cd146d93841b" [[deps.MacroTools]] deps = ["Markdown", "Random"] -git-tree-sha1 = "42324d08725e200c23d4dfb549e0d5d89dede2d2" +git-tree-sha1 = "2fa9ee3e63fd3a4f7a9a4f4744a52f4856de82df" uuid = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09" -version = "0.5.10" +version = "0.5.13" [[deps.ManualMemory]] git-tree-sha1 = "bcaef4fc7a0cfe2cba636d84cda54b5e4e4ca3cd" @@ -628,40 +825,46 @@ version = "0.1.8" deps = ["Base64"] uuid = "d6f4376e-aef5-505a-96c1-9c027394607a" -[[deps.MatrixFactorizations]] -deps = ["ArrayLayouts", "LinearAlgebra", "Printf", "Random"] -git-tree-sha1 = "0ff59b4b9024ab9a736db1ad902d2b1b48441c19" -uuid = "a3b82374-2e81-5b9e-98ce-41277c0e4c87" -version = "0.9.6" +[[deps.MatrixCorrectionTools]] +deps = ["LinearAlgebra"] +git-tree-sha1 = "73f93b21eae5714c282396bfae9d9f13d6ad04b6" +uuid = "41f81499-25de-46de-b591-c3cfc21e9eaf" +version = "1.2.0" [[deps.MbedTLS]] -deps = ["Dates", "MbedTLS_jll", "MozillaCACerts_jll", "Random", "Sockets"] -git-tree-sha1 = "03a9b9718f5682ecb107ac9f7308991db4ce395b" +deps = ["Dates", "MbedTLS_jll", "MozillaCACerts_jll", "NetworkOptions", "Random", "Sockets"] +git-tree-sha1 = "c067a280ddc25f196b5e7df3877c6b226d390aaf" uuid = "739be429-bea8-5141-9913-cc70e7f3736d" -version = "1.1.7" +version = "1.1.9" [[deps.MbedTLS_jll]] deps = ["Artifacts", "Libdl"] uuid = "c8ffd9c3-330d-5841-b78e-0817d7145fa1" -version = "2.28.0+0" +version = "2.28.2+1" [[deps.Measures]] git-tree-sha1 = "c13304c81eec1ed3af7fc20e75fb6b26092a1102" uuid = "442fdcdd-2543-5da2-b0f3-8c86c306513e" version = "0.3.2" +[[deps.MetaGraphsNext]] +deps = ["Graphs", "JLD2", "SimpleTraits"] +git-tree-sha1 = "a385fe5aa1384647e55c0c8773457b71e9b08518" +uuid = "fa8bd995-216d-47f1-8a91-f3b68fbeb377" +version = "0.7.0" + [[deps.Missings]] deps = ["DataAPI"] -git-tree-sha1 = "f66bdc5de519e8f8ae43bdc598782d35a25b1272" +git-tree-sha1 = "ec4f7fbeab05d7747bdf98eb74d130a2a2ed298d" uuid = "e1d29d7a-bbdc-5cf2-9ac0-f12de2c33e28" -version = "1.1.0" +version = "1.2.0" [[deps.Mmap]] uuid = "a63ad114-7e13-5084-954f-fe012c677804" [[deps.MozillaCACerts_jll]] uuid = "14a3606d-f60d-562e-9121-12d972cd8159" -version = "2022.2.1" +version = "2023.1.10" [[deps.NLSolversBase]] deps = ["DiffResults", "Distributed", "FiniteDiff", "ForwardDiff"] @@ -675,15 +878,23 @@ git-tree-sha1 = "0877504529a3e5c3343c6f8b4c0381e57e4387e4" uuid = "77ba4419-2d1f-58cd-9bb1-8ffee604a2e3" version = "1.0.2" +[[deps.NamedTupleTools]] +git-tree-sha1 = "90914795fc59df44120fe3fff6742bb0d7adb1d0" +uuid = "d9ec5142-1e00-5aa0-9d6a-321866360f50" +version = "0.14.3" + [[deps.NetworkOptions]] uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" version = "1.2.0" [[deps.OffsetArrays]] -deps = ["Adapt"] -git-tree-sha1 = "82d7c9e310fe55aa54996e6f7f94674e2a38fcb4" +git-tree-sha1 = "1a27764e945a152f7ca7efa04de513d473e9542e" uuid = "6fe1bfb0-de20-5000-8ca7-80f57d26f881" -version = "1.12.9" +version = "1.14.1" +weakdeps = ["Adapt"] + + [deps.OffsetArrays.extensions] + OffsetArraysAdaptExt = "Adapt" [[deps.Ogg_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] @@ -694,24 +905,24 @@ version = "1.3.5+1" [[deps.OpenBLAS_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"] uuid = "4536629a-c528-5b80-bd46-f80d51c5b363" -version = "0.3.20+0" +version = "0.3.23+4" [[deps.OpenLibm_jll]] deps = ["Artifacts", "Libdl"] uuid = "05823500-19ac-5b8b-9628-191a04bc5112" -version = "0.8.1+0" +version = "0.8.1+2" [[deps.OpenSSL]] deps = ["BitFlags", "Dates", "MozillaCACerts_jll", "OpenSSL_jll", "Sockets"] -git-tree-sha1 = "51901a49222b09e3743c65b8847687ae5fc78eb2" +git-tree-sha1 = "38cb508d080d21dc1128f7fb04f20387ed4c0af4" uuid = "4d8831e6-92b7-49fb-bdf8-b643e874388c" -version = "1.4.1" +version = "1.4.3" [[deps.OpenSSL_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "9ff31d101d987eb9d66bd8b176ac7c277beccd09" +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "1b35263570443fdd9e76c76b7062116e2f374ab8" uuid = "458c3c95-2e84-50aa-8efc-19380b2a3a95" -version = "1.1.20+0" +version = "3.0.15+0" [[deps.OpenSpecFun_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Pkg"] @@ -721,31 +932,43 @@ version = "0.5.5+0" [[deps.Optim]] deps = ["Compat", "FillArrays", "ForwardDiff", "LineSearches", "LinearAlgebra", "NLSolversBase", "NaNMath", "Parameters", "PositiveFactorizations", "Printf", "SparseArrays", "StatsBase"] -git-tree-sha1 = "a89b11f0f354f06099e4001c151dffad7ebab015" +git-tree-sha1 = "d9b79c4eed437421ac4285148fcadf42e0700e89" uuid = "429524aa-4258-5aef-a3af-852621145aeb" -version = "1.7.5" +version = "1.9.4" + + [deps.Optim.extensions] + OptimMOIExt = "MathOptInterface" + + [deps.Optim.weakdeps] + MathOptInterface = "b8f27783-ece8-5eb3-8dc8-9495eed66fee" [[deps.Opus_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "51a08fb14ec28da2ec7a927c4337e4332c2a4720" +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "6703a85cb3781bd5909d48730a67205f3f31a575" uuid = "91d4177d-7536-5919-b921-800302f37372" -version = "1.3.2+0" +version = "1.3.3+0" [[deps.OrderedCollections]] -git-tree-sha1 = "d321bf2de576bf25ec4d3e4360faca399afca282" +git-tree-sha1 = "dfdf5519f235516220579f949664f1bf44e741c5" uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d" -version = "1.6.0" +version = "1.6.3" [[deps.PCRE2_jll]] deps = ["Artifacts", "Libdl"] uuid = "efcefdf7-47ab-520b-bdef-62a2eaa19f15" -version = "10.40.0+0" +version = "10.42.0+1" [[deps.PDMats]] deps = ["LinearAlgebra", "SparseArrays", "SuiteSparse"] -git-tree-sha1 = "67eae2738d63117a196f497d7db789821bce61d1" +git-tree-sha1 = "949347156c25054de2db3b166c52ac4728cbad65" uuid = "90014a1f-27ba-587c-ab20-58faa44d9150" -version = "0.11.17" +version = "0.11.31" + +[[deps.Pango_jll]] +deps = ["Artifacts", "Cairo_jll", "Fontconfig_jll", "FreeType2_jll", "FriBidi_jll", "Glib_jll", "HarfBuzz_jll", "JLLWrappers", "Libdl"] +git-tree-sha1 = "e127b609fb9ecba6f201ba7ab753d5a605d53801" +uuid = "36c8627f-9965-5494-a995-c6b170f724f3" +version = "1.54.1+0" [[deps.Parameters]] deps = ["OrderedCollections", "UnPack"] @@ -755,9 +978,9 @@ version = "0.12.3" [[deps.Parsers]] deps = ["Dates", "PrecompileTools", "UUIDs"] -git-tree-sha1 = "a5aef8d4a6e8d81f171b2bd4be5265b01384c74c" +git-tree-sha1 = "8489905bcdbcfac64d1daa51ca07c0d8f0283821" uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0" -version = "2.5.10" +version = "2.8.1" [[deps.Pipe]] git-tree-sha1 = "6842804e7867b115ca9de748a0cf6b364523c16d" @@ -765,39 +988,53 @@ uuid = "b98c9c47-44ae-5843-9183-064241ee97a0" version = "1.3.0" [[deps.Pixman_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "b4f5d02549a10e20780a24fce72bea96b6329e29" +deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LLVMOpenMP_jll", "Libdl"] +git-tree-sha1 = "35621f10a7531bc8fa58f74610b1bfb70a3cfc6b" uuid = "30392449-352a-5448-841d-b1acce4e97dc" -version = "0.40.1+0" +version = "0.43.4+0" [[deps.Pkg]] -deps = ["Artifacts", "Dates", "Downloads", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "Serialization", "TOML", "Tar", "UUIDs", "p7zip_jll"] +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.8.0" +version = "1.10.0" [[deps.PlotThemes]] deps = ["PlotUtils", "Statistics"] -git-tree-sha1 = "1f03a2d339f42dca4a4da149c7e15e9b896ad899" +git-tree-sha1 = "6e55c6841ce3411ccb3457ee52fc48cb698d6fb0" uuid = "ccf2f8ad-2431-5c83-bf29-c5338b663b6a" -version = "3.1.0" +version = "3.2.0" [[deps.PlotUtils]] deps = ["ColorSchemes", "Colors", "Dates", "PrecompileTools", "Printf", "Random", "Reexport", "Statistics"] -git-tree-sha1 = "f92e1315dadf8c46561fb9396e525f7200cdc227" +git-tree-sha1 = "7b1a9df27f072ac4c9c7cbe5efb198489258d1f5" uuid = "995b91a9-d308-5afd-9ec6-746e21dbc043" -version = "1.3.5" +version = "1.4.1" [[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", "Unzip"] -git-tree-sha1 = "d03ef538114b38f89d66776f2d8fdc0280f90621" +deps = ["Base64", "Contour", "Dates", "Downloads", "FFMPEG", "FixedPointNumbers", "GR", "JLFzf", "JSON", "LaTeXStrings", "Latexify", "LinearAlgebra", "Measures", "NaNMath", "Pkg", "PlotThemes", "PlotUtils", "PrecompileTools", "Printf", "REPL", "Random", "RecipesBase", "RecipesPipeline", "Reexport", "RelocatableFolders", "Requires", "Scratch", "Showoff", "SparseArrays", "Statistics", "StatsBase", "TOML", "UUIDs", "UnicodeFun", "UnitfulLatexify", "Unzip"] +git-tree-sha1 = "45470145863035bb124ca51b320ed35d071cc6c2" uuid = "91a5bcdd-55d7-5caf-9e0b-520d859cae80" -version = "1.38.12" +version = "1.40.8" + + [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.PolyesterWeave]] deps = ["BitTwiddlingConvenienceFunctions", "CPUSummary", "IfElse", "Static", "ThreadingUtilities"] -git-tree-sha1 = "240d7170f5ffdb285f9427b92333c3463bf65bf6" +git-tree-sha1 = "645bed98cd47f72f67316fd42fc47dee771aefcd" uuid = "1d0040c9-8b98-4ee7-8388-3f51789ca0ad" -version = "0.2.1" +version = "0.2.2" [[deps.PositiveFactorizations]] deps = ["LinearAlgebra"] @@ -807,15 +1044,15 @@ version = "0.2.4" [[deps.PrecompileTools]] deps = ["Preferences"] -git-tree-sha1 = "259e206946c293698122f63e2b513a7c99a244e8" +git-tree-sha1 = "5aa36f7049a63a1528fe8f7c3f2113413ffd4e1f" uuid = "aea7be01-6a6a-4083-8856-8a6e6704d82a" -version = "1.1.1" +version = "1.2.1" [[deps.Preferences]] deps = ["TOML"] -git-tree-sha1 = "7eb1686b4f04b82f96ed7a4ea5890a4f0c7a09f1" +git-tree-sha1 = "9306f6085165d270f7e3db02af26a400d580f5c6" uuid = "21216c6a-2e73-6563-6e65-726566657250" -version = "1.4.0" +version = "1.4.3" [[deps.Printf]] deps = ["Unicode"] @@ -823,35 +1060,74 @@ uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7" [[deps.ProgressMeter]] deps = ["Distributed", "Printf"] -git-tree-sha1 = "d7a7aef8f8f2d537104f170139553b14dfe39fe9" +git-tree-sha1 = "8f6bc219586aef8baf0ff9a5fe16ee9c70cb65e4" uuid = "92933f4c-e287-5a05-a399-4b506db050ca" -version = "1.7.2" - -[[deps.Qt5Base_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "Fontconfig_jll", "Glib_jll", "JLLWrappers", "Libdl", "Libglvnd_jll", "OpenSSL_jll", "Pkg", "Xorg_libXext_jll", "Xorg_libxcb_jll", "Xorg_xcb_util_image_jll", "Xorg_xcb_util_keysyms_jll", "Xorg_xcb_util_renderutil_jll", "Xorg_xcb_util_wm_jll", "Zlib_jll", "xkbcommon_jll"] -git-tree-sha1 = "0c03844e2231e12fda4d0086fd7cbe4098ee8dc5" -uuid = "ea2cea3b-5b76-57ae-a6ef-0a8af62496e1" -version = "5.15.3+2" +version = "1.10.2" + +[[deps.PtrArrays]] +git-tree-sha1 = "77a42d78b6a92df47ab37e177b2deac405e1c88f" +uuid = "43287f4e-b6f4-7ad1-bb20-aadabca52c3d" +version = "1.2.1" + +[[deps.Qt6Base_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "Fontconfig_jll", "Glib_jll", "JLLWrappers", "Libdl", "Libglvnd_jll", "OpenSSL_jll", "Vulkan_Loader_jll", "Xorg_libSM_jll", "Xorg_libXext_jll", "Xorg_libXrender_jll", "Xorg_libxcb_jll", "Xorg_xcb_util_cursor_jll", "Xorg_xcb_util_image_jll", "Xorg_xcb_util_keysyms_jll", "Xorg_xcb_util_renderutil_jll", "Xorg_xcb_util_wm_jll", "Zlib_jll", "libinput_jll", "xkbcommon_jll"] +git-tree-sha1 = "492601870742dcd38f233b23c3ec629628c1d724" +uuid = "c0090381-4147-56d7-9ebc-da0b1113ec56" +version = "6.7.1+1" + +[[deps.Qt6Declarative_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Qt6Base_jll", "Qt6ShaderTools_jll"] +git-tree-sha1 = "e5dd466bf2569fe08c91a2cc29c1003f4797ac3b" +uuid = "629bc702-f1f5-5709-abd5-49b8460ea067" +version = "6.7.1+2" + +[[deps.Qt6ShaderTools_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Qt6Base_jll"] +git-tree-sha1 = "1a180aeced866700d4bebc3120ea1451201f16bc" +uuid = "ce943373-25bb-56aa-8eca-768745ed7b5a" +version = "6.7.1+1" + +[[deps.Qt6Wayland_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Qt6Base_jll", "Qt6Declarative_jll"] +git-tree-sha1 = "729927532d48cf79f49070341e1d918a65aba6b0" +uuid = "e99dba38-086e-5de3-a5b1-6e4c66e897c3" +version = "6.7.1+1" [[deps.QuadGK]] deps = ["DataStructures", "LinearAlgebra"] -git-tree-sha1 = "6ec7ac8412e83d57e313393220879ede1740f9ee" +git-tree-sha1 = "cda3b045cf9ef07a08ad46731f5a3165e56cf3da" uuid = "1fd47b50-473d-5c70-9696-f719f8f3bcdc" -version = "2.8.2" +version = "2.11.1" + + [deps.QuadGK.extensions] + QuadGKEnzymeExt = "Enzyme" + + [deps.QuadGK.weakdeps] + Enzyme = "7da242da-08ed-463a-9acd-ee780be4f1d9" [[deps.REPL]] deps = ["InteractiveUtils", "Markdown", "Sockets", "Unicode"] uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb" [[deps.Random]] -deps = ["SHA", "Serialization"] +deps = ["SHA"] uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" [[deps.ReactiveMP]] -deps = ["DataStructures", "Distributions", "DomainIntegrals", "DomainSets", "FastGaussQuadrature", "ForwardDiff", "HCubature", "LazyArrays", "LinearAlgebra", "LoopVectorization", "MacroTools", "Optim", "PositiveFactorizations", "Random", "Requires", "Rocket", "SpecialFunctions", "StaticArrays", "StatsBase", "StatsFuns", "TinyHugeNumbers", "TupleTools", "Unrolled"] -git-tree-sha1 = "7a0e786deeee1d263b15a00be5d794444f770884" +deps = ["BayesBase", "DataStructures", "DiffResults", "Distributions", "DomainIntegrals", "DomainSets", "ExponentialFamily", "FastCholesky", "FastGaussQuadrature", "FixedArguments", "ForwardDiff", "HCubature", "LazyArrays", "LinearAlgebra", "LoopVectorization", "MacroTools", "MatrixCorrectionTools", "Optim", "PositiveFactorizations", "Random", "Rocket", "SpecialFunctions", "StaticArrays", "StatsBase", "StatsFuns", "TinyHugeNumbers", "TupleTools", "Unrolled"] +git-tree-sha1 = "9417ca0019fd06c6b01a6a9bd8e9185c3484f496" uuid = "a194aa59-28ba-4574-a09c-4a745416d6e3" -version = "3.8.1" +version = "4.4.0" + + [deps.ReactiveMP.extensions] + ReactiveMPOptimisersExt = "Optimisers" + ReactiveMPProjectionExt = "ExponentialFamilyProjection" + ReactiveMPRequiresExt = "Requires" + + [deps.ReactiveMP.weakdeps] + ExponentialFamilyProjection = "17f509fa-9a96-44ba-99b2-1c5f01f0931b" + Optimisers = "3bd65402-5787-11e9-1adc-39752487f4e2" + Requires = "ae029012-a4dd-5104-9daa-d747884805df" [[deps.RecipesBase]] deps = ["PrecompileTools"] @@ -872,9 +1148,9 @@ version = "1.2.2" [[deps.RelocatableFolders]] deps = ["SHA", "Scratch"] -git-tree-sha1 = "90bc7a7c96410424509e4263e277e43250c05691" +git-tree-sha1 = "ffdaf70d81cf6ff22c2b6e733c900c3321cab864" uuid = "05181044-ff0b-4ac5-8273-598c1e38db00" -version = "1.0.0" +version = "1.0.1" [[deps.Requires]] deps = ["UUIDs"] @@ -884,27 +1160,33 @@ version = "1.3.0" [[deps.Rmath]] deps = ["Random", "Rmath_jll"] -git-tree-sha1 = "f65dcb5fa46aee0cf9ed6274ccbd597adc49aa7b" +git-tree-sha1 = "852bd0f55565a9e973fcfee83a84413270224dc4" uuid = "79098fc4-a85e-5d69-aa6a-4863f24498fa" -version = "0.7.1" +version = "0.8.0" [[deps.Rmath_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "6ed52fdd3382cf21947b15e8870ac0ddbff736da" +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "58cdd8fb2201a6267e1db87ff148dd6c1dbd8ad8" uuid = "f50d1b31-88e8-58de-be2c-1cc44531875f" -version = "0.4.0+0" +version = "0.5.1+0" [[deps.Rocket]] deps = ["DataStructures", "Sockets", "Unrolled"] -git-tree-sha1 = "33e270ce5710d5315f28c205ec7d598c4fdf660d" +git-tree-sha1 = "c405231d77d3ff6c9eb6dc2da48147e761888ac1" uuid = "df971d30-c9d6-4b37-b8ff-e965b2cb3a40" -version = "1.7.0" +version = "1.8.1" [[deps.RxInfer]] -deps = ["DataStructures", "Distributions", "DomainSets", "GraphPPL", "LinearAlgebra", "MacroTools", "Optim", "ProgressMeter", "Random", "ReactiveMP", "Reexport", "Rocket", "TupleTools"] -git-tree-sha1 = "21e2495fd23ff19fc77ed1c4e179d963ea4f44d4" +deps = ["BayesBase", "DataStructures", "Distributions", "DomainSets", "ExponentialFamily", "FastCholesky", "GraphPPL", "LinearAlgebra", "MacroTools", "Optim", "ProgressMeter", "Random", "ReactiveMP", "Reexport", "Rocket", "TupleTools"] +git-tree-sha1 = "c5e199ae5f20c86d2188a8407d44201e49705bf3" uuid = "86711068-29c9-4ff7-b620-ae75d7495b3d" -version = "2.10.4" +version = "3.6.0" + + [deps.RxInfer.extensions] + ProjectionExt = "ExponentialFamilyProjection" + + [deps.RxInfer.weakdeps] + ExponentialFamilyProjection = "17f509fa-9a96-44ba-99b2-1c5f01f0931b" [[deps.SHA]] uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce" @@ -917,15 +1199,15 @@ version = "0.1.0" [[deps.SLEEFPirates]] deps = ["IfElse", "Static", "VectorizationBase"] -git-tree-sha1 = "4b8586aece42bee682399c4c4aee95446aa5cd19" +git-tree-sha1 = "456f610ca2fbd1c14f5fcf31c6bfadc55e7d66e0" uuid = "476501e8-09a2-5ece-8869-fb82de89a1fa" -version = "0.6.39" +version = "0.6.43" [[deps.Scratch]] deps = ["Dates"] -git-tree-sha1 = "30449ee12237627992a99d5e30ae63e4d78cd24a" +git-tree-sha1 = "3bac05bc7e74a75fd9cba4295cde4045d9fe2386" uuid = "6c6a2e73-6563-6170-7368-637461726353" -version = "1.2.0" +version = "1.2.1" [[deps.Serialization]] uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b" @@ -936,6 +1218,10 @@ git-tree-sha1 = "e2cc6d8c88613c05e1defb55170bf5ff211fbeac" uuid = "efcf1570-3423-57d1-acb7-fd33fddbac46" version = "1.1.1" +[[deps.SharedArrays]] +deps = ["Distributed", "Mmap", "Random", "Serialization"] +uuid = "1a1011a3-84de-559e-8e89-a11a2f7dc383" + [[deps.Showoff]] deps = ["Dates", "Grisu"] git-tree-sha1 = "91eddf657aca81df9ae6ceb20b959ae5653ad1de" @@ -947,89 +1233,123 @@ git-tree-sha1 = "874e8867b33a00e784c8a7e4b60afe9e037b74e1" uuid = "777ac1f9-54b0-4bf8-805c-2214025038e7" version = "1.1.0" -[[deps.SnoopPrecompile]] -deps = ["Preferences"] -git-tree-sha1 = "e760a70afdcd461cf01a575947738d359234665c" -uuid = "66db9d55-30c0-4569-8b51-7e840670fc0c" -version = "1.0.3" +[[deps.SimpleTraits]] +deps = ["InteractiveUtils", "MacroTools"] +git-tree-sha1 = "5d7e3f4e11935503d3ecaf7186eac40602e7d231" +uuid = "699a6c99-e7fa-54fc-8d76-47d257e15c1d" +version = "0.9.4" [[deps.Sockets]] uuid = "6462fe0b-24de-5631-8697-dd941f90decc" [[deps.SortingAlgorithms]] deps = ["DataStructures"] -git-tree-sha1 = "a4ada03f999bd01b3a25dcaa30b2d929fe537e00" +git-tree-sha1 = "66e0a8e672a0bdfca2c3f5937efb8538b9ddc085" uuid = "a2af1166-a08f-5f64-846c-94a0d3cef48c" -version = "1.1.0" +version = "1.2.1" [[deps.SparseArrays]] -deps = ["LinearAlgebra", "Random"] +deps = ["Libdl", "LinearAlgebra", "Random", "Serialization", "SuiteSparse_jll"] uuid = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" +version = "1.10.0" [[deps.SpecialFunctions]] -deps = ["ChainRulesCore", "IrrationalConstants", "LogExpFunctions", "OpenLibm_jll", "OpenSpecFun_jll"] -git-tree-sha1 = "ef28127915f4229c971eb43f3fc075dd3fe91880" +deps = ["IrrationalConstants", "LogExpFunctions", "OpenLibm_jll", "OpenSpecFun_jll"] +git-tree-sha1 = "2f5d4697f21388cbe1ff299430dd169ef97d7e14" uuid = "276daf66-3868-5448-9aa4-cd146d93841b" -version = "2.2.0" +version = "2.4.0" + + [deps.SpecialFunctions.extensions] + SpecialFunctionsChainRulesCoreExt = "ChainRulesCore" + + [deps.SpecialFunctions.weakdeps] + ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" [[deps.Static]] -deps = ["IfElse"] -git-tree-sha1 = "dbde6766fc677423598138a5951269432b0fcc90" +deps = ["CommonWorldInvalidations", "IfElse", "PrecompileTools"] +git-tree-sha1 = "87d51a3ee9a4b0d2fe054bdd3fc2436258db2603" uuid = "aedffcd0-7271-4cad-89d0-dc628f76c6d3" -version = "0.8.7" +version = "1.1.1" [[deps.StaticArrayInterface]] -deps = ["ArrayInterface", "Compat", "IfElse", "LinearAlgebra", "Requires", "SnoopPrecompile", "SparseArrays", "Static", "SuiteSparse"] -git-tree-sha1 = "33040351d2403b84afce74dae2e22d3f5b18edcb" +deps = ["ArrayInterface", "Compat", "IfElse", "LinearAlgebra", "PrecompileTools", "Static"] +git-tree-sha1 = "96381d50f1ce85f2663584c8e886a6ca97e60554" uuid = "0d7ed370-da01-4f52-bd93-41d350b8b718" -version = "1.4.0" +version = "1.8.0" +weakdeps = ["OffsetArrays", "StaticArrays"] + + [deps.StaticArrayInterface.extensions] + StaticArrayInterfaceOffsetArraysExt = "OffsetArrays" + StaticArrayInterfaceStaticArraysExt = "StaticArrays" [[deps.StaticArrays]] -deps = ["LinearAlgebra", "Random", "StaticArraysCore", "Statistics"] -git-tree-sha1 = "8982b3607a212b070a5e46eea83eb62b4744ae12" +deps = ["LinearAlgebra", "PrecompileTools", "Random", "StaticArraysCore"] +git-tree-sha1 = "eeafab08ae20c62c44c8399ccb9354a04b80db50" uuid = "90137ffa-7385-5640-81b9-e52037218182" -version = "1.5.25" +version = "1.9.7" + + [deps.StaticArrays.extensions] + StaticArraysChainRulesCoreExt = "ChainRulesCore" + StaticArraysStatisticsExt = "Statistics" + + [deps.StaticArrays.weakdeps] + ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" + Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" [[deps.StaticArraysCore]] -git-tree-sha1 = "6b7ba252635a5eff6a0b0664a41ee140a1c9e72a" +git-tree-sha1 = "192954ef1208c7019899fbf8049e717f92959682" uuid = "1e83bf80-4336-4d27-bf5d-d5a4f845583c" -version = "1.4.0" +version = "1.4.3" [[deps.Statistics]] deps = ["LinearAlgebra", "SparseArrays"] uuid = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" +version = "1.10.0" [[deps.StatsAPI]] deps = ["LinearAlgebra"] -git-tree-sha1 = "45a7769a04a3cf80da1c1c7c60caf932e6f4c9f7" +git-tree-sha1 = "1ff449ad350c9c4cbc756624d6f8a8c3ef56d3ed" uuid = "82ae8749-77ed-4fe6-ae5f-f523153014b0" -version = "1.6.0" +version = "1.7.0" [[deps.StatsBase]] deps = ["DataAPI", "DataStructures", "LinearAlgebra", "LogExpFunctions", "Missings", "Printf", "Random", "SortingAlgorithms", "SparseArrays", "Statistics", "StatsAPI"] -git-tree-sha1 = "d1bf48bfcc554a3761a133fe3a9bb01488e06916" +git-tree-sha1 = "5cf7606d6cef84b543b483848d4ae08ad9832b21" uuid = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91" -version = "0.33.21" +version = "0.34.3" [[deps.StatsFuns]] -deps = ["ChainRulesCore", "HypergeometricFunctions", "InverseFunctions", "IrrationalConstants", "LogExpFunctions", "Reexport", "Rmath", "SpecialFunctions"] -git-tree-sha1 = "f625d686d5a88bcd2b15cd81f18f98186fdc0c9a" +deps = ["HypergeometricFunctions", "IrrationalConstants", "LogExpFunctions", "Reexport", "Rmath", "SpecialFunctions"] +git-tree-sha1 = "b423576adc27097764a90e163157bcfc9acf0f46" uuid = "4c63d2b9-4356-54db-8cca-17b64c39e42c" -version = "1.3.0" +version = "1.3.2" + + [deps.StatsFuns.extensions] + StatsFunsChainRulesCoreExt = "ChainRulesCore" + StatsFunsInverseFunctionsExt = "InverseFunctions" + + [deps.StatsFuns.weakdeps] + ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" + InverseFunctions = "3587e190-3f89-42d0-90ee-14403ec27112" [[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.0" +version = "1.0.3" [[deps.Tar]] deps = ["ArgTools", "SHA"] uuid = "a4e569a6-e804-4fa4-b0f3-eef7a1d5b13e" -version = "1.10.1" +version = "1.10.0" [[deps.TensorCore]] deps = ["LinearAlgebra"] @@ -1043,30 +1363,29 @@ uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40" [[deps.ThreadingUtilities]] deps = ["ManualMemory"] -git-tree-sha1 = "c97f60dd4f2331e1a495527f80d242501d2f9865" +git-tree-sha1 = "eda08f7e9818eb53661b3deb74e3159460dfbc27" uuid = "8290d209-cae3-49c0-8002-c8c24d57dab5" -version = "0.5.1" +version = "0.5.2" [[deps.TinyHugeNumbers]] -git-tree-sha1 = "d1bd5b57d45431fcbf2db38d3e17453a603e76ad" +git-tree-sha1 = "c8760444248aef64bc728b340ebc50df13148c93" uuid = "783c9a47-75a3-44ac-a16b-f1ab7b3acf04" -version = "1.0.0" +version = "1.0.2" [[deps.TranscodingStreams]] -deps = ["Random", "Test"] -git-tree-sha1 = "9a6ae7ed916312b41236fcef7e0af564ef934769" +git-tree-sha1 = "e84b3a11b9bece70d14cce63406bbc79ed3464d2" uuid = "3bb67fe8-82b1-5028-8e26-92a6c54297fa" -version = "0.9.13" +version = "0.11.2" [[deps.TupleTools]] -git-tree-sha1 = "3c712976c47707ff893cf6ba4354aa14db1d8938" +git-tree-sha1 = "41d61b1c545b06279871ef1a4b5fcb2cac2191cd" uuid = "9d95972d-f1c8-5527-a6e0-b4b365fa01f6" -version = "1.3.0" +version = "1.5.0" [[deps.URIs]] -git-tree-sha1 = "074f993b0ca030848b897beff716d93aca60f06a" +git-tree-sha1 = "67db6cc7b3821e19ebe75791a9dd19c9b1188f2b" uuid = "5c2747f8-b7ea-4ff2-ba2e-563bfd36b1d4" -version = "1.4.2" +version = "1.5.1" [[deps.UUIDs]] deps = ["Random", "SHA"] @@ -1086,6 +1405,26 @@ git-tree-sha1 = "53915e50200959667e78a92a418594b428dffddf" uuid = "1cfade01-22cf-5700-b092-accc4b62d6e1" version = "0.4.1" +[[deps.Unitful]] +deps = ["Dates", "LinearAlgebra", "Random"] +git-tree-sha1 = "d95fe458f26209c66a187b1114df96fd70839efd" +uuid = "1986cc42-f94f-5a68-af5c-568840ba703d" +version = "1.21.0" + + [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 = "975c354fcd5f7e1ddcc1f1a23e6e091d99e99bc8" +uuid = "45397f5d-5981-4c77-b2b3-fc36d6e9b728" +version = "1.6.4" + [[deps.Unrolled]] deps = ["MacroTools"] git-tree-sha1 = "6cc9d682755680e0f0be87c56392b7651efc2c7b" @@ -1099,45 +1438,69 @@ version = "0.2.0" [[deps.VectorizationBase]] deps = ["ArrayInterface", "CPUSummary", "HostCPUFeatures", "IfElse", "LayoutPointers", "Libdl", "LinearAlgebra", "SIMDTypes", "Static", "StaticArrayInterface"] -git-tree-sha1 = "b182207d4af54ac64cbc71797765068fdeff475d" +git-tree-sha1 = "e7f5b81c65eb858bed630fe006837b935518aca5" uuid = "3d5dd08c-fd9d-11e8-17fa-ed2836048c2f" -version = "0.21.64" +version = "0.21.70" + +[[deps.Vulkan_Loader_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Wayland_jll", "Xorg_libX11_jll", "Xorg_libXrandr_jll", "xkbcommon_jll"] +git-tree-sha1 = "2f0486047a07670caad3a81a075d2e518acc5c59" +uuid = "a44049a8-05dd-5a78-86c9-5fde0876e88c" +version = "1.3.243+0" [[deps.Wayland_jll]] -deps = ["Artifacts", "Expat_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Pkg", "XML2_jll"] -git-tree-sha1 = "ed8d92d9774b077c53e1da50fd81a36af3744c1c" +deps = ["Artifacts", "EpollShim_jll", "Expat_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Pkg", "XML2_jll"] +git-tree-sha1 = "7558e29847e99bc3f04d6569e82d0f5c54460703" uuid = "a2964d1f-97da-50d4-b82a-358c7fce9d89" -version = "1.21.0+0" +version = "1.21.0+1" [[deps.Wayland_protocols_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "4528479aa01ee1b3b4cd0e6faef0e04cf16466da" +git-tree-sha1 = "93f43ab61b16ddfb2fd3bb13b3ce241cafb0e6c9" uuid = "2381bf8a-dfd0-557d-9999-79630e7b1b91" -version = "1.25.0+0" +version = "1.31.0+0" [[deps.XML2_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Libiconv_jll", "Pkg", "Zlib_jll"] -git-tree-sha1 = "93c41695bc1c08c46c5899f4fe06d6ead504bb73" +deps = ["Artifacts", "JLLWrappers", "Libdl", "Libiconv_jll", "Zlib_jll"] +git-tree-sha1 = "1165b0443d0eca63ac1e32b8c0eb69ed2f4f8127" uuid = "02c8fc9c-b97f-50b9-bbe4-9be30ff0a78a" -version = "2.10.3+0" +version = "2.13.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" +deps = ["Artifacts", "JLLWrappers", "Libdl", "Libgcrypt_jll", "Libgpg_error_jll", "Libiconv_jll", "XML2_jll", "Zlib_jll"] +git-tree-sha1 = "a54ee957f4c86b526460a720dbc882fa5edcbefc" uuid = "aed1982a-8fda-507f-9586-7b0439959a61" -version = "1.1.34+0" +version = "1.1.41+0" + +[[deps.XZ_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "ac88fb95ae6447c8dda6a5503f3bafd496ae8632" +uuid = "ffd25f8a-64ca-5728-b0f7-c24cf3aae800" +version = "5.4.6+0" + +[[deps.Xorg_libICE_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "326b4fea307b0b39892b3e85fa451692eda8d46c" +uuid = "f67eecfb-183a-506d-b269-f58e52b52d7c" +version = "1.1.1+0" + +[[deps.Xorg_libSM_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libICE_jll"] +git-tree-sha1 = "3796722887072218eabafb494a13c963209754ce" +uuid = "c834827a-8449-5923-a945-d239c165b7dd" +version = "1.2.4+0" [[deps.Xorg_libX11_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libxcb_jll", "Xorg_xtrans_jll"] -git-tree-sha1 = "5be649d550f3f4b95308bf0183b82e2582876527" +deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libxcb_jll", "Xorg_xtrans_jll"] +git-tree-sha1 = "afead5aba5aa507ad5a3bf01f58f82c8d1403495" uuid = "4f6342f7-b3d2-589e-9d20-edeb45f2b2bc" -version = "1.6.9+4" +version = "1.8.6+0" [[deps.Xorg_libXau_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "4e490d5c960c314f33885790ed410ff3a94ce67e" +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "6035850dcc70518ca32f012e46015b9beeda49d8" uuid = "0c0b7dd1-d40b-584c-a123-a41640f87eec" -version = "1.0.9+4" +version = "1.0.11+0" [[deps.Xorg_libXcursor_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXfixes_jll", "Xorg_libXrender_jll"] @@ -1146,16 +1509,16 @@ uuid = "935fb764-8cf2-53bf-bb30-45bb1f8bf724" version = "1.2.0+4" [[deps.Xorg_libXdmcp_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "4fe47bd2247248125c428978740e18a681372dd4" +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "34d526d318358a859d7de23da945578e8e8727b7" uuid = "a3789734-cfe1-5b06-b2d0-1dd0d9d62d05" -version = "1.1.3+4" +version = "1.1.4+0" [[deps.Xorg_libXext_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll"] -git-tree-sha1 = "b7c0aa8c376b31e4852b360222848637f481f8c3" +deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libX11_jll"] +git-tree-sha1 = "d2d1a5c49fae4ba39983f63de6afcbea47194e85" uuid = "1082639a-0dae-5f34-9b06-72781eeb8cb3" -version = "1.3.4+4" +version = "1.3.6+0" [[deps.Xorg_libXfixes_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll"] @@ -1182,28 +1545,34 @@ 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" +deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libX11_jll"] +git-tree-sha1 = "47e45cd78224c53109495b3e324df0c37bb61fbe" uuid = "ea2f1a96-1ddc-540d-b46f-429655e07cfa" -version = "0.9.10+4" +version = "0.9.11+0" [[deps.Xorg_libpthread_stubs_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "6783737e45d3c59a4a4c4091f5f88cdcf0908cbb" +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "8fdda4c692503d44d04a0603d9ac0982054635f9" uuid = "14d82f49-176c-5ed1-bb49-ad3f5cbd8c74" -version = "0.1.0+3" +version = "0.1.1+0" [[deps.Xorg_libxcb_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "XSLT_jll", "Xorg_libXau_jll", "Xorg_libXdmcp_jll", "Xorg_libpthread_stubs_jll"] -git-tree-sha1 = "daf17f441228e7a3833846cd048892861cff16d6" +deps = ["Artifacts", "JLLWrappers", "Libdl", "XSLT_jll", "Xorg_libXau_jll", "Xorg_libXdmcp_jll", "Xorg_libpthread_stubs_jll"] +git-tree-sha1 = "bcd466676fef0878338c61e655629fa7bbc69d8e" uuid = "c7cfdc94-dc32-55de-ac96-5a1b8d977c5b" -version = "1.13.0+3" +version = "1.17.0+0" [[deps.Xorg_libxkbfile_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll"] -git-tree-sha1 = "926af861744212db0eb001d9e40b5d16292080b2" +deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libX11_jll"] +git-tree-sha1 = "730eeca102434283c50ccf7d1ecdadf521a765a4" uuid = "cc61e674-0454-545c-8b26-ed2c68acab7a" -version = "1.1.0+4" +version = "1.1.2+0" + +[[deps.Xorg_xcb_util_cursor_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_xcb_util_image_jll", "Xorg_xcb_util_jll", "Xorg_xcb_util_renderutil_jll"] +git-tree-sha1 = "04341cb870f29dcd5e39055f895c39d016e18ccd" +uuid = "e920d4aa-a673-5f3a-b3d7-f755a4d47c43" +version = "0.1.4+0" [[deps.Xorg_xcb_util_image_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_xcb_util_jll"] @@ -1236,84 +1605,120 @@ uuid = "c22f9ab0-d5fe-5066-847c-f4bb1cd4e361" version = "0.4.1+1" [[deps.Xorg_xkbcomp_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libxkbfile_jll"] -git-tree-sha1 = "4bcbf660f6c2e714f87e960a171b119d06ee163b" +deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libxkbfile_jll"] +git-tree-sha1 = "330f955bc41bb8f5270a369c473fc4a5a4e4d3cb" uuid = "35661453-b289-5fab-8a00-3d9160c6a3a4" -version = "1.4.2+4" +version = "1.4.6+0" [[deps.Xorg_xkeyboard_config_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_xkbcomp_jll"] -git-tree-sha1 = "5c8424f8a67c3f2209646d4425f3d415fee5931d" +deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_xkbcomp_jll"] +git-tree-sha1 = "691634e5453ad362044e2ad653e79f3ee3bb98c3" uuid = "33bec58e-1273-512f-9401-5d533626f822" -version = "2.27.0+4" +version = "2.39.0+0" [[deps.Xorg_xtrans_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "79c31e7844f6ecf779705fbc12146eb190b7d845" +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "e92a1a012a10506618f10b7047e478403a046c77" uuid = "c5fb5394-a638-5e4d-96e5-b29de1b5cf10" -version = "1.4.0+3" +version = "1.5.0+0" [[deps.Zlib_jll]] deps = ["Libdl"] uuid = "83775a58-1f1d-513f-b197-d71354ab007a" -version = "1.2.12+3" +version = "1.2.13+1" [[deps.Zstd_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "49ce682769cd5de6c72dcf1b94ed7790cd08974c" +git-tree-sha1 = "e678132f07ddb5bfa46857f0d7620fb9be675d3b" uuid = "3161d3a3-bdf6-5164-811a-617609db77b4" -version = "1.5.5+0" +version = "1.5.6+0" + +[[deps.eudev_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "gperf_jll"] +git-tree-sha1 = "431b678a28ebb559d224c0b6b6d01afce87c51ba" +uuid = "35ca27e7-8b34-5b7f-bca9-bdc33f59eb06" +version = "3.2.9+0" [[deps.fzf_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "868e669ccb12ba16eaf50cb2957ee2ff61261c56" +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "936081b536ae4aa65415d869287d43ef3cb576b2" uuid = "214eeab7-80f7-51ab-84ad-2988db7cef09" -version = "0.29.0+0" +version = "0.53.0+0" -[[deps.libaom_jll]] +[[deps.gperf_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "3a2ea60308f0996d26f1e5354e10c24e9ef905d4" +git-tree-sha1 = "3516a5630f741c9eecb3720b1ec9d8edc3ecc033" +uuid = "1a1c6b14-54f6-533d-8383-74cd7377aa70" +version = "3.1.1+0" + +[[deps.libaom_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "1827acba325fdcdf1d2647fc8d5301dd9ba43a9d" uuid = "a4ae2306-e953-59d6-aa16-d00cac43593b" -version = "3.4.0+0" +version = "3.9.0+0" [[deps.libass_jll]] -deps = ["Artifacts", "Bzip2_jll", "FreeType2_jll", "FriBidi_jll", "HarfBuzz_jll", "JLLWrappers", "Libdl", "Pkg", "Zlib_jll"] -git-tree-sha1 = "5982a94fcba20f02f42ace44b9894ee2b140fe47" +deps = ["Artifacts", "Bzip2_jll", "FreeType2_jll", "FriBidi_jll", "HarfBuzz_jll", "JLLWrappers", "Libdl", "Zlib_jll"] +git-tree-sha1 = "e17c115d55c5fbb7e52ebedb427a0dca79d4484e" uuid = "0ac62f75-1d6f-5e53-bd7c-93b484bb37c0" -version = "0.15.1+0" +version = "0.15.2+0" [[deps.libblastrampoline_jll]] -deps = ["Artifacts", "Libdl", "OpenBLAS_jll"] +deps = ["Artifacts", "Libdl"] uuid = "8e850b90-86db-534c-a0d3-1478176c7d93" -version = "5.1.1+0" +version = "5.8.0+1" -[[deps.libfdk_aac_jll]] +[[deps.libdecor_jll]] +deps = ["Artifacts", "Dbus_jll", "JLLWrappers", "Libdl", "Libglvnd_jll", "Pango_jll", "Wayland_jll", "xkbcommon_jll"] +git-tree-sha1 = "9bf7903af251d2050b467f76bdbe57ce541f7f4f" +uuid = "1183f4f0-6f2a-5f1a-908b-139f9cdfea6f" +version = "0.2.2+0" + +[[deps.libevdev_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "daacc84a041563f965be61859a36e17c4e4fcd55" +git-tree-sha1 = "141fe65dc3efabb0b1d5ba74e91f6ad26f84cc22" +uuid = "2db6ffa8-e38f-5e21-84af-90c45d0032cc" +version = "1.11.0+0" + +[[deps.libfdk_aac_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "8a22cf860a7d27e4f3498a0fe0811a7957badb38" uuid = "f638f0a6-7fb0-5443-88ba-1cc74229b280" -version = "2.0.2+0" +version = "2.0.3+0" + +[[deps.libinput_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "eudev_jll", "libevdev_jll", "mtdev_jll"] +git-tree-sha1 = "ad50e5b90f222cfe78aa3d5183a20a12de1322ce" +uuid = "36db933b-70db-51c0-b978-0f229ee0e533" +version = "1.18.0+0" [[deps.libpng_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Zlib_jll"] -git-tree-sha1 = "94d180a6d2b5e55e447e2d27a29ed04fe79eb30c" +deps = ["Artifacts", "JLLWrappers", "Libdl", "Zlib_jll"] +git-tree-sha1 = "d7015d2e18a5fd9a4f47de711837e980519781a4" uuid = "b53b4c65-9356-5827-b1ea-8c7a1a84506f" -version = "1.6.38+0" +version = "1.6.43+1" [[deps.libvorbis_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Ogg_jll", "Pkg"] -git-tree-sha1 = "b910cb81ef3fe6e78bf6acee440bda86fd6ae00c" +git-tree-sha1 = "490376214c4721cdaca654041f635213c6165cb3" uuid = "f27f6e37-5d2b-51aa-960f-b287f2bc3b7a" -version = "1.3.7+1" +version = "1.3.7+2" + +[[deps.mtdev_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "814e154bdb7be91d78b6802843f76b6ece642f11" +uuid = "009596ad-96f7-51b1-9f1b-5ce2d5e8a71e" +version = "1.1.6+0" [[deps.nghttp2_jll]] deps = ["Artifacts", "Libdl"] uuid = "8e850ede-7688-5339-a07c-302acd2aaf8d" -version = "1.48.0+0" +version = "1.52.0+1" [[deps.p7zip_jll]] deps = ["Artifacts", "Libdl"] uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0" -version = "17.4.0+0" +version = "17.4.0+2" [[deps.x264_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] @@ -1329,6 +1734,6 @@ 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" +git-tree-sha1 = "9c304562909ab2bab0262639bd4f444d7bc2be37" uuid = "d8fb68d0-12a3-5cfd-a85a-d49703b185fd" -version = "1.4.1+0" +version = "1.4.1+1" diff --git a/Part1/Policy_Inference.ipynb b/Part1/Policy_Inference.ipynb index 45775af..1a4979c 100644 --- a/Part1/Policy_Inference.ipynb +++ b/Part1/Policy_Inference.ipynb @@ -7,14 +7,14 @@ "metadata": {}, "outputs": [], "source": [ - "using Pkg;Pkg.activate(\"..\");Pkg.instantiate();\n", + "using Pkg;Pkg.activate(\"..\");# Pkg.instantiate();\n", "using RxInfer, LinearAlgebra, Distributions, Random\n", - "Random.seed!(666)" + "Random.seed!(666);" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "5d731951", "metadata": {}, "outputs": [], @@ -26,12 +26,12 @@ "include(\"transition_mixture/out.jl\")\n", "include(\"transition_mixture/switch.jl\")\n", "include(\"../goal_observation.jl\")\n", - "include(\"helpers.jl\")" + "include(\"helpers.jl\");" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "id": "21614a0c", "metadata": {}, "outputs": [], @@ -51,31 +51,25 @@ " out[argmax(probvec(distribution))] = 1.\n", "\n", " PointMass(out)\n", - "end" + "end;" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "id": "349bef1c", "metadata": {}, "outputs": [], "source": [ "# Create the model\n", - "@model function t_maze(A,D,B1,B2,B3,B4,T)\n", - "\n", + "@model function t_maze(A,D,B1,B2,B3,B4,T,c)\n", " z_0 ~ Categorical(D)\n", "\n", - " z = randomvar(T)\n", - " switch = randomvar(T)\n", - "\n", - " c = datavar(Vector{Float64}, T)\n", " z_prev = z_0\n", - "\n", " for t in 1:T\n", " switch[t] ~ Categorical(fill(1. /4. ,4))\n", " z[t] ~ TransitionMixture(z_prev,switch[t], B1,B2,B3,B4)\n", - " c[t] ~ GoalObservation(z[t], A) where {pipeline = GeneralizedPipeline(vague(Categorical, 8)) }\n", + " c[t] ~ GoalObservation(z[t], A) where {dependencies = GeneralizedPipeline(vague(Categorical, 8)) }\n", " z_prev = z[t]\n", " end\n", "end;" @@ -83,51 +77,54 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "id": "b2dd120e", "metadata": {}, "outputs": [], "source": [ "#Pointmass constraints\n", "@constraints function pointmass_q()\n", - " q(switch) :: PointMass\n", + " q(switch) :: PointMassFormConstraint()\n", "end\n", "\n", "# Node constraints\n", "@meta function t_maze_meta()\n", " GoalObservation(c,z) -> GeneralizedMeta()\n", - "end" + "end\n", + "\n", + "@initialization function init_marginals()\n", + " q(z) = Categorical(fill(1. /8. ,8))\n", + "end;" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "id": "c8bcefdb", "metadata": {}, "outputs": [], "source": [ "# Configure experiment\n", - "T =2; # Planning horizon\n", + "T = 2; # Planning horizon\n", "its = 10; #Number of inference iterations to run\n", - "initmarginals = ( z = [Categorical(fill(1. /8. ,8)) for t in 1:T], ) # Initial marginals\n", "\n", "A,B,C,D = constructABCD(0.9,[2.0 for t in 1:T],T); # Generate the matrices we need" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "id": "81d60bfc", "metadata": {}, "outputs": [], "source": [ "# Run inference\n", - "result = inference(model = t_maze(A,D,B[1],B[2],B[3],B[4],T),\n", - " data= (c = C,),\n", - " initmarginals = initmarginals,\n", - " meta= t_maze_meta(),\n", - " iterations=its,\n", - " )" + "result = infer(model = t_maze(A=A,D=D,B1=B[1],B2=B[2],B3=B[3],B4=B[4],T=T),\n", + " data = (c = C,),\n", + " initialization = init_marginals(),\n", + " meta = t_maze_meta(),\n", + " iterations = its,\n", + " );" ] }, { @@ -150,30 +147,30 @@ "outputs": [], "source": [ "# Repeat experiments with pointmass constraints\n", - "result = inference(model = t_maze(A,D,B[1],B[2],B[3],B[4],T),\n", - " data= (c = C,),\n", - " initmarginals = initmarginals,\n", - " meta= t_maze_meta(),\n", - " constraints=pointmass_q(),\n", - " iterations=its,\n", - " )\n", + "result = infer(model = t_maze(A=A,D=D,B1=B[1],B2=B[2],B3=B[3],B4=B[4],T=T),\n", + " data = (c = C,),\n", + " initialization = init_marginals(),\n", + " meta = t_maze_meta(),\n", + " constraints = pointmass_q(),\n", + " iterations = its,\n", + " );\n", "\n", - "println(\"Posterior controls as T=1, \",probvec(result.posteriors[:switch][end][1]), \"\\n\")\n", - "println(\"Posterior controls as T=2, \",probvec(result.posteriors[:switch][end][2]), \"\\n\")" + "println(\"Posterior controls as T=1, \", result.posteriors[:switch][end][1].point, \"\\n\")\n", + "println(\"Posterior controls as T=2, \", result.posteriors[:switch][end][2].point, \"\\n\")" ] } ], "metadata": { "kernelspec": { - "display_name": "Julia 1.8.2", + "display_name": "Julia 1.10.4", "language": "julia", - "name": "julia-1.8" + "name": "julia-1.10" }, "language_info": { "file_extension": ".jl", "mimetype": "application/julia", "name": "julia", - "version": "1.8.2" + "version": "1.10.4" } }, "nbformat": 4, diff --git a/Part1/transition_mixture/testing_ground.jl b/Part1/transition_mixture/testing_ground.jl deleted file mode 100644 index a3c6110..0000000 --- a/Part1/transition_mixture/testing_ground.jl +++ /dev/null @@ -1,12 +0,0 @@ -function averageEnergy(::Type{TransitionMixture}, - dist_out_in1_switch::Distribution{Multivariate, Contingency}, - dist_factors::Vararg{Distribution}) - - n_factors = length(dist_factors) - U = 0.0 - for k = 1:n_factors - U += -tr(dist_out_in1_switch.params[:p][k]'*unsafeLogMean(dist_factors[k])) - end - - return U -end diff --git a/Part2/T-maze_Aggregate.ipynb b/Part2/T-maze_Aggregate.ipynb index 2916aeb..2ca1562 100644 --- a/Part2/T-maze_Aggregate.ipynb +++ b/Part2/T-maze_Aggregate.ipynb @@ -16,12 +16,12 @@ "source": [ "using Pkg\n", "Pkg.activate(\"..\")\n", - "Pkg.instantiate()" + "# Pkg.instantiate()" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ @@ -38,18 +38,14 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "include(\"../goal_observation.jl\")\n", "\n", "# Define the generative model\n", - "@model function t_maze(A_s, D_s, x)\n", - " u = datavar(Matrix{Int64}, 2) # Policy for evaluations\n", - " z = randomvar(2) # Latent states\n", - " c = datavar(Vector{Float64}, 2) # Goal prior statistics\n", - "\n", + "@model function t_maze(A_s, D_s, x, c, u)\n", " z_0 ~ Categorical(D_s) # State prior\n", " A ~ MatrixDirichlet(A_s) # Observation matrix prior\n", "\n", @@ -57,8 +53,8 @@ " for k=1:2\n", " z[k] ~ Transition(z_k_min, u[k])\n", " c[k] ~ GoalObservation(z[k], A) where {\n", - " meta=GeneralizedMeta(x[k]), \n", - " pipeline=GeneralizedPipeline(vague(Categorical,8))} # With breaker message\n", + " meta = GeneralizedMeta(x[k]), \n", + " dependencies = GeneralizedPipeline(vague(Categorical,8))} # With breaker message\n", "\n", " z_k_min = z[k] # Reset for next slice\n", " end\n", @@ -68,9 +64,16 @@ "@constraints function structured(approximate::Bool)\n", " q(z_0, z, A) = q(z_0, z)q(A)\n", " if approximate # Sampling approximation on A required for t<3\n", - " q(A) :: SampleList(20)\n", + " q(A) :: SampleListFormConstraint(20, LeftProposal())\n", " end\n", - "end" + "end\n", + "\n", + "@initialization function init_marginals(A_s)\n", + " q(A) = MatrixDirichlet(asym(A_s))\n", + " q(z_0) = Categorical(asym(8))\n", + " q(z) = [Categorical(asym(8)), Categorical(asym(8))]\n", + "end\n", + ";" ] }, { @@ -107,7 +110,7 @@ "@showprogress for r=1:R\n", " rs = generateGoalSequence(S) # Returns random goal sequence\n", " (reset, execute, observe) = initializeWorld(A, B, C, D, rs) # Let there be a world\n", - " (infer, act) = initializeAgent(A_0, B, C, D_0) # Let there be a constrained agent\n", + " (inference, act) = initializeAgent(A_0, B, C, D_0) # Let there be a constrained agent\n", "\n", " # Step through the experimental protocol\n", " As = Vector{Matrix}(undef, S) # Posterior statistics for A\n", @@ -117,14 +120,14 @@ " for s = 1:S\n", " reset(s) # Reset world\n", " for t=1:2\n", - " (Gs[s][t], _) = infer(t, as[s], os[s])\n", - " as[s][t] = act(t, Gs[s][t])\n", + " (Gs[s][t], _) = inference(t, as[s], os[s])\n", + " as[s][t] = act(t, Gs[s][t])\n", " execute(as[s][t])\n", - " os[s][t] = observe()\n", + " os[s][t] = observe()\n", " end\n", - " (Gs[s][3], As[s]) = infer(3, as[s], os[s]) # Learn at t=3\n", + " (Gs[s][3], As[s]) = inference(3, as[s], os[s]) # Learn at t=3\n", " end\n", - " wins[r] = extractWins(os)\n", + " wins[r] = extractWins(os)\n", " params[r] = deepcopy(As[end])\n", "end\n", ";" @@ -132,7 +135,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "metadata": {}, "outputs": [], "source": [ @@ -215,15 +218,15 @@ ], "metadata": { "kernelspec": { - "display_name": "Julia 1.8.2", + "display_name": "Julia 1.10.4", "language": "julia", - "name": "julia-1.8" + "name": "julia-1.10" }, "language_info": { "file_extension": ".jl", "mimetype": "application/julia", "name": "julia", - "version": "1.8.2" + "version": "1.10.4" } }, "nbformat": 4, diff --git a/Part2/T-maze_Bargain.ipynb b/Part2/T-maze_Bargain.ipynb index 2b05605..4f8c61a 100644 --- a/Part2/T-maze_Bargain.ipynb +++ b/Part2/T-maze_Bargain.ipynb @@ -16,12 +16,12 @@ "source": [ "using Pkg\n", "Pkg.activate(\"..\")\n", - "Pkg.instantiate()" + "# Pkg.instantiate()" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ @@ -34,7 +34,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "metadata": {}, "outputs": [], "source": [ @@ -56,32 +56,34 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "metadata": {}, "outputs": [], "source": [ - "@model function t_maze_primary(A, D, x)\n", - " u = datavar(Matrix{Int64}, 2) # Policy for evaluations\n", - " z = randomvar(2) # Latent states\n", - " c = datavar(Vector{Float64}, 2) # Goal prior statistics\n", - "\n", + "@model function t_maze_primary(A_s, D, x, c, u)\n", " z_0 ~ Categorical(D) # State prior\n", "\n", " z_k_min = z_0\n", " for k=1:2\n", " z[k] ~ Transition(z_k_min, u[k])\n", - " c[k] ~ GoalObservation(z[k], A) where { # Observation matrix depends on offer by secondary agent\n", - " meta=GeneralizedMeta(x[k]), \n", - " pipeline=GeneralizedPipeline(vague(Categorical,16))}\n", + " c[k] ~ GoalObservation(z[k], A_s) where { # Observation matrix depends on offer by secondary agent\n", + " meta = GeneralizedMeta(x[k]), \n", + " dependencies = GeneralizedPipeline(vague(Categorical,16))}\n", "\n", " z_k_min = z[k] # Reset for next slice\n", " end\n", - "end" + "end\n", + "\n", + "@initialization function init_marginals_primary()\n", + " q(z_0) = Categorical(asym(16))\n", + " q(z) = [Categorical(asym(16)), Categorical(asym(16))]\n", + "end\n", + ";" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "metadata": {}, "outputs": [], "source": [ @@ -92,7 +94,7 @@ "\n", "rs = generateGoalSequence(seed, S) # Sets random seed and returns reproducible goal sequence\n", "(reset, execute, observe) = initializePrimaryWorld(B, rs) # Define interation (Markov blanket) with the T-maze environment\n", - "(infer, act) = initializePrimaryAgent(B, C, D)\n", + "(inference, act) = initializePrimaryAgent(B, C, D)\n", ";" ] }, @@ -105,25 +107,27 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "# Variables in the secondary agent are indicated by \"prime\"\n", - "@model function t_maze_secondary(A_prime_s, x_prime, alpha_s)\n", - " c_prime = datavar(Vector{Float64})\n", - "\n", + "@model function t_maze_secondary(A_prime_s, x_prime, alpha_s, c_prime)\n", " A_prime ~ MatrixDirichlet(A_prime_s)\n", " c_prime ~ GoalObservation(alpha_s, A_prime) where {\n", - " meta=GeneralizedMeta(x_prime),\n", - " pipeline=GeneralizedPipeline()}\n", + " meta = GeneralizedMeta(x_prime),\n", + " dependencies = GeneralizedPipeline()}\n", "end\n", "\n", "@constraints function structured(approximate::Bool)\n", " if approximate\n", - " q(A_prime) :: SampleList(20)\n", + " q(A_prime) :: SampleListFormConstraint(20, LeftProposal())\n", " end\n", "end\n", + "\n", + "@initialization function init_marginals_secondary(A_prime_s)\n", + " q(A_prime) = MatrixDirichlet(asym(A_prime_s))\n", + "end\n", ";" ] }, @@ -136,7 +140,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "metadata": {}, "outputs": [], "source": [ @@ -146,7 +150,7 @@ "A_prime_0 = constructSecondaryPriors()\n", "\n", "(execute_prime, observe_prime) = initializeSecondaryWorld() # Defines interaction (Markov blanket) with primary agent\n", - "(infer_prime, act_prime) = initializeSecondaryAgent(A_prime_0)\n", + "(inference_prime, act_prime) = initializeSecondaryAgent(A_prime_0)\n", "\n", "# Step through the experimental protocol\n", "A_primes = Vector{Matrix}(undef, S) # Posterior statistics for A_p\n", @@ -155,13 +159,13 @@ "o_primes = Vector{Union{Vector, Missing}}(missing, S) # Observations (one-hot) per time\n", "for s = 1:S\n", " # Make offer at t=1\n", - " (G_primes[s], _) = infer_prime(1, a_primes[s], o_primes[s])\n", + " (G_primes[s], _) = inference_prime(1, a_primes[s], o_primes[s])\n", " a_primes[s] = act_prime(G_primes[s])\n", " execute_prime(s, a_primes[s]) # Triggers inference in primary agent\n", " o_primes[s] = observe_prime() # Observes cue-visit of primary agent\n", " \n", " # Learn at t=2 \n", - " (_, A_primes[s]) = infer_prime(2, a_primes[s], o_primes[s])\n", + " (_, A_primes[s]) = inference_prime(2, a_primes[s], o_primes[s])\n", "end\n", ";" ] diff --git a/Part2/T-maze_Bethe.ipynb b/Part2/T-maze_Bethe.ipynb index 27923c1..0e1857b 100644 --- a/Part2/T-maze_Bethe.ipynb +++ b/Part2/T-maze_Bethe.ipynb @@ -16,12 +16,12 @@ "source": [ "using Pkg\n", "Pkg.activate(\"..\")\n", - "Pkg.instantiate()" + "# Pkg.instantiate()" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ @@ -38,18 +38,14 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "include(\"../goal_observation.jl\")\n", "\n", "# Define the generative model\n", - "@model function t_maze(A_s, D_s, x)\n", - " u = datavar(Matrix{Int64}, 2) # Policy for evaluations\n", - " z = randomvar(2) # Latent states\n", - " c = datavar(Vector{Float64}, 2) # Goal prior statistics\n", - "\n", + "@model function t_maze(A_s, D_s, x, c, u)\n", " z_0 ~ Categorical(D_s) # State prior\n", " A ~ MatrixDirichlet(A_s) # Observation matrix prior\n", "\n", @@ -57,8 +53,8 @@ " for k=1:2\n", " z[k] ~ Transition(z_k_min, u[k])\n", " c[k] ~ GoalObservation(z[k], A) where {\n", - " meta=BetheMeta(x[k]), \n", - " pipeline=BethePipeline()}\n", + " meta = BetheMeta(x[k]), \n", + " dependencies = BethePipeline()}\n", "\n", " z_k_min = z[k] # Reset for next slice\n", " end\n", @@ -68,7 +64,14 @@ "@constraints function structured(approximate::Bool)\n", " q(z_0, z, A) = q(z_0, z)q(A)\n", " # Sampling approximation for A not needed for Bethe\n", - "end" + "end\n", + "\n", + "@initialization function init_marginals(A_s)\n", + " q(A) = MatrixDirichlet(asym(A_s))\n", + " q(z_0) = Categorical(asym(8))\n", + " q(z) = [Categorical(asym(8)), Categorical(asym(8))]\n", + "end\n", + ";" ] }, { @@ -81,7 +84,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "metadata": {}, "outputs": [], "source": [ @@ -99,7 +102,7 @@ "\n", "rs = generateGoalSequence(seed, S) # Sets random seed and returns reproducible goal sequence\n", "(reset, execute, observe) = initializeWorld(A, B, C, D, rs) # Let there be a world\n", - "(infer, act) = initializeAgent(A_0, B, C, D_0) # Let there be a constrained agent\n", + "(inference, act) = initializeAgent(A_0, B, C, D_0) # Let there be a constrained agent\n", "\n", "# Step through the experimental protocol\n", "As = Vector{Matrix}(undef, S) # Posterior statistics for A\n", @@ -109,12 +112,12 @@ "for s = 1:S\n", " reset(s) # Reset world\n", " for t=1:2\n", - " (Gs[s][t], _) = infer(t, as[s], os[s])\n", + " (Gs[s][t], _) = inference(t, as[s], os[s])\n", " as[s][t] = act(t, Gs[s][t])\n", " execute(as[s][t])\n", " os[s][t] = observe()\n", " end\n", - " (Gs[s][3], As[s]) = infer(3, as[s], os[s]) # Learn at t=3\n", + " (Gs[s][3], As[s]) = inference(3, as[s], os[s]) # Learn at t=3\n", "end\n", ";" ] @@ -152,15 +155,15 @@ ], "metadata": { "kernelspec": { - "display_name": "Julia 1.8.2", + "display_name": "Julia 1.10.4", "language": "julia", - "name": "julia-1.8" + "name": "julia-1.10" }, "language_info": { "file_extension": ".jl", "mimetype": "application/julia", "name": "julia", - "version": "1.8.2" + "version": "1.10.4" }, "orig_nbformat": 4 }, diff --git a/Part2/T-maze_Generalized.ipynb b/Part2/T-maze_Generalized.ipynb index 1558ce5..5db8b28 100644 --- a/Part2/T-maze_Generalized.ipynb +++ b/Part2/T-maze_Generalized.ipynb @@ -16,12 +16,12 @@ "source": [ "using Pkg\n", "Pkg.activate(\"..\")\n", - "Pkg.instantiate()" + "# Pkg.instantiate()" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ @@ -38,18 +38,14 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "include(\"../goal_observation.jl\")\n", "\n", "# Define the generative model\n", - "@model function t_maze(A_s, D_s, x)\n", - " u = datavar(Matrix{Int64}, 2) # Policy for evaluations\n", - " z = randomvar(2) # Latent states\n", - " c = datavar(Vector{Float64}, 2) # Goal prior statistics\n", - "\n", + "@model function t_maze(A_s, D_s, x, c, u)\n", " z_0 ~ Categorical(D_s) # State prior\n", " A ~ MatrixDirichlet(A_s) # Observation matrix prior\n", "\n", @@ -57,8 +53,8 @@ " for k=1:2\n", " z[k] ~ Transition(z_k_min, u[k])\n", " c[k] ~ GoalObservation(z[k], A) where {\n", - " meta=GeneralizedMeta(x[k]), \n", - " pipeline=GeneralizedPipeline(vague(Categorical,8))} # With breaker message\n", + " meta = GeneralizedMeta(x[k]), \n", + " dependencies = GeneralizedPipeline(vague(Categorical,8))} # With breaker message\n", "\n", " z_k_min = z[k] # Reset for next slice\n", " end\n", @@ -68,9 +64,16 @@ "@constraints function structured(approximate::Bool)\n", " q(z_0, z, A) = q(z_0, z)q(A)\n", " if approximate # Sampling approximation on A required for t<3\n", - " q(A) :: SampleList(20)\n", + " q(A) :: SampleListFormConstraint(20, LeftProposal())\n", " end\n", - "end" + "end\n", + "\n", + "@initialization function init_marginals(A_s)\n", + " q(A) = MatrixDirichlet(asym(A_s))\n", + " q(z_0) = Categorical(asym(8))\n", + " q(z) = [Categorical(asym(8)), Categorical(asym(8))]\n", + "end\n", + ";" ] }, { @@ -83,7 +86,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "metadata": {}, "outputs": [], "source": [ @@ -101,7 +104,7 @@ "\n", "rs = generateGoalSequence(seed, S) # Sets random seed and returns reproducible goal sequence\n", "(reset, execute, observe) = initializeWorld(A, B, C, D, rs) # Let there be a world\n", - "(infer, act) = initializeAgent(A_0, B, C, D_0) # Let there be a constrained agent\n", + "(inference, act) = initializeAgent(A_0, B, C, D_0) # Let there be a constrained agent\n", "\n", "# Step through the experimental protocol\n", "As = Vector{Matrix}(undef, S) # Posterior statistics for A\n", @@ -111,12 +114,12 @@ "for s = 1:S\n", " reset(s) # Reset world\n", " for t=1:2\n", - " (Gs[s][t], _) = infer(t, as[s], os[s])\n", + " (Gs[s][t], _) = inference(t, as[s], os[s])\n", " as[s][t] = act(t, Gs[s][t])\n", " execute(as[s][t])\n", " os[s][t] = observe()\n", " end\n", - " (Gs[s][3], As[s]) = infer(3, as[s], os[s]) # Learn at t=3\n", + " (Gs[s][3], As[s]) = inference(3, as[s], os[s]) # Learn at t=3\n", "end\n", ";" ] @@ -154,15 +157,15 @@ ], "metadata": { "kernelspec": { - "display_name": "Julia 1.8.2", + "display_name": "Julia 1.10.4", "language": "julia", - "name": "julia-1.8" + "name": "julia-1.10" }, "language_info": { "file_extension": ".jl", "mimetype": "application/julia", "name": "julia", - "version": "1.8.2" + "version": "1.10.4" } }, "nbformat": 4, diff --git a/Part2/T-maze_Goals.ipynb b/Part2/T-maze_Goals.ipynb index 83b1e47..f30b7f7 100644 --- a/Part2/T-maze_Goals.ipynb +++ b/Part2/T-maze_Goals.ipynb @@ -16,12 +16,12 @@ "source": [ "using Pkg\n", "Pkg.activate(\"..\")\n", - "Pkg.instantiate()" + "# Pkg.instantiate()" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 27, "metadata": {}, "outputs": [], "source": [ @@ -38,26 +38,22 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 28, "metadata": {}, "outputs": [], "source": [ "include(\"../goal_observation.jl\")\n", "\n", "# Define the generative model\n", - "@model function t_maze_generalized(A, C_s, D, x)\n", - " u = datavar(Matrix{Int64}, 2) # Policy for evaluations\n", - " z = randomvar(2) # Latent states\n", - " c = randomvar(2) # Goal priors\n", - "\n", + "@model function t_maze_generalized(A, C_s, D, x, u)\n", " z_0 ~ Categorical(D) # State prior\n", "\n", " z_k_min = z_0\n", " for k=1:2\n", " z[k] ~ Transition(z_k_min, u[k])\n", " c[k] ~ GoalObservation(z[k], A) where {\n", - " meta=GeneralizedMeta(x[k]), \n", - " pipeline=GeneralizedPipeline(vague(Categorical,8))} # With breaker message\n", + " meta = GeneralizedMeta(x[k]), \n", + " dependencies = GeneralizedPipeline(vague(Categorical,8))} # With breaker message\n", " c[k] ~ Dirichlet(C_s[k])\n", "\n", " z_k_min = z[k] # Reset for next slice\n", @@ -67,7 +63,14 @@ "# Define constraints on the variational density\n", "@constraints function structured()\n", " q(z_0, z, c) = q(z_0, z)q(c)\n", - "end" + "end\n", + "\n", + "@initialization function init_marginals(C_s)\n", + " q(c) = [Dirichlet(C_s[1]), Dirichlet(C_s[2])]\n", + " q(z_0) = Categorical(asym(8))\n", + " q(z) = [Categorical(asym(8)), Categorical(asym(8))]\n", + "end\n", + ";" ] }, { @@ -80,7 +83,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 29, "metadata": {}, "outputs": [], "source": [ @@ -98,8 +101,8 @@ "\n", "rs = generateGoalSequence(seed, S) # Sets random seed and returns reproducible goal sequence\n", "(reset, execute, observe) = initializeWorld(A, B, C, D, rs) # Let there be a world\n", - "(infer, act) = initializeGoalAgent(A, B, C_0, D, # Let there be a constrained agent\n", - " t_maze_model=t_maze_generalized)\n", + "(inference, act) = initializeGoalAgent(A, B, C_0, D, # Let there be a constrained agent\n", + " t_maze_model=t_maze_generalized)\n", "\n", "# Step through the experimental protocol\n", "Cs = Vector{Vector}(undef, S) # Posterior statistics for C's\n", @@ -109,12 +112,12 @@ "for s = 1:S\n", " reset(s) # Reset world\n", " for t=1:2\n", - " (Gs[s][t], _) = infer(t, as[s], os[s])\n", + " (Gs[s][t], _) = inference(t, as[s], os[s])\n", " as[s][t] = act(t, Gs[s][t])\n", " execute(as[s][t])\n", " os[s][t] = observe()\n", " end\n", - " (Gs[s][3], Cs[s]) = infer(3, as[s], os[s]) # Learn at t=3\n", + " (Gs[s][3], Cs[s]) = inference(3, as[s], os[s]) # Learn at t=3\n", "end\n", ";" ] diff --git a/Part2/agent.jl b/Part2/agent.jl index 9f7a43a..3cc8c1d 100644 --- a/Part2/agent.jl +++ b/Part2/agent.jl @@ -31,7 +31,7 @@ function initializeAgent(A_0, B, C, D_0) iterations = 50 # Iterations of variational algorithm A_s = deepcopy(A_0) D_s = deepcopy(D_0) - function infer(t::Int64, a::Vector, o::Vector) + function inference(t::Int64, a::Vector, o::Vector) # Define possible policies G = Matrix{Union{Float64, Missing}}(missing, 4, 4) if t === 1 @@ -58,26 +58,22 @@ function initializeAgent(A_0, B, C, D_0) end # Define model - model = t_maze(A_s, D_s, x) + model = t_maze(A_s=A_s, D_s=D_s, x=x) # Define constraints - constraints = structured(t<3) # Sampling approximation for t<3 - + constraints = structured(t<3) # Sampling approximation for t<3 + initialization = init_marginals(A_s) + for (i, j) in pols data = (u = [B[i], B[j]], c = [C, C]) - initmarginals = (A = MatrixDirichlet(asym(A_s)), - z_0 = Categorical(asym(8)), - z = [Categorical(asym(8)), - Categorical(asym(8))]) - - res = inference(model = model, - constraints = constraints, - data = data, - initmarginals = initmarginals, - iterations = iterations, - free_energy = true) + res = infer(model = model, + constraints = constraints, + data = data, + initialization = initialization, + iterations = iterations, + free_energy = true) G[i, j] = mean(res.free_energy[10:iterations])./log(2) # Average to smooth fluctuations and convert to bits if t === 3 # Return posterior statistics after learning @@ -98,5 +94,5 @@ function initializeAgent(A_0, B, C, D_0) return idx[pol][t] # Select current action from policy end - return (infer, act) + return (inference, act) end \ No newline at end of file diff --git a/Part2/figures/BFE_A.png b/Part2/figures/BFE_A.png index b2246e2..cd9cd30 100644 Binary files a/Part2/figures/BFE_A.png and b/Part2/figures/BFE_A.png differ diff --git a/Part2/figures/BFE_FE.png b/Part2/figures/BFE_FE.png index a7fa173..90d97ef 100644 Binary files a/Part2/figures/BFE_FE.png and b/Part2/figures/BFE_FE.png differ diff --git a/Part2/figures/GFE_A.png b/Part2/figures/GFE_A.png index b79132a..6c12463 100644 Binary files a/Part2/figures/GFE_A.png and b/Part2/figures/GFE_A.png differ diff --git a/Part2/figures/GFE_C.png b/Part2/figures/GFE_C.png index 0e9f347..40322bf 100644 Binary files a/Part2/figures/GFE_C.png and b/Part2/figures/GFE_C.png differ diff --git a/Part2/figures/GFE_FE.png b/Part2/figures/GFE_FE.png index ba8f40f..d7469c9 100644 Binary files a/Part2/figures/GFE_FE.png and b/Part2/figures/GFE_FE.png differ diff --git a/Part2/figures/GFE_hist.png b/Part2/figures/GFE_hist.png index 711bc6d..c4e2081 100644 Binary files a/Part2/figures/GFE_hist.png and b/Part2/figures/GFE_hist.png differ diff --git a/Part2/figures/GFE_offers.png b/Part2/figures/GFE_offers.png index 64e83ef..d8d8767 100644 Binary files a/Part2/figures/GFE_offers.png and b/Part2/figures/GFE_offers.png differ diff --git a/Part2/figures/GFE_wins.png b/Part2/figures/GFE_wins.png index 3704c19..81ea254 100644 Binary files a/Part2/figures/GFE_wins.png and b/Part2/figures/GFE_wins.png differ diff --git a/Part2/figures/wins_100_30.jld2 b/Part2/figures/wins_100_30.jld2 index ca96663..da9be8b 100644 Binary files a/Part2/figures/wins_100_30.jld2 and b/Part2/figures/wins_100_30.jld2 differ diff --git a/Part2/goal_agent.jl b/Part2/goal_agent.jl index fe37ef3..fd2e895 100644 --- a/Part2/goal_agent.jl +++ b/Part2/goal_agent.jl @@ -10,7 +10,7 @@ end function initializeGoalAgent(A, B, C_0, D; t_maze_model::Function) iterations = 50 # Iterations of variational algorithm C_s = deepcopy(C_0) - function infer(t::Int64, a::Vector, o::Vector) + function inference(t::Int64, a::Vector, o::Vector) # Define possible policies G = Matrix{Union{Float64, Missing}}(missing, 4, 4) if t === 1 @@ -37,27 +37,22 @@ function initializeGoalAgent(A, B, C_0, D; t_maze_model::Function) end # Define model - model = t_maze_model(A, C_s, D, x) # Add tiny to prevent numerical problems + model = t_maze_model(A=A, C_s=C_s, D=D, x=x) # Define constraints - constraints = structured() # Sampling approximation for t<3 - + constraints = structured() + initialization = init_marginals(C_s) + for (i, j) in pols data = (u = [B[i], B[j]],) - - initmarginals = (c = [Dirichlet(C_s[1]), - Dirichlet(C_s[2])], - z_0 = Categorical(asym(8)), - z = [Categorical(asym(8)), - Categorical(asym(8))]) - - res = inference(model = model, - constraints = constraints, - data = data, - initmarginals = initmarginals, - iterations = iterations, - free_energy = true) - + + res = infer(model = model, + constraints = constraints, + data = data, + initialization = initialization, + iterations = iterations, + free_energy = true) + G[i, j] = res.free_energy[end]/log(2) # Convert to bits if t === 3 # Return posterior statistics after learning C_s = Vector{Vector}(undef, 2) @@ -79,5 +74,5 @@ function initializeGoalAgent(A, B, C_0, D; t_maze_model::Function) return idx[pol][t] # Select current action from policy end - return (infer, act) + return (inference, act) end \ No newline at end of file diff --git a/Part2/primary_agent.jl b/Part2/primary_agent.jl index 4872a07..f273544 100644 --- a/Part2/primary_agent.jl +++ b/Part2/primary_agent.jl @@ -1,6 +1,6 @@ function initializePrimaryAgent(B, C, D) iterations = 50 # Iterations of variational algorithm - function infer(t::Int64, a::Vector, o::Vector, a_prime::Int64) # Inference depends on offer by secondary agent + function inference(t::Int64, a::Vector, o::Vector, a_prime::Int64) # Inference depends on offer by secondary agent # Define possible policies G = Matrix{Union{Float64, Missing}}(missing, 4, 4) if t === 1 @@ -28,21 +28,20 @@ function initializePrimaryAgent(B, C, D) # Define model A_s = constructPrimaryA(αs[a_prime]) # Offer is encoded by primary observation matrix - model = t_maze_primary(A_s, D, x) + model = t_maze_primary(A_s=A_s, D=D, x=x) + # Define constraints + initialization = init_marginals_primary() + for (i, j) in pols data = (u = [B[i], B[j]], c = [C, C]) - - initmarginals = (z_0 = Categorical(asym(16)), - z = [Categorical(asym(16)), - Categorical(asym(16))]) - - res = inference(model = model, - data = data, - initmarginals = initmarginals, - iterations = iterations, - free_energy = true) + + res = infer(model = model, + data = data, + initialization = initialization, + iterations = iterations, + free_energy = true) G[i, j] = res.free_energy[end]/log(2) # Convert to bits end @@ -59,6 +58,6 @@ function initializePrimaryAgent(B, C, D) return idx[pol][t] # Select current action from policy end - return (infer, act) + return (inference, act) end ; \ No newline at end of file diff --git a/Part2/secondary_agent.jl b/Part2/secondary_agent.jl index ca4d984..6a109fa 100644 --- a/Part2/secondary_agent.jl +++ b/Part2/secondary_agent.jl @@ -7,7 +7,7 @@ function initializeSecondaryAgent(A_prime_0) iterations = 50 # Iterations of variational algorithm A_prime_s = deepcopy(A_prime_0) # Initialize prior - function infer_prime(t::Int64, a_prime::Union{Int64, Missing}, o_prime::Union{Vector, Missing}) + function inference_prime(t::Int64, a_prime::Union{Int64, Missing}, o_prime::Union{Vector, Missing}) # Define possible policies G_prime = Vector{Union{Float64, Missing}}(missing, L) if t === 1 @@ -27,23 +27,22 @@ function initializeSecondaryAgent(A_prime_0) u_prime[i] = 1.0 # Define model - model = t_maze_secondary(A_prime_s, x_prime, u_prime) + model = t_maze_secondary(A_prime_s=A_prime_s, x_prime=x_prime, alpha_s=u_prime) # Utility to secondary agent depends on offer C_prime = softmax((1-α)*[c, -c]) - data = (c_prime = C_prime,) - - constraints = structured(t<2) - initmarginals = (A_prime = MatrixDirichlet(asym(A_prime_s)),) + # Define constraints + constraints = structured(t<2) + initialization = init_marginals_secondary(A_prime_s) - res = inference(model = model, - data = data, - constraints = constraints, - initmarginals = initmarginals, - iterations = iterations, - free_energy = true) + res = infer(model = model, + data = data, + constraints = constraints, + initialization = initialization, + iterations = iterations, + free_energy = true) G_prime[i] = mean(res.free_energy[10:iterations])./log(2) # Average to smooth fluctuations and convert to bits if t === 2 # Return posterior statistics after learning @@ -61,6 +60,6 @@ function initializeSecondaryAgent(A_prime_0) return pol # Select from possible actions end - return (infer_prime, act_prime) + return (inference_prime, act_prime) end ; \ No newline at end of file diff --git a/Part2/secondary_environment.jl b/Part2/secondary_environment.jl index 01737db..4b13a20 100644 --- a/Part2/secondary_environment.jl +++ b/Part2/secondary_environment.jl @@ -8,7 +8,7 @@ function initializeSecondaryWorld() # Simulate interaction of primary agent with T-maze for t=1:2 - G_t = infer(t, as, os, a_prime) + G_t = inference(t, as, os, a_prime) as[t] = act(t, G_t) execute(as[t]) os[t] = observe() diff --git a/Project.toml b/Project.toml index 9580aa1..de3d7c6 100644 --- a/Project.toml +++ b/Project.toml @@ -1,9 +1,13 @@ [deps] +BayesBase = "b4ee3484-f114-42fe-b91c-797d54a0c67e" +Distributions = "31c24e10-a181-5473-b8eb-7969acd0382f" DomainSets = "5b8099bc-c8ec-5219-889f-1d9e522a28bf" FileIO = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549" ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" JLD2 = "033835bb-8acc-5ee8-8aae-3f567f8a3819" +LaTeXStrings = "b964fa9f-0449-5b57-a5c2-d3ea65f4040f" LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" +LoopVectorization = "bdcacae8-1622-11e9-2a5c-532679323890" Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80" ProgressMeter = "92933f4c-e287-5a05-a399-4b506db050ca" ReactiveMP = "a194aa59-28ba-4574-a09c-4a745416d6e3" diff --git a/README.md b/README.md index a902eb7..158f4ed 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ -This repository contains the source code for the simulations performed in Part I and II of the "Realising Synthetic Active Inference Agents" paper series. Simulations are performed with Jupyter Notebook, Julia and RxInfer. +This repository contains the source code for the simulations performed in Part I and II of the "Realising Synthetic Active Inference Agents" paper series. Simulations are performed with Jupyter Notebook, Julia and RxInfer. Original figures can be regenerated from the `v0.1.0` release of this repository. # Install Julia -In order to install the Julia language (v1.8 or higher), follow the platform-specific instructions at https://julialang.org/downloads/ +In order to install the Julia language (`v1.10.4`), follow the platform-specific instructions at https://julialang.org/downloads/ # Install Jupyter Notebook Jupyter notebook is a framework for running Julia scripts (among other languages). It is well-suited for showing demo applications and interactive experimentation. In order to install Jupyter Notebook, follow the instructions at https://jupyter.readthedocs.io/en/latest/install.html @@ -17,7 +17,7 @@ julia> ] ``` Next, activate the virtual environment ``` -(v1.8) pkg> activate . +(v1.10) pkg> activate . ``` and instantiate the required packages ``` @@ -30,7 +30,7 @@ Exit Julia, navigate to the root directory and start a Jupyter server ``` ~/LAIF$ jupyter notebook ``` -A browser window will open, and you can select the demo you wish to run. +A browser window should open, and you can select the demo you wish to run. # License MIT License, Copyright (c) 2024 BIASlab http://biaslab.org diff --git a/distributions.jl b/distributions.jl index a0d5574..a9ec0cb 100644 --- a/distributions.jl +++ b/distributions.jl @@ -1,14 +1,14 @@ -using DomainSets: Domain -using StatsFuns: gammainvcdf, loggamma -using ReactiveMP: AbstractContinuousGenericLogPdf, GenericLogPdfVectorisedProduct, UnspecifiedDomain, approximate_prod_with_sample_list -using RxInfer: AutoProposal, SampleListFormConstraint using Random +using ReactiveMP +using DomainSets +using StatsFuns: gammainvcdf, loggamma +using BayesBase: AbstractContinuousGenericLogPdf, LinearizedProductOf +using LoopVectorization: vmap, @turbo -import Base: prod, rand, eltype, size -import Distributions: logpdf, mean -import Random: rand, rand! -import ReactiveMP: getdomain, getlogpdf -import RxInfer: __approximate +import Base: size, eltype +import BayesBase: rand! +import Distributions: logpdf, insupport, _rand! +import DomainSets: dimension h(A) = -diag(A'*safelog.(A)) @@ -20,46 +20,34 @@ mean_h(d::PointMass) = (d.point, h(d.point)) # ContinuousMatrixvariateLogPdf #------------------------------ -struct ContinuousMatrixvariateLogPdf{D <: Domain, F} <: AbstractContinuousGenericLogPdf - domain::D +struct ContinuousMatrixvariateLogPdf{T <: Tuple, F} <: AbstractContinuousGenericLogPdf + domain::T logpdf::F end -ContinuousMatrixvariateLogPdf(f::Function) = ContinuousMatrixvariateLogPdf(UnspecifiedDomain(), f) +dimension(d::Tuple) = dimension.(d) +DomainSets.in(x::AbstractMatrix, domain::Tuple) = (size(x) == dimension(domain)) +insupport(d::ContinuousMatrixvariateLogPdf, x) = true # TODO: make right -getdomain(d::ContinuousMatrixvariateLogPdf) = d.domain -getlogpdf(d::ContinuousMatrixvariateLogPdf) = d.logpdf +# These are hacks to make _rand! work with matrix variate logpfds +eltype(::LinearizedProductOf) = Float64 +eltype(::ContinuousMatrixvariateLogPdf) = Float64 #----------- # SampleList #----------- -function __approximate(constraint::SampleListFormConstraint{N, R, S, M}, left::ContinuousMatrixvariateLogPdf, right) where {N, R, S <: AutoProposal, M} - return approximate_prod_with_sample_list(constraint.rng, constraint.method, right, left, N) -end - -function __approximate(constraint::SampleListFormConstraint{N, R, S, M}, left, right::ContinuousMatrixvariateLogPdf) where {N, R, S <: AutoProposal, M} - return approximate_prod_with_sample_list(constraint.rng, constraint.method, left, right, N) -end - -function __approximate(constraint::SampleListFormConstraint{N, R, S, M}, left::GenericLogPdfVectorisedProduct, right) where {N, R, S <: AutoProposal, M} - return approximate_prod_with_sample_list(constraint.rng, constraint.method, right, left, N) -end - -function __approximate(constraint::SampleListFormConstraint{N, R, S, M}, left, right::GenericLogPdfVectorisedProduct) where {N, R, S <: AutoProposal, M} - return approximate_prod_with_sample_list(constraint.rng, constraint.method, left, right, N) -end - -# These are hacks to make _rand! work with matrix variate logpfds -eltype(::GenericLogPdfVectorisedProduct) = Float64 -eltype(::ContinuousMatrixvariateLogPdf) = Float64 - function mean_h(d::SampleList) - s = get_samples(d) - w = get_weights(d) + s = d.samples + w = d.weights + N = length(w) + s_vec = reshape(s, (ndims(d)..., N)) - return (sum(s.*w), sum(h.(s).*w)) + m = mapreduce(i->s_vec[:,:,i].*w[i], +, 1:N) + m_h = mapreduce(i->h(s_vec[:,:,i]).*w[i], +, 1:N) + + return (m, m_h) end @@ -81,23 +69,27 @@ end return H end -# In-place operations for sampling -function rand!(rng::AbstractRNG, d::MatrixDirichlet, container::Array{Float64, 3}) - s = size(d) - for i in 1:size(container, 3) - M = view(container, :, :, i) - sample = rand(rng, d) - copyto!(M, sample) +# Patch rand! as defined in ExponentialFamilies +function rand!(rng::AbstractRNG, dist::MatrixDirichlet, container::AbstractMatrix{T}) where {T <: Real} + samples = vmap(d -> rand(rng, Dirichlet(convert(Vector, d))), eachcol(dist.a)) + @views for col in 1:size(container)[2] + b = container[:, col] + b[:] .= samples[col] end return container end -# Custom sampling implementation -function rand(rng::AbstractRNG, d::MatrixDirichlet) - U = rand(rng, size(d.a)...) - S = gammainvcdf.(d.a, 1.0, U) - return S./sum(S, dims=1) # Normalize columns +function _rand!(rng::AbstractRNG, dist::MatrixDirichlet, container::Array{Any, 3}) + for i = 1:size(container)[3] + samples = vmap(d -> rand(rng, Dirichlet(convert(Vector, d))), eachcol(dist.a)) + @views for col in 1:size(container)[2] + b = container[:, col, i] + b[:] .= samples[col] + end + end + + return container end function mean_h(d::MatrixDirichlet) diff --git a/goal_observation.jl b/goal_observation.jl index d64950f..8f6ab9b 100644 --- a/goal_observation.jl +++ b/goal_observation.jl @@ -1,7 +1,10 @@ +using DomainSets using ForwardDiff: jacobian using TupleTools: deleteat -using ReactiveMP: AbstractNodeFunctionalDependenciesPipeline, RequireMarginalFunctionalDependencies, messagein, setmessage!, get_samples, get_weights -import ReactiveMP: message_dependencies, marginal_dependencies +using ReactiveMP: FunctionalDependencies, messagein, setmessage!, getlocalclusters, clusterindex, getmarginals +using Base.Broadcast: BroadcastFunction + +import ReactiveMP: functional_dependencies include("distributions.jl") @@ -29,41 +32,44 @@ GeneralizedMeta() = GeneralizedMeta(missing, 20) GeneralizedMeta(point) = GeneralizedMeta(point, 20) # Pipelines -struct BethePipeline <: AbstractNodeFunctionalDependenciesPipeline end -struct GeneralizedPipeline <: AbstractNodeFunctionalDependenciesPipeline +struct BethePipeline <: FunctionalDependencies end +struct GeneralizedPipeline <: FunctionalDependencies init_message::Union{Bernoulli, Categorical} GeneralizedPipeline() = new() # If state is clamped, then no inital message is required GeneralizedPipeline(init_message::Union{Bernoulli, Categorical}) = new(init_message) end -function message_dependencies(::BethePipeline, nodeinterfaces, nodelocalmarginals, varcluster, cindex, iindex) - return () -end +function functional_dependencies(::BethePipeline, factornode, interface, iindex) + message_dependencies = () + + clusters = getlocalclusters(factornode) + marginal_dependencies = getmarginals(clusters) # Include all node-local marginals -# Bethe update rules for goal-observation node require marginals on all edges -function marginal_dependencies(::BethePipeline, nodeinterfaces, nodelocalmarginals, varcluster, cindex, iindex) - return nodelocalmarginals + return message_dependencies, marginal_dependencies end -# Generalized update rule for state requires inbound message -function message_dependencies(pipeline::GeneralizedPipeline, nodeinterfaces, nodelocalmarginals, varcluster, cindex, iindex) - if iindex === 2 && isdefined(pipeline, :init_message) # Message towards state - input = ReactiveMP.messagein(nodeinterfaces[iindex]) - ReactiveMP.setmessage!(input, pipeline.init_message) # Predefine breaker message - return (nodeinterfaces[iindex],) # Include inbound message on state +function functional_dependencies(pipeline::GeneralizedPipeline, factornode, interface, iindex) + clusters = getlocalclusters(factornode) + cindex = clusterindex(clusters, iindex) # Find the index of the cluster for the current interface + + # Message dependencies + if (iindex === 2) # Message towards state + output = messagein(interface) + setmessage!(output, pipeline.init_message) + message_dependencies = (interface, ) else - return () + message_dependencies = () end -end -# Generalized update rule for state requires inbound marginal -function marginal_dependencies(::GeneralizedPipeline, nodeinterfaces, nodelocalmarginals, varcluster, cindex, iindex) + # Marginal dependencies if (iindex === 2) || (iindex === 3) # Message towards state or parameter - return nodelocalmarginals # Include all marginals + marginal_dependencies = getmarginals(clusters) # Include all marginals else - return deleteat(nodelocalmarginals, cindex) # Include default marginals + marginal_dependencies = skipindex(getmarginals(clusters), cindex) # Skip current cluster end + + return message_dependencies, marginal_dependencies end @@ -75,9 +81,9 @@ end q_z::Union{Bernoulli, Categorical, PointMass}, q_A::Union{SampleList, MatrixDirichlet, PointMass}, meta::BetheMeta{Missing}) = begin - log_c = mean(log, q_c) + log_c = mean(BroadcastFunction(log), q_c) z = probvec(q_z) - log_A = mean(log, q_A) + log_A = mean(BroadcastFunction(log), q_A) # Compute internal marginal x = softmax(log_A*z + log_c) @@ -89,9 +95,9 @@ end q_z::Union{Bernoulli, Categorical}, q_A::Union{SampleList, MatrixDirichlet, PointMass}, meta::BetheMeta{Missing}) = begin - log_c = mean(log, q_c) + log_c = mean(BroadcastFunction(log), q_c) z = probvec(q_z) - log_A = mean(log, q_A) + log_A = mean(BroadcastFunction(log), q_A) # Compute internal marginal x = softmax(log_A*z + log_c) @@ -103,9 +109,9 @@ end q_z::Union{Bernoulli, Categorical, PointMass}, q_A::Union{SampleList, MatrixDirichlet, PointMass}, meta::BetheMeta{Missing}) = begin - log_c = mean(log, q_c) + log_c = mean(BroadcastFunction(log), q_c) z = probvec(q_z) - log_A = mean(log, q_A) + log_A = mean(BroadcastFunction(log), q_A) # Compute internal marginal x = softmax(log_A*z + log_c) @@ -117,9 +123,9 @@ end q_z::Union{Bernoulli, Categorical, PointMass}, q_A::Union{SampleList, MatrixDirichlet, PointMass}, meta::BetheMeta{Missing}) = begin - log_c = mean(log, q_c) + log_c = mean(BroadcastFunction(log), q_c) z = probvec(q_z) - log_A = mean(log, q_A) + log_A = mean(BroadcastFunction(log), q_A) # Compute internal marginal x = softmax(log_A*z + log_c) @@ -143,7 +149,7 @@ end q_z::Union{Bernoulli, Categorical}, # Unused q_A::Union{SampleList, MatrixDirichlet, PointMass}, meta::BetheMeta{<:AbstractVector}) = begin - log_A = mean(log, q_A) + log_A = mean(BroadcastFunction(log), q_A) return Categorical(softmax(log_A'*meta.x)) end @@ -161,9 +167,9 @@ end q_z::Union{Bernoulli, Categorical, PointMass}, q_A::Union{SampleList, MatrixDirichlet, PointMass}, meta::BetheMeta{<:AbstractVector}) = begin - log_c = mean(log, q_c) + log_c = mean(BroadcastFunction(log), q_c) z = probvec(q_z) - log_A = mean(log, q_A) + log_A = mean(BroadcastFunction(log), q_A) return -meta.x'*(log_A*z + log_c) end @@ -188,7 +194,7 @@ end q_A::Union{SampleList, MatrixDirichlet, PointMass}, meta::GeneralizedMeta{Missing}) = begin d = probvec(m_z) - log_c = mean(log, q_c) + log_c = mean(BroadcastFunction(log), q_c) z_0 = probvec(q_z) (A, h_A) = mean_h(q_A) @@ -210,20 +216,21 @@ end q_z::Union{Bernoulli, Categorical, PointMass}, q_A::Union{SampleList, MatrixDirichlet, PointMass}, meta::GeneralizedMeta{Missing}) = begin - log_c = mean(log, q_c) + log_c = mean(BroadcastFunction(log), q_c) z = probvec(q_z) - A_bar = mean(q_A) + A_bar = mean(q_A) + M, N = size(A_bar) log_mu(A) = (A*z)'*(log_c - safelog.(A_bar*z)) - z'*h(A) - return ContinuousMatrixvariateLogPdf(log_mu) + return ContinuousMatrixvariateLogPdf((RealNumbers()^M, RealNumbers()^N), log_mu) end @average_energy GoalObservation (q_c::Union{Dirichlet, PointMass}, q_z::Union{Bernoulli, Categorical, PointMass}, q_A::Union{SampleList, MatrixDirichlet, PointMass}, meta::GeneralizedMeta{Missing}) = begin - log_c = mean(log, q_c) + log_c = mean(BroadcastFunction(log), q_c) z = probvec(q_z) (A, h_A) = mean_h(q_A) @@ -246,7 +253,7 @@ end q_z::Union{Bernoulli, Categorical}, # Unused q_A::Union{SampleList, MatrixDirichlet, PointMass}, meta::GeneralizedMeta{<:AbstractVector}) = begin - log_A = clamp.(mean(log, q_A), -12, 12) + log_A = clamp.(mean(BroadcastFunction(log), q_A), -12, 12) return Categorical(softmax(log_A'*meta.x)) end @@ -263,9 +270,9 @@ end q_z::Union{Bernoulli, Categorical, PointMass}, q_A::Union{SampleList, MatrixDirichlet, PointMass}, meta::GeneralizedMeta{<:AbstractVector}) = begin - log_c = mean(log, q_c) + log_c = mean(BroadcastFunction(log), q_c) z = probvec(q_z) - log_A = clamp.(mean(log, q_A), -12, 12) + log_A = clamp.(mean(BroadcastFunction(log), q_A), -12, 12) return -meta.x'*(log_A*z + log_c) end \ No newline at end of file