diff --git a/docs/tutorials/Manifest.toml b/docs/tutorials/Manifest.toml
new file mode 100644
index 00000000000..ae15ab9abf8
--- /dev/null
+++ b/docs/tutorials/Manifest.toml
@@ -0,0 +1,3333 @@
+# This file is machine-generated - editing it directly is not advised
+
+julia_version = "1.11.5"
+manifest_format = "2.0"
+project_hash = "4aba04f9a57fbcfaaee36c8bb9263b033e0ea1b6"
+
+[[deps.ADTypes]]
+git-tree-sha1 = "f7304359109c768cf32dc5fa2d371565bb63b68a"
+uuid = "47edcb42-4c32-4615-8424-f2b9edc5f35b"
+version = "1.21.0"
+weakdeps = ["ChainRulesCore", "ConstructionBase", "EnzymeCore"]
+
+ [deps.ADTypes.extensions]
+ ADTypesChainRulesCoreExt = "ChainRulesCore"
+ ADTypesConstructionBaseExt = "ConstructionBase"
+ ADTypesEnzymeCoreExt = "EnzymeCore"
+
+[[deps.AbstractLattices]]
+git-tree-sha1 = "763b6f3f6bfabd72c7e262cbb5ddfd43fd5c6398"
+uuid = "398f06c4-4d28-53ec-89ca-5b2656b7603d"
+version = "0.3.1"
+
+[[deps.AbstractTrees]]
+git-tree-sha1 = "2d9c9a55f9c93e8887ad391fbae72f8ef55e1177"
+uuid = "1520ce14-60c1-5f80-bbc7-55ef81b5835c"
+version = "0.4.5"
+
+[[deps.Accessors]]
+deps = ["CompositionsBase", "ConstructionBase", "Dates", "InverseFunctions", "MacroTools"]
+git-tree-sha1 = "2eeb2c9bef11013efc6f8f97f32ee59b146b09fb"
+uuid = "7d9f7c33-5ae7-4f3b-8dc6-eff91059b697"
+version = "0.1.44"
+
+ [deps.Accessors.extensions]
+ AxisKeysExt = "AxisKeys"
+ IntervalSetsExt = "IntervalSets"
+ LinearAlgebraExt = "LinearAlgebra"
+ StaticArraysExt = "StaticArrays"
+ StructArraysExt = "StructArrays"
+ TestExt = "Test"
+ UnitfulExt = "Unitful"
+
+ [deps.Accessors.weakdeps]
+ AxisKeys = "94b1ba4f-4ee9-5380-92f1-94cde586c3c5"
+ IntervalSets = "8197267c-284f-5f27-9208-e0e47529a953"
+ LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
+ StaticArrays = "90137ffa-7385-5640-81b9-e52037218182"
+ StructArrays = "09ab397b-f2b6-538f-b94a-2f83cf4a842a"
+ Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
+ Unitful = "1986cc42-f94f-5a68-af5c-568840ba703d"
+
+[[deps.Adapt]]
+deps = ["LinearAlgebra", "Requires"]
+git-tree-sha1 = "35ea197a51ce46fcd01c4a44befce0578a1aaeca"
+uuid = "79e6a3ab-5dfb-504d-930d-738a2a938a0e"
+version = "4.5.0"
+weakdeps = ["SparseArrays", "StaticArrays"]
+
+ [deps.Adapt.extensions]
+ AdaptSparseArraysExt = "SparseArrays"
+ AdaptStaticArraysExt = "StaticArrays"
+
+[[deps.AliasTables]]
+deps = ["PtrArrays", "Random"]
+git-tree-sha1 = "9876e1e164b144ca45e9e3198d0b689cadfed9ff"
+uuid = "66dad0bd-aa9a-41b7-9441-69ab47430ed8"
+version = "1.1.3"
+
+[[deps.ArgCheck]]
+git-tree-sha1 = "f9e9a66c9b7be1ad7372bbd9b062d9230c30c5ce"
+uuid = "dce04be8-c92d-5529-be00-80e4d2c0e197"
+version = "2.5.0"
+
+[[deps.ArgTools]]
+uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f"
+version = "1.1.2"
+
+[[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"]
+git-tree-sha1 = "78b3a7a536b4b0a747a0f296ea77091ca0a9f9a3"
+uuid = "4fba245c-0d91-5ea0-9b3e-6abc04ee57a9"
+version = "7.23.0"
+
+ [deps.ArrayInterface.extensions]
+ ArrayInterfaceAMDGPUExt = "AMDGPU"
+ ArrayInterfaceBandedMatricesExt = "BandedMatrices"
+ ArrayInterfaceBlockBandedMatricesExt = "BlockBandedMatrices"
+ ArrayInterfaceCUDAExt = "CUDA"
+ ArrayInterfaceCUDSSExt = ["CUDSS", "CUDA"]
+ ArrayInterfaceChainRulesCoreExt = "ChainRulesCore"
+ ArrayInterfaceChainRulesExt = "ChainRules"
+ ArrayInterfaceGPUArraysCoreExt = "GPUArraysCore"
+ ArrayInterfaceMetalExt = "Metal"
+ ArrayInterfaceReverseDiffExt = "ReverseDiff"
+ ArrayInterfaceSparseArraysExt = "SparseArrays"
+ ArrayInterfaceStaticArraysCoreExt = "StaticArraysCore"
+ ArrayInterfaceTrackerExt = "Tracker"
+
+ [deps.ArrayInterface.weakdeps]
+ AMDGPU = "21141c5a-9bdb-4563-92ae-f87d6854732e"
+ 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"
+ ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4"
+ GPUArraysCore = "46192b85-c4d5-4398-a991-12ede77f4527"
+ Metal = "dde4c033-4e86-420c-a63e-0dd931031962"
+ 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", "StaticArrays"]
+git-tree-sha1 = "e0b47732a192dd59b9d079a06d04235e2f833963"
+uuid = "4c555306-a7a7-4459-81d9-ec55ddd5c99a"
+version = "1.12.2"
+weakdeps = ["SparseArrays"]
+
+ [deps.ArrayLayouts.extensions]
+ ArrayLayoutsSparseArraysExt = "SparseArrays"
+
+[[deps.Artifacts]]
+uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33"
+version = "1.11.0"
+
+[[deps.AxisAlgorithms]]
+deps = ["LinearAlgebra", "Random", "SparseArrays", "WoodburyMatrices"]
+git-tree-sha1 = "01b8ccb13d68535d73d2b0c23e39bd23155fb712"
+uuid = "13072b0f-2c55-5437-9ae7-d433b7a33950"
+version = "1.1.0"
+
+[[deps.BangBang]]
+deps = ["Accessors", "ConstructionBase", "InitialValues", "LinearAlgebra"]
+git-tree-sha1 = "cceb62468025be98d42a5dc581b163c20896b040"
+uuid = "198e06fe-97b7-11e9-32a5-e1d131e6ad66"
+version = "0.4.9"
+
+ [deps.BangBang.extensions]
+ BangBangChainRulesCoreExt = "ChainRulesCore"
+ BangBangDataFramesExt = "DataFrames"
+ BangBangStaticArraysExt = "StaticArrays"
+ BangBangStructArraysExt = "StructArrays"
+ BangBangTablesExt = "Tables"
+ BangBangTypedTablesExt = "TypedTables"
+
+ [deps.BangBang.weakdeps]
+ ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4"
+ DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0"
+ StaticArrays = "90137ffa-7385-5640-81b9-e52037218182"
+ StructArrays = "09ab397b-f2b6-538f-b94a-2f83cf4a842a"
+ Tables = "bd369af6-aec1-5ad0-b16a-f7cc5008161c"
+ TypedTables = "9d95f2ec-7b3d-5a63-8d20-e2491e220bb9"
+
+[[deps.Base64]]
+uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f"
+version = "1.11.0"
+
+[[deps.Baselet]]
+git-tree-sha1 = "aebf55e6d7795e02ca500a689d326ac979aaf89e"
+uuid = "9718e550-a3fa-408a-8086-8db961cd8217"
+version = "0.1.1"
+
+[[deps.BenchmarkTools]]
+deps = ["Compat", "JSON", "Logging", "Printf", "Profile", "Statistics", "UUIDs"]
+git-tree-sha1 = "6876e30dc02dc69f0613cb6ece242144f2ca9e56"
+uuid = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf"
+version = "1.7.0"
+
+[[deps.BitFlags]]
+git-tree-sha1 = "0691e34b3bb8be9307330f88d1a3c3f25466c24d"
+uuid = "d1d4a3ce-64b1-5f1a-9ba4-7e7e69966f35"
+version = "0.1.9"
+
+[[deps.BitIntegers]]
+deps = ["Random"]
+git-tree-sha1 = "091d591a060e43df1dd35faab3ca284925c48e46"
+uuid = "c3b6d118-76ef-56ca-8cc7-ebb389d030a1"
+version = "0.3.7"
+
+[[deps.BitTwiddlingConvenienceFunctions]]
+deps = ["Static"]
+git-tree-sha1 = "f21cfd4950cb9f0587d5067e69405ad2acd27b87"
+uuid = "62783981-4cbd-42fc-bca8-16325de8dc4b"
+version = "0.1.6"
+
+[[deps.Bits]]
+deps = ["Test"]
+git-tree-sha1 = "525d055f0c6b9476e6dcf032286383ea941a395c"
+uuid = "1654ce90-6ed3-553a-957f-9452c3a40996"
+version = "0.2.0"
+
+[[deps.BlockArrays]]
+deps = ["ArrayLayouts", "FillArrays", "LinearAlgebra"]
+git-tree-sha1 = "0f606a9894e2bcda541ceb82a91a13c5d450ed97"
+uuid = "8e7c35d0-a365-5155-bbbb-fb81a777f24e"
+version = "1.9.3"
+
+ [deps.BlockArrays.extensions]
+ BlockArraysAdaptExt = "Adapt"
+ BlockArraysBandedMatricesExt = "BandedMatrices"
+
+ [deps.BlockArrays.weakdeps]
+ Adapt = "79e6a3ab-5dfb-504d-930d-738a2a938a0e"
+ BandedMatrices = "aae01518-5342-5314-be14-df237901396f"
+
+[[deps.BracketingNonlinearSolve]]
+deps = ["CommonSolve", "ConcreteStructs", "NonlinearSolveBase", "PrecompileTools", "Reexport", "SciMLBase"]
+git-tree-sha1 = "d9b66401c1fa982c7ca984d0566af5a9b3551420"
+uuid = "70df07ce-3d50-431d-a3e7-ca6ddb60ac1e"
+version = "1.12.0"
+weakdeps = ["ChainRulesCore", "ForwardDiff"]
+
+ [deps.BracketingNonlinearSolve.extensions]
+ BracketingNonlinearSolveChainRulesCoreExt = ["ChainRulesCore", "ForwardDiff"]
+ BracketingNonlinearSolveForwardDiffExt = "ForwardDiff"
+
+[[deps.Bzip2_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl"]
+git-tree-sha1 = "1b96ea4a01afe0ea4090c5c8039690672dd13f2e"
+uuid = "6e34b625-4abd-537c-b88f-471c36dfa7a0"
+version = "1.0.9+0"
+
+[[deps.CEnum]]
+git-tree-sha1 = "389ad5c84de1ae7cf0e28e381131c98ea87d54fc"
+uuid = "fa961155-64e5-5f13-b03f-caf6b980ea82"
+version = "0.5.0"
+
+[[deps.CPUSummary]]
+deps = ["CpuId", "IfElse", "PrecompileTools", "Preferences", "Static"]
+git-tree-sha1 = "f3a21d7fc84ba618a779d1ed2fcca2e682865bab"
+uuid = "2a0fbf3d-bb9c-48f3-b0a9-814d99fd7ab9"
+version = "0.2.7"
+
+[[deps.Cairo_jll]]
+deps = ["Artifacts", "Bzip2_jll", "CompilerSupportLibraries_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "JLLWrappers", "Libdl", "Pixman_jll", "Xorg_libXext_jll", "Xorg_libXrender_jll", "Zlib_jll", "libpng_jll"]
+git-tree-sha1 = "d0efe2c6fdcdaa1c161d206aa8b933788397ec71"
+uuid = "83423d85-b0ee-5818-9007-b63ccbeb887a"
+version = "1.18.6+0"
+
+[[deps.ChainRulesCore]]
+deps = ["Compat", "LinearAlgebra"]
+git-tree-sha1 = "12177ad6b3cad7fd50c8b3825ce24a99ad61c18f"
+uuid = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4"
+version = "1.26.1"
+weakdeps = ["SparseArrays"]
+
+ [deps.ChainRulesCore.extensions]
+ ChainRulesCoreSparseArraysExt = "SparseArrays"
+
+[[deps.ChooseOptimizer]]
+deps = ["HiGHS", "JuMP"]
+git-tree-sha1 = "39b8a40d2909b2a20c9ac1828db32c42df90127c"
+uuid = "858a232f-1959-5553-8cfc-91e1fd5304e2"
+version = "0.3.2"
+
+[[deps.CliqueTrees]]
+deps = ["AbstractTrees", "FillArrays", "FixedSizeArrays", "Graphs", "LinearAlgebra", "Random", "SparseArrays"]
+git-tree-sha1 = "cb551d26e127c319c619124bc8de100f7d99f172"
+uuid = "60701a23-6482-424a-84db-faee86b9b1f8"
+version = "1.19.1"
+
+ [deps.CliqueTrees.extensions]
+ AMDExt = "AMD"
+ CatlabExt = "Catlab"
+ FlowCutterPACE17_jllExt = "FlowCutterPACE17_jll"
+ KaHyParExt = "KaHyPar"
+ KrylovExt = "Krylov"
+ LaplaciansExt = "Laplacians"
+ MetisExt = "Metis"
+ MooncakeExt = "Mooncake"
+ TreeWidthSolverExt = "TreeWidthSolver"
+
+ [deps.CliqueTrees.weakdeps]
+ AMD = "14f7f29c-3bd6-536c-9a0b-7339e30b5a3e"
+ Catlab = "134e5e36-593f-5add-ad60-77f754baafbe"
+ FlowCutterPACE17_jll = "008204e2-cd5c-5c6d-9360-d31f32b5f6c2"
+ KaHyPar = "2a6221f6-aa48-11e9-3542-2d9e0ef01880"
+ Krylov = "ba0b0d4f-ebba-5204-a429-3ac8c609bfb7"
+ Laplacians = "6f8e5838-0efe-5de0-80a3-5fb4f8dbb1de"
+ Metis = "2679e427-3c69-5b7f-982b-ece356f1e94b"
+ Mooncake = "da2b9cff-9c12-43a0-ae48-6db2b0edb7d6"
+ TreeWidthSolver = "7d267fc5-9ace-409f-a54c-cd2374872a55"
+
+[[deps.CloseOpenIntervals]]
+deps = ["Static", "StaticArrayInterface"]
+git-tree-sha1 = "05ba0d07cd4fd8b7a39541e31a7b0254704ea581"
+uuid = "fb6a15b2-703c-40df-9091-08a04967cfa9"
+version = "0.1.13"
+
+[[deps.CodeTracking]]
+deps = ["InteractiveUtils", "REPL", "UUIDs"]
+git-tree-sha1 = "cfb7a2e89e245a9d5016b70323db412b3a7438d5"
+uuid = "da1fd8a2-8d9e-5ec2-8556-3022fb5608a2"
+version = "3.0.2"
+
+[[deps.CodecBzip2]]
+deps = ["Bzip2_jll", "TranscodingStreams"]
+git-tree-sha1 = "84990fa864b7f2b4901901ca12736e45ee79068c"
+uuid = "523fee87-0ab8-5b00-afb7-3ecf72e48cfd"
+version = "0.8.5"
+
+[[deps.CodecZlib]]
+deps = ["TranscodingStreams", "Zlib_jll"]
+git-tree-sha1 = "962834c22b66e32aa10f7611c08c8ca4e20749a9"
+uuid = "944b1d66-785c-5afd-91f1-9de20f533193"
+version = "0.7.8"
+
+[[deps.Collects]]
+git-tree-sha1 = "d0b504dbd9ea6a0142845a6f9b4c58b3627c718f"
+uuid = "08986516-18db-4a8b-8eaa-f5ef1828d8f1"
+version = "1.1.0"
+
+[[deps.ColorSchemes]]
+deps = ["ColorTypes", "ColorVectorSpace", "Colors", "FixedPointNumbers", "PrecompileTools", "Random"]
+git-tree-sha1 = "b0fd3f56fa442f81e0a47815c92245acfaaa4e34"
+uuid = "35d6a980-a343-548e-a6ea-1d62b119f2f4"
+version = "3.31.0"
+
+[[deps.ColorTypes]]
+deps = ["FixedPointNumbers", "Random"]
+git-tree-sha1 = "b10d0b65641d57b8b4d5e234446582de5047050d"
+uuid = "3da002f7-5984-5a60-b8a6-cbb66c0b333f"
+version = "0.11.5"
+
+[[deps.ColorVectorSpace]]
+deps = ["ColorTypes", "FixedPointNumbers", "LinearAlgebra", "Requires", "Statistics", "TensorCore"]
+git-tree-sha1 = "a1f44953f2382ebb937d60dafbe2deea4bd23249"
+uuid = "c3611d14-8923-5661-9e6a-0046d554d3a4"
+version = "0.10.0"
+weakdeps = ["SpecialFunctions"]
+
+ [deps.ColorVectorSpace.extensions]
+ SpecialFunctionsExt = "SpecialFunctions"
+
+[[deps.Colors]]
+deps = ["ColorTypes", "FixedPointNumbers", "Reexport"]
+git-tree-sha1 = "37ea44092930b1811e666c3bc38065d7d87fcc74"
+uuid = "5ae59095-9a9b-59fe-a467-6f913c188581"
+version = "0.13.1"
+
+[[deps.Combinatorics]]
+git-tree-sha1 = "c761b00e7755700f9cdf5b02039939d1359330e1"
+uuid = "861a8166-3701-5b0c-9a16-15d98fcdc6aa"
+version = "1.1.0"
+
+[[deps.CommonSolve]]
+git-tree-sha1 = "78ea4ddbcf9c241827e7035c3a03e2e456711470"
+uuid = "38540f10-b2f7-11e9-35d8-d573e4eb0ff2"
+version = "0.2.6"
+
+[[deps.CommonSubexpressions]]
+deps = ["MacroTools"]
+git-tree-sha1 = "cda2cfaebb4be89c9084adaca7dd7333369715c5"
+uuid = "bbf7d656-a473-5ed7-a52c-81e309532950"
+version = "0.3.1"
+
+[[deps.CommonWorldInvalidations]]
+git-tree-sha1 = "ae52d1c52048455e85a387fbee9be553ec2b68d0"
+uuid = "f70d9fcc-98c5-4d4a-abd7-e4cdeebd8ca8"
+version = "1.0.0"
+
+[[deps.Compat]]
+deps = ["TOML", "UUIDs"]
+git-tree-sha1 = "9d8a54ce4b17aa5bdce0ea5c34bc5e7c340d16ad"
+uuid = "34da2185-b29b-5c13-b0c7-acf172513d20"
+version = "4.18.1"
+weakdeps = ["Dates", "LinearAlgebra"]
+
+ [deps.Compat.extensions]
+ CompatLinearAlgebraExt = "LinearAlgebra"
+
+[[deps.Compiler]]
+git-tree-sha1 = "382d79bfe72a406294faca39ef0c3cef6e6ce1f1"
+uuid = "807dbc54-b67e-4c79-8afb-eafe4df6f2e1"
+version = "0.1.1"
+
+[[deps.CompilerSupportLibraries_jll]]
+deps = ["Artifacts", "Libdl"]
+uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae"
+version = "1.1.1+0"
+
+[[deps.CompositionsBase]]
+git-tree-sha1 = "802bb88cd69dfd1509f6670416bd4434015693ad"
+uuid = "a33af91c-f02d-484b-be07-31d278c5ca2b"
+version = "0.1.2"
+weakdeps = ["InverseFunctions"]
+
+ [deps.CompositionsBase.extensions]
+ CompositionsBaseInverseFunctionsExt = "InverseFunctions"
+
+[[deps.ConcreteStructs]]
+git-tree-sha1 = "f749037478283d372048690eb3b5f92a79432b34"
+uuid = "2569d6c7-a4a2-43d3-a901-331e8e4be471"
+version = "0.2.3"
+
+[[deps.ConcurrentUtilities]]
+deps = ["Serialization", "Sockets"]
+git-tree-sha1 = "21d088c496ea22914fe80906eb5bce65755e5ec8"
+uuid = "f0e56b4a-5159-44fe-b623-3e5288b988bb"
+version = "2.5.1"
+
+[[deps.Conda]]
+deps = ["Downloads", "JSON", "VersionParsing"]
+git-tree-sha1 = "8f06b0cfa4c514c7b9546756dbae91fcfbc92dc9"
+uuid = "8f4d0f93-b110-5947-807f-2305c1781a2d"
+version = "1.10.3"
+
+[[deps.ConstructionBase]]
+git-tree-sha1 = "b4b092499347b18a015186eae3042f72267106cb"
+uuid = "187b0558-2788-49d3-abe0-74a17ed4e7c9"
+version = "1.6.0"
+
+ [deps.ConstructionBase.extensions]
+ ConstructionBaseIntervalSetsExt = "IntervalSets"
+ ConstructionBaseLinearAlgebraExt = "LinearAlgebra"
+ ConstructionBaseStaticArraysExt = "StaticArrays"
+
+ [deps.ConstructionBase.weakdeps]
+ IntervalSets = "8197267c-284f-5f27-9208-e0e47529a953"
+ LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
+ StaticArrays = "90137ffa-7385-5640-81b9-e52037218182"
+
+[[deps.Contour]]
+git-tree-sha1 = "439e35b0b36e2e5881738abc8857bd92ad6ff9a8"
+uuid = "d38c429a-6771-53c6-b99e-75d170b6e991"
+version = "0.6.3"
+
+[[deps.CpuId]]
+deps = ["Markdown"]
+git-tree-sha1 = "fcbb72b032692610bfbdb15018ac16a36cf2e406"
+uuid = "adafc99b-e345-5852-983c-f28acb93d879"
+version = "0.3.1"
+
+[[deps.DataAPI]]
+git-tree-sha1 = "abe83f3a2f1b857aac70ef8b269080af17764bbe"
+uuid = "9a962f9c-6df0-11e9-0e5d-c546b8b5ee8a"
+version = "1.16.0"
+
+[[deps.DataStructures]]
+deps = ["Compat", "InteractiveUtils", "OrderedCollections"]
+git-tree-sha1 = "4e1fe97fdaed23e9dc21d4d664bea76b65fc50a0"
+uuid = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8"
+version = "0.18.22"
+
+[[deps.DataValueInterfaces]]
+git-tree-sha1 = "bfc1187b79289637fa0ef6d4436ebdfe6905cbd6"
+uuid = "e2d170a0-9d28-54be-80f0-106bbe20a464"
+version = "1.0.0"
+
+[[deps.Dates]]
+deps = ["Printf"]
+uuid = "ade2ca70-3891-5945-98fb-dc099432e06a"
+version = "1.11.0"
+
+[[deps.Dbus_jll]]
+deps = ["Artifacts", "Expat_jll", "JLLWrappers", "Libdl"]
+git-tree-sha1 = "473e9afc9cf30814eb67ffa5f2db7df82c3ad9fd"
+uuid = "ee1fde0b-3d02-5ea6-8484-8dfef6360eab"
+version = "1.16.2+0"
+
+[[deps.DefineSingletons]]
+git-tree-sha1 = "0fba8b706d0178b4dc7fd44a96a92382c9065c2c"
+uuid = "244e2a9f-e319-4986-a169-4d1fe445cd52"
+version = "0.1.2"
+
+[[deps.DelimitedFiles]]
+deps = ["Mmap"]
+git-tree-sha1 = "9e2f36d3c96a820c678f2f1f1782582fcf685bae"
+uuid = "8bb1440f-4735-579b-a4ab-409b98df4dab"
+version = "1.9.1"
+
+[[deps.Dictionaries]]
+deps = ["Indexing", "Random", "Serialization"]
+git-tree-sha1 = "a55766a9c8f66cf19ffcdbdb1444e249bb4ace33"
+uuid = "85a47980-9c8c-11e8-2b9f-f7ca1fa99fb4"
+version = "0.4.6"
+
+[[deps.DiffEqBase]]
+deps = ["ArrayInterface", "BracketingNonlinearSolve", "ConcreteStructs", "DocStringExtensions", "FastBroadcast", "FastClosures", "FastPower", "FunctionWrappers", "FunctionWrappersWrappers", "LinearAlgebra", "Logging", "Markdown", "MuladdMacro", "PrecompileTools", "Printf", "RecursiveArrayTools", "Reexport", "SciMLBase", "SciMLOperators", "SciMLStructures", "Setfield", "Static", "StaticArraysCore", "SymbolicIndexingInterface", "TruncatedStacktraces"]
+git-tree-sha1 = "c5fe5125fcba8f98cdc5c7221b6c324883899c07"
+uuid = "2b5f629d-d688-5b77-993f-72d75c75574e"
+version = "6.213.0"
+
+ [deps.DiffEqBase.extensions]
+ DiffEqBaseCUDAExt = "CUDA"
+ DiffEqBaseChainRulesCoreExt = "ChainRulesCore"
+ DiffEqBaseDynamicQuantitiesExt = "DynamicQuantities"
+ DiffEqBaseEnzymeExt = ["ChainRulesCore", "Enzyme"]
+ DiffEqBaseFlexUnitsExt = "FlexUnits"
+ DiffEqBaseForwardDiffExt = ["ForwardDiff"]
+ DiffEqBaseGTPSAExt = "GTPSA"
+ DiffEqBaseGeneralizedGeneratedExt = "GeneralizedGenerated"
+ DiffEqBaseMPIExt = "MPI"
+ DiffEqBaseMeasurementsExt = "Measurements"
+ DiffEqBaseMonteCarloMeasurementsExt = "MonteCarloMeasurements"
+ DiffEqBaseMooncakeExt = "Mooncake"
+ DiffEqBaseReverseDiffExt = "ReverseDiff"
+ DiffEqBaseSparseArraysExt = "SparseArrays"
+ DiffEqBaseTrackerExt = "Tracker"
+ DiffEqBaseUnitfulExt = "Unitful"
+
+ [deps.DiffEqBase.weakdeps]
+ CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba"
+ ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4"
+ Distributions = "31c24e10-a181-5473-b8eb-7969acd0382f"
+ DynamicQuantities = "06fc5a27-2a28-4c7c-a15d-362465fb6821"
+ Enzyme = "7da242da-08ed-463a-9acd-ee780be4f1d9"
+ FlexUnits = "76e01b6b-c995-4ce6-8559-91e72a3d4e95"
+ ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210"
+ GTPSA = "b27dd330-f138-47c5-815b-40db9dd9b6e8"
+ GeneralizedGenerated = "6b9d7cbe-bcb9-11e9-073f-15a7a543e2eb"
+ MPI = "da04e1cc-30fd-572f-bb4f-1f8673147195"
+ Measurements = "eff96d63-e80a-5855-80a2-b1b0885c5ab7"
+ MonteCarloMeasurements = "0987c9cc-fe09-11e8-30f0-b96dd679fdca"
+ Mooncake = "da2b9cff-9c12-43a0-ae48-6db2b0edb7d6"
+ ReverseDiff = "37e2e3b7-166d-5795-8a7a-e32c996b4267"
+ SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
+ Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c"
+ Unitful = "1986cc42-f94f-5a68-af5c-568840ba703d"
+
+[[deps.DiffResults]]
+deps = ["StaticArraysCore"]
+git-tree-sha1 = "782dd5f4561f5d267313f23853baaaa4c52ea621"
+uuid = "163ba53b-c6d8-5494-b064-1a9d43ac40c5"
+version = "1.1.0"
+
+[[deps.DiffRules]]
+deps = ["IrrationalConstants", "LogExpFunctions", "NaNMath", "Random", "SpecialFunctions"]
+git-tree-sha1 = "23163d55f885173722d1e4cf0f6110cdbaf7e272"
+uuid = "b552c78f-8df3-52c6-915a-8e097449b14b"
+version = "1.15.1"
+
+[[deps.DifferentiationInterface]]
+deps = ["ADTypes", "LinearAlgebra"]
+git-tree-sha1 = "7ae99144ea44715402c6c882bfef2adbeadbc4ce"
+uuid = "a0c0ee7d-e4b9-4e03-894e-1c5f64a51d63"
+version = "0.7.16"
+
+ [deps.DifferentiationInterface.extensions]
+ DifferentiationInterfaceChainRulesCoreExt = "ChainRulesCore"
+ DifferentiationInterfaceDiffractorExt = "Diffractor"
+ DifferentiationInterfaceEnzymeExt = ["EnzymeCore", "Enzyme"]
+ DifferentiationInterfaceFastDifferentiationExt = "FastDifferentiation"
+ DifferentiationInterfaceFiniteDiffExt = "FiniteDiff"
+ DifferentiationInterfaceFiniteDifferencesExt = "FiniteDifferences"
+ DifferentiationInterfaceForwardDiffExt = ["ForwardDiff", "DiffResults"]
+ DifferentiationInterfaceGPUArraysCoreExt = "GPUArraysCore"
+ DifferentiationInterfaceGTPSAExt = "GTPSA"
+ DifferentiationInterfaceMooncakeExt = "Mooncake"
+ DifferentiationInterfacePolyesterForwardDiffExt = ["PolyesterForwardDiff", "ForwardDiff", "DiffResults"]
+ DifferentiationInterfaceReverseDiffExt = ["ReverseDiff", "DiffResults"]
+ DifferentiationInterfaceSparseArraysExt = "SparseArrays"
+ DifferentiationInterfaceSparseConnectivityTracerExt = "SparseConnectivityTracer"
+ DifferentiationInterfaceSparseMatrixColoringsExt = "SparseMatrixColorings"
+ DifferentiationInterfaceStaticArraysExt = "StaticArrays"
+ DifferentiationInterfaceSymbolicsExt = "Symbolics"
+ DifferentiationInterfaceTrackerExt = "Tracker"
+ DifferentiationInterfaceZygoteExt = ["Zygote", "ForwardDiff"]
+
+ [deps.DifferentiationInterface.weakdeps]
+ ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4"
+ DiffResults = "163ba53b-c6d8-5494-b064-1a9d43ac40c5"
+ Diffractor = "9f5e2b26-1114-432f-b630-d3fe2085c51c"
+ Enzyme = "7da242da-08ed-463a-9acd-ee780be4f1d9"
+ EnzymeCore = "f151be2c-9106-41f4-ab19-57ee4f262869"
+ FastDifferentiation = "eb9bf01b-bf85-4b60-bf87-ee5de06c00be"
+ FiniteDiff = "6a86dc24-6348-571c-b903-95158fe2bd41"
+ FiniteDifferences = "26cc04aa-876d-5657-8c51-4c34ba976000"
+ ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210"
+ GPUArraysCore = "46192b85-c4d5-4398-a991-12ede77f4527"
+ GTPSA = "b27dd330-f138-47c5-815b-40db9dd9b6e8"
+ Mooncake = "da2b9cff-9c12-43a0-ae48-6db2b0edb7d6"
+ PolyesterForwardDiff = "98d1487c-24ca-40b6-b7ab-df2af84e126b"
+ ReverseDiff = "37e2e3b7-166d-5795-8a7a-e32c996b4267"
+ SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
+ SparseConnectivityTracer = "9f842d2f-2579-4b1d-911e-f412cf18a3f5"
+ SparseMatrixColorings = "0a514795-09f3-496d-8182-132a7b665d35"
+ StaticArrays = "90137ffa-7385-5640-81b9-e52037218182"
+ Symbolics = "0c5d862f-8b57-4792-8d23-62f2024744c7"
+ Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c"
+ Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f"
+
+[[deps.Distributed]]
+deps = ["Random", "Serialization", "Sockets"]
+uuid = "8ba89e20-285c-5b6f-9357-94700520ee1b"
+version = "1.11.0"
+
+[[deps.Distributions]]
+deps = ["AliasTables", "FillArrays", "LinearAlgebra", "PDMats", "Printf", "QuadGK", "Random", "SpecialFunctions", "Statistics", "StatsAPI", "StatsBase", "StatsFuns"]
+git-tree-sha1 = "fbcc7610f6d8348428f722ecbe0e6cfe22e672c6"
+uuid = "31c24e10-a181-5473-b8eb-7969acd0382f"
+version = "0.25.123"
+
+ [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]]
+git-tree-sha1 = "7442a5dfe1ebb773c29cc2962a8980f47221d76c"
+uuid = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae"
+version = "0.9.5"
+
+[[deps.Downloads]]
+deps = ["ArgTools", "FileWatching", "LibCURL", "NetworkOptions"]
+uuid = "f43a241f-c20a-4ad4-852c-f6b1247861c6"
+version = "1.6.0"
+
+[[deps.EarCut_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"]
+git-tree-sha1 = "e3290f2d49e661fbd94046d7e3726ffcb2d41053"
+uuid = "5ae413db-bbd1-5e63-b57d-d24a61df00f5"
+version = "2.2.4+0"
+
+[[deps.EinExprs]]
+deps = ["AbstractTrees", "CliqueTrees", "Combinatorics", "Compat", "DataStructures", "Graphs", "LinearAlgebra", "PackageExtensionCompat", "SparseArrays", "Suppressor"]
+git-tree-sha1 = "77762277e045ef7f53ede6eb0eaa54075fae592d"
+uuid = "b1794770-133b-4de1-afb4-526377e9f4c5"
+version = "0.6.10"
+
+ [deps.EinExprs.extensions]
+ EinExprsChainRulesCoreExt = "ChainRulesCore"
+ EinExprsFiniteDifferencesExt = "FiniteDifferences"
+ EinExprsGraphMakieExt = ["Makie", "GraphMakie"]
+ EinExprsKaHyParExt = "KaHyPar"
+ EinExprsMakieExt = "Makie"
+
+ [deps.EinExprs.weakdeps]
+ ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4"
+ FiniteDifferences = "26cc04aa-876d-5657-8c51-4c34ba976000"
+ GraphMakie = "1ecd5474-83a3-4783-bb4f-06765db800d2"
+ KaHyPar = "2a6221f6-aa48-11e9-3542-2d9e0ef01880"
+ Makie = "ee78f7c6-11fb-53f2-987a-cfe4a2b5a57a"
+
+[[deps.EllipsisNotation]]
+deps = ["PrecompileTools", "StaticArrayInterface"]
+git-tree-sha1 = "df3c9e8000ee77c6b81955025cf18722c95c41a4"
+uuid = "da5c29d0-fa7d-589e-88eb-ea29b0a81949"
+version = "1.9.0"
+
+[[deps.EnumX]]
+git-tree-sha1 = "c49898e8438c828577f04b92fc9368c388ac783c"
+uuid = "4e289a0a-7415-4d19-859d-a7e5c4648b56"
+version = "1.0.7"
+
+[[deps.EnzymeCore]]
+git-tree-sha1 = "24bbb6fc8fb87eb71c1f8d00184a60fc22c63903"
+uuid = "f151be2c-9106-41f4-ab19-57ee4f262869"
+version = "0.8.19"
+weakdeps = ["Adapt", "ChainRulesCore"]
+
+ [deps.EnzymeCore.extensions]
+ AdaptExt = "Adapt"
+ EnzymeCoreChainRulesCoreExt = "ChainRulesCore"
+
+[[deps.EpollShim_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl"]
+git-tree-sha1 = "8a4be429317c42cfae6a7fc03c31bad1970c310d"
+uuid = "2702e6a9-849d-5ed8-8c21-79e8b8f9ee43"
+version = "0.0.20230411+1"
+
+[[deps.ExceptionUnwrapping]]
+deps = ["Test"]
+git-tree-sha1 = "d36f682e590a83d63d1c7dbd287573764682d12a"
+uuid = "460bff9d-24e4-43bc-9d9f-a8973cb893f4"
+version = "0.1.11"
+
+[[deps.Expat_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl"]
+git-tree-sha1 = "27af30de8b5445644e8ffe3bcb0d72049c089cf1"
+uuid = "2e619515-83b5-522b-bb60-26c02a35a201"
+version = "2.7.3+0"
+
+[[deps.ExponentialUtilities]]
+deps = ["Adapt", "ArrayInterface", "GPUArraysCore", "GenericSchur", "LinearAlgebra", "PrecompileTools", "Printf", "SparseArrays", "libblastrampoline_jll"]
+git-tree-sha1 = "cc294ead6a85e975a8519dd4a0a6cb294eeb18d1"
+uuid = "d4d017d3-3776-5f7e-afef-a10c40355c18"
+version = "1.30.0"
+weakdeps = ["StaticArrays"]
+
+ [deps.ExponentialUtilities.extensions]
+ ExponentialUtilitiesStaticArraysExt = "StaticArrays"
+
+[[deps.ExprTools]]
+git-tree-sha1 = "27415f162e6028e81c72b82ef756bf321213b6ec"
+uuid = "e2ba6199-217a-4e67-a87a-7c52f15ade04"
+version = "0.1.10"
+
+[[deps.ExproniconLite]]
+git-tree-sha1 = "c13f0b150373771b0fdc1713c97860f8df12e6c2"
+uuid = "55351af7-c7e9-48d6-89ff-24e801d99491"
+version = "0.10.14"
+
+[[deps.Extents]]
+git-tree-sha1 = "b309b36a9e02fe7be71270dd8c0fd873625332b4"
+uuid = "411431e0-e8b7-467b-b5e0-f676ba4f2910"
+version = "0.1.6"
+
+[[deps.ExternalDocstrings]]
+git-tree-sha1 = "1224740fc4d07c989949e1c1b508ebd49a65a5f6"
+uuid = "e189563c-0753-4f5e-ad5c-be4293c83fb4"
+version = "0.1.1"
+
+[[deps.FFMPEG]]
+deps = ["FFMPEG_jll"]
+git-tree-sha1 = "95ecf07c2eea562b5adbd0696af6db62c0f52560"
+uuid = "c87230d0-a227-11e9-1b43-d7ebe4e7570a"
+version = "0.4.5"
+
+[[deps.FFMPEG_jll]]
+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", "libva_jll", "libvorbis_jll", "x264_jll", "x265_jll"]
+git-tree-sha1 = "66381d7059b5f3f6162f28831854008040a4e905"
+uuid = "b22a6f82-2f65-5046-a5b2-351ab43fb4e5"
+version = "8.0.1+1"
+
+[[deps.FastBroadcast]]
+deps = ["ArrayInterface", "LinearAlgebra", "Polyester", "Static", "StaticArrayInterface", "StrideArraysCore"]
+git-tree-sha1 = "ab1b34570bcdf272899062e1a56285a53ecaae08"
+uuid = "7034ab61-46d4-4ed7-9d0f-46aef9175898"
+version = "0.3.5"
+
+[[deps.FastClosures]]
+git-tree-sha1 = "acebe244d53ee1b461970f8910c235b259e772ef"
+uuid = "9aa1b823-49e4-5ca5-8b0f-3971ec8bab6a"
+version = "0.3.2"
+
+[[deps.FastGaussQuadrature]]
+deps = ["LinearAlgebra", "SpecialFunctions", "StaticArrays"]
+git-tree-sha1 = "0044e9f5e49a57e88205e8f30ab73928b05fe5b6"
+uuid = "442a2c76-b920-505d-bb47-c5924d526838"
+version = "1.1.0"
+
+[[deps.FastPower]]
+git-tree-sha1 = "862831f78c7a48681a074ecc9aac09f2de563f71"
+uuid = "a4df4552-cc26-4903-aec0-212e50a0e84b"
+version = "1.3.1"
+
+ [deps.FastPower.extensions]
+ FastPowerEnzymeExt = "Enzyme"
+ FastPowerForwardDiffExt = "ForwardDiff"
+ FastPowerMeasurementsExt = "Measurements"
+ FastPowerMonteCarloMeasurementsExt = "MonteCarloMeasurements"
+ FastPowerMooncakeExt = "Mooncake"
+ FastPowerReverseDiffExt = "ReverseDiff"
+ FastPowerTrackerExt = "Tracker"
+
+ [deps.FastPower.weakdeps]
+ Enzyme = "7da242da-08ed-463a-9acd-ee780be4f1d9"
+ ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210"
+ Measurements = "eff96d63-e80a-5855-80a2-b1b0885c5ab7"
+ MonteCarloMeasurements = "0987c9cc-fe09-11e8-30f0-b96dd679fdca"
+ Mooncake = "da2b9cff-9c12-43a0-ae48-6db2b0edb7d6"
+ ReverseDiff = "37e2e3b7-166d-5795-8a7a-e32c996b4267"
+ Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c"
+
+[[deps.FileWatching]]
+uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee"
+version = "1.11.0"
+
+[[deps.FillArrays]]
+deps = ["LinearAlgebra"]
+git-tree-sha1 = "2f979084d1e13948a3352cf64a25df6bd3b4dca3"
+uuid = "1a297f60-69ca-5386-bcde-b61e274b549b"
+version = "1.16.0"
+weakdeps = ["PDMats", "SparseArrays", "StaticArrays", "Statistics"]
+
+ [deps.FillArrays.extensions]
+ FillArraysPDMatsExt = "PDMats"
+ FillArraysSparseArraysExt = "SparseArrays"
+ FillArraysStaticArraysExt = "StaticArrays"
+ FillArraysStatisticsExt = "Statistics"
+
+[[deps.FiniteDiff]]
+deps = ["ArrayInterface", "LinearAlgebra", "Setfield"]
+git-tree-sha1 = "9340ca07ca27093ff68418b7558ca37b05f8aeb1"
+uuid = "6a86dc24-6348-571c-b903-95158fe2bd41"
+version = "2.29.0"
+
+ [deps.FiniteDiff.extensions]
+ FiniteDiffBandedMatricesExt = "BandedMatrices"
+ FiniteDiffBlockBandedMatricesExt = "BlockBandedMatrices"
+ FiniteDiffSparseArraysExt = "SparseArrays"
+ FiniteDiffStaticArraysExt = "StaticArrays"
+
+ [deps.FiniteDiff.weakdeps]
+ BandedMatrices = "aae01518-5342-5314-be14-df237901396f"
+ BlockBandedMatrices = "ffab5731-97b5-5995-9138-79e8c1846df0"
+ SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
+ StaticArrays = "90137ffa-7385-5640-81b9-e52037218182"
+
+[[deps.FixedPointNumbers]]
+deps = ["Statistics"]
+git-tree-sha1 = "05882d6995ae5c12bb5f36dd2ed3f61c98cbb172"
+uuid = "53c48c17-4a7d-5ca2-90c5-79b7896eea93"
+version = "0.8.5"
+
+[[deps.FixedSizeArrays]]
+deps = ["Collects"]
+git-tree-sha1 = "76bb6e6427ba47b22c97b7f2cddc1ae002e6a9ad"
+uuid = "3821ddf9-e5b5-40d5-8e25-6813ab96b5e2"
+version = "1.3.0"
+weakdeps = ["Adapt", "Random"]
+
+ [deps.FixedSizeArrays.extensions]
+ FixedSizeArraysAdaptExt = "Adapt"
+ FixedSizeArraysRandomExt = "Random"
+
+[[deps.Folds]]
+deps = ["Accessors", "BangBang", "Baselet", "DefineSingletons", "Distributed", "ExternalDocstrings", "InitialValues", "MicroCollections", "Referenceables", "Requires", "Test", "ThreadedScans", "Transducers"]
+git-tree-sha1 = "7eb4bc88d8295e387a667fd43d67c157ddee76cf"
+uuid = "41a02a25-b8f0-4f67-bc48-60067656b558"
+version = "0.2.10"
+
+ [deps.Folds.extensions]
+ FoldsOnlineStatsBaseExt = "OnlineStatsBase"
+
+ [deps.Folds.weakdeps]
+ OnlineStatsBase = "925886fa-5bf2-5e8e-b522-a9147a512338"
+
+[[deps.Fontconfig_jll]]
+deps = ["Artifacts", "Bzip2_jll", "Expat_jll", "FreeType2_jll", "JLLWrappers", "Libdl", "Libuuid_jll", "Zlib_jll"]
+git-tree-sha1 = "f85dac9a96a01087df6e3a749840015a0ca3817d"
+uuid = "a3f928ae-7b40-5064-980b-68af3947d34b"
+version = "2.17.1+0"
+
+[[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"]
+git-tree-sha1 = "cddeab6487248a39dae1a960fff0ac17b2a28888"
+uuid = "f6369f11-7733-5829-9624-2563aa707210"
+version = "1.3.3"
+weakdeps = ["StaticArrays"]
+
+ [deps.ForwardDiff.extensions]
+ ForwardDiffStaticArraysExt = "StaticArrays"
+
+[[deps.FreeType2_jll]]
+deps = ["Artifacts", "Bzip2_jll", "JLLWrappers", "Libdl", "Zlib_jll"]
+git-tree-sha1 = "70329abc09b886fd2c5d94ad2d9527639c421e3e"
+uuid = "d7e528f0-a631-5988-bf34-fe36492bcfd7"
+version = "2.14.3+1"
+
+[[deps.FriBidi_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl"]
+git-tree-sha1 = "7a214fdac5ed5f59a22c2d9a885a16da1c74bbc7"
+uuid = "559328eb-81f9-559d-9380-de523a88c83c"
+version = "1.0.17+0"
+
+[[deps.FunctionWrappers]]
+git-tree-sha1 = "d62485945ce5ae9c0c48f124a84998d755bae00e"
+uuid = "069b7b12-0de2-55c6-9aab-29f3d0a68a2e"
+version = "1.1.3"
+
+[[deps.FunctionWrappersWrappers]]
+deps = ["FunctionWrappers"]
+git-tree-sha1 = "b104d487b34566608f8b4e1c39fb0b10aa279ff8"
+uuid = "77dc65aa-8811-40c2-897b-53d922fa7daf"
+version = "0.1.3"
+
+[[deps.Functors]]
+deps = ["Compat", "ConstructionBase", "LinearAlgebra", "Random"]
+git-tree-sha1 = "60a0339f28a233601cb74468032b5c302d5067de"
+uuid = "d9f16b24-f501-4c13-a1f2-28368ffc5196"
+version = "0.5.2"
+
+[[deps.Future]]
+deps = ["Random"]
+uuid = "9fa8497b-333b-5362-9e8d-4d0656e87820"
+version = "1.11.0"
+
+[[deps.GLFW_jll]]
+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 = "b7bfd56fa66616138dfe5237da4dc13bbd83c67f"
+uuid = "0656b61e-2033-5cc2-a64a-77c0f6c09b89"
+version = "3.4.1+0"
+
+[[deps.GPUArraysCore]]
+deps = ["Adapt"]
+git-tree-sha1 = "83cf05ab16a73219e5f6bd1bdfa9848fa24ac627"
+uuid = "46192b85-c4d5-4398-a991-12ede77f4527"
+version = "0.2.0"
+
+[[deps.GR]]
+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 = "44716a1a667cb867ee0e9ec8edc31c3e4aa5afdc"
+uuid = "28b8d3ca-fb5f-59d9-8090-bfdbd6d07a71"
+version = "0.73.24"
+weakdeps = ["IJulia"]
+
+ [deps.GR.extensions]
+ IJuliaExt = "IJulia"
+
+[[deps.GR_jll]]
+deps = ["Artifacts", "Bzip2_jll", "Cairo_jll", "FFMPEG_jll", "Fontconfig_jll", "FreeType2_jll", "GLFW_jll", "JLLWrappers", "JpegTurbo_jll", "Libdl", "Libtiff_jll", "Pixman_jll", "Qt6Base_jll", "Zlib_jll", "libpng_jll"]
+git-tree-sha1 = "be8a1b8065959e24fdc1b51402f39f3b6f0f6653"
+uuid = "d2c73de3-f751-5644-a686-071e5b155ba9"
+version = "0.73.24+0"
+
+[[deps.GenericSchur]]
+deps = ["LinearAlgebra", "Printf"]
+git-tree-sha1 = "a694e2a57394e409f7a11ee0977362a9fafcb8c7"
+uuid = "c145ed77-6b09-5dd9-b285-bf645a82121e"
+version = "0.5.6"
+
+[[deps.GeometryBasics]]
+deps = ["EarCut_jll", "Extents", "IterTools", "LinearAlgebra", "PrecompileTools", "Random", "StaticArrays"]
+git-tree-sha1 = "1f5a80f4ed9f5a4aada88fc2db456e637676414b"
+uuid = "5c1252a2-5f33-56bf-86c9-59e7332b4326"
+version = "0.5.10"
+
+ [deps.GeometryBasics.extensions]
+ GeometryBasicsGeoInterfaceExt = "GeoInterface"
+
+ [deps.GeometryBasics.weakdeps]
+ GeoInterface = "cf35fbd7-0cd7-5166-be24-54bfbe79505f"
+
+[[deps.GeometryTypes]]
+deps = ["ColorTypes", "FixedPointNumbers", "LinearAlgebra", "StaticArrays"]
+git-tree-sha1 = "d796f7be0383b5416cd403420ce0af083b0f9b28"
+uuid = "4d00f742-c7ba-57c2-abde-4428a4b178cb"
+version = "0.8.5"
+
+[[deps.GettextRuntime_jll]]
+deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Libiconv_jll"]
+git-tree-sha1 = "45288942190db7c5f760f59c04495064eedf9340"
+uuid = "b0724c58-0f36-5564-988d-3bb0596ebc4a"
+version = "0.22.4+0"
+
+[[deps.Ghostscript_jll]]
+deps = ["Artifacts", "JLLWrappers", "JpegTurbo_jll", "Libdl", "Zlib_jll"]
+git-tree-sha1 = "38044a04637976140074d0b0621c1edf0eb531fd"
+uuid = "61579ee1-b43e-5ca0-a5da-69d92c66a64b"
+version = "9.55.1+0"
+
+[[deps.Glib_jll]]
+deps = ["Artifacts", "GettextRuntime_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Libiconv_jll", "Libmount_jll", "PCRE2_jll", "Zlib_jll"]
+git-tree-sha1 = "24f6def62397474a297bfcec22384101609142ed"
+uuid = "7746bdde-850d-59dc-9ae8-88ece973131d"
+version = "2.86.3+0"
+
+[[deps.GraphRecipes]]
+deps = ["AbstractTrees", "GeometryTypes", "Graphs", "InteractiveUtils", "Interpolations", "LinearAlgebra", "NaNMath", "NetworkLayout", "PlotUtils", "RecipesBase", "SparseArrays", "Statistics"]
+git-tree-sha1 = "24c0a854c2f971b4915891a68ccfcd90ab3faea7"
+uuid = "bd48cda9-67a9-57be-86fa-5b3c104eda73"
+version = "0.5.16"
+
+[[deps.Graphite2_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl"]
+git-tree-sha1 = "8a6dbda1fd736d60cc477d99f2e7a042acfa46e8"
+uuid = "3b182d85-2403-5c21-9c21-1e1f0cc25472"
+version = "1.3.15+0"
+
+[[deps.Graphs]]
+deps = ["ArnoldiMethod", "DataStructures", "Distributed", "Inflate", "LinearAlgebra", "Random", "SharedArrays", "SimpleTraits", "SparseArrays", "Statistics"]
+git-tree-sha1 = "7a98c6502f4632dbe9fb1973a4244eaa3324e84d"
+uuid = "86223c79-3864-5bf0-83f7-82e725a168b6"
+version = "1.13.1"
+
+[[deps.Grisu]]
+git-tree-sha1 = "53bb909d1151e57e2484c3d1b53e19552b887fb2"
+uuid = "42e2da0e-8278-4e71-bc24-59509adca0fe"
+version = "1.0.2"
+
+[[deps.HTTP]]
+deps = ["Base64", "CodecZlib", "ConcurrentUtilities", "Dates", "ExceptionUnwrapping", "Logging", "LoggingExtras", "MbedTLS", "NetworkOptions", "OpenSSL", "PrecompileTools", "Random", "SimpleBufferStream", "Sockets", "URIs", "UUIDs"]
+git-tree-sha1 = "51059d23c8bb67911a2e6fd5130229113735fc7e"
+uuid = "cd3eb016-35fb-5094-929b-558a96fad6f3"
+version = "1.11.0"
+
+[[deps.HalfIntegers]]
+git-tree-sha1 = "9c3149243abb5bc0bad0431d6c4fcac0f4443c7c"
+uuid = "f0d1745a-41c9-11e9-1dd9-e5d34d218721"
+version = "1.6.0"
+
+[[deps.HarfBuzz_jll]]
+deps = ["Artifacts", "Cairo_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "Graphite2_jll", "JLLWrappers", "Libdl", "Libffi_jll"]
+git-tree-sha1 = "f923f9a774fcf3f5cb761bfa43aeadd689714813"
+uuid = "2e76f6c2-a576-52d4-95c1-20adfe4de566"
+version = "8.5.1+0"
+
+[[deps.HiGHS]]
+deps = ["HiGHS_jll", "LinearAlgebra", "MathOptIIS", "MathOptInterface", "OpenBLAS32_jll", "PrecompileTools", "SparseArrays"]
+git-tree-sha1 = "2b592162e8b40a5cf6435c37d86a8e2cf25cd459"
+uuid = "87dc4568-4c63-4d18-b0c0-bb2238e4078b"
+version = "1.22.2"
+
+[[deps.HiGHS_jll]]
+deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Zlib_jll", "libblastrampoline_jll"]
+git-tree-sha1 = "621d773f277b9eadac7e049eaa6418af65c7b9d7"
+uuid = "8fd58aa0-07eb-5a78-9b36-339c94fd15ea"
+version = "1.13.1+0"
+
+[[deps.HypergeometricFunctions]]
+deps = ["LinearAlgebra", "OpenLibm_jll", "SpecialFunctions"]
+git-tree-sha1 = "68c173f4f449de5b438ee67ed0c9c748dc31a2ec"
+uuid = "34004b35-14d8-5ef3-9330-4cdb6864b03a"
+version = "0.3.28"
+
+[[deps.IJulia]]
+deps = ["Base64", "Conda", "Dates", "InteractiveUtils", "Logging", "Markdown", "Pkg", "PrecompileTools", "Printf", "REPL", "Random", "SHA", "Sockets", "UUIDs", "ZMQ"]
+git-tree-sha1 = "102656c4efc9737f892e1bca7e66ae374c650740"
+uuid = "7073ff75-c697-5162-941a-fcdaad2a7d2a"
+version = "1.34.4"
+
+ [deps.IJulia.extensions]
+ IJuliaPythonCallExt = "PythonCall"
+ IJuliaReviseExt = "Revise"
+
+ [deps.IJulia.weakdeps]
+ PythonCall = "6099a3de-0909-46bc-b1f4-468b9a2dfc0d"
+ Revise = "295af30f-e4ad-537b-8983-00126c2a3abe"
+
+[[deps.ITensorMPS]]
+deps = ["Adapt", "Compat", "ITensors", "IsApprox", "KrylovKit", "LinearAlgebra", "NDTensors", "Printf", "Random", "SerializedElementArrays", "TupleTools"]
+git-tree-sha1 = "87f561eba7f138aea267f0f993522f87cc05e58f"
+uuid = "0d1a4710-d33b-49a5-8f18-73bdf49b47e2"
+version = "0.3.45"
+
+ [deps.ITensorMPS.extensions]
+ ITensorMPSChainRulesCoreExt = "ChainRulesCore"
+ ITensorMPSHDF5Ext = "HDF5"
+ ITensorMPSObserversExt = "Observers"
+ ITensorMPSPackageCompilerExt = "PackageCompiler"
+ ITensorMPSZygoteRulesExt = ["ChainRulesCore", "ZygoteRules"]
+
+ [deps.ITensorMPS.weakdeps]
+ ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4"
+ HDF5 = "f67ccb44-e63f-5c2f-98bd-6dc0ccc4ba2f"
+ Observers = "338f10d5-c7f1-4033-a7d1-f9dec39bcaa0"
+ PackageCompiler = "9b87118b-4619-50d2-8e1e-99f35a4d4d9d"
+ ZygoteRules = "700de1a5-db45-46bc-99cf-38207098b444"
+
+[[deps.ITensors]]
+deps = ["Adapt", "BitIntegers", "ChainRulesCore", "Compat", "Dictionaries", "DocStringExtensions", "Functors", "IsApprox", "LinearAlgebra", "NDTensors", "Pkg", "Printf", "Random", "Requires", "SerializedElementArrays", "SimpleTraits", "SparseArrays", "StaticArrays", "Strided", "TimerOutputs", "TupleTools", "Zeros"]
+git-tree-sha1 = "dddbf4567e926a17b84c4b9c9b78cd2daf053478"
+uuid = "9136182c-28ba-11e9-034c-db9fb085ebd5"
+version = "0.9.25"
+
+ [deps.ITensors.extensions]
+ ITensorsHDF5Ext = "HDF5"
+ ITensorsTensorOperationsExt = "TensorOperations"
+ ITensorsVectorInterfaceExt = "VectorInterface"
+ ITensorsZygoteRulesExt = "ZygoteRules"
+
+ [deps.ITensors.weakdeps]
+ HDF5 = "f67ccb44-e63f-5c2f-98bd-6dc0ccc4ba2f"
+ TensorOperations = "6aa20fa7-93e2-5fca-9bc0-fbd0db3c71a2"
+ VectorInterface = "409d34a3-91d5-4945-b6ec-7529ddf182d8"
+ ZygoteRules = "700de1a5-db45-46bc-99cf-38207098b444"
+
+[[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.InitialValues]]
+git-tree-sha1 = "4da0f88e9a39111c2fa3add390ab15f3a44f3ca3"
+uuid = "22cec73e-a1b8-11e9-2c92-598750a2cf9c"
+version = "0.3.1"
+
+[[deps.InlineStrings]]
+git-tree-sha1 = "8f3d257792a522b4601c24a577954b0a8cd7334d"
+uuid = "842dd82b-1e85-43dc-bf29-5d0ee9dffc48"
+version = "1.4.5"
+
+ [deps.InlineStrings.extensions]
+ ArrowTypesExt = "ArrowTypes"
+ ParsersExt = "Parsers"
+
+ [deps.InlineStrings.weakdeps]
+ ArrowTypes = "31f734f8-188a-4ce0-8406-c8a06bd891cd"
+ Parsers = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0"
+
+[[deps.IntegerMathUtils]]
+git-tree-sha1 = "4c1acff2dc6b6967e7e750633c50bc3b8d83e617"
+uuid = "18e54dd8-cb9d-406c-a71d-865a43cbb235"
+version = "0.1.3"
+
+[[deps.IntelOpenMP_jll]]
+deps = ["Artifacts", "JLLWrappers", "LazyArtifacts", "Libdl"]
+git-tree-sha1 = "ec1debd61c300961f98064cfb21287613ad7f303"
+uuid = "1d5cc7b8-4909-519e-a0f8-d0f5ad9712d0"
+version = "2025.2.0+0"
+
+[[deps.InteractiveUtils]]
+deps = ["Markdown"]
+uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240"
+version = "1.11.0"
+
+[[deps.Interpolations]]
+deps = ["Adapt", "AxisAlgorithms", "ChainRulesCore", "LinearAlgebra", "OffsetArrays", "Random", "Ratios", "SharedArrays", "SparseArrays", "StaticArrays", "WoodburyMatrices"]
+git-tree-sha1 = "65d505fa4c0d7072990d659ef3fc086eb6da8208"
+uuid = "a98d9a8b-a2ab-59e6-89dd-64a1c18fca59"
+version = "0.16.2"
+
+ [deps.Interpolations.extensions]
+ InterpolationsForwardDiffExt = "ForwardDiff"
+ InterpolationsUnitfulExt = "Unitful"
+
+ [deps.Interpolations.weakdeps]
+ ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210"
+ Unitful = "1986cc42-f94f-5a68-af5c-568840ba703d"
+
+[[deps.InverseFunctions]]
+git-tree-sha1 = "a779299d77cd080bf77b97535acecd73e1c5e5cb"
+uuid = "3587e190-3f89-42d0-90ee-14403ec27112"
+version = "0.1.17"
+weakdeps = ["Dates", "Test"]
+
+ [deps.InverseFunctions.extensions]
+ InverseFunctionsDatesExt = "Dates"
+ InverseFunctionsTestExt = "Test"
+
+[[deps.IrrationalConstants]]
+git-tree-sha1 = "b2d91fe939cae05960e760110b328288867b5758"
+uuid = "92d709cd-6900-40b7-9082-c6be49f344b6"
+version = "0.2.6"
+
+[[deps.IsApprox]]
+deps = ["Dictionaries", "LinearAlgebra", "PrecompileTools"]
+git-tree-sha1 = "597fa86ccb967c315dae711a83a234b28c0c6852"
+uuid = "28f27b66-4bd8-47e7-9110-e2746eb8bed7"
+version = "2.0.0"
+
+[[deps.IterTools]]
+git-tree-sha1 = "42d5f897009e7ff2cf88db414a389e5ed1bdd023"
+uuid = "c8e1da08-722c-5040-9ed9-7db0dc04731e"
+version = "1.10.0"
+
+[[deps.IteratorInterfaceExtensions]]
+git-tree-sha1 = "a3f24677c21f5bbe9d2a714f95dcd58337fb2856"
+uuid = "82899510-4779-5014-852e-03e436cf321d"
+version = "1.0.0"
+
+[[deps.JLFzf]]
+deps = ["REPL", "Random", "fzf_jll"]
+git-tree-sha1 = "82f7acdc599b65e0f8ccd270ffa1467c21cb647b"
+uuid = "1019f520-868f-41f5-a6de-eb00f4b6a39c"
+version = "0.1.11"
+
+[[deps.JLLWrappers]]
+deps = ["Artifacts", "Preferences"]
+git-tree-sha1 = "0533e564aae234aff59ab625543145446d8b6ec2"
+uuid = "692b3bcd-3c85-4b1f-b108-f13ce0eb3210"
+version = "1.7.1"
+
+[[deps.JSON]]
+deps = ["Dates", "Logging", "Parsers", "PrecompileTools", "StructUtils", "UUIDs", "Unicode"]
+git-tree-sha1 = "67c6f1f085cb2671c93fe34244c9cccde30f7a26"
+uuid = "682c06a0-de6a-54ab-a142-c8b1cf79cde6"
+version = "1.5.0"
+
+ [deps.JSON.extensions]
+ JSONArrowExt = ["ArrowTypes"]
+
+ [deps.JSON.weakdeps]
+ ArrowTypes = "31f734f8-188a-4ce0-8406-c8a06bd891cd"
+
+[[deps.Jieko]]
+deps = ["ExproniconLite"]
+git-tree-sha1 = "2f05ed29618da60c06a87e9c033982d4f71d0b6c"
+uuid = "ae98c720-c025-4a4a-838c-29b094483192"
+version = "0.2.1"
+
+[[deps.JpegTurbo_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl"]
+git-tree-sha1 = "b6893345fd6658c8e475d40155789f4860ac3b21"
+uuid = "aacddb02-875f-59d6-b918-886e6ef4fbf8"
+version = "3.1.4+0"
+
+[[deps.JuMP]]
+deps = ["LinearAlgebra", "MacroTools", "MathOptInterface", "MutableArithmetics", "OrderedCollections", "PrecompileTools", "Printf", "SparseArrays"]
+git-tree-sha1 = "4091a1338a0e32766b11b9bd3fac247d34200c77"
+uuid = "4076af6c-e467-56ae-b986-b466b2749572"
+version = "1.30.0"
+
+ [deps.JuMP.extensions]
+ JuMPDimensionalDataExt = "DimensionalData"
+
+ [deps.JuMP.weakdeps]
+ DimensionalData = "0703355e-b756-11e9-17c0-8b28908087d0"
+
+[[deps.JuliaInterpreter]]
+deps = ["CodeTracking", "InteractiveUtils", "Random", "UUIDs"]
+git-tree-sha1 = "58927c485919bf17ea308d9d82156de1adf4b006"
+uuid = "aa1ae85d-cabe-5617-a682-6adf51b2e16a"
+version = "0.10.12"
+
+[[deps.Krylov]]
+deps = ["LinearAlgebra", "Printf", "SparseArrays"]
+git-tree-sha1 = "c4d19f51afc7ba2afbe32031b8f2d21b11c9e26e"
+uuid = "ba0b0d4f-ebba-5204-a429-3ac8c609bfb7"
+version = "0.10.6"
+
+[[deps.KrylovKit]]
+deps = ["LinearAlgebra", "PackageExtensionCompat", "Printf", "Random", "VectorInterface"]
+git-tree-sha1 = "6dcba71deb016d646f1c1bcfcaacc764a198b8e6"
+uuid = "0b1a1467-8014-51b9-945f-bf0ae24f4b77"
+version = "0.10.2"
+weakdeps = ["ChainRulesCore"]
+
+ [deps.KrylovKit.extensions]
+ KrylovKitChainRulesCoreExt = "ChainRulesCore"
+
+[[deps.LAME_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl"]
+git-tree-sha1 = "059aabebaa7c82ccb853dd4a0ee9d17796f7e1bc"
+uuid = "c1c5ebd0-6772-5130-a774-d5fcae4a789d"
+version = "3.100.3+0"
+
+[[deps.LERC_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl"]
+git-tree-sha1 = "aaafe88dccbd957a8d82f7d05be9b69172e0cee3"
+uuid = "88015f11-f218-50d7-93a8-a6af411a945d"
+version = "4.0.1+0"
+
+[[deps.LLVMOpenMP_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl"]
+git-tree-sha1 = "eb62a3deb62fc6d8822c0c4bef73e4412419c5d8"
+uuid = "1d63c593-3942-5779-bab2-d838dc0a180e"
+version = "18.1.8+0"
+
+[[deps.LRUCache]]
+git-tree-sha1 = "5519b95a490ff5fe629c4a7aa3b3dfc9160498b3"
+uuid = "8ac3fa9e-de4c-5943-b1dc-09c6b5f20637"
+version = "1.6.2"
+weakdeps = ["Serialization"]
+
+ [deps.LRUCache.extensions]
+ SerializationExt = ["Serialization"]
+
+[[deps.LaTeXStrings]]
+git-tree-sha1 = "dda21b8cbd6a6c40d9d02a73230f9d70fed6918c"
+uuid = "b964fa9f-0449-5b57-a5c2-d3ea65f4040f"
+version = "1.4.0"
+
+[[deps.Latexify]]
+deps = ["Format", "Ghostscript_jll", "InteractiveUtils", "LaTeXStrings", "MacroTools", "Markdown", "OrderedCollections", "Requires"]
+git-tree-sha1 = "44f93c47f9cd6c7e431f2f2091fcba8f01cd7e8f"
+uuid = "23fbe1c1-3f47-55db-b15f-69d7ec21a316"
+version = "0.16.10"
+
+ [deps.Latexify.extensions]
+ DataFramesExt = "DataFrames"
+ SparseArraysExt = "SparseArrays"
+ SymEngineExt = "SymEngine"
+ TectonicExt = "tectonic_jll"
+
+ [deps.Latexify.weakdeps]
+ DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0"
+ SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
+ SymEngine = "123dc426-2d89-5057-bbad-38513e3affd8"
+ tectonic_jll = "d7dd28d6-a5e6-559c-9131-7eb760cdacc5"
+
+[[deps.LayoutPointers]]
+deps = ["ArrayInterface", "LinearAlgebra", "ManualMemory", "SIMDTypes", "Static", "StaticArrayInterface"]
+git-tree-sha1 = "a9eaadb366f5493a5654e843864c13d8b107548c"
+uuid = "10f19ff3-798f-405d-979b-55457f8fc047"
+version = "0.1.17"
+
+[[deps.LazyArtifacts]]
+deps = ["Artifacts", "Pkg"]
+uuid = "4af54fe1-eca0-43a8-85a7-787d91b784e3"
+version = "1.11.0"
+
+[[deps.LibCURL]]
+deps = ["LibCURL_jll", "MozillaCACerts_jll"]
+uuid = "b27032c2-a3e7-50c8-80cd-2d36dbcbfd21"
+version = "0.6.4"
+
+[[deps.LibCURL_jll]]
+deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll", "Zlib_jll", "nghttp2_jll"]
+uuid = "deac9b47-8bc7-5906-a0fe-35ac56dc84c0"
+version = "8.6.0+0"
+
+[[deps.LibGit2]]
+deps = ["Base64", "LibGit2_jll", "NetworkOptions", "Printf", "SHA"]
+uuid = "76f85450-5226-5b5a-8eaa-529ad045b433"
+version = "1.11.0"
+
+[[deps.LibGit2_jll]]
+deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll"]
+uuid = "e37daf67-58a4-590a-8e99-b0245dd2ffc5"
+version = "1.7.2+0"
+
+[[deps.LibMPDec_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl"]
+git-tree-sha1 = "ce78ec7bb8a7c6babc1e61f701fbdf36f5384a36"
+uuid = "7106de7a-f406-5ef1-84f7-3345f7341bd2"
+version = "2.5.2+0"
+
+[[deps.LibSSH2_jll]]
+deps = ["Artifacts", "Libdl", "MbedTLS_jll"]
+uuid = "29816b5a-b9ab-546f-933c-edad1886dfa8"
+version = "1.11.0+1"
+
+[[deps.Libdl]]
+uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb"
+version = "1.11.0"
+
+[[deps.Libffi_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl"]
+git-tree-sha1 = "c8da7e6a91781c41a863611c7e966098d783c57a"
+uuid = "e9f186c6-92d2-5b65-8a66-fee21dc1b490"
+version = "3.4.7+0"
+
+[[deps.Libglvnd_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libX11_jll", "Xorg_libXext_jll"]
+git-tree-sha1 = "d36c21b9e7c172a44a10484125024495e2625ac0"
+uuid = "7e76a0d4-f3c7-5321-8279-8d96eeed0f29"
+version = "1.7.1+1"
+
+[[deps.Libiconv_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl"]
+git-tree-sha1 = "be484f5c92fad0bd8acfef35fe017900b0b73809"
+uuid = "94ce4f54-9a6c-5748-9c1c-f9c7231a4531"
+version = "1.18.0+0"
+
+[[deps.Libmount_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl"]
+git-tree-sha1 = "97bbca976196f2a1eb9607131cb108c69ec3f8a6"
+uuid = "4b2f31a3-9ecc-558c-b454-b3730dcb73e9"
+version = "2.41.3+0"
+
+[[deps.Libtiff_jll]]
+deps = ["Artifacts", "JLLWrappers", "JpegTurbo_jll", "LERC_jll", "Libdl", "XZ_jll", "Zlib_jll", "Zstd_jll"]
+git-tree-sha1 = "f04133fe05eff1667d2054c53d59f9122383fe05"
+uuid = "89763e89-9b03-5906-acba-b20f662cd828"
+version = "4.7.2+0"
+
+[[deps.Libuuid_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl"]
+git-tree-sha1 = "d0205286d9eceadc518742860bf23f703779a3d6"
+uuid = "38a345b3-de98-5d2b-a5d3-14cd9215e700"
+version = "2.41.3+0"
+
+[[deps.LightXML]]
+deps = ["Libdl", "XML2_jll"]
+git-tree-sha1 = "aa971a09f0f1fe92fe772713a564aa48abe510df"
+uuid = "9c8b4983-aa76-5018-a973-4c85ecc9e179"
+version = "0.9.3"
+
+[[deps.LineSearch]]
+deps = ["ADTypes", "CommonSolve", "ConcreteStructs", "FastClosures", "LinearAlgebra", "MaybeInplace", "PrecompileTools", "SciMLBase", "SciMLJacobianOperators", "StaticArraysCore"]
+git-tree-sha1 = "9f7253c0574b4b585c8909232adb890930da980a"
+uuid = "87fe0de2-c867-4266-b59a-2f0a94fc965b"
+version = "0.1.6"
+weakdeps = ["LineSearches"]
+
+ [deps.LineSearch.extensions]
+ LineSearchLineSearchesExt = "LineSearches"
+
+[[deps.LineSearches]]
+deps = ["LinearAlgebra", "NLSolversBase", "NaNMath", "Printf"]
+git-tree-sha1 = "738bdcacfef25b3a9e4a39c28613717a6b23751e"
+uuid = "d3d80556-e9d4-5f37-9878-2ab0fcc64255"
+version = "7.6.0"
+
+[[deps.LinearAlgebra]]
+deps = ["Libdl", "OpenBLAS_jll", "libblastrampoline_jll"]
+uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
+version = "1.11.0"
+
+[[deps.LinearAlgebraX]]
+deps = ["LinearAlgebra", "Mods", "Primes", "SimplePolynomials"]
+git-tree-sha1 = "81b61301d2881af967ad53b13c64f21421040d46"
+uuid = "9b3f67b0-2d00-526e-9884-9e4938f8fb88"
+version = "0.2.11"
+
+[[deps.LinearSolve]]
+deps = ["ArrayInterface", "ConcreteStructs", "DocStringExtensions", "EnumX", "GPUArraysCore", "InteractiveUtils", "Krylov", "Libdl", "LinearAlgebra", "MKL_jll", "Markdown", "OpenBLAS_jll", "PrecompileTools", "Preferences", "RecursiveArrayTools", "Reexport", "SciMLBase", "SciMLLogging", "SciMLOperators", "Setfield", "StaticArraysCore"]
+git-tree-sha1 = "4937c5c67232ce294db484448713a822b4c005cf"
+uuid = "7ed4a6bd-45f5-4d41-b270-4a48e9bafcae"
+version = "3.71.0"
+
+ [deps.LinearSolve.extensions]
+ LinearSolveAMDGPUExt = "AMDGPU"
+ LinearSolveAlgebraicMultigridExt = "AlgebraicMultigrid"
+ LinearSolveBLISExt = ["blis_jll", "LAPACK_jll"]
+ LinearSolveBandedMatricesExt = "BandedMatrices"
+ LinearSolveBlockDiagonalsExt = "BlockDiagonals"
+ LinearSolveCUDAExt = "CUDA"
+ LinearSolveCUDSSExt = "CUDSS"
+ LinearSolveCUSOLVERRFExt = ["CUSOLVERRF", "SparseArrays"]
+ LinearSolveChainRulesCoreExt = "ChainRulesCore"
+ LinearSolveCliqueTreesExt = ["CliqueTrees", "SparseArrays"]
+ LinearSolveElementalExt = "Elemental"
+ LinearSolveEnzymeExt = ["EnzymeCore", "SparseArrays"]
+ LinearSolveFastAlmostBandedMatricesExt = "FastAlmostBandedMatrices"
+ LinearSolveFastLapackInterfaceExt = "FastLapackInterface"
+ LinearSolveForwardDiffExt = "ForwardDiff"
+ LinearSolveGinkgoExt = ["Ginkgo", "SparseArrays"]
+ LinearSolveHYPREExt = "HYPRE"
+ LinearSolveIterativeSolversExt = "IterativeSolvers"
+ LinearSolveKernelAbstractionsExt = "KernelAbstractions"
+ LinearSolveKrylovKitExt = "KrylovKit"
+ LinearSolveMetalExt = "Metal"
+ LinearSolveMooncakeExt = "Mooncake"
+ LinearSolvePETScExt = ["PETSc", "SparseArrays"]
+ LinearSolveParUExt = ["ParU_jll", "SparseArrays"]
+ LinearSolvePardisoExt = ["Pardiso", "SparseArrays"]
+ LinearSolveRecursiveFactorizationExt = "RecursiveFactorization"
+ LinearSolveSparseArraysExt = "SparseArrays"
+ LinearSolveSparspakExt = ["SparseArrays", "Sparspak"]
+
+ [deps.LinearSolve.weakdeps]
+ AMDGPU = "21141c5a-9bdb-4563-92ae-f87d6854732e"
+ AlgebraicMultigrid = "2169fc97-5a83-5252-b627-83903c6c433c"
+ BandedMatrices = "aae01518-5342-5314-be14-df237901396f"
+ BlockDiagonals = "0a1fb500-61f7-11e9-3c65-f5ef3456f9f0"
+ CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba"
+ CUDSS = "45b445bb-4962-46a0-9369-b4df9d0f772e"
+ CUSOLVERRF = "a8cc9031-bad2-4722-94f5-40deabb4245c"
+ ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4"
+ CliqueTrees = "60701a23-6482-424a-84db-faee86b9b1f8"
+ Elemental = "902c3f28-d1ec-5e7e-8399-a24c3845ee38"
+ EnzymeCore = "f151be2c-9106-41f4-ab19-57ee4f262869"
+ FastAlmostBandedMatrices = "9d29842c-ecb8-4973-b1e9-a27b1157504e"
+ FastLapackInterface = "29a986be-02c6-4525-aec4-84b980013641"
+ ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210"
+ Ginkgo = "4c8bd3c9-ead9-4b5e-a625-08f1338ba0ec"
+ HYPRE = "b5ffcf37-a2bd-41ab-a3da-4bd9bc8ad771"
+ IterativeSolvers = "42fd0dbc-a981-5370-80f2-aaf504508153"
+ KernelAbstractions = "63c18a36-062a-441e-b654-da1e3ab1ce7c"
+ KrylovKit = "0b1a1467-8014-51b9-945f-bf0ae24f4b77"
+ LAPACK_jll = "51474c39-65e3-53ba-86ba-03b1b862ec14"
+ Metal = "dde4c033-4e86-420c-a63e-0dd931031962"
+ Mooncake = "da2b9cff-9c12-43a0-ae48-6db2b0edb7d6"
+ PETSc = "ace2c81b-2b5f-4b1e-a30d-d662738edfe0"
+ ParU_jll = "9e0b026c-e8ce-559c-a2c4-6a3d5c955bc9"
+ Pardiso = "46dd5b70-b6fb-5a00-ae2d-e8fea33afaf2"
+ RecursiveFactorization = "f2c3362d-daeb-58d1-803e-2bc74f2840b4"
+ SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
+ Sparspak = "e56a9233-b9d6-4f03-8d0f-1825330902ac"
+ blis_jll = "6136c539-28a5-5bf0-87cc-b183200dce32"
+
+[[deps.LogExpFunctions]]
+deps = ["DocStringExtensions", "IrrationalConstants", "LinearAlgebra"]
+git-tree-sha1 = "13ca9e2586b89836fd20cccf56e57e2b9ae7f38f"
+uuid = "2ab3a3ac-af41-5b50-aa03-7779005ae688"
+version = "0.3.29"
+
+ [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"
+version = "1.11.0"
+
+[[deps.LoggingExtras]]
+deps = ["Dates", "Logging"]
+git-tree-sha1 = "f00544d95982ea270145636c181ceda21c4e2575"
+uuid = "e6f89c97-d47a-5376-807f-9c37f3926c36"
+version = "1.2.0"
+
+[[deps.LoweredCodeUtils]]
+deps = ["CodeTracking", "Compiler", "JuliaInterpreter"]
+git-tree-sha1 = "5d4278f755440f70648d80cc6225f51e78e94094"
+uuid = "6f1432cf-f94c-5a45-995e-cdbf5db27b0b"
+version = "3.5.1"
+
+[[deps.MKL_jll]]
+deps = ["Artifacts", "IntelOpenMP_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "oneTBB_jll"]
+git-tree-sha1 = "282cadc186e7b2ae0eeadbd7a4dffed4196ae2aa"
+uuid = "856f044c-d86e-5d09-b602-aeab76dc8ba7"
+version = "2025.2.0+0"
+
+[[deps.MacroTools]]
+git-tree-sha1 = "1e0228a030642014fe5cfe68c2c0a818f9e3f522"
+uuid = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09"
+version = "0.5.16"
+
+[[deps.ManualMemory]]
+git-tree-sha1 = "bcaef4fc7a0cfe2cba636d84cda54b5e4e4ca3cd"
+uuid = "d125e4d3-2237-4719-b19c-fa641b8a4667"
+version = "0.1.8"
+
+[[deps.Markdown]]
+deps = ["Base64"]
+uuid = "d6f4376e-aef5-505a-96c1-9c027394607a"
+version = "1.11.0"
+
+[[deps.MathOptIIS]]
+deps = ["MathOptInterface"]
+git-tree-sha1 = "12f262200198606174e28c59da634e9d9da839ed"
+uuid = "8c4f8055-bd93-4160-a86b-a0c04941dbff"
+version = "0.1.2"
+
+[[deps.MathOptInterface]]
+deps = ["BenchmarkTools", "CodecBzip2", "CodecZlib", "ForwardDiff", "JSON", "LinearAlgebra", "MutableArithmetics", "NaNMath", "OrderedCollections", "PrecompileTools", "Printf", "SparseArrays", "SpecialFunctions", "Test"]
+git-tree-sha1 = "ce739e3d8a21313ea418772edfc3b7b15a1dfc16"
+uuid = "b8f27783-ece8-5eb3-8dc8-9495eed66fee"
+version = "1.50.1"
+
+[[deps.MaybeInplace]]
+deps = ["ArrayInterface", "LinearAlgebra", "MacroTools"]
+git-tree-sha1 = "54e2fdc38130c05b42be423e90da3bade29b74bd"
+uuid = "bb5d69b7-63fc-4a16-80bd-7e42200c7bdb"
+version = "0.1.4"
+weakdeps = ["SparseArrays"]
+
+ [deps.MaybeInplace.extensions]
+ MaybeInplaceSparseArraysExt = "SparseArrays"
+
+[[deps.MbedTLS]]
+deps = ["Dates", "MbedTLS_jll", "MozillaCACerts_jll", "NetworkOptions", "Random", "Sockets"]
+git-tree-sha1 = "8785729fa736197687541f7053f6d8ab7fc44f92"
+uuid = "739be429-bea8-5141-9913-cc70e7f3736d"
+version = "1.1.10"
+
+[[deps.MbedTLS_jll]]
+deps = ["Artifacts", "Libdl"]
+uuid = "c8ffd9c3-330d-5841-b78e-0817d7145fa1"
+version = "2.28.6+0"
+
+[[deps.Measures]]
+git-tree-sha1 = "b513cedd20d9c914783d8ad83d08120702bf2c77"
+uuid = "442fdcdd-2543-5da2-b0f3-8c86c306513e"
+version = "0.3.3"
+
+[[deps.MicroCollections]]
+deps = ["Accessors", "BangBang", "InitialValues"]
+git-tree-sha1 = "44d32db644e84c75dab479f1bc15ee76a1a3618f"
+uuid = "128add7d-3638-4c79-886c-908ea0c25c34"
+version = "0.2.0"
+
+[[deps.Missings]]
+deps = ["DataAPI"]
+git-tree-sha1 = "ec4f7fbeab05d7747bdf98eb74d130a2a2ed298d"
+uuid = "e1d29d7a-bbdc-5cf2-9ac0-f12de2c33e28"
+version = "1.2.0"
+
+[[deps.Mmap]]
+uuid = "a63ad114-7e13-5084-954f-fe012c677804"
+version = "1.11.0"
+
+[[deps.Mods]]
+git-tree-sha1 = "0a3c164857cfc4defe0ac09e6b0123d61320abb1"
+uuid = "7475f97c-0381-53b1-977b-4c60186c8d62"
+version = "2.2.6"
+
+[[deps.Moshi]]
+deps = ["ExproniconLite", "Jieko"]
+git-tree-sha1 = "53f817d3e84537d84545e0ad749e483412dd6b2a"
+uuid = "2e0e35c7-a2e4-4343-998d-7ef72827ed2d"
+version = "0.3.7"
+
+[[deps.MozillaCACerts_jll]]
+uuid = "14a3606d-f60d-562e-9121-12d972cd8159"
+version = "2023.12.12"
+
+[[deps.MuladdMacro]]
+git-tree-sha1 = "cac9cc5499c25554cba55cd3c30543cff5ca4fab"
+uuid = "46d2c3a1-f734-5fdb-9937-b9b9aeba4221"
+version = "0.2.4"
+
+[[deps.Multisets]]
+git-tree-sha1 = "f4205a002e2e0c4a10971ea313084ee212f761a4"
+uuid = "3b2b4ff1-bcff-5658-a3ee-dbcf1ce5ac09"
+version = "0.4.6"
+
+[[deps.MutableArithmetics]]
+deps = ["LinearAlgebra", "SparseArrays", "Test"]
+git-tree-sha1 = "7c25249fc13a070f5ba433c50e21e22bb33c6fb0"
+uuid = "d8a4904e-b15c-11e9-3269-09a3773c0cb0"
+version = "1.7.1"
+
+[[deps.NDTensors]]
+deps = ["Accessors", "Adapt", "ArrayLayouts", "BlockArrays", "Compat", "Dictionaries", "EllipsisNotation", "FillArrays", "Folds", "Functors", "HalfIntegers", "InlineStrings", "LinearAlgebra", "MacroTools", "Random", "SimpleTraits", "SparseArrays", "SplitApplyCombine", "StaticArrays", "Strided", "StridedViews", "TimerOutputs", "TupleTools", "VectorInterface"]
+git-tree-sha1 = "4019754fccaa1d3629e7bf08435b54b812d92c8f"
+uuid = "23ae76d9-e61a-49c4-8f12-3f1a16adf9cf"
+version = "0.4.23"
+
+ [deps.NDTensors.extensions]
+ NDTensorsAMDGPUExt = ["AMDGPU", "GPUArraysCore"]
+ NDTensorsCUDAExt = ["CUDA", "GPUArraysCore"]
+ NDTensorsGPUArraysCoreExt = "GPUArraysCore"
+ NDTensorsHDF5Ext = "HDF5"
+ NDTensorsJLArraysExt = ["GPUArraysCore", "JLArrays"]
+ NDTensorsMappedArraysExt = ["MappedArrays"]
+ NDTensorsMetalExt = ["GPUArraysCore", "Metal"]
+ NDTensorsOctavianExt = "Octavian"
+ NDTensorsTBLISExt = "TBLIS"
+ NDTensorscuTENSORExt = "cuTENSOR"
+
+ [deps.NDTensors.weakdeps]
+ AMDGPU = "21141c5a-9bdb-4563-92ae-f87d6854732e"
+ CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba"
+ GPUArraysCore = "46192b85-c4d5-4398-a991-12ede77f4527"
+ HDF5 = "f67ccb44-e63f-5c2f-98bd-6dc0ccc4ba2f"
+ JLArrays = "27aeb0d3-9eb9-45fb-866b-73c2ecf80fcb"
+ MappedArrays = "dbb5928d-eab1-5f90-85c2-b9b0edb7c900"
+ Metal = "dde4c033-4e86-420c-a63e-0dd931031962"
+ Octavian = "6fd5a793-0b7e-452c-907f-f8bfe9c57db4"
+ TBLIS = "48530278-0828-4a49-9772-0f3830dfa1e9"
+ cuTENSOR = "011b41b2-24ef-40a8-b3eb-fa098493e9e1"
+
+[[deps.NLSolversBase]]
+deps = ["ADTypes", "DifferentiationInterface", "FiniteDiff", "LinearAlgebra"]
+git-tree-sha1 = "b3f76b463c7998473062992b246045e6961a074e"
+uuid = "d41bc354-129a-5804-8e4c-c37616107c6c"
+version = "8.0.0"
+
+[[deps.NaNMath]]
+deps = ["OpenLibm_jll"]
+git-tree-sha1 = "9b8215b1ee9e78a293f99797cd31375471b2bcae"
+uuid = "77ba4419-2d1f-58cd-9bb1-8ffee604a2e3"
+version = "1.1.3"
+
+[[deps.NamedGraphs]]
+deps = ["AbstractTrees", "Combinatorics", "Dictionaries", "Graphs", "LinearAlgebra", "PackageExtensionCompat", "Random", "SimpleGraphAlgorithms", "SimpleGraphConverter", "SimpleTraits", "SparseArrays", "SplitApplyCombine", "Suppressor"]
+git-tree-sha1 = "53f1eb3d3bdee03b95fea0ea257e1d1bcf8b7f19"
+uuid = "678767b0-92e7-4007-89e4-4527a8725b19"
+version = "0.7.4"
+
+ [deps.NamedGraphs.extensions]
+ NamedGraphsGraphsFlowsExt = "GraphsFlows"
+ NamedGraphsKaHyParExt = "KaHyPar"
+ NamedGraphsMetisExt = "Metis"
+ NamedGraphsSimpleGraphAlgorithmsExt = "SimpleGraphAlgorithms"
+ NamedGraphsSymRCMExt = "SymRCM"
+
+ [deps.NamedGraphs.weakdeps]
+ GraphsFlows = "06909019-6f44-4949-96fc-b9d9aaa02889"
+ KaHyPar = "2a6221f6-aa48-11e9-3542-2d9e0ef01880"
+ Metis = "2679e427-3c69-5b7f-982b-ece356f1e94b"
+ SymRCM = "286e6d88-80af-4590-acc9-0001b223b9bd"
+
+[[deps.NetworkLayout]]
+deps = ["GeometryBasics", "LinearAlgebra", "Random", "Requires", "StaticArrays"]
+git-tree-sha1 = "f7466c23a7c5029dc99e8358e7ce5d81a117c364"
+uuid = "46757867-2c16-5918-afeb-47bfcb05e46a"
+version = "0.4.10"
+weakdeps = ["Graphs"]
+
+ [deps.NetworkLayout.extensions]
+ NetworkLayoutGraphsExt = "Graphs"
+
+[[deps.NetworkOptions]]
+uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908"
+version = "1.2.0"
+
+[[deps.NonlinearSolve]]
+deps = ["ADTypes", "ArrayInterface", "BracketingNonlinearSolve", "CommonSolve", "ConcreteStructs", "DifferentiationInterface", "FastClosures", "FiniteDiff", "ForwardDiff", "LineSearch", "LinearAlgebra", "LinearSolve", "NonlinearSolveBase", "NonlinearSolveFirstOrder", "NonlinearSolveQuasiNewton", "NonlinearSolveSpectralMethods", "PrecompileTools", "Preferences", "Reexport", "SciMLBase", "SciMLLogging", "SimpleNonlinearSolve", "StaticArraysCore", "SymbolicIndexingInterface"]
+git-tree-sha1 = "d27bcf0cebf8786edcc2eaa4455c959e680334e7"
+uuid = "8913a72c-1f9b-4ce2-8d82-65094dcecaec"
+version = "4.16.0"
+
+ [deps.NonlinearSolve.extensions]
+ NonlinearSolveFastLevenbergMarquardtExt = "FastLevenbergMarquardt"
+ NonlinearSolveFixedPointAccelerationExt = "FixedPointAcceleration"
+ NonlinearSolveLeastSquaresOptimExt = "LeastSquaresOptim"
+ NonlinearSolveMINPACKExt = "MINPACK"
+ NonlinearSolveNLSolversExt = "NLSolvers"
+ NonlinearSolveNLsolveExt = ["NLsolve", "LineSearches"]
+ NonlinearSolvePETScExt = ["PETSc", "MPI", "SparseArrays"]
+ NonlinearSolveSIAMFANLEquationsExt = "SIAMFANLEquations"
+ NonlinearSolveSpeedMappingExt = "SpeedMapping"
+ NonlinearSolveSundialsExt = "Sundials"
+
+ [deps.NonlinearSolve.weakdeps]
+ FastLevenbergMarquardt = "7a0df574-e128-4d35-8cbd-3d84502bf7ce"
+ FixedPointAcceleration = "817d07cb-a79a-5c30-9a31-890123675176"
+ LeastSquaresOptim = "0fc2ff8b-aaa3-5acd-a817-1944a5e08891"
+ LineSearches = "d3d80556-e9d4-5f37-9878-2ab0fcc64255"
+ MINPACK = "4854310b-de5a-5eb6-a2a5-c1dee2bd17f9"
+ MPI = "da04e1cc-30fd-572f-bb4f-1f8673147195"
+ NLSolvers = "337daf1e-9722-11e9-073e-8b9effe078ba"
+ NLsolve = "2774e3e8-f4cf-5e23-947b-6d7e65073b56"
+ PETSc = "ace2c81b-2b5f-4b1e-a30d-d662738edfe0"
+ SIAMFANLEquations = "084e46ad-d928-497d-ad5e-07fa361a48c4"
+ SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
+ SpeedMapping = "f1835b91-879b-4a3f-a438-e4baacf14412"
+ Sundials = "c3572dad-4567-51f8-b174-8c6c989267f4"
+
+[[deps.NonlinearSolveBase]]
+deps = ["ADTypes", "Adapt", "ArrayInterface", "CommonSolve", "Compat", "ConcreteStructs", "DifferentiationInterface", "EnzymeCore", "FastClosures", "LinearAlgebra", "LogExpFunctions", "Markdown", "MaybeInplace", "PreallocationTools", "PrecompileTools", "Preferences", "Printf", "RecursiveArrayTools", "SciMLBase", "SciMLJacobianOperators", "SciMLLogging", "SciMLOperators", "SciMLStructures", "Setfield", "StaticArraysCore", "SymbolicIndexingInterface", "TimerOutputs"]
+git-tree-sha1 = "a89529d343dbb09670a24df090787dc3475fba5d"
+uuid = "be0214bd-f91f-a760-ac4e-3421ce2b2da0"
+version = "2.19.0"
+
+ [deps.NonlinearSolveBase.extensions]
+ NonlinearSolveBaseBandedMatricesExt = "BandedMatrices"
+ NonlinearSolveBaseChainRulesCoreExt = "ChainRulesCore"
+ NonlinearSolveBaseEnzymeExt = ["ChainRulesCore", "Enzyme"]
+ NonlinearSolveBaseForwardDiffExt = "ForwardDiff"
+ NonlinearSolveBaseLineSearchExt = "LineSearch"
+ NonlinearSolveBaseLinearSolveExt = "LinearSolve"
+ NonlinearSolveBaseMooncakeExt = "Mooncake"
+ NonlinearSolveBaseReverseDiffExt = "ReverseDiff"
+ NonlinearSolveBaseSparseArraysExt = "SparseArrays"
+ NonlinearSolveBaseSparseMatrixColoringsExt = "SparseMatrixColorings"
+ NonlinearSolveBaseTrackerExt = "Tracker"
+
+ [deps.NonlinearSolveBase.weakdeps]
+ BandedMatrices = "aae01518-5342-5314-be14-df237901396f"
+ ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4"
+ Enzyme = "7da242da-08ed-463a-9acd-ee780be4f1d9"
+ ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210"
+ LineSearch = "87fe0de2-c867-4266-b59a-2f0a94fc965b"
+ LinearSolve = "7ed4a6bd-45f5-4d41-b270-4a48e9bafcae"
+ Mooncake = "da2b9cff-9c12-43a0-ae48-6db2b0edb7d6"
+ ReverseDiff = "37e2e3b7-166d-5795-8a7a-e32c996b4267"
+ SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
+ SparseMatrixColorings = "0a514795-09f3-496d-8182-132a7b665d35"
+ Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c"
+
+[[deps.NonlinearSolveFirstOrder]]
+deps = ["ADTypes", "ArrayInterface", "CommonSolve", "ConcreteStructs", "FiniteDiff", "ForwardDiff", "LineSearch", "LinearAlgebra", "LinearSolve", "MaybeInplace", "NonlinearSolveBase", "PrecompileTools", "Reexport", "SciMLBase", "SciMLJacobianOperators", "Setfield", "StaticArraysCore"]
+git-tree-sha1 = "eea7cbe389b168c77df7ff779fb7277019c685c8"
+uuid = "5959db7a-ea39-4486-b5fe-2dd0bf03d60d"
+version = "2.0.0"
+
+[[deps.NonlinearSolveQuasiNewton]]
+deps = ["ArrayInterface", "CommonSolve", "ConcreteStructs", "LinearAlgebra", "LinearSolve", "MaybeInplace", "NonlinearSolveBase", "PrecompileTools", "Reexport", "SciMLBase", "SciMLOperators", "StaticArraysCore"]
+git-tree-sha1 = "ade27e8e9566b6cec63ee62f6a6650a11cf9a2eb"
+uuid = "9a2c21bd-3a47-402d-9113-8faf9a0ee114"
+version = "1.12.0"
+weakdeps = ["ForwardDiff"]
+
+ [deps.NonlinearSolveQuasiNewton.extensions]
+ NonlinearSolveQuasiNewtonForwardDiffExt = "ForwardDiff"
+
+[[deps.NonlinearSolveSpectralMethods]]
+deps = ["CommonSolve", "ConcreteStructs", "LineSearch", "MaybeInplace", "NonlinearSolveBase", "PrecompileTools", "Reexport", "SciMLBase"]
+git-tree-sha1 = "eafd027b5cd768f19bb5de76c0e908a9065ddd36"
+uuid = "26075421-4e9a-44e1-8bd1-420ed7ad02b2"
+version = "1.6.0"
+weakdeps = ["ForwardDiff"]
+
+ [deps.NonlinearSolveSpectralMethods.extensions]
+ NonlinearSolveSpectralMethodsForwardDiffExt = "ForwardDiff"
+
+[[deps.OffsetArrays]]
+git-tree-sha1 = "117432e406b5c023f665fa73dc26e79ec3630151"
+uuid = "6fe1bfb0-de20-5000-8ca7-80f57d26f881"
+version = "1.17.0"
+weakdeps = ["Adapt"]
+
+ [deps.OffsetArrays.extensions]
+ OffsetArraysAdaptExt = "Adapt"
+
+[[deps.Ogg_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl"]
+git-tree-sha1 = "b6aa4566bb7ae78498a5e68943863fa8b5231b59"
+uuid = "e7412a2a-1a6e-54c0-be00-318e2571c051"
+version = "1.3.6+0"
+
+[[deps.OpenBLAS32_jll]]
+deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl"]
+git-tree-sha1 = "46cce8b42186882811da4ce1f4c7208b02deb716"
+uuid = "656ef2d0-ae68-5445-9ca0-591084a874a2"
+version = "0.3.30+0"
+
+[[deps.OpenBLAS_jll]]
+deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"]
+uuid = "4536629a-c528-5b80-bd46-f80d51c5b363"
+version = "0.3.27+1"
+
+[[deps.OpenLibm_jll]]
+deps = ["Artifacts", "Libdl"]
+uuid = "05823500-19ac-5b8b-9628-191a04bc5112"
+version = "0.8.5+0"
+
+[[deps.OpenSSL]]
+deps = ["BitFlags", "Dates", "MozillaCACerts_jll", "NetworkOptions", "OpenSSL_jll", "Sockets"]
+git-tree-sha1 = "1d1aaa7d449b58415f97d2839c318b70ffb525a0"
+uuid = "4d8831e6-92b7-49fb-bdf8-b643e874388c"
+version = "1.6.1"
+
+[[deps.OpenSSL_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl"]
+git-tree-sha1 = "c9cbeda6aceffc52d8a0017e71db27c7a7c0beaf"
+uuid = "458c3c95-2e84-50aa-8efc-19380b2a3a95"
+version = "3.5.5+0"
+
+[[deps.OpenSpecFun_jll]]
+deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl"]
+git-tree-sha1 = "1346c9208249809840c91b26703912dff463d335"
+uuid = "efe28fd5-8261-553b-a9e1-b2916fc3738e"
+version = "0.5.6+0"
+
+[[deps.Optim]]
+deps = ["ADTypes", "EnumX", "FillArrays", "LineSearches", "LinearAlgebra", "NLSolversBase", "NaNMath", "PositiveFactorizations", "Printf", "SparseArrays", "Statistics"]
+git-tree-sha1 = "7957b66b4e80f1031417197099f35273f7dd93dd"
+uuid = "429524aa-4258-5aef-a3af-852621145aeb"
+version = "2.0.1"
+weakdeps = ["MathOptInterface"]
+
+ [deps.Optim.extensions]
+ OptimMOIExt = "MathOptInterface"
+
+[[deps.Opus_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl"]
+git-tree-sha1 = "e2bb57a313a74b8104064b7efd01406c0a50d2ff"
+uuid = "91d4177d-7536-5919-b921-800302f37372"
+version = "1.6.1+0"
+
+[[deps.OrderedCollections]]
+git-tree-sha1 = "05868e21324cede2207c6f0f466b4bfef6d5e7ee"
+uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d"
+version = "1.8.1"
+
+[[deps.OrdinaryDiffEq]]
+deps = ["ADTypes", "Adapt", "ArrayInterface", "CommonSolve", "DataStructures", "DiffEqBase", "DocStringExtensions", "EnumX", "ExponentialUtilities", "FastBroadcast", "FastClosures", "FillArrays", "FiniteDiff", "ForwardDiff", "FunctionWrappersWrappers", "InteractiveUtils", "LineSearches", "LinearAlgebra", "LinearSolve", "Logging", "MacroTools", "MuladdMacro", "NonlinearSolve", "OrdinaryDiffEqAdamsBashforthMoulton", "OrdinaryDiffEqBDF", "OrdinaryDiffEqCore", "OrdinaryDiffEqDefault", "OrdinaryDiffEqDifferentiation", "OrdinaryDiffEqExplicitRK", "OrdinaryDiffEqExponentialRK", "OrdinaryDiffEqExtrapolation", "OrdinaryDiffEqFIRK", "OrdinaryDiffEqFeagin", "OrdinaryDiffEqFunctionMap", "OrdinaryDiffEqHighOrderRK", "OrdinaryDiffEqIMEXMultistep", "OrdinaryDiffEqLinear", "OrdinaryDiffEqLowOrderRK", "OrdinaryDiffEqLowStorageRK", "OrdinaryDiffEqNonlinearSolve", "OrdinaryDiffEqNordsieck", "OrdinaryDiffEqPDIRK", "OrdinaryDiffEqPRK", "OrdinaryDiffEqQPRK", "OrdinaryDiffEqRKN", "OrdinaryDiffEqRosenbrock", "OrdinaryDiffEqSDIRK", "OrdinaryDiffEqSSPRK", "OrdinaryDiffEqStabilizedIRK", "OrdinaryDiffEqStabilizedRK", "OrdinaryDiffEqSymplecticRK", "OrdinaryDiffEqTsit5", "OrdinaryDiffEqVerner", "Polyester", "PreallocationTools", "PrecompileTools", "Preferences", "RecursiveArrayTools", "Reexport", "SciMLBase", "SciMLOperators", "SciMLStructures", "SimpleNonlinearSolve", "SparseArrays", "Static", "StaticArrayInterface", "StaticArrays", "TruncatedStacktraces"]
+git-tree-sha1 = "3d7817c992df89788f770d856f96a1206cbcaa91"
+uuid = "1dea7af3-3e70-54e6-95c3-0bf5283fa5ed"
+version = "6.107.0"
+
+[[deps.OrdinaryDiffEqAdamsBashforthMoulton]]
+deps = ["DiffEqBase", "FastBroadcast", "MuladdMacro", "OrdinaryDiffEqCore", "OrdinaryDiffEqLowOrderRK", "Polyester", "RecursiveArrayTools", "Reexport", "SciMLBase", "Static"]
+git-tree-sha1 = "79f756d4a593a99ab47c8a8ee72061e7d60cd9c0"
+uuid = "89bda076-bce5-4f1c-845f-551c83cdda9a"
+version = "1.10.0"
+
+[[deps.OrdinaryDiffEqBDF]]
+deps = ["ADTypes", "ArrayInterface", "DiffEqBase", "FastBroadcast", "LinearAlgebra", "MacroTools", "MuladdMacro", "OrdinaryDiffEqCore", "OrdinaryDiffEqDifferentiation", "OrdinaryDiffEqNonlinearSolve", "OrdinaryDiffEqSDIRK", "PrecompileTools", "Preferences", "RecursiveArrayTools", "Reexport", "SciMLBase", "StaticArrays", "TruncatedStacktraces"]
+git-tree-sha1 = "156f2623ac97e7cf340848ba606f1226998980af"
+uuid = "6ad6398a-0878-4a85-9266-38940aa047c8"
+version = "1.14.0"
+
+[[deps.OrdinaryDiffEqCore]]
+deps = ["ADTypes", "Accessors", "Adapt", "ArrayInterface", "ConcreteStructs", "DataStructures", "DiffEqBase", "DocStringExtensions", "EnumX", "FastBroadcast", "FastClosures", "FastPower", "FillArrays", "FunctionWrappersWrappers", "InteractiveUtils", "LinearAlgebra", "Logging", "MacroTools", "MuladdMacro", "Polyester", "PrecompileTools", "Preferences", "RecursiveArrayTools", "Reexport", "SciMLBase", "SciMLLogging", "SciMLOperators", "SciMLStructures", "Static", "StaticArrayInterface", "StaticArraysCore", "SymbolicIndexingInterface", "TruncatedStacktraces"]
+git-tree-sha1 = "8d8e8fd5c80b38c0cc2de5a8fcca8db1a2e77a06"
+uuid = "bbf590c4-e513-4bbe-9b18-05decba2e5d8"
+version = "3.1.0"
+
+ [deps.OrdinaryDiffEqCore.extensions]
+ OrdinaryDiffEqCoreEnzymeCoreExt = "EnzymeCore"
+ OrdinaryDiffEqCoreMooncakeExt = "Mooncake"
+
+ [deps.OrdinaryDiffEqCore.weakdeps]
+ EnzymeCore = "f151be2c-9106-41f4-ab19-57ee4f262869"
+ Mooncake = "da2b9cff-9c12-43a0-ae48-6db2b0edb7d6"
+
+[[deps.OrdinaryDiffEqDefault]]
+deps = ["ADTypes", "DiffEqBase", "EnumX", "LinearAlgebra", "LinearSolve", "OrdinaryDiffEqBDF", "OrdinaryDiffEqCore", "OrdinaryDiffEqRosenbrock", "OrdinaryDiffEqTsit5", "OrdinaryDiffEqVerner", "PrecompileTools", "Preferences", "Reexport", "SciMLBase"]
+git-tree-sha1 = "5fbd116f93790ce79c4beff8206e1b8e45c492a2"
+uuid = "50262376-6c5a-4cf5-baba-aaf4f84d72d7"
+version = "1.14.0"
+
+[[deps.OrdinaryDiffEqDifferentiation]]
+deps = ["ADTypes", "ArrayInterface", "ConcreteStructs", "ConstructionBase", "DiffEqBase", "DifferentiationInterface", "FastBroadcast", "FiniteDiff", "ForwardDiff", "FunctionWrappersWrappers", "LinearAlgebra", "LinearSolve", "OrdinaryDiffEqCore", "SciMLBase", "SciMLOperators", "SparseMatrixColorings", "StaticArrayInterface", "StaticArrays"]
+git-tree-sha1 = "c3706545346a550a2669d8bcfe6db683af04a21c"
+uuid = "4302a76b-040a-498a-8c04-15b101fed76b"
+version = "1.22.0"
+weakdeps = ["SparseArrays"]
+
+ [deps.OrdinaryDiffEqDifferentiation.extensions]
+ OrdinaryDiffEqDifferentiationSparseArraysExt = "SparseArrays"
+
+[[deps.OrdinaryDiffEqExplicitRK]]
+deps = ["DiffEqBase", "FastBroadcast", "LinearAlgebra", "MuladdMacro", "OrdinaryDiffEqCore", "RecursiveArrayTools", "Reexport", "SciMLBase", "TruncatedStacktraces"]
+git-tree-sha1 = "0b70d2d78d21b3c9fb200c7921750ca863302204"
+uuid = "9286f039-9fbf-40e8-bf65-aa933bdc4db0"
+version = "1.10.0"
+
+[[deps.OrdinaryDiffEqExponentialRK]]
+deps = ["ADTypes", "DiffEqBase", "ExponentialUtilities", "FastBroadcast", "LinearAlgebra", "MuladdMacro", "OrdinaryDiffEqCore", "OrdinaryDiffEqDifferentiation", "RecursiveArrayTools", "Reexport", "SciMLBase"]
+git-tree-sha1 = "65f2e40d7e9b1415c41838ec762777a4c36e4804"
+uuid = "e0540318-69ee-4070-8777-9e2de6de23de"
+version = "1.12.0"
+
+[[deps.OrdinaryDiffEqExtrapolation]]
+deps = ["ADTypes", "DiffEqBase", "FastBroadcast", "FastPower", "LinearSolve", "MuladdMacro", "OrdinaryDiffEqCore", "OrdinaryDiffEqDifferentiation", "Polyester", "RecursiveArrayTools", "Reexport", "SciMLBase"]
+git-tree-sha1 = "e2f3ebd6cd7ed9c8d551fb10192644e8f6dd3cbb"
+uuid = "becaefa8-8ca2-5cf9-886d-c06f3d2bd2c4"
+version = "1.13.0"
+
+[[deps.OrdinaryDiffEqFIRK]]
+deps = ["ADTypes", "DiffEqBase", "FastBroadcast", "FastGaussQuadrature", "FastPower", "LinearAlgebra", "LinearSolve", "MuladdMacro", "OrdinaryDiffEqCore", "OrdinaryDiffEqDifferentiation", "OrdinaryDiffEqNonlinearSolve", "Polyester", "RecursiveArrayTools", "Reexport", "SciMLBase", "SciMLOperators"]
+git-tree-sha1 = "cbb6a36f09f1357a526c55a0a6805b60121eafb8"
+uuid = "5960d6e9-dd7a-4743-88e7-cf307b64f125"
+version = "1.20.0"
+
+[[deps.OrdinaryDiffEqFeagin]]
+deps = ["DiffEqBase", "FastBroadcast", "MuladdMacro", "OrdinaryDiffEqCore", "Polyester", "RecursiveArrayTools", "Reexport", "SciMLBase", "Static"]
+git-tree-sha1 = "b2e0a69ad0eb515f2b30d412463a29b3aad13b4f"
+uuid = "101fe9f7-ebb6-4678-b671-3a81e7194747"
+version = "1.9.0"
+
+[[deps.OrdinaryDiffEqFunctionMap]]
+deps = ["DiffEqBase", "FastBroadcast", "MuladdMacro", "OrdinaryDiffEqCore", "RecursiveArrayTools", "Reexport", "SciMLBase", "Static"]
+git-tree-sha1 = "f95b2b7eb76eafefc2751cd214ba13e661ec8826"
+uuid = "d3585ca7-f5d3-4ba6-8057-292ed1abd90f"
+version = "1.10.0"
+
+[[deps.OrdinaryDiffEqHighOrderRK]]
+deps = ["DiffEqBase", "FastBroadcast", "MuladdMacro", "OrdinaryDiffEqCore", "RecursiveArrayTools", "Reexport", "SciMLBase", "Static"]
+git-tree-sha1 = "75a70f1e0dcb05f7fd3052447475771c697f9581"
+uuid = "d28bc4f8-55e1-4f49-af69-84c1a99f0f58"
+version = "1.10.0"
+
+[[deps.OrdinaryDiffEqIMEXMultistep]]
+deps = ["ADTypes", "DiffEqBase", "FastBroadcast", "OrdinaryDiffEqCore", "OrdinaryDiffEqDifferentiation", "OrdinaryDiffEqNonlinearSolve", "Reexport", "SciMLBase"]
+git-tree-sha1 = "23602428114124a3e3df85fcbc5b461c79fb91bf"
+uuid = "9f002381-b378-40b7-97a6-27a27c83f129"
+version = "1.11.0"
+
+[[deps.OrdinaryDiffEqLinear]]
+deps = ["DiffEqBase", "ExponentialUtilities", "LinearAlgebra", "OrdinaryDiffEqCore", "RecursiveArrayTools", "Reexport", "SciMLBase", "SciMLOperators"]
+git-tree-sha1 = "e5704f7e11e97fff61973d59d24ec34cd92fccc1"
+uuid = "521117fe-8c41-49f8-b3b6-30780b3f0fb5"
+version = "1.11.0"
+
+[[deps.OrdinaryDiffEqLowOrderRK]]
+deps = ["DiffEqBase", "FastBroadcast", "LinearAlgebra", "MuladdMacro", "OrdinaryDiffEqCore", "RecursiveArrayTools", "Reexport", "SciMLBase", "Static"]
+git-tree-sha1 = "78223e34d4988070443465cd3f2bdc38d6bd14b0"
+uuid = "1344f307-1e59-4825-a18e-ace9aa3fa4c6"
+version = "1.10.0"
+
+[[deps.OrdinaryDiffEqLowStorageRK]]
+deps = ["Adapt", "DiffEqBase", "FastBroadcast", "MuladdMacro", "OrdinaryDiffEqCore", "Polyester", "PrecompileTools", "Preferences", "RecursiveArrayTools", "Reexport", "SciMLBase", "Static", "StaticArrays"]
+git-tree-sha1 = "708c362418bd4503fd158f4f4e53151fbe57b46a"
+uuid = "b0944070-b475-4768-8dec-fb6eb410534d"
+version = "1.11.0"
+
+[[deps.OrdinaryDiffEqNonlinearSolve]]
+deps = ["ADTypes", "ArrayInterface", "DiffEqBase", "FastBroadcast", "FastClosures", "ForwardDiff", "LinearAlgebra", "LinearSolve", "MuladdMacro", "NonlinearSolve", "OrdinaryDiffEqCore", "OrdinaryDiffEqDifferentiation", "PreallocationTools", "RecursiveArrayTools", "SciMLBase", "SciMLOperators", "SciMLStructures", "SimpleNonlinearSolve", "SparseArrays", "StaticArrays"]
+git-tree-sha1 = "9f0be4bd586829a28a04c8f923598497f56ac226"
+uuid = "127b3ac7-2247-4354-8eb6-78cf4e7c58e8"
+version = "1.19.0"
+
+[[deps.OrdinaryDiffEqNordsieck]]
+deps = ["DiffEqBase", "FastBroadcast", "LinearAlgebra", "MuladdMacro", "OrdinaryDiffEqCore", "OrdinaryDiffEqTsit5", "Polyester", "RecursiveArrayTools", "Reexport", "SciMLBase", "Static"]
+git-tree-sha1 = "05f3319c3bf1440897dc613194eb3db4d2d3e692"
+uuid = "c9986a66-5c92-4813-8696-a7ec84c806c8"
+version = "1.8.0"
+
+[[deps.OrdinaryDiffEqPDIRK]]
+deps = ["ADTypes", "DiffEqBase", "FastBroadcast", "MuladdMacro", "OrdinaryDiffEqCore", "OrdinaryDiffEqDifferentiation", "OrdinaryDiffEqNonlinearSolve", "Polyester", "Reexport", "SciMLBase", "StaticArrays"]
+git-tree-sha1 = "7d63467f59f6504672ba93226f156f99c6095f60"
+uuid = "5dd0a6cf-3d4b-4314-aa06-06d4e299bc89"
+version = "1.10.0"
+
+[[deps.OrdinaryDiffEqPRK]]
+deps = ["DiffEqBase", "FastBroadcast", "MuladdMacro", "OrdinaryDiffEqCore", "Polyester", "Reexport", "SciMLBase"]
+git-tree-sha1 = "055b0cc0eacd4821b25a60b17e0615836e373821"
+uuid = "5b33eab2-c0f1-4480-b2c3-94bc1e80bda1"
+version = "1.9.0"
+
+[[deps.OrdinaryDiffEqQPRK]]
+deps = ["DiffEqBase", "FastBroadcast", "MuladdMacro", "OrdinaryDiffEqCore", "RecursiveArrayTools", "Reexport", "SciMLBase", "Static"]
+git-tree-sha1 = "ce2d279addbc1a05f3c058a0319d7661cdbfe787"
+uuid = "04162be5-8125-4266-98ed-640baecc6514"
+version = "1.9.0"
+
+[[deps.OrdinaryDiffEqRKN]]
+deps = ["DiffEqBase", "FastBroadcast", "MuladdMacro", "OrdinaryDiffEqCore", "Polyester", "RecursiveArrayTools", "Reexport", "SciMLBase"]
+git-tree-sha1 = "e86e67113c7d228c0d54b3f72176109c4608648d"
+uuid = "af6ede74-add8-4cfd-b1df-9a4dbb109d7a"
+version = "1.11.0"
+
+[[deps.OrdinaryDiffEqRosenbrock]]
+deps = ["ADTypes", "DiffEqBase", "DifferentiationInterface", "FastBroadcast", "FiniteDiff", "ForwardDiff", "LinearAlgebra", "LinearSolve", "MacroTools", "MuladdMacro", "OrdinaryDiffEqCore", "OrdinaryDiffEqDifferentiation", "Polyester", "PrecompileTools", "Preferences", "RecursiveArrayTools", "Reexport", "SciMLBase", "Static"]
+git-tree-sha1 = "e4605c3930703b5d38083ce1a998ee824dd67266"
+uuid = "43230ef6-c299-4910-a778-202eb28ce4ce"
+version = "1.22.0"
+
+[[deps.OrdinaryDiffEqSDIRK]]
+deps = ["ADTypes", "DiffEqBase", "FastBroadcast", "LinearAlgebra", "MacroTools", "MuladdMacro", "OrdinaryDiffEqCore", "OrdinaryDiffEqDifferentiation", "OrdinaryDiffEqNonlinearSolve", "RecursiveArrayTools", "Reexport", "SciMLBase", "TruncatedStacktraces"]
+git-tree-sha1 = "5d0a230f4e431e53af19502eaea8778f8f15edd4"
+uuid = "2d112036-d095-4a1e-ab9a-08536f3ecdbf"
+version = "1.11.0"
+
+[[deps.OrdinaryDiffEqSSPRK]]
+deps = ["DiffEqBase", "FastBroadcast", "MuladdMacro", "OrdinaryDiffEqCore", "Polyester", "PrecompileTools", "Preferences", "RecursiveArrayTools", "Reexport", "SciMLBase", "Static", "StaticArrays"]
+git-tree-sha1 = "5cad7fb244bf163df45deff09be5be9f05b32d29"
+uuid = "669c94d9-1f4b-4b64-b377-1aa079aa2388"
+version = "1.12.0"
+
+[[deps.OrdinaryDiffEqStabilizedIRK]]
+deps = ["ADTypes", "DiffEqBase", "FastBroadcast", "MuladdMacro", "OrdinaryDiffEqCore", "OrdinaryDiffEqDifferentiation", "OrdinaryDiffEqNonlinearSolve", "OrdinaryDiffEqStabilizedRK", "RecursiveArrayTools", "Reexport", "SciMLBase", "StaticArrays"]
+git-tree-sha1 = "1719060baf014a3c1a6506113bc09d82a0903f0e"
+uuid = "e3e12d00-db14-5390-b879-ac3dd2ef6296"
+version = "1.10.0"
+
+[[deps.OrdinaryDiffEqStabilizedRK]]
+deps = ["DiffEqBase", "FastBroadcast", "MuladdMacro", "OrdinaryDiffEqCore", "RecursiveArrayTools", "Reexport", "SciMLBase", "StaticArrays"]
+git-tree-sha1 = "6382a6caa2cc4488f4b9654ca5f26ad0130bec7b"
+uuid = "358294b1-0aab-51c3-aafe-ad5ab194a2ad"
+version = "1.9.0"
+
+[[deps.OrdinaryDiffEqSymplecticRK]]
+deps = ["DiffEqBase", "FastBroadcast", "MuladdMacro", "OrdinaryDiffEqCore", "Polyester", "RecursiveArrayTools", "Reexport", "SciMLBase"]
+git-tree-sha1 = "7276967b405c048adb52a090f1c5b1df88501631"
+uuid = "fa646aed-7ef9-47eb-84c4-9443fc8cbfa8"
+version = "1.12.0"
+
+[[deps.OrdinaryDiffEqTsit5]]
+deps = ["DiffEqBase", "FastBroadcast", "LinearAlgebra", "MuladdMacro", "OrdinaryDiffEqCore", "PrecompileTools", "Preferences", "RecursiveArrayTools", "Reexport", "SciMLBase", "Static", "TruncatedStacktraces"]
+git-tree-sha1 = "6e6173f4d0db8b8136d5fccdcdb7e8abe800a352"
+uuid = "b1df2697-797e-41e3-8120-5422d3b24e4a"
+version = "1.10.0"
+
+[[deps.OrdinaryDiffEqVerner]]
+deps = ["DiffEqBase", "FastBroadcast", "LinearAlgebra", "MuladdMacro", "OrdinaryDiffEqCore", "Polyester", "PrecompileTools", "Preferences", "RecursiveArrayTools", "Reexport", "SciMLBase", "Static", "TruncatedStacktraces"]
+git-tree-sha1 = "5ca5dbbfea89e14f283ce9fe2301c528ff4ec007"
+uuid = "79d7bb75-1356-48c1-b8c0-6832512096c2"
+version = "1.11.0"
+
+[[deps.PCRE2_jll]]
+deps = ["Artifacts", "Libdl"]
+uuid = "efcefdf7-47ab-520b-bdef-62a2eaa19f15"
+version = "10.42.0+1"
+
+[[deps.PDMats]]
+deps = ["LinearAlgebra", "SparseArrays", "SuiteSparse"]
+git-tree-sha1 = "e4cff168707d441cd6bf3ff7e4832bdf34278e4a"
+uuid = "90014a1f-27ba-587c-ab20-58faa44d9150"
+version = "0.11.37"
+weakdeps = ["StatsBase"]
+
+ [deps.PDMats.extensions]
+ StatsBaseExt = "StatsBase"
+
+[[deps.PackageExtensionCompat]]
+git-tree-sha1 = "fb28e33b8a95c4cee25ce296c817d89cc2e53518"
+uuid = "65ce6f38-6b18-4e1d-a461-8949797d7930"
+version = "1.0.2"
+weakdeps = ["Requires", "TOML"]
+
+[[deps.Pango_jll]]
+deps = ["Artifacts", "Cairo_jll", "Fontconfig_jll", "FreeType2_jll", "FriBidi_jll", "Glib_jll", "HarfBuzz_jll", "JLLWrappers", "Libdl"]
+git-tree-sha1 = "0662b083e11420952f2e62e17eddae7fc07d5997"
+uuid = "36c8627f-9965-5494-a995-c6b170f724f3"
+version = "1.57.0+0"
+
+[[deps.Parsers]]
+deps = ["Dates", "PrecompileTools", "UUIDs"]
+git-tree-sha1 = "7d2f8f21da5db6a806faf7b9b292296da42b2810"
+uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0"
+version = "2.8.3"
+
+[[deps.PauliPropagation]]
+deps = ["BitIntegers", "Bits", "LinearAlgebra", "Random", "StatsBase", "Test"]
+git-tree-sha1 = "8679743b2b6f910f201517c30cbf932cdf2b61c1"
+uuid = "293282d5-3c99-4fb6-92d0-fd3280a19750"
+version = "0.3.0"
+
+[[deps.Permutations]]
+deps = ["Combinatorics", "LinearAlgebra", "Random"]
+git-tree-sha1 = "b1f03a4943c62552a12c7f95965b76c3f91cf5b7"
+uuid = "2ae35dd2-176d-5d53-8349-f30d82d94d4f"
+version = "0.4.23"
+
+[[deps.Pixman_jll]]
+deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LLVMOpenMP_jll", "Libdl"]
+git-tree-sha1 = "db76b1ecd5e9715f3d043cec13b2ec93ce015d53"
+uuid = "30392449-352a-5448-841d-b1acce4e97dc"
+version = "0.44.2+0"
+
+[[deps.Pkg]]
+deps = ["Artifacts", "Dates", "Downloads", "FileWatching", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "Random", "SHA", "TOML", "Tar", "UUIDs", "p7zip_jll"]
+uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"
+version = "1.11.0"
+weakdeps = ["REPL"]
+
+ [deps.Pkg.extensions]
+ REPLExt = "REPL"
+
+[[deps.PlotThemes]]
+deps = ["PlotUtils", "Statistics"]
+git-tree-sha1 = "41031ef3a1be6f5bbbf3e8073f210556daeae5ca"
+uuid = "ccf2f8ad-2431-5c83-bf29-c5338b663b6a"
+version = "3.3.0"
+
+[[deps.PlotUtils]]
+deps = ["ColorSchemes", "Colors", "Dates", "PrecompileTools", "Printf", "Random", "Reexport", "StableRNGs", "Statistics"]
+git-tree-sha1 = "26ca162858917496748aad52bb5d3be4d26a228a"
+uuid = "995b91a9-d308-5afd-9ec6-746e21dbc043"
+version = "1.4.4"
+
+[[deps.Plots]]
+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", "Unzip"]
+git-tree-sha1 = "cb20a4eacda080e517e4deb9cfb6c7c518131265"
+uuid = "91a5bcdd-55d7-5caf-9e0b-520d859cae80"
+version = "1.41.6"
+
+ [deps.Plots.extensions]
+ FileIOExt = "FileIO"
+ GeometryBasicsExt = "GeometryBasics"
+ IJuliaExt = "IJulia"
+ ImageInTerminalExt = "ImageInTerminal"
+ UnitfulExt = "Unitful"
+
+ [deps.Plots.weakdeps]
+ FileIO = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549"
+ GeometryBasics = "5c1252a2-5f33-56bf-86c9-59e7332b4326"
+ IJulia = "7073ff75-c697-5162-941a-fcdaad2a7d2a"
+ ImageInTerminal = "d8c32880-2388-543b-8c61-d9f865259254"
+ Unitful = "1986cc42-f94f-5a68-af5c-568840ba703d"
+
+[[deps.Polyester]]
+deps = ["ArrayInterface", "BitTwiddlingConvenienceFunctions", "CPUSummary", "IfElse", "ManualMemory", "PolyesterWeave", "Static", "StaticArrayInterface", "StrideArraysCore", "ThreadingUtilities"]
+git-tree-sha1 = "16bbc30b5ebea91e9ce1671adc03de2832cff552"
+uuid = "f517fe37-dbe3-4b94-8317-1923a5111588"
+version = "0.7.19"
+
+[[deps.PolyesterWeave]]
+deps = ["BitTwiddlingConvenienceFunctions", "CPUSummary", "IfElse", "Static", "ThreadingUtilities"]
+git-tree-sha1 = "645bed98cd47f72f67316fd42fc47dee771aefcd"
+uuid = "1d0040c9-8b98-4ee7-8388-3f51789ca0ad"
+version = "0.2.2"
+
+[[deps.Polynomials]]
+deps = ["LinearAlgebra", "OrderedCollections", "Setfield", "SparseArrays"]
+git-tree-sha1 = "2d99b4c8a7845ab1342921733fa29366dae28b24"
+uuid = "f27b6e38-b328-58d1-80ce-0feddd5e7a45"
+version = "4.1.1"
+
+ [deps.Polynomials.extensions]
+ PolynomialsChainRulesCoreExt = "ChainRulesCore"
+ PolynomialsFFTWExt = "FFTW"
+ PolynomialsMakieExt = "Makie"
+ PolynomialsMutableArithmeticsExt = "MutableArithmetics"
+ PolynomialsRecipesBaseExt = "RecipesBase"
+
+ [deps.Polynomials.weakdeps]
+ ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4"
+ FFTW = "7a1cc6ca-52ef-59f5-83cd-3a7055c09341"
+ Makie = "ee78f7c6-11fb-53f2-987a-cfe4a2b5a57a"
+ MutableArithmetics = "d8a4904e-b15c-11e9-3269-09a3773c0cb0"
+ RecipesBase = "3cdcf5f2-1ef4-517c-9805-6587b60abb01"
+
+[[deps.PositiveFactorizations]]
+deps = ["LinearAlgebra"]
+git-tree-sha1 = "17275485f373e6673f7e7f97051f703ed5b15b20"
+uuid = "85a6dd25-e78a-55b7-8502-1745935b8125"
+version = "0.2.4"
+
+[[deps.PreallocationTools]]
+deps = ["Adapt", "ArrayInterface", "PrecompileTools"]
+git-tree-sha1 = "e16b73bf892c55d16d53c9c0dbd0fb31cb7e25da"
+uuid = "d236fae5-4411-538c-8e31-a6e3d9e00b46"
+version = "1.2.0"
+
+ [deps.PreallocationTools.extensions]
+ PreallocationToolsForwardDiffExt = "ForwardDiff"
+ PreallocationToolsReverseDiffExt = "ReverseDiff"
+ PreallocationToolsSparseConnectivityTracerExt = "SparseConnectivityTracer"
+
+ [deps.PreallocationTools.weakdeps]
+ ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210"
+ ReverseDiff = "37e2e3b7-166d-5795-8a7a-e32c996b4267"
+ SparseConnectivityTracer = "9f842d2f-2579-4b1d-911e-f412cf18a3f5"
+
+[[deps.PrecompileTools]]
+deps = ["Preferences"]
+git-tree-sha1 = "5aa36f7049a63a1528fe8f7c3f2113413ffd4e1f"
+uuid = "aea7be01-6a6a-4083-8856-8a6e6704d82a"
+version = "1.2.1"
+
+[[deps.Preferences]]
+deps = ["TOML"]
+git-tree-sha1 = "8b770b60760d4451834fe79dd483e318eee709c4"
+uuid = "21216c6a-2e73-6563-6e65-726566657250"
+version = "1.5.2"
+
+[[deps.Primes]]
+deps = ["IntegerMathUtils"]
+git-tree-sha1 = "25cdd1d20cd005b52fc12cb6be3f75faaf59bb9b"
+uuid = "27ebfcd6-29c5-5fa9-bf4b-fb8fc14df3ae"
+version = "0.5.7"
+
+[[deps.Printf]]
+deps = ["Unicode"]
+uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7"
+version = "1.11.0"
+
+[[deps.Profile]]
+uuid = "9abbd945-dff8-562f-b5e8-e1ebf5ef1b79"
+version = "1.11.0"
+
+[[deps.PtrArrays]]
+git-tree-sha1 = "4fbbafbc6251b883f4d2705356f3641f3652a7fe"
+uuid = "43287f4e-b6f4-7ad1-bb20-aadabca52c3d"
+version = "1.4.0"
+
+[[deps.Python_jll]]
+deps = ["Artifacts", "Bzip2_jll", "Expat_jll", "JLLWrappers", "LibMPDec_jll", "Libdl", "Libffi_jll", "OpenSSL_jll", "SQLite_jll", "XZ_jll", "Zlib_jll"]
+git-tree-sha1 = "76a68dfc4e6fcbcccf90e1961fa2705885699391"
+uuid = "93d3a430-8e7c-50da-8e8d-3dfcfb3baf05"
+version = "3.11.12+0"
+
+[[deps.Qiskit]]
+deps = ["CEnum", "Compat", "Libdl", "Qiskit_jll"]
+git-tree-sha1 = "bef356714b8612dcd9c8623b0544608c0cfe89a7"
+uuid = "91d9a17d-f964-4b6c-a3c4-2f4cfdea2c95"
+version = "0.4.0"
+
+[[deps.QiskitIBMRuntimeC]]
+deps = ["CEnum", "Compat", "Dates", "Libdl", "Qiskit", "qiskit_ibm_runtime_jll"]
+git-tree-sha1 = "7316834a2ee35ff72b5c2dcbe29d0e4191fc8bae"
+uuid = "90b98b31-c194-4d1e-bfb5-0d4cb7418088"
+version = "0.1.1"
+
+[[deps.Qiskit_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl", "Python_jll"]
+git-tree-sha1 = "73ce450e9f1725c1fa608fa86ad960d75aa08e83"
+uuid = "b54e8e98-f244-53b3-a8e8-4727a4907f76"
+version = "2.2.3+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 = "d7a4bff94f42208ce3cf6bc8e4e7d1d663e7ee8b"
+uuid = "c0090381-4147-56d7-9ebc-da0b1113ec56"
+version = "6.10.2+1"
+
+[[deps.Qt6Declarative_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl", "Qt6Base_jll", "Qt6ShaderTools_jll", "Qt6Svg_jll"]
+git-tree-sha1 = "d5b7dd0e226774cbd87e2790e34def09245c7eab"
+uuid = "629bc702-f1f5-5709-abd5-49b8460ea067"
+version = "6.10.2+1"
+
+[[deps.Qt6ShaderTools_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl", "Qt6Base_jll"]
+git-tree-sha1 = "4d85eedf69d875982c46643f6b4f66919d7e157b"
+uuid = "ce943373-25bb-56aa-8eca-768745ed7b5a"
+version = "6.10.2+1"
+
+[[deps.Qt6Svg_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl", "Qt6Base_jll"]
+git-tree-sha1 = "81587ff5ff25a4e1115ce191e36285ede0334c9d"
+uuid = "6de9746b-f93d-5813-b365-ba18ad4a9cf3"
+version = "6.10.2+0"
+
+[[deps.Qt6Wayland_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl", "Qt6Base_jll", "Qt6Declarative_jll"]
+git-tree-sha1 = "672c938b4b4e3e0169a07a5f227029d4905456f2"
+uuid = "e99dba38-086e-5de3-a5b1-6e4c66e897c3"
+version = "6.10.2+1"
+
+[[deps.QuadGK]]
+deps = ["DataStructures", "LinearAlgebra"]
+git-tree-sha1 = "5e8e8b0ab68215d7a2b14b9921a946fee794749e"
+uuid = "1fd47b50-473d-5c70-9696-f719f8f3bcdc"
+version = "2.11.3"
+
+ [deps.QuadGK.extensions]
+ QuadGKEnzymeExt = "Enzyme"
+
+ [deps.QuadGK.weakdeps]
+ Enzyme = "7da242da-08ed-463a-9acd-ee780be4f1d9"
+
+[[deps.REPL]]
+deps = ["InteractiveUtils", "Markdown", "Sockets", "StyledStrings", "Unicode"]
+uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb"
+version = "1.11.0"
+
+[[deps.Random]]
+deps = ["SHA"]
+uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
+version = "1.11.0"
+
+[[deps.Ratios]]
+deps = ["Requires"]
+git-tree-sha1 = "1342a47bf3260ee108163042310d26f2be5ec90b"
+uuid = "c84ed2f1-dad5-54f0-aa8e-dbefe2724439"
+version = "0.4.5"
+weakdeps = ["FixedPointNumbers"]
+
+ [deps.Ratios.extensions]
+ RatiosFixedPointNumbersExt = "FixedPointNumbers"
+
+[[deps.RecipesBase]]
+deps = ["PrecompileTools"]
+git-tree-sha1 = "5c3d09cc4f31f5fc6af001c250bf1278733100ff"
+uuid = "3cdcf5f2-1ef4-517c-9805-6587b60abb01"
+version = "1.3.4"
+
+[[deps.RecipesPipeline]]
+deps = ["Dates", "NaNMath", "PlotUtils", "PrecompileTools", "RecipesBase"]
+git-tree-sha1 = "45cf9fd0ca5839d06ef333c8201714e888486342"
+uuid = "01d81517-befc-4cb6-b9ec-a95719d0359c"
+version = "0.6.12"
+
+[[deps.RecursiveArrayTools]]
+deps = ["Adapt", "ArrayInterface", "DocStringExtensions", "GPUArraysCore", "LinearAlgebra", "PrecompileTools", "RecipesBase", "StaticArraysCore", "SymbolicIndexingInterface"]
+git-tree-sha1 = "76a9c4d3f7b256dd34074e714ffe0ced8d3d21de"
+uuid = "731186ca-8d62-57ce-b412-fbd966d074cd"
+version = "3.50.0"
+
+ [deps.RecursiveArrayTools.extensions]
+ RecursiveArrayToolsFastBroadcastExt = "FastBroadcast"
+ RecursiveArrayToolsForwardDiffExt = "ForwardDiff"
+ RecursiveArrayToolsKernelAbstractionsExt = "KernelAbstractions"
+ RecursiveArrayToolsMeasurementsExt = "Measurements"
+ RecursiveArrayToolsMonteCarloMeasurementsExt = "MonteCarloMeasurements"
+ RecursiveArrayToolsReverseDiffExt = ["ReverseDiff", "Zygote"]
+ RecursiveArrayToolsSparseArraysExt = ["SparseArrays"]
+ RecursiveArrayToolsStatisticsExt = "Statistics"
+ RecursiveArrayToolsStructArraysExt = "StructArrays"
+ RecursiveArrayToolsTablesExt = ["Tables"]
+ RecursiveArrayToolsTrackerExt = "Tracker"
+ RecursiveArrayToolsZygoteExt = "Zygote"
+
+ [deps.RecursiveArrayTools.weakdeps]
+ FastBroadcast = "7034ab61-46d4-4ed7-9d0f-46aef9175898"
+ ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210"
+ KernelAbstractions = "63c18a36-062a-441e-b654-da1e3ab1ce7c"
+ Measurements = "eff96d63-e80a-5855-80a2-b1b0885c5ab7"
+ MonteCarloMeasurements = "0987c9cc-fe09-11e8-30f0-b96dd679fdca"
+ ReverseDiff = "37e2e3b7-166d-5795-8a7a-e32c996b4267"
+ SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
+ Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2"
+ StructArrays = "09ab397b-f2b6-538f-b94a-2f83cf4a842a"
+ Tables = "bd369af6-aec1-5ad0-b16a-f7cc5008161c"
+ Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c"
+ Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f"
+
+[[deps.Reexport]]
+git-tree-sha1 = "45e428421666073eab6f2da5c9d310d99bb12f9b"
+uuid = "189a3867-3050-52da-a836-e630ba90ab69"
+version = "1.2.2"
+
+[[deps.Referenceables]]
+deps = ["Adapt"]
+git-tree-sha1 = "02d31ad62838181c1a3a5fd23a1ce5914a643601"
+uuid = "42d2dcc6-99eb-4e98-b66c-637b7d73030e"
+version = "0.1.3"
+
+[[deps.RelocatableFolders]]
+deps = ["SHA", "Scratch"]
+git-tree-sha1 = "ffdaf70d81cf6ff22c2b6e733c900c3321cab864"
+uuid = "05181044-ff0b-4ac5-8273-598c1e38db00"
+version = "1.0.1"
+
+[[deps.Requires]]
+deps = ["UUIDs"]
+git-tree-sha1 = "62389eeff14780bfe55195b7204c0d8738436d64"
+uuid = "ae029012-a4dd-5104-9daa-d747884805df"
+version = "1.3.1"
+
+[[deps.Revise]]
+deps = ["CodeTracking", "FileWatching", "InteractiveUtils", "JuliaInterpreter", "LibGit2", "LoweredCodeUtils", "OrderedCollections", "Preferences", "REPL", "UUIDs"]
+git-tree-sha1 = "a44fc6ab46efc588f122ee71d6e2ca83b8645ff7"
+uuid = "295af30f-e4ad-537b-8983-00126c2a3abe"
+version = "3.14.1"
+weakdeps = ["Distributed"]
+
+ [deps.Revise.extensions]
+ DistributedExt = "Distributed"
+
+[[deps.RingLists]]
+deps = ["Random"]
+git-tree-sha1 = "70d8d52c6d4238cace6ae1a7dd2c0c4d43acdf0b"
+uuid = "286e9d63-9694-5540-9e3c-4e6708fa07b2"
+version = "0.2.9"
+
+[[deps.Rmath]]
+deps = ["Random", "Rmath_jll"]
+git-tree-sha1 = "5b3d50eb374cea306873b371d3f8d3915a018f0b"
+uuid = "79098fc4-a85e-5d69-aa6a-4863f24498fa"
+version = "0.9.0"
+
+[[deps.Rmath_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl"]
+git-tree-sha1 = "58cdd8fb2201a6267e1db87ff148dd6c1dbd8ad8"
+uuid = "f50d1b31-88e8-58de-be2c-1cc44531875f"
+version = "0.5.1+0"
+
+[[deps.RuntimeGeneratedFunctions]]
+deps = ["ExprTools", "SHA", "Serialization"]
+git-tree-sha1 = "7257165d5477fd1025f7cb656019dcb6b0512c38"
+uuid = "7e49a35a-f44a-4d26-94aa-eba1b4ca6b47"
+version = "0.5.17"
+
+[[deps.SHA]]
+uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce"
+version = "0.7.0"
+
+[[deps.SIMDTypes]]
+git-tree-sha1 = "330289636fb8107c5f32088d2741e9fd7a061a5c"
+uuid = "94e857df-77ce-4151-89e5-788b33177be4"
+version = "0.1.0"
+
+[[deps.SQLite_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl", "Zlib_jll", "dlfcn_win32_jll"]
+git-tree-sha1 = "0b5f220f90642566b65ba86549d1ee4118ab2579"
+uuid = "76ed43ae-9a5d-5a62-8c75-30186b810ce8"
+version = "3.51.2+0"
+
+[[deps.SciMLBase]]
+deps = ["ADTypes", "Accessors", "Adapt", "ArrayInterface", "CommonSolve", "ConstructionBase", "Distributed", "DocStringExtensions", "EnumX", "FunctionWrappersWrappers", "IteratorInterfaceExtensions", "LinearAlgebra", "Logging", "Markdown", "Moshi", "PreallocationTools", "PrecompileTools", "Preferences", "Printf", "RecipesBase", "RecursiveArrayTools", "Reexport", "RuntimeGeneratedFunctions", "SciMLLogging", "SciMLOperators", "SciMLPublic", "SciMLStructures", "StaticArraysCore", "Statistics", "SymbolicIndexingInterface"]
+git-tree-sha1 = "bdbc7c751d36fdb104d437361950d884d489af85"
+uuid = "0bca4576-84f4-4d90-8ffe-ffa030f20462"
+version = "2.153.1"
+
+ [deps.SciMLBase.extensions]
+ SciMLBaseChainRulesCoreExt = "ChainRulesCore"
+ SciMLBaseDifferentiationInterfaceExt = "DifferentiationInterface"
+ SciMLBaseDistributionsExt = "Distributions"
+ SciMLBaseEnzymeExt = "Enzyme"
+ SciMLBaseForwardDiffExt = "ForwardDiff"
+ SciMLBaseMLStyleExt = "MLStyle"
+ SciMLBaseMakieExt = "Makie"
+ SciMLBaseMeasurementsExt = "Measurements"
+ SciMLBaseMonteCarloMeasurementsExt = "MonteCarloMeasurements"
+ SciMLBaseMooncakeExt = "Mooncake"
+ SciMLBasePartialFunctionsExt = "PartialFunctions"
+ SciMLBasePyCallExt = "PyCall"
+ SciMLBasePythonCallExt = "PythonCall"
+ SciMLBaseRCallExt = "RCall"
+ SciMLBaseReverseDiffExt = "ReverseDiff"
+ SciMLBaseTrackerExt = "Tracker"
+ SciMLBaseZygoteExt = ["Zygote", "ChainRulesCore"]
+
+ [deps.SciMLBase.weakdeps]
+ ChainRules = "082447d4-558c-5d27-93f4-14fc19e9eca2"
+ ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4"
+ DifferentiationInterface = "a0c0ee7d-e4b9-4e03-894e-1c5f64a51d63"
+ Distributions = "31c24e10-a181-5473-b8eb-7969acd0382f"
+ Enzyme = "7da242da-08ed-463a-9acd-ee780be4f1d9"
+ ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210"
+ MLStyle = "d8e11817-5142-5d16-987a-aa16d5891078"
+ Makie = "ee78f7c6-11fb-53f2-987a-cfe4a2b5a57a"
+ Measurements = "eff96d63-e80a-5855-80a2-b1b0885c5ab7"
+ MonteCarloMeasurements = "0987c9cc-fe09-11e8-30f0-b96dd679fdca"
+ Mooncake = "da2b9cff-9c12-43a0-ae48-6db2b0edb7d6"
+ PartialFunctions = "570af359-4316-4cb7-8c74-252c00c2016b"
+ PyCall = "438e738f-606a-5dbb-bf0a-cddfbfd45ab0"
+ PythonCall = "6099a3de-0909-46bc-b1f4-468b9a2dfc0d"
+ RCall = "6f49c342-dc21-5d91-9882-a32aef131414"
+ ReverseDiff = "37e2e3b7-166d-5795-8a7a-e32c996b4267"
+ Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c"
+ Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f"
+
+[[deps.SciMLJacobianOperators]]
+deps = ["ADTypes", "ArrayInterface", "ConcreteStructs", "ConstructionBase", "DifferentiationInterface", "FastClosures", "LinearAlgebra", "SciMLBase", "SciMLOperators"]
+git-tree-sha1 = "e96d5e96debf7f80a50d0b976a13dea556ccfd3a"
+uuid = "19f34311-ddf3-4b8b-af20-060888a46c0e"
+version = "0.1.12"
+
+[[deps.SciMLLogging]]
+deps = ["Logging", "LoggingExtras", "Preferences"]
+git-tree-sha1 = "0161be062570af4042cf6f69e3d5d0b0555b6927"
+uuid = "a6db7da4-7206-11f0-1eab-35f2a5dbe1d1"
+version = "1.9.1"
+
+ [deps.SciMLLogging.extensions]
+ SciMLLoggingTracyExt = "Tracy"
+
+ [deps.SciMLLogging.weakdeps]
+ Tracy = "e689c965-62c8-4b79-b2c5-8359227902fd"
+
+[[deps.SciMLOperators]]
+deps = ["Accessors", "ArrayInterface", "DocStringExtensions", "LinearAlgebra"]
+git-tree-sha1 = "234869cf9fee9258a95464b7a7065cc7be84db00"
+uuid = "c0aeaf25-5076-4817-a8d5-81caf7dfa961"
+version = "1.16.0"
+weakdeps = ["SparseArrays", "StaticArraysCore"]
+
+ [deps.SciMLOperators.extensions]
+ SciMLOperatorsSparseArraysExt = "SparseArrays"
+ SciMLOperatorsStaticArraysCoreExt = "StaticArraysCore"
+
+[[deps.SciMLPublic]]
+git-tree-sha1 = "0ba076dbdce87ba230fff48ca9bca62e1f345c9b"
+uuid = "431bcebd-1456-4ced-9d72-93c2757fff0b"
+version = "1.0.1"
+
+[[deps.SciMLStructures]]
+deps = ["ArrayInterface", "PrecompileTools"]
+git-tree-sha1 = "607f6867d0b0553e98fc7f725c9f9f13b4d01a32"
+uuid = "53ae85a6-f571-4167-b2af-e1d143709226"
+version = "1.10.0"
+
+[[deps.Scratch]]
+deps = ["Dates"]
+git-tree-sha1 = "9b81b8393e50b7d4e6d0a9f14e192294d3b7c109"
+uuid = "6c6a2e73-6563-6170-7368-637461726353"
+version = "1.3.0"
+
+[[deps.Serialization]]
+uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b"
+version = "1.11.0"
+
+[[deps.SerializedElementArrays]]
+deps = ["Serialization"]
+git-tree-sha1 = "8e73e49eaebf73486446a3c1eede403bff259826"
+uuid = "d3ce8812-9567-47e9-a7b5-65a6d70a3065"
+version = "0.1.0"
+
+[[deps.Setfield]]
+deps = ["ConstructionBase", "Future", "MacroTools", "StaticArraysCore"]
+git-tree-sha1 = "c5391c6ace3bc430ca630251d02ea9687169ca68"
+uuid = "efcf1570-3423-57d1-acb7-fd33fddbac46"
+version = "1.1.2"
+
+[[deps.SharedArrays]]
+deps = ["Distributed", "Mmap", "Random", "Serialization"]
+uuid = "1a1011a3-84de-559e-8e89-a11a2f7dc383"
+version = "1.11.0"
+
+[[deps.Showoff]]
+deps = ["Dates", "Grisu"]
+git-tree-sha1 = "91eddf657aca81df9ae6ceb20b959ae5653ad1de"
+uuid = "992d4aef-0814-514b-bc4d-f2e9a6c4116f"
+version = "1.0.3"
+
+[[deps.SimpleBufferStream]]
+git-tree-sha1 = "f305871d2f381d21527c770d4788c06c097c9bc1"
+uuid = "777ac1f9-54b0-4bf8-805c-2214025038e7"
+version = "1.2.0"
+
+[[deps.SimpleGraphAlgorithms]]
+deps = ["ChooseOptimizer", "JuMP", "LinearAlgebra", "SimpleGraphs", "SimplePartitions", "SimplePolynomials"]
+git-tree-sha1 = "e333fd8f96c9e61b3beac3968b06c87d5f849d99"
+uuid = "41400c72-0c58-5c16-8579-4ecbce768449"
+version = "0.6.0"
+
+[[deps.SimpleGraphConverter]]
+deps = ["Graphs", "SimpleGraphs"]
+git-tree-sha1 = "30b6ee355f4fb9a79db85300f2d96e1582eb89aa"
+uuid = "205b04f2-f585-4877-a239-566270b3f673"
+version = "0.1.0"
+
+[[deps.SimpleGraphs]]
+deps = ["AbstractLattices", "Combinatorics", "DataStructures", "IterTools", "LightXML", "LinearAlgebra", "LinearAlgebraX", "Optim", "Primes", "Random", "RingLists", "SimplePartitions", "SimplePolynomials", "SimpleRandom", "SparseArrays", "Statistics"]
+git-tree-sha1 = "36ac683e16dd96f9bdb455dee675bd0ee2e0907a"
+uuid = "55797a34-41de-5266-9ec1-32ac4eb504d3"
+version = "0.8.9"
+
+[[deps.SimpleNonlinearSolve]]
+deps = ["ADTypes", "ArrayInterface", "BracketingNonlinearSolve", "CommonSolve", "ConcreteStructs", "DifferentiationInterface", "FastClosures", "FiniteDiff", "ForwardDiff", "LineSearch", "LinearAlgebra", "MaybeInplace", "NonlinearSolveBase", "PrecompileTools", "Reexport", "SciMLBase", "Setfield", "StaticArraysCore"]
+git-tree-sha1 = "744c3f0fb186ad28376199c1e72ca39d0c614b5d"
+uuid = "727e6d20-b764-4bd8-a329-72de5adea6c7"
+version = "2.11.0"
+
+ [deps.SimpleNonlinearSolve.extensions]
+ SimpleNonlinearSolveChainRulesCoreExt = "ChainRulesCore"
+ SimpleNonlinearSolveReverseDiffExt = "ReverseDiff"
+ SimpleNonlinearSolveTrackerExt = "Tracker"
+
+ [deps.SimpleNonlinearSolve.weakdeps]
+ ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4"
+ ReverseDiff = "37e2e3b7-166d-5795-8a7a-e32c996b4267"
+ Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c"
+
+[[deps.SimplePartitions]]
+deps = ["AbstractLattices", "DataStructures", "Permutations"]
+git-tree-sha1 = "76cdce94e07849d1172ccb8f3a60a0bbbebe58b3"
+uuid = "ec83eff0-a5b5-5643-ae32-5cbf6eedec9d"
+version = "0.3.3"
+
+[[deps.SimplePolynomials]]
+deps = ["Mods", "Multisets", "Polynomials", "Primes"]
+git-tree-sha1 = "77b2c5e731f7e50bbd088ccc2810232e06c1afa3"
+uuid = "cc47b68c-3164-5771-a705-2bc0097375a0"
+version = "0.2.18"
+
+[[deps.SimpleRandom]]
+deps = ["Distributions", "LinearAlgebra", "Random"]
+git-tree-sha1 = "bb4f42b25b87f124478207a82f5b02dfafdb3e63"
+uuid = "a6525b86-64cd-54fa-8f65-62fc48bdc0e8"
+version = "0.3.2"
+
+[[deps.SimpleTraits]]
+deps = ["InteractiveUtils", "MacroTools"]
+git-tree-sha1 = "be8eeac05ec97d379347584fa9fe2f5f76795bcb"
+uuid = "699a6c99-e7fa-54fc-8d76-47d257e15c1d"
+version = "0.9.5"
+
+[[deps.Sockets]]
+uuid = "6462fe0b-24de-5631-8697-dd941f90decc"
+version = "1.11.0"
+
+[[deps.SortingAlgorithms]]
+deps = ["DataStructures"]
+git-tree-sha1 = "64d974c2e6fdf07f8155b5b2ca2ffa9069b608d9"
+uuid = "a2af1166-a08f-5f64-846c-94a0d3cef48c"
+version = "1.2.2"
+
+[[deps.SparseArrays]]
+deps = ["Libdl", "LinearAlgebra", "Random", "Serialization", "SuiteSparse_jll"]
+uuid = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
+version = "1.11.0"
+
+[[deps.SparseMatrixColorings]]
+deps = ["ADTypes", "DocStringExtensions", "LinearAlgebra", "PrecompileTools", "Random", "SparseArrays"]
+git-tree-sha1 = "1c1be8c6fdfaf9b6c9e156c509e672953b8e6af7"
+uuid = "0a514795-09f3-496d-8182-132a7b665d35"
+version = "0.4.26"
+
+ [deps.SparseMatrixColorings.extensions]
+ SparseMatrixColoringsCUDAExt = "CUDA"
+ SparseMatrixColoringsCliqueTreesExt = "CliqueTrees"
+ SparseMatrixColoringsColorsExt = "Colors"
+ SparseMatrixColoringsJuMPExt = ["JuMP", "MathOptInterface"]
+
+ [deps.SparseMatrixColorings.weakdeps]
+ CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba"
+ CliqueTrees = "60701a23-6482-424a-84db-faee86b9b1f8"
+ Colors = "5ae59095-9a9b-59fe-a467-6f913c188581"
+ JuMP = "4076af6c-e467-56ae-b986-b466b2749572"
+ MathOptInterface = "b8f27783-ece8-5eb3-8dc8-9495eed66fee"
+
+[[deps.SpecialFunctions]]
+deps = ["IrrationalConstants", "LogExpFunctions", "OpenLibm_jll", "OpenSpecFun_jll"]
+git-tree-sha1 = "2700b235561b0335d5bef7097a111dc513b8655e"
+uuid = "276daf66-3868-5448-9aa4-cd146d93841b"
+version = "2.7.2"
+weakdeps = ["ChainRulesCore"]
+
+ [deps.SpecialFunctions.extensions]
+ SpecialFunctionsChainRulesCoreExt = "ChainRulesCore"
+
+[[deps.SplitApplyCombine]]
+deps = ["Dictionaries", "Indexing"]
+git-tree-sha1 = "c06d695d51cfb2187e6848e98d6252df9101c588"
+uuid = "03a91e81-4c3e-53e1-a0a4-9c0c8f19dd66"
+version = "1.2.3"
+
+[[deps.SplittablesBase]]
+deps = ["Setfield", "Test"]
+git-tree-sha1 = "e08a62abc517eb79667d0a29dc08a3b589516bb5"
+uuid = "171d559e-b47b-412a-8079-5efa626c420e"
+version = "0.1.15"
+
+[[deps.StableRNGs]]
+deps = ["Random"]
+git-tree-sha1 = "4f96c596b8c8258cc7d3b19797854d368f243ddc"
+uuid = "860ef19b-820b-49d6-a774-d7a799459cd3"
+version = "1.0.4"
+
+[[deps.Static]]
+deps = ["CommonWorldInvalidations", "IfElse", "PrecompileTools", "SciMLPublic"]
+git-tree-sha1 = "49440414711eddc7227724ae6e570c7d5559a086"
+uuid = "aedffcd0-7271-4cad-89d0-dc628f76c6d3"
+version = "1.3.1"
+
+[[deps.StaticArrayInterface]]
+deps = ["ArrayInterface", "Compat", "IfElse", "LinearAlgebra", "PrecompileTools", "SciMLPublic", "Static"]
+git-tree-sha1 = "aa1ea41b3d45ac449d10477f65e2b40e3197a0d2"
+uuid = "0d7ed370-da01-4f52-bd93-41d350b8b718"
+version = "1.9.0"
+weakdeps = ["OffsetArrays", "StaticArrays"]
+
+ [deps.StaticArrayInterface.extensions]
+ StaticArrayInterfaceOffsetArraysExt = "OffsetArrays"
+ StaticArrayInterfaceStaticArraysExt = "StaticArrays"
+
+[[deps.StaticArrays]]
+deps = ["LinearAlgebra", "PrecompileTools", "Random", "StaticArraysCore"]
+git-tree-sha1 = "246a8bb2e6667f832eea063c3a56aef96429a3db"
+uuid = "90137ffa-7385-5640-81b9-e52037218182"
+version = "1.9.18"
+weakdeps = ["ChainRulesCore", "Statistics"]
+
+ [deps.StaticArrays.extensions]
+ StaticArraysChainRulesCoreExt = "ChainRulesCore"
+ StaticArraysStatisticsExt = "Statistics"
+
+[[deps.StaticArraysCore]]
+git-tree-sha1 = "6ab403037779dae8c514bad259f32a447262455a"
+uuid = "1e83bf80-4336-4d27-bf5d-d5a4f845583c"
+version = "1.4.4"
+
+[[deps.Statistics]]
+deps = ["LinearAlgebra"]
+git-tree-sha1 = "ae3bb1eb3bba077cd276bc5cfc337cc65c3075c0"
+uuid = "10745b16-79ce-11e8-11f9-7d13ad32a3b2"
+version = "1.11.1"
+weakdeps = ["SparseArrays"]
+
+ [deps.Statistics.extensions]
+ SparseArraysExt = ["SparseArrays"]
+
+[[deps.StatsAPI]]
+deps = ["LinearAlgebra"]
+git-tree-sha1 = "178ed29fd5b2a2cfc3bd31c13375ae925623ff36"
+uuid = "82ae8749-77ed-4fe6-ae5f-f523153014b0"
+version = "1.8.0"
+
+[[deps.StatsBase]]
+deps = ["AliasTables", "DataAPI", "DataStructures", "IrrationalConstants", "LinearAlgebra", "LogExpFunctions", "Missings", "Printf", "Random", "SortingAlgorithms", "SparseArrays", "Statistics", "StatsAPI"]
+git-tree-sha1 = "aceda6f4e598d331548e04cc6b2124a6148138e3"
+uuid = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91"
+version = "0.34.10"
+
+[[deps.StatsFuns]]
+deps = ["HypergeometricFunctions", "IrrationalConstants", "LogExpFunctions", "Reexport", "Rmath", "SpecialFunctions"]
+git-tree-sha1 = "91f091a8716a6bb38417a6e6f274602a19aaa685"
+uuid = "4c63d2b9-4356-54db-8cca-17b64c39e42c"
+version = "1.5.2"
+weakdeps = ["ChainRulesCore", "InverseFunctions"]
+
+ [deps.StatsFuns.extensions]
+ StatsFunsChainRulesCoreExt = "ChainRulesCore"
+ StatsFunsInverseFunctionsExt = "InverseFunctions"
+
+[[deps.StrideArraysCore]]
+deps = ["ArrayInterface", "CloseOpenIntervals", "IfElse", "LayoutPointers", "LinearAlgebra", "ManualMemory", "SIMDTypes", "Static", "StaticArrayInterface", "ThreadingUtilities"]
+git-tree-sha1 = "83151ba8065a73f53ca2ae98bc7274d817aa30f2"
+uuid = "7792a7ef-975c-4747-a70f-980b88e8d1da"
+version = "0.5.8"
+
+[[deps.Strided]]
+deps = ["LinearAlgebra", "StridedViews", "TupleTools"]
+git-tree-sha1 = "fd1bfd5f6f614f5bb0888a8374a31bcfc98070cc"
+uuid = "5e0ebb24-38b0-5f93-81fe-25c709ecae67"
+version = "2.3.5"
+
+ [deps.Strided.extensions]
+ StridedAMDGPUExt = "AMDGPU"
+ StridedCUDAExt = "CUDA"
+ StridedGPUArraysExt = "GPUArrays"
+ StridedJLArraysExt = "JLArrays"
+
+ [deps.Strided.weakdeps]
+ AMDGPU = "21141c5a-9bdb-4563-92ae-f87d6854732e"
+ CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba"
+ GPUArrays = "0c68f7d7-f131-5f86-a1c3-88cf8149b2d7"
+ JLArrays = "27aeb0d3-9eb9-45fb-866b-73c2ecf80fcb"
+
+[[deps.StridedViews]]
+deps = ["LinearAlgebra", "PackageExtensionCompat"]
+git-tree-sha1 = "b1b42ff0249fbb02df163633adc612b943c6ac74"
+uuid = "4db3bf67-4bd7-4b4e-b153-31dc3fb37143"
+version = "0.4.6"
+
+ [deps.StridedViews.extensions]
+ StridedViewsAMDGPUExt = "AMDGPU"
+ StridedViewsCUDAExt = "CUDA"
+ StridedViewsJLArraysExt = "JLArrays"
+ StridedViewsPtrArraysExt = "PtrArrays"
+
+ [deps.StridedViews.weakdeps]
+ AMDGPU = "21141c5a-9bdb-4563-92ae-f87d6854732e"
+ CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba"
+ JLArrays = "27aeb0d3-9eb9-45fb-866b-73c2ecf80fcb"
+ PtrArrays = "43287f4e-b6f4-7ad1-bb20-aadabca52c3d"
+
+[[deps.StructUtils]]
+deps = ["Dates", "UUIDs"]
+git-tree-sha1 = "fa95b3b097bcef5845c142ea2e085f1b2591e92c"
+uuid = "ec057cc2-7a8d-4b58-b3b3-92acb9f63b42"
+version = "2.7.1"
+
+ [deps.StructUtils.extensions]
+ StructUtilsMeasurementsExt = ["Measurements"]
+ StructUtilsStaticArraysCoreExt = ["StaticArraysCore"]
+ StructUtilsTablesExt = ["Tables"]
+
+ [deps.StructUtils.weakdeps]
+ Measurements = "eff96d63-e80a-5855-80a2-b1b0885c5ab7"
+ StaticArraysCore = "1e83bf80-4336-4d27-bf5d-d5a4f845583c"
+ Tables = "bd369af6-aec1-5ad0-b16a-f7cc5008161c"
+
+[[deps.StyledStrings]]
+uuid = "f489334b-da3d-4c2e-b8f0-e476e12c162b"
+version = "1.11.0"
+
+[[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.7.0+0"
+
+[[deps.Suppressor]]
+deps = ["Logging"]
+git-tree-sha1 = "6dbb5b635c5437c68c28c2ac9e39b87138f37c0a"
+uuid = "fd094767-a336-5f1f-9728-57cf17d0bbfb"
+version = "0.2.8"
+
+[[deps.SymbolicIndexingInterface]]
+deps = ["Accessors", "ArrayInterface", "RuntimeGeneratedFunctions", "StaticArraysCore"]
+git-tree-sha1 = "94c58884e013efff548002e8dc2fdd1cb74dfce5"
+uuid = "2efcf032-c050-4f8e-a9bb-153293bab1f5"
+version = "0.3.46"
+
+ [deps.SymbolicIndexingInterface.extensions]
+ SymbolicIndexingInterfacePrettyTablesExt = "PrettyTables"
+
+ [deps.SymbolicIndexingInterface.weakdeps]
+ PrettyTables = "08abe8d2-0d0c-5749-adfa-8a2ac140af0d"
+
+[[deps.TOML]]
+deps = ["Dates"]
+uuid = "fa267f1f-6049-4f14-aa54-33bafae1ed76"
+version = "1.0.3"
+
+[[deps.TableTraits]]
+deps = ["IteratorInterfaceExtensions"]
+git-tree-sha1 = "c06b2f539df1c6efa794486abfb6ed2022561a39"
+uuid = "3783bdb8-4a98-5b6b-af9a-565f29a5fe9c"
+version = "1.0.1"
+
+[[deps.Tables]]
+deps = ["DataAPI", "DataValueInterfaces", "IteratorInterfaceExtensions", "OrderedCollections", "TableTraits"]
+git-tree-sha1 = "f2c1efbc8f3a609aadf318094f8fc5204bdaf344"
+uuid = "bd369af6-aec1-5ad0-b16a-f7cc5008161c"
+version = "1.12.1"
+
+[[deps.Tar]]
+deps = ["ArgTools", "SHA"]
+uuid = "a4e569a6-e804-4fa4-b0f3-eef7a1d5b13e"
+version = "1.10.0"
+
+[[deps.TensorCore]]
+deps = ["LinearAlgebra"]
+git-tree-sha1 = "1feb45f88d133a655e001435632f019a9a1bcdb6"
+uuid = "62fd8b95-f654-4bbd-a8a5-9c27f68ccd50"
+version = "0.1.1"
+
+[[deps.TensorNetworkQuantumSimulator]]
+deps = ["Adapt", "Combinatorics", "Dictionaries", "EinExprs", "GraphRecipes", "Graphs", "ITensorMPS", "ITensors", "KrylovKit", "LinearAlgebra", "NamedGraphs", "PauliPropagation", "Revise", "SimpleGraphAlgorithms", "SimpleGraphConverter", "SplitApplyCombine", "Statistics", "StatsBase", "TensorOperations", "TypeParameterAccessors"]
+git-tree-sha1 = "2fa48eadd6262ba146051b04aa4ffbb1b9c6b0c7"
+uuid = "4de3b72a-362e-43dd-83ff-3f381eda9f9c"
+version = "0.3.5"
+
+[[deps.TensorOperations]]
+deps = ["LRUCache", "LinearAlgebra", "PackageExtensionCompat", "PrecompileTools", "Preferences", "PtrArrays", "Strided", "StridedViews", "TupleTools", "VectorInterface"]
+git-tree-sha1 = "9e254318128d955ac429d8c6398ae3f82ba59439"
+uuid = "6aa20fa7-93e2-5fca-9bc0-fbd0db3c71a2"
+version = "5.5.2"
+
+ [deps.TensorOperations.extensions]
+ TensorOperationsBumperExt = "Bumper"
+ TensorOperationsChainRulesCoreExt = "ChainRulesCore"
+ TensorOperationsEnzymeExt = "Enzyme"
+ TensorOperationsMooncakeExt = "Mooncake"
+ TensorOperationscuTENSORExt = ["cuTENSOR", "CUDA"]
+
+ [deps.TensorOperations.weakdeps]
+ Bumper = "8ce10254-0962-460f-a3d8-1f77fea1446e"
+ CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba"
+ ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4"
+ Enzyme = "7da242da-08ed-463a-9acd-ee780be4f1d9"
+ Mooncake = "da2b9cff-9c12-43a0-ae48-6db2b0edb7d6"
+ cuTENSOR = "011b41b2-24ef-40a8-b3eb-fa098493e9e1"
+
+[[deps.Test]]
+deps = ["InteractiveUtils", "Logging", "Random", "Serialization"]
+uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
+version = "1.11.0"
+
+[[deps.ThreadedScans]]
+deps = ["ArgCheck"]
+git-tree-sha1 = "ca1ba3000289eacba571aaa4efcefb642e7a1de6"
+uuid = "24d252fe-5d94-4a69-83ea-56a14333d47a"
+version = "0.1.0"
+
+[[deps.ThreadingUtilities]]
+deps = ["ManualMemory"]
+git-tree-sha1 = "d969183d3d244b6c33796b5ed01ab97328f2db85"
+uuid = "8290d209-cae3-49c0-8002-c8c24d57dab5"
+version = "0.5.5"
+
+[[deps.TimerOutputs]]
+deps = ["ExprTools", "Printf"]
+git-tree-sha1 = "3748bd928e68c7c346b52125cf41fff0de6937d0"
+uuid = "a759f4b9-e2f1-59dc-863e-4aeb61b1ea8f"
+version = "0.5.29"
+
+ [deps.TimerOutputs.extensions]
+ FlameGraphsExt = "FlameGraphs"
+
+ [deps.TimerOutputs.weakdeps]
+ FlameGraphs = "08572546-2f56-4bcf-ba4e-bab62c3a3f89"
+
+[[deps.TranscodingStreams]]
+git-tree-sha1 = "0c45878dcfdcfa8480052b6ab162cdd138781742"
+uuid = "3bb67fe8-82b1-5028-8e26-92a6c54297fa"
+version = "0.11.3"
+
+[[deps.Transducers]]
+deps = ["Accessors", "ArgCheck", "BangBang", "Baselet", "CompositionsBase", "ConstructionBase", "DefineSingletons", "Distributed", "InitialValues", "Logging", "Markdown", "MicroCollections", "SplittablesBase", "Tables"]
+git-tree-sha1 = "4aa1fdf6c1da74661f6f5d3edfd96648321dade9"
+uuid = "28d57a85-8fef-5791-bfe6-a80928e7c999"
+version = "0.4.85"
+
+ [deps.Transducers.extensions]
+ TransducersAdaptExt = "Adapt"
+ TransducersBlockArraysExt = "BlockArrays"
+ TransducersDataFramesExt = "DataFrames"
+ TransducersLazyArraysExt = "LazyArrays"
+ TransducersOnlineStatsBaseExt = "OnlineStatsBase"
+ TransducersReferenceablesExt = "Referenceables"
+
+ [deps.Transducers.weakdeps]
+ Adapt = "79e6a3ab-5dfb-504d-930d-738a2a938a0e"
+ BlockArrays = "8e7c35d0-a365-5155-bbbb-fb81a777f24e"
+ DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0"
+ LazyArrays = "5078a376-72f3-5289-bfd5-ec5146d43c02"
+ OnlineStatsBase = "925886fa-5bf2-5e8e-b522-a9147a512338"
+ Referenceables = "42d2dcc6-99eb-4e98-b66c-637b7d73030e"
+
+[[deps.TruncatedStacktraces]]
+deps = ["InteractiveUtils", "MacroTools", "Preferences"]
+git-tree-sha1 = "ea3e54c2bdde39062abf5a9758a23735558705e1"
+uuid = "781d530d-4396-4725-bb49-402e4bee1e77"
+version = "1.4.0"
+
+[[deps.TupleTools]]
+git-tree-sha1 = "41e43b9dc950775eac654b9f845c839cd2f1821e"
+uuid = "9d95972d-f1c8-5527-a6e0-b4b365fa01f6"
+version = "1.6.0"
+
+[[deps.TypeParameterAccessors]]
+deps = ["LinearAlgebra", "SimpleTraits"]
+git-tree-sha1 = "d5d7525021e8505a1b86325f0d6f7c2c08225e63"
+uuid = "7e5a90cf-f82e-492e-a09b-e3e26432c138"
+version = "0.3.11"
+
+ [deps.TypeParameterAccessors.extensions]
+ TypeParameterAccessorsAMDGPUExt = "AMDGPU"
+ TypeParameterAccessorsCUDAExt = "CUDA"
+ TypeParameterAccessorsFillArraysExt = "FillArrays"
+ TypeParameterAccessorsJLArraysExt = "JLArrays"
+ TypeParameterAccessorsMetalExt = "Metal"
+ TypeParameterAccessorsStridedViewsExt = "StridedViews"
+ TypeParameterAccessorsoneAPIExt = "oneAPI"
+
+ [deps.TypeParameterAccessors.weakdeps]
+ AMDGPU = "21141c5a-9bdb-4563-92ae-f87d6854732e"
+ CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba"
+ FillArrays = "1a297f60-69ca-5386-bcde-b61e274b549b"
+ JLArrays = "27aeb0d3-9eb9-45fb-866b-73c2ecf80fcb"
+ Metal = "dde4c033-4e86-420c-a63e-0dd931031962"
+ StridedViews = "4db3bf67-4bd7-4b4e-b153-31dc3fb37143"
+ oneAPI = "8f75cd03-7ff8-4ecb-9b8f-daf728133b1b"
+
+[[deps.URIs]]
+git-tree-sha1 = "bef26fb046d031353ef97a82e3fdb6afe7f21b1a"
+uuid = "5c2747f8-b7ea-4ff2-ba2e-563bfd36b1d4"
+version = "1.6.1"
+
+[[deps.UUIDs]]
+deps = ["Random", "SHA"]
+uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4"
+version = "1.11.0"
+
+[[deps.Unicode]]
+uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5"
+version = "1.11.0"
+
+[[deps.UnicodeFun]]
+deps = ["REPL"]
+git-tree-sha1 = "53915e50200959667e78a92a418594b428dffddf"
+uuid = "1cfade01-22cf-5700-b092-accc4b62d6e1"
+version = "0.4.1"
+
+[[deps.Unzip]]
+git-tree-sha1 = "ca0969166a028236229f63514992fc073799bb78"
+uuid = "41fe7b60-77ed-43a1-b4f0-825fd5a5650d"
+version = "0.2.0"
+
+[[deps.VectorInterface]]
+deps = ["LinearAlgebra"]
+git-tree-sha1 = "9166406dedd38c111a6574e9814be83d267f8aec"
+uuid = "409d34a3-91d5-4945-b6ec-7529ddf182d8"
+version = "0.5.0"
+
+[[deps.VersionParsing]]
+git-tree-sha1 = "58d6e80b4ee071f5efd07fda82cb9fbe17200868"
+uuid = "81def892-9a0e-5fdd-b105-ffc91e053289"
+version = "1.3.0"
+
+[[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", "EpollShim_jll", "Expat_jll", "JLLWrappers", "Libdl", "Libffi_jll"]
+git-tree-sha1 = "96478df35bbc2f3e1e791bc7a3d0eeee559e60e9"
+uuid = "a2964d1f-97da-50d4-b82a-358c7fce9d89"
+version = "1.24.0+0"
+
+[[deps.WoodburyMatrices]]
+deps = ["LinearAlgebra", "SparseArrays"]
+git-tree-sha1 = "248a7031b3da79a127f14e5dc5f417e26f9f6db7"
+uuid = "efce3f68-66dc-5838-9240-27a6d6f5f9b6"
+version = "1.1.0"
+
+[[deps.XML2_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl", "Libiconv_jll", "Zlib_jll"]
+git-tree-sha1 = "5c959b708667b34cb758e8d7c6f8e69b94c32deb"
+uuid = "02c8fc9c-b97f-50b9-bbe4-9be30ff0a78a"
+version = "2.15.1+0"
+
+[[deps.XZ_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl"]
+git-tree-sha1 = "b29c22e245d092b8b4e8d3c09ad7baa586d9f573"
+uuid = "ffd25f8a-64ca-5728-b0f7-c24cf3aae800"
+version = "5.8.3+0"
+
+[[deps.Xorg_libICE_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl"]
+git-tree-sha1 = "a3ea76ee3f4facd7a64684f9af25310825ee3668"
+uuid = "f67eecfb-183a-506d-b269-f58e52b52d7c"
+version = "1.1.2+0"
+
+[[deps.Xorg_libSM_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libICE_jll"]
+git-tree-sha1 = "9c7ad99c629a44f81e7799eb05ec2746abb5d588"
+uuid = "c834827a-8449-5923-a945-d239c165b7dd"
+version = "1.2.6+0"
+
+[[deps.Xorg_libX11_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libxcb_jll", "Xorg_xtrans_jll"]
+git-tree-sha1 = "808090ede1d41644447dd5cbafced4731c56bd2f"
+uuid = "4f6342f7-b3d2-589e-9d20-edeb45f2b2bc"
+version = "1.8.13+0"
+
+[[deps.Xorg_libXau_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl"]
+git-tree-sha1 = "aa1261ebbac3ccc8d16558ae6799524c450ed16b"
+uuid = "0c0b7dd1-d40b-584c-a123-a41640f87eec"
+version = "1.0.13+0"
+
+[[deps.Xorg_libXcursor_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libXfixes_jll", "Xorg_libXrender_jll"]
+git-tree-sha1 = "6c74ca84bbabc18c4547014765d194ff0b4dc9da"
+uuid = "935fb764-8cf2-53bf-bb30-45bb1f8bf724"
+version = "1.2.4+0"
+
+[[deps.Xorg_libXdmcp_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl"]
+git-tree-sha1 = "52858d64353db33a56e13c341d7bf44cd0d7b309"
+uuid = "a3789734-cfe1-5b06-b2d0-1dd0d9d62d05"
+version = "1.1.6+0"
+
+[[deps.Xorg_libXext_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libX11_jll"]
+git-tree-sha1 = "1a4a26870bf1e5d26cd585e38038d399d7e65706"
+uuid = "1082639a-0dae-5f34-9b06-72781eeb8cb3"
+version = "1.3.8+0"
+
+[[deps.Xorg_libXfixes_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libX11_jll"]
+git-tree-sha1 = "75e00946e43621e09d431d9b95818ee751e6b2ef"
+uuid = "d091e8ba-531a-589c-9de9-94069b037ed8"
+version = "6.0.2+0"
+
+[[deps.Xorg_libXi_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libXext_jll", "Xorg_libXfixes_jll"]
+git-tree-sha1 = "a376af5c7ae60d29825164db40787f15c80c7c54"
+uuid = "a51aa0fd-4e3c-5386-b890-e753decda492"
+version = "1.8.3+0"
+
+[[deps.Xorg_libXinerama_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libXext_jll"]
+git-tree-sha1 = "0ba01bc7396896a4ace8aab67db31403c71628f4"
+uuid = "d1454406-59df-5ea1-beac-c340f2130bc3"
+version = "1.1.7+0"
+
+[[deps.Xorg_libXrandr_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libXext_jll", "Xorg_libXrender_jll"]
+git-tree-sha1 = "6c174ef70c96c76f4c3f4d3cfbe09d018bcd1b53"
+uuid = "ec84b674-ba8e-5d96-8ba1-2a689ba10484"
+version = "1.5.6+0"
+
+[[deps.Xorg_libXrender_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libX11_jll"]
+git-tree-sha1 = "7ed9347888fac59a618302ee38216dd0379c480d"
+uuid = "ea2f1a96-1ddc-540d-b46f-429655e07cfa"
+version = "0.9.12+0"
+
+[[deps.Xorg_libpciaccess_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl", "Zlib_jll"]
+git-tree-sha1 = "4909eb8f1cbf6bd4b1c30dd18b2ead9019ef2fad"
+uuid = "a65dc6b1-eb27-53a1-bb3e-dea574b5389e"
+version = "0.18.1+0"
+
+[[deps.Xorg_libxcb_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libXau_jll", "Xorg_libXdmcp_jll"]
+git-tree-sha1 = "bfcaf7ec088eaba362093393fe11aa141fa15422"
+uuid = "c7cfdc94-dc32-55de-ac96-5a1b8d977c5b"
+version = "1.17.1+0"
+
+[[deps.Xorg_libxkbfile_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libX11_jll"]
+git-tree-sha1 = "ed756a03e95fff88d8f738ebc2849431bdd4fd1a"
+uuid = "cc61e674-0454-545c-8b26-ed2c68acab7a"
+version = "1.2.0+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 = "9750dc53819eba4e9a20be42349a6d3b86c7cdf8"
+uuid = "e920d4aa-a673-5f3a-b3d7-f755a4d47c43"
+version = "0.1.6+0"
+
+[[deps.Xorg_xcb_util_image_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_xcb_util_jll"]
+git-tree-sha1 = "f4fc02e384b74418679983a97385644b67e1263b"
+uuid = "12413925-8142-5f55-bb0e-6d7ca50bb09b"
+version = "0.4.1+0"
+
+[[deps.Xorg_xcb_util_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libxcb_jll"]
+git-tree-sha1 = "68da27247e7d8d8dafd1fcf0c3654ad6506f5f97"
+uuid = "2def613f-5ad1-5310-b15b-b15d46f528f5"
+version = "0.4.1+0"
+
+[[deps.Xorg_xcb_util_keysyms_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_xcb_util_jll"]
+git-tree-sha1 = "44ec54b0e2acd408b0fb361e1e9244c60c9c3dd4"
+uuid = "975044d2-76e6-5fbe-bf08-97ce7c6574c7"
+version = "0.4.1+0"
+
+[[deps.Xorg_xcb_util_renderutil_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_xcb_util_jll"]
+git-tree-sha1 = "5b0263b6d080716a02544c55fdff2c8d7f9a16a0"
+uuid = "0d47668e-0667-5a69-a72c-f761630bfb7e"
+version = "0.3.10+0"
+
+[[deps.Xorg_xcb_util_wm_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_xcb_util_jll"]
+git-tree-sha1 = "f233c83cad1fa0e70b7771e0e21b061a116f2763"
+uuid = "c22f9ab0-d5fe-5066-847c-f4bb1cd4e361"
+version = "0.4.2+0"
+
+[[deps.Xorg_xkbcomp_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libxkbfile_jll"]
+git-tree-sha1 = "801a858fc9fb90c11ffddee1801bb06a738bda9b"
+uuid = "35661453-b289-5fab-8a00-3d9160c6a3a4"
+version = "1.4.7+0"
+
+[[deps.Xorg_xkeyboard_config_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_xkbcomp_jll"]
+git-tree-sha1 = "00af7ebdc563c9217ecc67776d1bbf037dbcebf4"
+uuid = "33bec58e-1273-512f-9401-5d533626f822"
+version = "2.44.0+0"
+
+[[deps.Xorg_xtrans_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl"]
+git-tree-sha1 = "a63799ff68005991f9d9491b6e95bd3478d783cb"
+uuid = "c5fb5394-a638-5e4d-96e5-b29de1b5cf10"
+version = "1.6.0+0"
+
+[[deps.ZMQ]]
+deps = ["FileWatching", "PrecompileTools", "Printf", "Sockets", "ZeroMQ_jll"]
+git-tree-sha1 = "5f1c7008e2258c61af0eafef8c1f536b9fffbbd2"
+uuid = "c2297ded-f4af-51ae-bb23-16f91089e4e1"
+version = "1.5.1"
+
+[[deps.ZeroMQ_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl", "libsodium_jll"]
+git-tree-sha1 = "766d90db2817565b667c1cc9cc420d668f2e8dba"
+uuid = "8f1865be-045e-5c20-9c9f-bfbfb0764568"
+version = "4.3.6+0"
+
+[[deps.Zeros]]
+git-tree-sha1 = "60135f9a7bbcc3758ab7025f439f30067bdb9d5a"
+uuid = "bd1ec220-6eb4-527a-9b49-e79c3db6233b"
+version = "0.4.0"
+
+[[deps.Zlib_jll]]
+deps = ["Libdl"]
+uuid = "83775a58-1f1d-513f-b197-d71354ab007a"
+version = "1.2.13+1"
+
+[[deps.Zstd_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl"]
+git-tree-sha1 = "446b23e73536f84e8037f5dce465e92275f6a308"
+uuid = "3161d3a3-bdf6-5164-811a-617609db77b4"
+version = "1.5.7+1"
+
+[[deps.dlfcn_win32_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl"]
+git-tree-sha1 = "e141d67ffe550eadfb5af1bdbdaf138031e4805f"
+uuid = "c4b69c83-5512-53e3-94e6-de98773c479f"
+version = "1.4.2+0"
+
+[[deps.eudev_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl"]
+git-tree-sha1 = "c3b0e6196d50eab0c5ed34021aaa0bb463489510"
+uuid = "35ca27e7-8b34-5b7f-bca9-bdc33f59eb06"
+version = "3.2.14+0"
+
+[[deps.fzf_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl"]
+git-tree-sha1 = "b6a34e0e0960190ac2a4363a1bd003504772d631"
+uuid = "214eeab7-80f7-51ab-84ad-2988db7cef09"
+version = "0.61.1+0"
+
+[[deps.libaom_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl"]
+git-tree-sha1 = "371cc681c00a3ccc3fbc5c0fb91f58ba9bec1ecf"
+uuid = "a4ae2306-e953-59d6-aa16-d00cac43593b"
+version = "3.13.1+0"
+
+[[deps.libass_jll]]
+deps = ["Artifacts", "Bzip2_jll", "FreeType2_jll", "FriBidi_jll", "HarfBuzz_jll", "JLLWrappers", "Libdl", "Zlib_jll"]
+git-tree-sha1 = "125eedcb0a4a0bba65b657251ce1d27c8714e9d6"
+uuid = "0ac62f75-1d6f-5e53-bd7c-93b484bb37c0"
+version = "0.17.4+0"
+
+[[deps.libblastrampoline_jll]]
+deps = ["Artifacts", "Libdl"]
+uuid = "8e850b90-86db-534c-a0d3-1478176c7d93"
+version = "5.11.0+0"
+
+[[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.libdrm_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libpciaccess_jll"]
+git-tree-sha1 = "63aac0bcb0b582e11bad965cef4a689905456c03"
+uuid = "8e53e030-5e6c-5a89-a30b-be5b7263a166"
+version = "2.4.125+1"
+
+[[deps.libevdev_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl"]
+git-tree-sha1 = "56d643b57b188d30cccc25e331d416d3d358e557"
+uuid = "2db6ffa8-e38f-5e21-84af-90c45d0032cc"
+version = "1.13.4+0"
+
+[[deps.libfdk_aac_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl"]
+git-tree-sha1 = "646634dd19587a56ee2f1199563ec056c5f228df"
+uuid = "f638f0a6-7fb0-5443-88ba-1cc74229b280"
+version = "2.0.4+0"
+
+[[deps.libinput_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl", "eudev_jll", "libevdev_jll", "mtdev_jll"]
+git-tree-sha1 = "91d05d7f4a9f67205bd6cf395e488009fe85b499"
+uuid = "36db933b-70db-51c0-b978-0f229ee0e533"
+version = "1.28.1+0"
+
+[[deps.libpng_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl", "Zlib_jll"]
+git-tree-sha1 = "e2a7072fc0cdd7949528c1455a3e5da4122e1153"
+uuid = "b53b4c65-9356-5827-b1ea-8c7a1a84506f"
+version = "1.6.56+0"
+
+[[deps.libsodium_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl"]
+git-tree-sha1 = "011b0a7331b41c25524b64dc42afc9683ee89026"
+uuid = "a9144af2-ca23-56d9-984f-0d03f7b5ccf8"
+version = "1.0.21+0"
+
+[[deps.libva_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libX11_jll", "Xorg_libXext_jll", "Xorg_libXfixes_jll", "libdrm_jll"]
+git-tree-sha1 = "7dbf96baae3310fe2fa0df0ccbb3c6288d5816c9"
+uuid = "9a156e7d-b971-5f62-b2c9-67348b8fb97c"
+version = "2.23.0+0"
+
+[[deps.libvorbis_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl", "Ogg_jll"]
+git-tree-sha1 = "11e1772e7f3cc987e9d3de991dd4f6b2602663a5"
+uuid = "f27f6e37-5d2b-51aa-960f-b287f2bc3b7a"
+version = "1.3.8+0"
+
+[[deps.mtdev_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl"]
+git-tree-sha1 = "b4d631fd51f2e9cdd93724ae25b2efc198b059b1"
+uuid = "009596ad-96f7-51b1-9f1b-5ce2d5e8a71e"
+version = "1.1.7+0"
+
+[[deps.nghttp2_jll]]
+deps = ["Artifacts", "Libdl"]
+uuid = "8e850ede-7688-5339-a07c-302acd2aaf8d"
+version = "1.59.0+0"
+
+[[deps.oneTBB_jll]]
+deps = ["Artifacts", "JLLWrappers", "LazyArtifacts", "Libdl"]
+git-tree-sha1 = "1350188a69a6e46f799d3945beef36435ed7262f"
+uuid = "1317d2d5-d96f-522e-a858-c73665f53c3e"
+version = "2022.0.0+1"
+
+[[deps.p7zip_jll]]
+deps = ["Artifacts", "Libdl"]
+uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0"
+version = "17.4.0+2"
+
+[[deps.qiskit_ibm_runtime_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl", "Qiskit_jll"]
+git-tree-sha1 = "1167e96e41132995b6945a0517cd505e39af887c"
+uuid = "dfd00f80-54b8-5b12-a44d-54bafd549557"
+version = "0.38.0+1"
+
+[[deps.x264_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl"]
+git-tree-sha1 = "14cc7083fc6dff3cc44f2bc435ee96d06ed79aa7"
+uuid = "1270edf5-f2f9-52d2-97e9-ab00b5d0237a"
+version = "10164.0.1+0"
+
+[[deps.x265_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl"]
+git-tree-sha1 = "e7b67590c14d487e734dcb925924c5dc43ec85f3"
+uuid = "dfaa095f-4041-5dcd-9319-2fabd8486b76"
+version = "4.1.0+0"
+
+[[deps.xkbcommon_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libxcb_jll", "Xorg_xkeyboard_config_jll"]
+git-tree-sha1 = "a1fc6507a40bf504527d0d4067d718f8e179b2b8"
+uuid = "d8fb68d0-12a3-5cfd-a85a-d49703b185fd"
+version = "1.13.0+0"
diff --git a/docs/tutorials/Project.toml b/docs/tutorials/Project.toml
new file mode 100644
index 00000000000..c1c9fb6af68
--- /dev/null
+++ b/docs/tutorials/Project.toml
@@ -0,0 +1,10 @@
+[deps]
+JSON = "682c06a0-de6a-54ab-a142-c8b1cf79cde6"
+LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
+OrdinaryDiffEq = "1dea7af3-3e70-54e6-95c3-0bf5283fa5ed"
+Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80"
+Qiskit = "91d9a17d-f964-4b6c-a3c4-2f4cfdea2c95"
+QiskitIBMRuntimeC = "90b98b31-c194-4d1e-bfb5-0d4cb7418088"
+SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
+StatsBase = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91"
+TensorNetworkQuantumSimulator = "4de3b72a-362e-43dd-83ff-3f381eda9f9c"
diff --git a/docs/tutorials/time-evolution.ipynb b/docs/tutorials/time-evolution.ipynb
new file mode 100644
index 00000000000..3af95068e95
--- /dev/null
+++ b/docs/tutorials/time-evolution.ipynb
@@ -0,0 +1,1135 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "id": "8d86bf32",
+ "metadata": {},
+ "source": [
+ "---\n",
+ "title: Simulate time evolution of the transverse-field Ising model\n",
+ "description: Use Qiskit.jl to simulate time evolution of the transverse-field Ising model on IBM Quantum hardware\n",
+ "---\n",
+ "\n",
+ "{/* cspell:ignore Néel spdiagm Runge Kutta tspan saveat siteinds Neel maxdim tensornetworkstate println countmap clims xlabel ylabel colorbar */}"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "65550e2a",
+ "metadata": {},
+ "source": [
+ "# Simulate time evolution of the transverse-field Ising model\n",
+ "\n",
+ "## Learning outcomes\n",
+ "1. Learn how to transpile and run quantum circuits on the hardware using Julia\n",
+ "2. Learn how to post-process measurement outcomes to compute expectation values\n",
+ "3. Learn how to benchmark hardware results against classical simulation to quantify the combined effects of Trotter approximation error and hardware noise"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "727912c7",
+ "metadata": {},
+ "source": [
+ "## Background\n",
+ "\n",
+ "Julia is a dynamic programming language designed primarily for numerical and scientific computing. Its high-performance numerical computing capabilities make it a natural fit for quantum simulation workflows. In this tutorial, we will show how Julia is used for both classical pre- and post-processing (e.g., building Hamiltonians, running ODE solvers, computing expectation values) and for orchestrating quantum hardware jobs, eliminating the need to switch between languages or environments.\n",
+ "\n",
+ "To interface with IBM Quantum hardware from Julia, this tutorial uses two packages from the Qiskit ecosystem: `Qiskit.jl` wraps the Qiskit C library and provides circuit construction and transpilation functionality in Julia; `QiskitIBMRuntimeC.jl` connects to IBM Quantum hardware through the Qiskit IBM Runtime service, enabling job submission and result retrieval directly from Julia.\n",
+ "\n",
+ "In this tutorial, we consider the trotterized evolution of the transverse-field Ising model on a 1D chain with nearest-neighbor interactions:\n",
+ "\n",
+ "$$\n",
+ " H = \\sum_{\\langle i,j\\rangle}J_{ij}Z_iZ_j + \\sum_i h_i X_i\n",
+ "$$\n",
+ "\n",
+ "To implement the time evolution $e^{-iH\\tau}$, we divide the time interval $\\tau$ into $r$ steps and define $\\Delta\\tau=\\tau/r$. The second-order Trotter-Suzuki decomposition gives:\n",
+ "$$\n",
+ " e^{-iH\\Delta\\tau}\\approx \\prod_i e^{-ih_i X_i\\Delta\\tau/2 } \\prod_{\\langle i,j\\rangle} e^{-iJ_{ij}Z_iZ_j\\Delta\\tau} \\prod_i e^{-ih_iX_i\\Delta\\tau/2}\n",
+ "$$\n",
+ "\n",
+ "For circuit construction, each Trotter step is implemented as a sequence of single-qubit $R_x$ rotations and two-qubit $R_{ZZ}$ gates. The circuit begins by preparing the Néel state $|0101\\cdots\\rangle$ using X gates on alternating qubits. Each subsequent Trotter step applies: (1) $R_x(h_i\\Delta\\tau/2)$ on every qubit, (2) $R_{ZZ}(2J_{ij}\\Delta\\tau)$ on each neighboring pair along the chain, and (3) $R_x(h_i\\Delta\\tau/2)$ again on every qubit. The total circuit depth grows linearly with the number of Trotter steps $r$."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "020f72af",
+ "metadata": {},
+ "source": [
+ "## Requirements\n",
+ "\n",
+ "Note that this tutorial requires macOS or Linux — Qiskit.jl is not currently supported on Windows (tracked in [this open issue](https://github.com/Qiskit/Qiskit.jl/issues/15)).\n",
+ "\n",
+ "To get started, install Julia, following the instructions on the [Julia download page](https://julialang.org/downloads/).\n",
+ "\n",
+ "Then, run the following command in a terminal to install the Julia package `IJulia.jl` into the global environment; this will allow us to use the Julia programming language inside the Jupyter notebook.\n",
+ "\n",
+ "```\n",
+ "julia -e 'using Pkg; Pkg.add(\"IJulia\")'\n",
+ "```\n",
+ "\n",
+ "This tutorial also comes with two additional files: `Project.toml` and `Manifest.toml`. The project file describes the project at a high level — for example, the `[deps]` section lists all dependencies. The manifest file records the exact state of those dependencies, allowing you to reproduce the same project environment. See the [Julia documentation](https://pkgdocs.julialang.org/v1/toml-files/) for more on these files.\n",
+ "\n",
+ "We will use Julia's built-in package manager to set up the project environment. We run the code cell below to activate the environment defined by the `Project.toml` and `Manifest.toml` files in the current directory."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "940631f3",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "\u001b[32m\u001b[1m Activating\u001b[22m\u001b[39m project at `~/Documents/ibm-quantum-engineering-and-enablement/tutorials/julia-tutorial`\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Activate the project environment and list installed packages\n",
+ "using Pkg\n",
+ "Pkg.activate(\".\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "a519f88d",
+ "metadata": {},
+ "source": [
+ "The cell below installs all dependencies listed in `Project.toml`, with versions pinned as specified in Manifest.toml. The following packages will be installed:\n",
+ "\n",
+ "For quantum circuit construction and execution:\n",
+ "* `Qiskit.jl`\n",
+ "* `QiskitIBMRuntimeC.jl`\n",
+ "\n",
+ "For classical simulation:\n",
+ "* `OrdinaryDiffEq.jl`\n",
+ "* `TensorNetworkQuantumSimulator.jl`\n",
+ "\n",
+ "For post-processing results and visualization:\n",
+ "* `StatsBase.jl`\n",
+ "* `JSON.jl`\n",
+ "* `Plots.jl`"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "df94a35c",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "\u001b[33m\u001b[1m┌ \u001b[22m\u001b[39m\u001b[33m\u001b[1mWarning: \u001b[22m\u001b[39mThe project dependencies or compat requirements have changed since the manifest was last resolved.\n",
+ "\u001b[33m\u001b[1m│ \u001b[22m\u001b[39mIt is recommended to `Pkg.resolve()` or consider `Pkg.update()` if necessary.\n",
+ "\u001b[33m\u001b[1m└ \u001b[22m\u001b[39m\u001b[90m@ Pkg.API ~/.julia/juliaup/julia-1.11.5+0.aarch64.apple.darwin14/share/julia/stdlib/v1.11/Pkg/src/API.jl:1206\u001b[39m\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Download and install all packages specified in Project.toml\n",
+ "Pkg.instantiate()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "a13bff0e",
+ "metadata": {},
+ "source": [
+ "Up to this point, we have set up the Julia project environment to run the notebook. In order to run the workflow on IBM's quantum processing unit, an IBM Quantum account and API token are also required to instantiate Service from Qiskit IBM Runtime. Follow the \"Install and authenticate\" steps in the [IBM Quantum getting started guide](https://quantum.cloud.ibm.com/docs/en/guides/hello-world) to generate your API token and find your instance CRN — the account setup steps apply regardless of programming language."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "613853a6",
+ "metadata": {},
+ "source": [
+ "## Setup"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "4ea0efac",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "using Qiskit\n",
+ "using QiskitIBMRuntimeC\n",
+ "using StatsBase\n",
+ "using OrdinaryDiffEq\n",
+ "using SparseArrays\n",
+ "using LinearAlgebra\n",
+ "using TensorNetworkQuantumSimulator\n",
+ "using Dates\n",
+ "using JSON\n",
+ "using Plots\n",
+ "using Plots.PlotMeasures"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "5016929d",
+ "metadata": {},
+ "source": [
+ "We will also define the following utility function which returns the value of the bit in a bitstring `v` at position `i`. For example, with `v = 6` (binary `110`),\n",
+ "- `bit_at(6, 1)` returns `0`,\n",
+ "- `bit_at(6, 2)` returns `1`,\n",
+ "- `bit_at(6, 3)` returns `1`.\n",
+ "\n",
+ "This follows Qiskit's little endian convention, i.e., the position `i` is indexed from the least-significant (the \"rightmost\") bit."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "143aecbe",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "bit_at"
+ ]
+ },
+ "execution_count": 26,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "\"\"\"\n",
+ " bit_at(v::Integer, i::Integer) = (v >> (i-1)) & 1\n",
+ "\n",
+ "Return the value of the bit at position `i` in `v`.\n",
+ "\"\"\"\n",
+ "bit_at(v::Integer, i::Integer) = (v >> (i-1)) & 1"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "6a17088d",
+ "metadata": {},
+ "source": [
+ "## Small-scale simulator example\n",
+ "\n",
+ "We consider a 1D chain of $N$ qubits, described by the transverse-field Ising model above. For the system of interest, we specify below the system size `N`, the Trotter step size `δt`, and the total number of Trotter steps `r_max`. The total evolution time is `δt * r_max`. Note that Julia supports Unicode identifiers such as `δt`; in the notebook or Julia REPL, type `\\delta` followed by Tab to enter `δ`. For a full reference, see the [Julia Unicode input documentation](https://docs.julialang.org/en/v1/manual/unicode-input/).\n",
+ "\n",
+ "### Exact solution\n",
+ "To establish a baseline for comparing results from the quantum hardware, we first demonstrate the classical simulation workflow for a small-scale problem. We build the Ising Hamiltonian as a sparse matrix, then obtain the exact time evolution by numerically integrating the Schrödinger equation using `ODEProblem` from `OrdinaryDiffEq.jl`. This approach scales exponentially in the number of qubits $N$. It requires storing the full $2^N$-dimensional state vector. For $N=20$ the Hilbert space already has over one million dimensions, making it impractical for larger systems."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "aa6b4db3",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "1048576×1048576 SparseMatrixCSC{ComplexF64, Int64} with 22020096 stored entries:\n",
+ "⎡⣿⣿⣾⢦⡀⠳⣄⠀⠀⠀⠳⣄⠀⠀⠀⠀⠀⠀⠀⠀⠳⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⎤\n",
+ "⎢⠺⣟⢻⣶⣿⡂⠈⠳⣄⠀⠀⠈⠳⣄⠀⠀⠀⠀⠀⠀⠀⠈⠳⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⎥\n",
+ "⎢⢤⡈⠻⠻⠿⣧⣤⣠⡈⠳⠄⠀⠀⠈⠳⣄⠀⠀⠀⠀⠀⠀⠀⠈⠳⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⎥\n",
+ "⎢⠀⠙⢦⡀⠀⣻⣿⣿⣙⣦⡀⠀⠀⠀⠀⠈⠳⣄⠀⠀⠀⠀⠀⠀⠀⠈⠳⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⎥\n",
+ "⎢⠀⠀⠀⠙⢦⡈⠳⣼⣿⣿⡆⠀⠀⠀⠀⠀⠀⠈⠳⣄⠀⠀⠀⠀⠀⠀⠀⠈⠳⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⎥\n",
+ "⎢⠙⢦⡀⠀⠀⠁⠀⠈⠈⠉⣿⣿⣾⢦⡀⠳⣄⠀⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠳⣄⠀⠀⠀⠀⠀⠀⠀⠀⎥\n",
+ "⎢⠀⠀⠙⢦⡀⠀⠀⠀⠀⠀⠺⣟⢻⣶⣿⡂⠈⠳⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠳⣄⠀⠀⠀⠀⠀⠀⎥\n",
+ "⎢⠀⠀⠀⠀⠙⢦⡀⠀⠀⠀⢤⡈⠻⠻⠿⣧⣤⣠⡈⠳⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠳⣄⠀⠀⠀⠀⎥\n",
+ "⎢⠀⠀⠀⠀⠀⠀⠙⢦⡀⠀⠀⠙⢦⡀⠀⣻⣿⣿⣙⣦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠳⣄⠀⠀⎥\n",
+ "⎢⠀⠀⠀⠀⠀⠀⠀⠀⠙⢦⡀⠀⠀⠙⢦⡈⠳⣼⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠳⣄⎥\n",
+ "⎢⠙⢦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⡟⢦⡈⠳⣄⠀⠀⠈⠳⣄⠀⠀⠀⠀⠀⠀⠀⠀⎥\n",
+ "⎢⠀⠀⠙⢦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠻⣍⣿⣿⣯⠀⠈⠳⣄⠀⠀⠈⠳⣄⠀⠀⠀⠀⠀⠀⎥\n",
+ "⎢⠀⠀⠀⠀⠙⢦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢦⡈⠋⠛⢻⣶⣦⣦⡈⠓⠀⠀⠀⠈⠳⣄⠀⠀⠀⠀⎥\n",
+ "⎢⠀⠀⠀⠀⠀⠀⠙⢦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢦⡀⠨⣿⠿⣧⣽⡦⠀⠀⠀⠀⠀⠈⠳⣄⠀⠀⎥\n",
+ "⎢⠀⠀⠀⠀⠀⠀⠀⠀⠙⢦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⠀⠙⢦⠈⠳⡿⣿⣿⣀⡀⡀⠀⢀⠀⠀⠈⠳⣄⎥\n",
+ "⎢⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢦⡀⠀⠀⠀⠀⠀⠀⠀⠙⢦⡀⠀⠀⠀⠀⠀⠀⠸⣿⣿⡟⢦⡈⠳⣄⠀⠀⠀⎥\n",
+ "⎢⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢦⡀⠀⠀⠀⠀⠀⠀⠀⠙⢦⡀⠀⠀⠀⠀⠈⠻⣍⣿⣿⣯⠀⠈⠳⣄⠀⎥\n",
+ "⎢⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢦⡀⠀⠀⠀⠀⠀⠀⠀⠙⢦⡀⠀⠀⠐⢦⡈⠋⠛⢻⣶⣦⣦⡈⠓⎥\n",
+ "⎢⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢦⡀⠀⠀⠀⠀⠀⠀⠀⠙⢦⡀⠀⠀⠙⢦⡀⠨⣿⠿⣧⣽⡦⎥\n",
+ "⎣⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢦⠀⠀⠀⠀⠀⠀⠀⠀⠙⢦⠀⠀⠀⠙⢦⠈⠳⡿⣿⣿⎦"
+ ]
+ },
+ "execution_count": 4,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "N = 20\n",
+ "δt = 0.05 # Trotter step size\n",
+ "r_max = 10 # total number of Trotter steps\n",
+ "\n",
+ "h = fill(1.0, N)\n",
+ "J = fill(1.0, N-1)\n",
+ "\n",
+ "function build_ising_hamiltonian(h::Vector, J::Vector, n::Int)\n",
+ " dim = 2^n\n",
+ "\n",
+ " # diagonal ZZ terms\n",
+ " diag_terms = zeros(Float64, dim)\n",
+ " for i in 1:n-1\n",
+ " for b in 0:dim-1\n",
+ " bi = bit_at(b, i) # bit at position i\n",
+ " bi_next = bit_at(b, i+1) # bit at position i + 1\n",
+ " diag_terms[b+1] += J[i] * (1-2bi) * (1-2bi_next)\n",
+ " end\n",
+ " end\n",
+ " H = spdiagm(0 => complex(diag_terms))\n",
+ "\n",
+ " # off-diagonal local X terms\n",
+ " for i in 1:n\n",
+ " mask = 1 << (i-1)\n",
+ " cols = [xor(b, mask) + 1 for b in 0:dim-1]\n",
+ " H += h[i] * sparse(1:dim, cols, ones(ComplexF64, dim), dim, dim)\n",
+ " end\n",
+ " return H\n",
+ "end\n",
+ "\n",
+ "H_ising = build_ising_hamiltonian(h, J, N)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "bbe38420",
+ "metadata": {},
+ "source": [
+ "We define the right-hand side of the Schrödinger equation in the in-place form `schrodinger!(dψ, ψ, H, t)`, which computes $d\\psi/dt = -iH\\psi$ using a sparse matrix-vector multiplication. We then set up an `ODEProblem` with the Néel state as the initial condition and solve it over the time span $[0, r \\cdot \\delta t]$, saving the state at each time step $\\delta t$. The solver used is `Tsit5()`, a standard explicit 4th/5th-order Runge-Kutta method suitable for non-stiff problems."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "959f77e9",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "retcode: Success\n",
+ "Interpolation: 1st order linear\n",
+ "t: 11-element Vector{Float64}:\n",
+ " 0.0\n",
+ " 0.05\n",
+ " 0.1\n",
+ " 0.15\n",
+ " 0.2\n",
+ " 0.25\n",
+ " 0.3\n",
+ " 0.35\n",
+ " 0.4\n",
+ " 0.45\n",
+ " 0.5\n",
+ "u: 11-element Vector{Vector{ComplexF64}}:\n",
+ " [0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im … 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im]\n",
+ " [-8.447198152606215e-14 + 8.551269476709602e-30im, 8.452613704293039e-14 - 1.798092880310424e-12im, -1.083059452476694e-16 + 3.807165445547495e-15im, -8.452616757829304e-14 - 1.2684837509562956e-15im, 1.6905229445367383e-13 - 1.7942825729563814e-12im, 3.686879554841385e-11 + 5.3942753560200465e-12im, -8.441779547549441e-14 - 5.078648506287416e-15im, 8.452616758772015e-14 - 1.7980927376219225e-12im, -1.0836194633904448e-16 + 3.8093089835689296e-15im, -8.439610286431264e-14 - 6.349847282668091e-15im … -8.420097996175948e-14 - 8.886670419764126e-15im, 1.6905232499846317e-13 - 1.794282572013269e-12im, -5.4155517237564695e-17 + 3.810165765655752e-15im, -8.447198662231154e-14 - 5.080792111641971e-15im, 1.6247166441264587e-16 + 6.4275606486265795e-18im, -1.0836194596930011e-16 + 3.809308983571259e-15im, -8.447197643886808e-14 - 3.810164822661854e-15im, 1.6905229954179186e-13 - 1.7942827156449086e-12im, -5.4155516867796697e-17 + 3.808022070471655e-15im, -8.447198152606218e-14 - 6.199887719107612e-29im]\n",
+ " [-8.542585712438249e-11 + 1.9929101268716206e-26im, 8.569125285284879e-11 - 8.635067812751866e-10im, -5.306424302864609e-13 + 8.328123827513827e-12im, -8.569214822372148e-11 - 2.769424302035447e-12im, 1.7138310559601293e-10 - 8.551423278653412e-10im, 8.39199218333215e-9 + 2.5904823474669143e-9im, -8.515956647862476e-11 - 1.1132244075358072e-11im, 8.569215079628697e-11 - 8.63505140242374e-10im, -5.322892899226488e-13 + 8.353003341597956e-12im, -8.505251313504091e-11 - 1.3933172316791102e-11im … -8.409229768005623e-11 - 1.9470241911381096e-11im, 1.71384003543064e-10 - 8.551422499844646e-10im, -2.6539582878806465e-13 + 8.362903008236219e-12im, -8.542600827593182e-11 - 1.1157129107141602e-11im, 7.963431233947527e-13 + 7.43870020751736e-14im, -5.322891894826147e-13 + 8.353003344887579e-12im, -8.542570845011376e-11 - 8.36282528772974e-12im, 1.7138325452216785e-10 - 8.551439688989101e-10im, -2.653957284666945e-13 + 8.338010545110564e-12im, -8.542585712438258e-11 + 2.627361551401706e-26im]\n",
+ " [-4.303405333965998e-9 - 5.193630550605571e-24im, 4.335919445889365e-9 - 2.830382424300664e-8im, -6.498069885582034e-11 + 6.504076362362121e-10im, -4.336205744540504e-9 - 2.1550356498433456e-10im, 8.672032579234898e-9 - 2.764630624190242e-8im, 1.7283135071236338e-7 + 8.490403097958473e-8im, -4.270605352165285e-9 - 8.727078958709279e-10im, 4.336208182705919e-9 - 2.8303506579709142e-8im, -6.551064529705039e-11 + 6.553146447470977e-10im, -4.257311049335466e-9 - 1.09442154260546e-9im … -4.138721218175993e-9 - 1.5250366228861508e-9im, 8.672321329580106e-9 - 2.764626391998368e-8im, -3.25142054699411e-11 + 6.572493036705701e-10im, -4.303454890254258e-9 - 8.776178471225664e-10im, 9.759641300111312e-11 + 1.4585132876705085e-11im, -6.551055131286663e-11 + 6.55314650464077e-10im, -4.303358140965984e-9 - 6.572072678851363e-10im, 8.67208001005786e-9 - 2.764662390651905e-8im, -3.25141119233684e-11 + 6.523352973843646e-10im, -4.303405333965988e-9 + 2.8545025130761877e-24im]\n",
+ " [-6.083199966007407e-8 - 9.540245785861004e-23im, 6.16722818774796e-8 - 2.958810995196636e-7im, -1.6782947014076044e-9 + 1.24288974064075e-8im, -6.168600513165e-8 - 4.097156349668386e-9im, 1.233539699746149e-7 - 2.832024612353697e-7im, 1.252933004842736e-6 + 8.873816782202638e-7im, -5.997803315172046e-8 - 1.6765068984299418e-8im, 6.168622745316284e-8 - 2.958701102717921e-7im, -1.7039157218198832e-9 + 1.2603072756863413e-8im, -5.962792484875573e-8 - 2.1082486711325728e-8im … -5.652866530611903e-8 - 2.9260908273130446e-8im, 1.233679180212103e-7 - 2.8319964249863656e-7im, -8.402905669842858e-10 + 1.2670885091139626e-8im, -6.083445670086162e-8 - 1.6939435453712348e-8im, 2.523714073069501e-9 + 5.135457980423157e-10im, -1.7039072937245032e-9 + 1.260307346580212e-8im, -6.082975996233972e-8 - 1.2668103038228729e-8im, 1.2335623124766002e-7 - 2.8321345064677676e-7im, -8.40282217405561e-10 + 1.2496247175220009e-8im, -6.083199966007414e-8 + 8.196459109639649e-23im]\n",
+ " [-4.1925039215386654e-7 + 2.677460600678109e-22im, 4.285318172936476e-7 - 1.6047893295112335e-6im, -1.8522719720643802e-8 + 1.0858038020469898e-7im, -4.2877562523585216e-7 - 3.5548593734905984e-8im, 8.572335916432149e-7 - 1.4927112809364224e-6im, 4.848221310265979e-6 + 4.810699752103751e-6im, -4.0972627660257283e-7 - 1.4748177040290743e-7im, 4.2878203032358745e-7 - 1.6046384831470835e-6im, -1.8982996464234093e-8 + 1.1105352498078254e-7im, -4.057614080752629e-7 - 1.8615483937396652e-7im … -3.710180491512003e-7 - 2.569903126546681e-7im, 8.574839228294255e-7 - 1.4926466432762158e-6im, -9.281659171705513e-9 + 1.1200067005267184e-7im, -4.1929599616947026e-7 - 1.4995915650948877e-7im, 2.7901633489406097e-8 + 7.215569826549181e-9im, -1.8982758758906585e-8 + 1.1105355018381482e-7im, -4.192111181964125e-7 - 1.1193739241623215e-7im, 8.572734830263881e-7 - 1.4928621331129255e-6im, -9.281425139782206e-9 + 1.0951702287304549e-7im, -4.192503921538662e-7 + 2.661345043815625e-23im]\n",
+ " [-1.7817651554513163e-6 - 4.180501251498204e-22im, 1.8402335629865725e-6 - 5.568890720784772e-6im, -1.1656437057998571e-7 + 5.63053819766895e-7im, -1.8425103652721044e-6 - 1.8270531202207626e-7im, 3.682088247811752e-6 - 4.978997351832734e-6im, 1.1824907850927261e-5 + 1.6678485694702425e-5im, -1.7210354017969e-6 - 7.715388675442235e-7im, 1.8425994685783273e-6 - 5.567762625020958e-6im, -1.209233455197462e-7 + 5.823643699480997e-7im, -1.6952491076773805e-6 - 9.78610899497098e-7im … -1.4722034878691387e-6 - 1.3416293435467407e-6im, 3.6844566640986107e-6 - 4.978247294205355e-6im, -5.847155042780926e-8 + 5.896070272308257e-7im, -1.7822151187493028e-6 - 7.908966120354e-7im, 1.7601746209747826e-7 + 5.5595988528799426e-8im, -1.209201267760062e-7 + 5.823647800580671e-7im, -1.7814044723225213e-6 - 5.888803302922145e-7im, 3.6824574441818106e-6 - 4.980125542149313e-6im, -5.846840753528626e-8 + 5.701761719748441e-7im, -1.781765155451315e-6 + 8.623497000558872e-22im]\n",
+ " [-5.271556176203792e-6 - 7.49861285367763e-21im, 5.515281172948297e-6 - 1.377059415567794e-5im, -4.852845888355539e-7 + 1.9836337932952575e-6im, -5.528622145891747e-6 - 6.363949532395746e-7im, 1.1040309690470572e-5 - 1.1654162722487635e-5im, 1.915715819195639e-5 + 4.117210952884277e-5im, -5.0146169282898706e-6 - 2.7478986873213113e-6im, 5.5293581250209145e-6 - 1.3765189822055999e-5im, -5.112684948147294e-7 + 2.081245160683002e-6im, -4.902764641122375e-6 - 3.507285521843372e-6im … -3.9507324874193736e-6 - 4.765869677224743e-6im, 1.1054416732747048e-5 - 1.1648824840323625e-5im, -2.437498364252954e-7 + 2.1169241933748807e-6im, -5.274376086001212e-6 - 2.845828783634021e-6im, 7.353223852567491e-7 + 2.7647107507387665e-7im, -5.112427791560938e-7 + 2.081248969040159e-6im, -5.269486324617225e-6 - 2.1118185275908083e-6im, 1.1042449053634926e-5 - 1.1659567933855285e-5im, -2.4372499674447915e-7 + 2.018470625295779e-6im, -5.271556176203793e-6 + 1.7209000235047736e-20im]\n",
+ " [-1.1618646186431486e-5 + 5.233521846484844e-21im, 1.2350171711697867e-5 - 2.574554532195816e-5im, -1.4543215666068316e-6 + 5.123970161431332e-6im, -1.2404477846976538e-5 - 1.620365060187081e-6im, 2.4741267389821994e-5 - 2.015652026305624e-5im, 1.9141869485564655e-5 + 7.674672015038458e-5im, -1.0833508462252628e-5 - 7.193477030308175e-6im, 1.2408545868337687e-5 - 2.5727362734969932e-5im, -1.562305741475959e-6 + 5.474798582528361e-6im, -1.0480946680993082e-5 - 9.255154022783992e-6im … -7.538345968459838e-6 - 1.2435897348750635e-5im, 2.479987472814011e-5 - 2.013047817105541e-5im, -7.316555787305937e-7 + 5.599068773640798e-6im, -1.1631089870058428e-5 - 7.54576342467153e-6im, 2.214269432895923e-6 + 9.741574698716366e-7im, -1.562169208445682e-6 + 5.474821495984485e-6im, -1.1610434114128265e-5 - 5.574545959458894e-6im, 2.4749858042645256e-5 - 2.0174708129239346e-5im, -7.315255252662917e-7 + 5.24421553420276e-6im, -1.1618646186431457e-5 + 2.1495938600676603e-21im]\n",
+ " [-1.9810892562955863e-5 + 2.6563290838882735e-21im, 2.1471103943211705e-5 - 3.756889823565732e-5im, -3.2945107550531108e-6 + 1.013804349590116e-5im, -2.1634260467349484e-5 - 3.147801224677167e-6im, 4.3069770508492815e-5 - 2.621309035844639e-5im, 4.771848300292048e-6 + 0.00011142181244930624im, -1.799025340359317e-5 - 1.4466183637177169e-5im, 2.16504459545483e-5 - 3.7523595478996604e-5im, -3.6270994457264773e-6 + 1.1085999584280634e-5im, -1.7140754048084706e-5 - 1.8804196986586844e-5im … -1.021469258325402e-5 - 2.4909710894472004e-5im, 4.325038734181345e-5 - 2.6119885929391285e-5im, -1.6606955241263973e-6 + 1.1409217134286393e-5im, -1.9852053608017645e-5 - 1.541896070874341e-5im, 5.050201856207086e-6 + 2.5698844144095232e-6im, -3.6265818903201203e-6 + 1.1086096022793172e-5im, -1.97869872654681e-5 - 1.1323100777445457e-5im, 4.309515374843075e-5 - 2.6258415326241147e-5im, -1.6602113802557154e-6 + 1.0447225917844316e-5im, -1.9810892562955852e-5 + 1.6983937095323886e-21im]\n",
+ " [-2.6605214427338516e-5 - 6.180799465720513e-20im, 2.9531446475580105e-5 - 4.3337099198844914e-5im, -5.793846580656099e-6 + 1.5720190535815128e-5im, -2.9906142754527473e-5 - 4.767705782738602e-6im, 5.936891953776828e-5 - 2.5156729741187773e-5im, -2.1872711224392463e-5 + 0.00012741205276715139im, -2.331232564161358e-5 - 2.288276752511159e-5im, 2.9954542216375753e-5 - 4.325107358148504e-5im, -6.580704817067804e-6 + 1.7709282874923144e-5im, -2.1701730895550637e-5 - 3.014284801145639e-5im … -8.925842492154665e-6 - 3.921199970948722e-5im, 5.979719796491406e-5 - 2.4901895630642944e-5im, -2.927566307844948e-6 + 1.8356788062284654e-5im, -2.671116254264494e-5 - 2.4883818971586353e-5im, 8.96796918836386e-6 + 5.238539136970021e-6im, -6.579244391007846e-6 + 1.7709579495160987e-5im, -2.6552409636898105e-5 - 1.8126698440020543e-5im, 5.942603691652531e-5 - 2.524282365146583e-5im, -2.9262320482414796e-6 + 1.6330559522508323e-5im, -2.660521442733849e-5 - 5.198273955187834e-20im]"
+ ]
+ },
+ "execution_count": 5,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# initial state |0101...01⟩\n",
+ "ψ0 = zeros(ComplexF64, 2^N)\n",
+ "neel_index = sum(1 << (i-1) for i in 1:2:N)\n",
+ "ψ0[neel_index + 1] = 1.0\n",
+ "\n",
+ "function schrodinger!(dψ, ψ, H, t)\n",
+ " mul!(dψ, H, ψ)\n",
+ " dψ .*= -im\n",
+ "end\n",
+ "\n",
+ "tspan = (0.0, r_max * δt)\n",
+ "prob = ODEProblem(schrodinger!, ψ0, tspan, H_ising)\n",
+ "sol = solve(prob, Tsit5(), saveat=δt)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "8054932d",
+ "metadata": {},
+ "source": [
+ "From the solution which describes the state vector $\\psi(t)$, we can obtain the magnetization per site, expressed as the single-qubit $\\langle Z\\rangle$ expectation values as a function of time. We will compare this with the results obtained from the trotterized circuits."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "27b209db",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "11×20 Matrix{Float64}:\n",
+ " -1.0 1.0 -1.0 1.0 … 1.0 -1.0 1.0\n",
+ " -0.995009 0.995022 -0.995022 0.995022 0.995022 -0.995022 0.995009\n",
+ " -0.980214 0.98041 -0.98041 0.98041 0.98041 -0.98041 0.980214\n",
+ " -0.955737 0.956712 -0.956712 0.956712 0.956712 -0.956712 0.955737\n",
+ " -0.922329 0.92532 -0.925321 0.925321 0.925321 -0.92532 0.922329\n",
+ " -0.880651 0.887676 -0.887679 0.887679 … 0.887679 -0.887676 0.880651\n",
+ " -0.831446 0.845337 -0.84535 0.84535 0.84535 -0.845337 0.831446\n",
+ " -0.775847 0.800169 -0.800211 0.800211 0.800211 -0.800169 0.775847\n",
+ " -0.714946 0.753787 -0.753898 0.753898 0.753898 -0.753787 0.714946\n",
+ " -0.649935 0.707714 -0.707977 0.707978 0.707977 -0.707714 0.649935\n",
+ " -0.579691 0.660741 -0.661309 0.661309 … 0.661309 -0.660741 0.579691"
+ ]
+ },
+ "execution_count": 6,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "function z_expval_from_state(ψ, qubit::Int, n::Int)\n",
+ " s = 0.0\n",
+ " for b in 0:2^n-1\n",
+ " bit = bit_at(b, qubit)\n",
+ " s += (1 - 2bit) * abs2(ψ[b+1])\n",
+ " end\n",
+ " return s\n",
+ "end\n",
+ "\n",
+ "classical_magnetizations = [z_expval_from_state(sol.u[r+1], q, N)\n",
+ " for r in 0:r_max, q in 1:N]"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "c3568ea2",
+ "metadata": {},
+ "source": [
+ "### Small-scale simulation of the Trotterized circuits\n",
+ "\n",
+ "In the following, we show the classical simulation of the noiseless circuits using tensor network methods supported by `TensorNetworkQuantumSimulator.jl`. This allows us to validate our circuit construction and provides a baseline to compare with results from the quantum hardware.\n",
+ "\n",
+ "We first define the lattice as a 1D chain graph using `named_grid((N,))`, where each vertex is a tuple `(i,)`. We then specify the circuit gates as a list of tuples `(gate_name, qubit_indices, gate_parameter)`, which serves as the input format for the tensor network simulator."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "47e7b661",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "make_trotter_circuit_tn (generic function with 1 method)"
+ ]
+ },
+ "execution_count": 7,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# 1D chain graph — vertices are named (1,), (2,), ..., (N,)\n",
+ "g = named_grid((N,))\n",
+ "s = siteinds(\"S=1/2\", g)\n",
+ "\n",
+ "function make_trotter_circuit_tn(h::Vector, J::Vector, n::Int, δt::Float64, n_trotter_steps::Int)\n",
+ " circuit = []\n",
+ "\n",
+ " # Neel state initialization\n",
+ " append!(circuit, [(\"X\", [(i,)]) for i in 1:2:n])\n",
+ "\n",
+ " for _ in 1:n_trotter_steps\n",
+ " # first half X rotation\n",
+ " append!(circuit, [(\"Rx\", [(i,)], h[i]* δt / 2) for i in 1:n])\n",
+ " # ZZ interactions\n",
+ " append!(circuit, [(\"Rzz\", [(i,), (i+1,)], 2 * J[i] * δt) for i in 1:n-1])\n",
+ " # second half X rotation\n",
+ " append!(circuit, [(\"Rx\", [(i,)], h[i] * δt / 2) for i in 1:n])\n",
+ " end\n",
+ "\n",
+ " return circuit\n",
+ "end"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "2425014b",
+ "metadata": {},
+ "source": [
+ "We use the belief propagation algorithm for tensor network contraction. This method is efficient for circuits with limited entanglement, but its accuracy degrades as entanglement grows with circuit depth. The `maxdim` and `cutoff` parameters control the trade-off between accuracy and computational cost. Similarly, we compute the magnetization at each site to compare later."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "5e3ea2c3",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "fidelity at trotter step 0 was 1.0\n",
+ "fidelity at trotter step 1 was 1.0\n",
+ "fidelity at trotter step 2 was 1.0\n",
+ "fidelity at trotter step 3 was 1.0\n",
+ "fidelity at trotter step 4 was 0.9999999999999906\n",
+ "fidelity at trotter step 5 was 0.9999999999997938\n",
+ "fidelity at trotter step 6 was 0.9999999999975266\n",
+ "fidelity at trotter step 7 was 0.9999999999804221\n",
+ "fidelity at trotter step 8 was 0.9999999998846302\n",
+ "fidelity at trotter step 9 was 0.9999999994549151\n",
+ "fidelity at trotter step 10 was 0.9999999980378083\n"
+ ]
+ }
+ ],
+ "source": [
+ "apply_kwargs = (; maxdim=32, cutoff=1e-10, normalize_tensors=true)\n",
+ "tn_magnetizations = zeros(r_max+1, N)\n",
+ "fidelities = []\n",
+ "for r in 0:r_max\n",
+ " circuit = make_trotter_circuit_tn(h, J, N, δt, r)\n",
+ " # initial state\n",
+ " ψ = tensornetworkstate(ComplexF32, v -> \"↑\", g, \"S=1/2\")\n",
+ " ψ_bpc = BeliefPropagationCache(ψ)\n",
+ " ψ_bpc, errs = apply_gates(circuit, ψ_bpc; apply_kwargs)\n",
+ " fidelity = prod(1.0 .- errs)\n",
+ " println(\"fidelity at trotter step $(r) was $(fidelity)\")\n",
+ " push!(fidelities, fidelity)\n",
+ "\n",
+ " for q in 1:N\n",
+ " tn_magnetizations[r+1, q] = real(expect(ψ_bpc, [(\"Z\", [(q,)])])[1])\n",
+ " end\n",
+ "end"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "aeb0878b",
+ "metadata": {},
+ "source": [
+ "### Step 1: Map classical inputs to a quantum problem\n",
+ "\n",
+ "Now we construct the trotterized time-evolution circuit using `Qiskit.jl`. The circuit mirrors the tensor network version: it initializes the Néel state, applies $r$ Trotter steps of $R_x$ and $R_{ZZ}$ gates, and finally measures all qubits in the Z basis."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "6b680069",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000048de81a00, 1)"
+ ]
+ },
+ "execution_count": 9,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "function make_trotter_circuit(h::Vector, J::Vector, n::Int, δt::Float64, n_trotter_steps::Int)\n",
+ " qc = QuantumCircuit(n, n)\n",
+ "\n",
+ " # Neel state initialization\n",
+ " for i in 1:2:n\n",
+ " qc.x(i)\n",
+ " end\n",
+ "\n",
+ " # trotter evolution\n",
+ " for _ in 1:n_trotter_steps\n",
+ " for i in 1:n\n",
+ " qc.rx(h[i] * δt / 2, i)\n",
+ " end\n",
+ "\n",
+ " for i in 1:n-1\n",
+ " qc.rzz(2* J[i] * δt, i, i+1)\n",
+ " end\n",
+ "\n",
+ " for i in 1:n\n",
+ " qc.rx(h[i] * δt / 2, i)\n",
+ " end\n",
+ " end\n",
+ "\n",
+ " # measure in Z basis\n",
+ " for i in 1:n\n",
+ " qc.measure(i, i)\n",
+ " end\n",
+ " return qc\n",
+ "end\n",
+ "\n",
+ "\n",
+ "qc = make_trotter_circuit(h, J, N, δt, 1)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "7a7e4d8f",
+ "metadata": {},
+ "source": [
+ "We build a list of circuits for Trotter steps 0 through 10, corresponding to evolution times $\\tau = 0, \\delta t, 2\\delta t, \\ldots, 10\\delta t$."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "704485a7",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "11-element Vector{QuantumCircuit}:\n",
+ " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000047c8b7400, 1)\n",
+ " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000047cd52800, 1)\n",
+ " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000048d4b5400, 1)\n",
+ " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000047cd85400, 1)\n",
+ " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000047cee7a00, 1)\n",
+ " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000048d53bc00, 1)\n",
+ " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000047caeec00, 1)\n",
+ " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000048d79de00, 1)\n",
+ " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000047c93c600, 1)\n",
+ " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000047c88c000, 1)\n",
+ " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000047c846600, 1)"
+ ]
+ },
+ "execution_count": 10,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# prepare a list of circuits with different trotter steps\n",
+ "qc_list = [make_trotter_circuit(h, J, N, δt, r) for r in 0:r_max]"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "3b7100d9",
+ "metadata": {},
+ "source": [
+ "### Step 2: Optimize problem for quantum hardware execution\n",
+ "\n",
+ "To run on quantum hardware, the circuits must first be transpiled. This includes: selecting a set of physical qubits to map the circuit onto, recompiling the gates into the native instruction set of the backend, and optimizing the resulting circuit depth. We use `least_busy()` to automatically select the least-busy available backend, `target_from_backend()` to retrieve its native gate set and qubit connectivity, and `transpile()` to perform the compilation."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "32354a49",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "backend.name = \"ibm_pittsburgh\"\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "\"ibm_pittsburgh\""
+ ]
+ },
+ "execution_count": 11,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "service = Service()\n",
+ "search_results = backend_search(service)\n",
+ "backend = least_busy(search_results)\n",
+ "@show backend.name"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "14205fe7",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "Qiskit.Target(Ptr{Qiskit.C.LibQiskit.QkTarget} @0x00000004ac683c60)"
+ ]
+ },
+ "execution_count": 12,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "target = target_from_backend(backend, service)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "8828900e",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "11-element Vector{QuantumCircuit}:\n",
+ " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x00000004a6f8fe00, 1)\n",
+ " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000014b846c00, 1)\n",
+ " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000014bd2e600, 1)\n",
+ " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000014aaeec00, 1)\n",
+ " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000014bd64a00, 1)\n",
+ " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000014ae75200, 1)\n",
+ " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x0000000380d6fe00, 1)\n",
+ " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000048d844a00, 1)\n",
+ " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000048def9a00, 1)\n",
+ " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000012a9d3c00, 1)\n",
+ " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x00000004a755b200, 1)"
+ ]
+ },
+ "execution_count": 13,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "tqc_list = [transpile(qc, target)[1] for qc in qc_list]"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "501e8dc5",
+ "metadata": {},
+ "source": [
+ "After transpilation, we inspect two properties of the compiled circuits. `get_circuit_layout()` returns the set of physical qubit indices selected for the circuit. `two_qubit_depth()` computes the two-qubit gate depth — the length of the longest chain of the two-qubit operations in the circuit — which is a useful indicator of noise accumulation on the hardware."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "bf4c910c",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "Set{Int64} with 20 elements:\n",
+ " 52\n",
+ " 72\n",
+ " 24\n",
+ " 17\n",
+ " 47\n",
+ " 49\n",
+ " 69\n",
+ " 3\n",
+ " 51\n",
+ " 25\n",
+ " 46\n",
+ " 71\n",
+ " 48\n",
+ " 59\n",
+ " 4\n",
+ " 50\n",
+ " 70\n",
+ " 2\n",
+ " 38\n",
+ " 26"
+ ]
+ },
+ "execution_count": 14,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "function get_circuit_layout(tqc::QuantumCircuit)\n",
+ " return Set(q for inst in tqc.data for q in inst.qubits)\n",
+ "end\n",
+ "\n",
+ "get_circuit_layout(tqc_list[2])"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "5fa03372",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "r=0: 2q depth=0\n",
+ "r=1: 2q depth=38\n",
+ "r=2: 2q depth=42\n",
+ "r=3: 2q depth=46\n",
+ "r=4: 2q depth=50\n",
+ "r=5: 2q depth=54\n",
+ "r=6: 2q depth=58\n",
+ "r=7: 2q depth=62\n",
+ "r=8: 2q depth=66\n",
+ "r=9: 2q depth=70\n",
+ "r=10: 2q depth=74\n"
+ ]
+ }
+ ],
+ "source": [
+ "function two_qubit_depth(qc::QuantumCircuit)\n",
+ " qubit_depth = Dict{Int,Int}()\n",
+ " for inst in qc.data\n",
+ " length(inst.qubits) == 2 || continue # skip non-two-qubit gates\n",
+ " d = maximum(get(qubit_depth, q, 0) for q in inst.qubits)\n",
+ " for q in inst.qubits\n",
+ " qubit_depth[q] = d + 1\n",
+ " end\n",
+ " end\n",
+ " return isempty(qubit_depth) ? 0 : maximum(values(qubit_depth))\n",
+ "end\n",
+ "\n",
+ "for (i, tqc) in enumerate(tqc_list)\n",
+ " println(\"r=$(i-1): 2q depth=$(two_qubit_depth(tqc))\")\n",
+ "end"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "37aabbc8",
+ "metadata": {},
+ "source": [
+ "### Step 3: Execute using Qiskit primitives\n",
+ "\n",
+ "Now, we can submit the transpiled circuits to the backend as `Sampler` jobs with `shots` specified."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "7bcdead5",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "11-element Vector{QiskitIBMRuntimeC.Job}:\n",
+ " QiskitIBMRuntimeC.Job(Ptr{QiskitIBMRuntimeC.LibQiskitIBMRuntime.Job} @0x00000004aa1fb0f0)\n",
+ " QiskitIBMRuntimeC.Job(Ptr{QiskitIBMRuntimeC.LibQiskitIBMRuntime.Job} @0x00000004aa15e690)\n",
+ " QiskitIBMRuntimeC.Job(Ptr{QiskitIBMRuntimeC.LibQiskitIBMRuntime.Job} @0x000000014b2ce070)\n",
+ " QiskitIBMRuntimeC.Job(Ptr{QiskitIBMRuntimeC.LibQiskitIBMRuntime.Job} @0x000000014b2c6f10)\n",
+ " QiskitIBMRuntimeC.Job(Ptr{QiskitIBMRuntimeC.LibQiskitIBMRuntime.Job} @0x000000012e484f70)\n",
+ " QiskitIBMRuntimeC.Job(Ptr{QiskitIBMRuntimeC.LibQiskitIBMRuntime.Job} @0x000000014b27e990)\n",
+ " QiskitIBMRuntimeC.Job(Ptr{QiskitIBMRuntimeC.LibQiskitIBMRuntime.Job} @0x000000014b1a5590)\n",
+ " QiskitIBMRuntimeC.Job(Ptr{QiskitIBMRuntimeC.LibQiskitIBMRuntime.Job} @0x000000014b267fe0)\n",
+ " QiskitIBMRuntimeC.Job(Ptr{QiskitIBMRuntimeC.LibQiskitIBMRuntime.Job} @0x000000014b1a71f0)\n",
+ " QiskitIBMRuntimeC.Job(Ptr{QiskitIBMRuntimeC.LibQiskitIBMRuntime.Job} @0x00000004accf53d0)\n",
+ " QiskitIBMRuntimeC.Job(Ptr{QiskitIBMRuntimeC.LibQiskitIBMRuntime.Job} @0x000000035655a9b0)"
+ ]
+ },
+ "execution_count": 16,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "shots = 1024\n",
+ "job_list = [run_sampler_job(service, backend, tqc, shots) for tqc in tqc_list]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "cc9cc9c5",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "11-element Vector{QiskitIBMRuntimeC.Job}:\n",
+ " QiskitIBMRuntimeC.Job(Ptr{QiskitIBMRuntimeC.LibQiskitIBMRuntime.Job} @0x00000004aa1fb0f0)\n",
+ " QiskitIBMRuntimeC.Job(Ptr{QiskitIBMRuntimeC.LibQiskitIBMRuntime.Job} @0x00000004aa15e690)\n",
+ " QiskitIBMRuntimeC.Job(Ptr{QiskitIBMRuntimeC.LibQiskitIBMRuntime.Job} @0x000000014b2ce070)\n",
+ " QiskitIBMRuntimeC.Job(Ptr{QiskitIBMRuntimeC.LibQiskitIBMRuntime.Job} @0x000000014b2c6f10)\n",
+ " QiskitIBMRuntimeC.Job(Ptr{QiskitIBMRuntimeC.LibQiskitIBMRuntime.Job} @0x000000012e484f70)\n",
+ " QiskitIBMRuntimeC.Job(Ptr{QiskitIBMRuntimeC.LibQiskitIBMRuntime.Job} @0x000000014b27e990)\n",
+ " QiskitIBMRuntimeC.Job(Ptr{QiskitIBMRuntimeC.LibQiskitIBMRuntime.Job} @0x000000014b1a5590)\n",
+ " QiskitIBMRuntimeC.Job(Ptr{QiskitIBMRuntimeC.LibQiskitIBMRuntime.Job} @0x000000014b267fe0)\n",
+ " QiskitIBMRuntimeC.Job(Ptr{QiskitIBMRuntimeC.LibQiskitIBMRuntime.Job} @0x000000014b1a71f0)\n",
+ " QiskitIBMRuntimeC.Job(Ptr{QiskitIBMRuntimeC.LibQiskitIBMRuntime.Job} @0x00000004accf53d0)\n",
+ " QiskitIBMRuntimeC.Job(Ptr{QiskitIBMRuntimeC.LibQiskitIBMRuntime.Job} @0x000000035655a9b0)"
+ ]
+ },
+ "execution_count": 17,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "job_list"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "9bca942a",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Job 1: Completed\n",
+ "Job 2: Completed\n",
+ "Job 3: Completed\n",
+ "Job 4: Completed\n",
+ "Job 5: Completed\n",
+ "Job 6: Completed\n",
+ "Job 7: Completed\n",
+ "Job 8: Completed\n",
+ "Job 9: Completed\n",
+ "Job 10: Completed\n",
+ "Job 11: Completed\n"
+ ]
+ }
+ ],
+ "source": [
+ "for (i, job) in enumerate(job_list)\n",
+ " status = get_job_status(job, service)\n",
+ " println(\"Job $i: \", status)\n",
+ "end"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "f1429d09",
+ "metadata": {},
+ "source": [
+ "As the jobs are completed, we can retrieve their results. Note that `get_job_results` function will block until the job is completed."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "e8f81320",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "11-element Vector{QiskitIBMRuntimeC.Samples}:\n",
+ " [\"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x54155\", \"0x55555\" … \"0x55555\", \"0x55554\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\"]\n",
+ " [\"0x55555\", \"0x55555\", \"0x55555\", \"0x14555\", \"0x55655\", \"0x55555\", \"0x55515\", \"0x55555\", \"0x55155\", \"0x55558\" … \"0x55555\", \"0x55555\", \"0x55555\", \"0x55545\", \"0x55555\", \"0x55555\", \"0x55554\", \"0x55515\", \"0x55551\", \"0x55553\"]\n",
+ " [\"0x55555\", \"0x55555\", \"0x50555\", \"0x55555\", \"0x55555\", \"0x45555\", \"0x4d555\", \"0x55555\", \"0x45555\", \"0x15555\" … \"0x55555\", \"0x55155\", \"0x55555\", \"0x55555\", \"0x15555\", \"0x55555\", \"0x55555\", \"0x75555\", \"0x55551\", \"0x555d5\"]\n",
+ " [\"0x55555\", \"0x4d555\", \"0x65555\", \"0x55555\", \"0x55551\", \"0x55551\", \"0x55545\", \"0x55555\", \"0x55555\", \"0x55555\" … \"0x55555\", \"0x65515\", \"0x55555\", \"0x55551\", \"0x55555\", \"0x55555\", \"0x4d555\", \"0x95555\", \"0x55555\", \"0x55555\"]\n",
+ " [\"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55554\", \"0x75555\", \"0x55555\", \"0x55555\", \"0x55505\" … \"0x55555\", \"0x55555\", \"0x54555\", \"0xd5555\", \"0x55555\", \"0x75555\", \"0x57545\", \"0x75555\", \"0x55755\", \"0x55554\"]\n",
+ " [\"0x55155\", \"0x54515\", \"0x55555\", \"0x55555\", \"0x75555\", \"0x55155\", \"0x75155\", \"0x75555\", \"0x75555\", \"0x55555\" … \"0x55555\", \"0x55155\", \"0x55155\", \"0x75551\", \"0x75515\", \"0x555d5\", \"0x5554d\", \"0x55555\", \"0x15455\", \"0x55575\"]\n",
+ " [\"0x55555\", \"0x5555d\", \"0x55557\", \"0x55555\", \"0x55551\", \"0x75557\", \"0x75555\", \"0x511d5\", \"0x55455\", \"0x45455\" … \"0x75555\", \"0x74555\", \"0x74f55\", \"0x75555\", \"0x55d55\", \"0x55554\", \"0x55151\", \"0x55555\", \"0x775d5\", \"0x5b555\"]\n",
+ " [\"0x55d14\", \"0x1d951\", \"0x54d55\", \"0x55555\", \"0x71555\", \"0x55345\", \"0x75545\", \"0x55551\", \"0x5595d\", \"0x75751\" … \"0x75114\", \"0x45d51\", \"0x75541\", \"0x75975\", \"0x75555\", \"0x34558\", \"0x71554\", \"0x55555\", \"0x75555\", \"0x55755\"]\n",
+ " [\"0x75554\", \"0x75551\", \"0x52565\", \"0x5a55d\", \"0x45554\", \"0x55155\", \"0x71d55\", \"0x75555\", \"0x55955\", \"0x755dd\" … \"0x7515d\", \"0x75d55\", \"0x55155\", \"0x5551d\", \"0x75d55\", \"0x75d55\", \"0xd5555\", \"0x55155\", \"0x9551d\", \"0x75751\"]\n",
+ " [\"0x77555\", \"0x55555\", \"0x55555\", \"0x7d515\", \"0x75155\", \"0x5d155\", \"0x55555\", \"0x57455\", \"0x71245\", \"0x75555\" … \"0x45955\", \"0x71755\", \"0x5411d\", \"0x7f155\", \"0x71155\", \"0x74955\", \"0x55555\", \"0x55514\", \"0x74145\", \"0xb5151\"]\n",
+ " [\"0x75155\", \"0x75574\", \"0x75755\", \"0xb9545\", \"0x54155\", \"0x5557f\", \"0x75555\", \"0x75564\", \"0x55154\", \"0x55555\" … \"0x45755\", \"0x75155\", \"0x55955\", \"0x75555\", \"0x35555\", \"0x55554\", \"0x75155\", \"0x55555\", \"0x44555\", \"0x75745\"]"
+ ]
+ },
+ "execution_count": 21,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "all_samples = [get_job_results(job, service) for job in job_list]"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "64b46f68",
+ "metadata": {},
+ "source": [
+ "### Step 4: Post-process and return result in desired classical format\n",
+ "\n",
+ "The hardware returns measurement outcomes in hexadecimal format. We define `hex_to_bitstrings()` to decode each hex value into a bitstring of length $N$. The `save_counts()` function aggregates the raw samples into a bitstring-to-count dictionary using `countmap()`, then writes the result to a JSON file on disk."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "e9dd9a79",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "\"0001\""
+ ]
+ },
+ "execution_count": 22,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# from hex to bitstrings\n",
+ "function hex_to_bitstrings(s::String, n::Int)\n",
+ " val = parse(Int, replace(s, \"0x\" => \"\"), base=16)\n",
+ " join([bit_at(val, i) for i in 1:n])\n",
+ "end\n",
+ "\n",
+ "hex_to_bitstrings(\"0x8\", 4)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "8ad39f14",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Saved to results/counts_N=20_2026-05-29_215923.json\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Save counts\n",
+ "function save_counts(all_samples::Vector{QiskitIBMRuntimeC.Samples}, N::Int; dir::String=\"results\")\n",
+ " mkpath(dir)\n",
+ " all_counts = [Dict(hex_to_bitstrings(k, N) => v for (k, v) in countmap(s)) for s in all_samples]\n",
+ "\n",
+ " date_str = Dates.format(Dates.now(), \"yyyy-mm-dd_HHMMSS\")\n",
+ " open(joinpath(dir, \"counts_N=$(N)_$(date_str).json\"), \"w\") do f\n",
+ " JSON.print(f, all_counts, 2)\n",
+ " end\n",
+ " println(\"Saved to $(joinpath(dir, \"counts_N=$(N)_$(date_str).json\"))\")\n",
+ "end\n",
+ "\n",
+ "save_counts(all_samples, N)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "91a52002",
+ "metadata": {},
+ "source": [
+ "From the bitstring samples obtained from the quantum hardware, we compute the magnetization per site (i.e., the single-qubit $\\langle Z\\rangle$ expectation values) by averaging $(-1)^{b_i}$ over all shots, where $b_i$ is the measured bit for qubit $i$. We then plot the magnetization as a heatmap over qubits and Trotter steps, comparing the three methods side by side: exact classical simulation, noiseless tensor network simulation, and hardware execution."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "c74b479d",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "11×20 Matrix{Float64}:\n",
+ " -0.974609 1.0 -0.988281 1.0 … 0.996094 -0.998047 1.0\n",
+ " -0.957031 0.955078 -0.931641 0.980469 0.957031 -0.910156 0.964844\n",
+ " -0.945312 0.931641 -0.873047 0.935547 0.943359 -0.865234 0.966797\n",
+ " -0.933594 0.947266 -0.902344 0.941406 0.9375 -0.884766 0.9375\n",
+ " -0.90625 0.951172 -0.894531 0.929688 0.720703 -0.916016 0.970703\n",
+ " -0.914062 0.970703 -0.867188 0.898438 … 0.527344 -0.914062 0.962891\n",
+ " -0.876953 0.923828 -0.800781 0.898438 0.339844 -0.904297 0.964844\n",
+ " -0.8125 0.912109 -0.773438 0.875 0.246094 -0.855469 0.949219\n",
+ " -0.828125 0.931641 -0.748047 0.869141 0.148438 -0.820312 0.943359\n",
+ " -0.804688 0.929688 -0.857422 0.785156 0.0253906 -0.824219 0.933594\n",
+ " -0.753906 0.90625 -0.816406 0.818359 … -0.107422 -0.791016 0.941406"
+ ]
+ },
+ "execution_count": 24,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# Compute expectation values\n",
+ "# 0 -> 1, 1 -> -1\n",
+ "function z_expval_from_samples(samples, qubit::Int, n::Int)\n",
+ " mean((-1) ^ parse(Int, hex_to_bitstrings(s, n)[qubit]) for s in samples)\n",
+ "end\n",
+ "\n",
+ "magnetizations = [z_expval_from_samples(all_samples[i], q, N) for i in 1:length(all_samples), q in 1:N]"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "a1b2c3d4",
+ "metadata": {},
+ "source": [
+ "The three panels below show the site magnetization $\\langle Z_i \\rangle$ as a function of qubit index (x-axis) and Trotter step (y-axis). At $\\delta t = 0.05$ the total evolution time is $\\tau = r_{\\max} \\cdot \\delta t = 0.5$, which is short enough that the initial antiferromagnetic pattern has not yet decayed — all three methods show a strongly alternating pattern. The classical and tensor network results are now in close agreement, confirming that Trotter error is small at this step size. The hardware results broadly track the other two but show reduced contrast in the alternating pattern at some qubit sites, which becomes more pronounced at larger Trotter steps as the circuit depth increases."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "cc5496cc",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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",
+ "image/svg+xml": [
+ ""
+ ],
+ "text/html": [
+ "
"
+ ]
+ },
+ "execution_count": 25,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# plot magnetization as a function of time\n",
+ "l = @layout [a{0.3w} b{0.3w} c{0.44w}]\n",
+ "plot(\n",
+ " heatmap(classical_magnetizations, title=\"Classical\", clims=(-1,1), color=:RdBu,\n",
+ " xlabel=\"Qubit\", ylabel=\"Trotter steps\", colorbar=false),\n",
+ " heatmap(tn_magnetizations, title=\"Tensor Network\", clims=(-1,1), color=:RdBu,\n",
+ " xlabel=\"Qubit\", ylabel=\"Trotter steps\", colorbar=false),\n",
+ " heatmap(magnetizations, title=\"Hardware\", clims=(-1,1), color=:RdBu,\n",
+ " xlabel=\"Qubit\", ylabel=\"Trotter steps\", colorbar=true),\n",
+ " layout=l, size=(900,300),\n",
+ " bottom_margin=5mm, left_margin=5mm, right_margin=6mm\n",
+ ")"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Julia 1.11",
+ "language": "julia",
+ "name": "julia-1.11"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "julia",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}
diff --git a/qiskit_bot.yaml b/qiskit_bot.yaml
index 60531ff8260..57ade743a9c 100644
--- a/qiskit_bot.yaml
+++ b/qiskit_bot.yaml
@@ -653,6 +653,9 @@ notifications:
- "@kaelynj"
"docs/tutorials/index":
- "`@nathanearnestnoble`"
+ "docs/tutorials/time-evolution":
+ - "`@nathanearnestnoble`"
+ - "`@haimeng-zhang`"
"docs/tutorials/dc-hex-ising":
- "`@nathanearnestnoble`"
- "`@haimeng-zhang`"