From 6f99dcc69c78d6f81411db374e627637bd43bade Mon Sep 17 00:00:00 2001 From: Haimeng Zhang Date: Thu, 11 Jun 2026 13:46:45 -0400 Subject: [PATCH 01/40] add Julia notebook with .toml files --- docs/tutorials/Manifest.toml | 3333 +++++++++++++++++++++++++++ docs/tutorials/Project.toml | 10 + docs/tutorials/time_evolution.ipynb | 1564 +++++++++++++ 3 files changed, 4907 insertions(+) create mode 100644 docs/tutorials/Manifest.toml create mode 100644 docs/tutorials/Project.toml create mode 100644 docs/tutorials/time_evolution.ipynb diff --git a/docs/tutorials/Manifest.toml b/docs/tutorials/Manifest.toml new file mode 100644 index 000000000000..ae15ab9abf89 --- /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 000000000000..c1c9fb6af683 --- /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 000000000000..8764041feb5a --- /dev/null +++ b/docs/tutorials/time_evolution.ipynb @@ -0,0 +1,1564 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "65550e2a", + "metadata": {}, + "source": [ + "# Solve for time-evolution dynamics 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": 1, + "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": 2, + "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": 3, + "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": 26, + "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": 5, + "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": 7, + "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": 8, + "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": 9, + "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": 10, + "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": 11, + "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": 12, + "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": 13, + "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": 14, + "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": 15, + "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": 16, + "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": 17, + "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": 19, + "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": 21, + "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": 23, + "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": 24, + "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": 25, + "id": "cc5496cc", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "image/svg+xml": [ + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n" + ], + "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", + ")\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Julia 1.11", + "language": "julia", + "name": "julia-1.11" + }, + "language_info": { + "file_extension": ".jl", + "mimetype": "application/julia", + "name": "julia", + "version": "1.11.5" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 5a39cc6cffb0cb8c81e36f2f8094cc533cc7eb26 Mon Sep 17 00:00:00 2001 From: Haimeng Zhang Date: Thu, 11 Jun 2026 14:20:40 -0400 Subject: [PATCH 02/40] update unrecognized words --- docs/tutorials/time_evolution.ipynb | 494 ++-------------------------- 1 file changed, 30 insertions(+), 464 deletions(-) diff --git a/docs/tutorials/time_evolution.ipynb b/docs/tutorials/time_evolution.ipynb index 8764041feb5a..d313a13bec63 100644 --- a/docs/tutorials/time_evolution.ipynb +++ b/docs/tutorials/time_evolution.ipynb @@ -1,5 +1,13 @@ { "cells": [ + { + "cell_type": "markdown", + "id": "8d86bf32", + "metadata": {}, + "source": [ + "{/* cspell:ignore Néel spdiagm Runge Kutta tspan saveat siteinds Neel maxdim tensornetworkstate println countmap clims xlabel ylabel colorbar */}" + ] + }, { "cell_type": "markdown", "id": "65550e2a", @@ -20,7 +28,7 @@ "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", + "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", @@ -163,9 +171,9 @@ "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", + "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." @@ -252,7 +260,7 @@ "δt = 0.05 # Trotter step size\n", "r_max = 10 # total number of Trotter steps\n", "\n", - "h = fill(1.0, 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", @@ -531,7 +539,7 @@ ], "source": [ "function make_trotter_circuit(h::Vector, J::Vector, n::Int, δt::Float64, n_trotter_steps::Int)\n", - " qc = QuantumCircuit(n, n) \n", + " qc = QuantumCircuit(n, n)\n", "\n", " # Neel state initialization\n", " for i in 1:2:n\n", @@ -996,7 +1004,7 @@ "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", + "\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", @@ -1071,455 +1079,7 @@ "data": { "image/png": "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", "image/svg+xml": [ - "\n", - "\n", - "\n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n" + "" ], "text/html": [ "" @@ -1542,21 +1102,27 @@ " xlabel=\"Qubit\", ylabel=\"Trotter steps\", colorbar=true),\n", " layout=l, size=(900,300),\n", " bottom_margin=5mm, left_margin=5mm, right_margin=6mm\n", - ")\n" + ")" ] } ], "metadata": { "kernelspec": { - "display_name": "Julia 1.11", - "language": "julia", - "name": "julia-1.11" + "display_name": "Python 3", + "language": "python", + "name": "python3" }, "language_info": { - "file_extension": ".jl", - "mimetype": "application/julia", - "name": "julia", - "version": "1.11.5" + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3" } }, "nbformat": 4, From 804213f97a4dbb79bf17b8234fbb3c04556e8167 Mon Sep 17 00:00:00 2001 From: Haimeng Zhang Date: Thu, 11 Jun 2026 14:32:38 -0400 Subject: [PATCH 03/40] update title and description --- docs/tutorials/time_evolution.ipynb | 57 ++++++++++++++++------------- 1 file changed, 31 insertions(+), 26 deletions(-) diff --git a/docs/tutorials/time_evolution.ipynb b/docs/tutorials/time_evolution.ipynb index d313a13bec63..3af95068e95c 100644 --- a/docs/tutorials/time_evolution.ipynb +++ b/docs/tutorials/time_evolution.ipynb @@ -5,6 +5,11 @@ "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 */}" ] }, @@ -13,7 +18,7 @@ "id": "65550e2a", "metadata": {}, "source": [ - "# Solve for time-evolution dynamics of the transverse-field Ising model\n", + "# 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", @@ -70,7 +75,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "id": "940631f3", "metadata": {}, "outputs": [ @@ -111,7 +116,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "id": "df94a35c", "metadata": {}, "outputs": [ @@ -148,7 +153,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "id": "4ea0efac", "metadata": {}, "outputs": [], @@ -181,7 +186,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": null, "id": "143aecbe", "metadata": {}, "outputs": [ @@ -299,7 +304,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "id": "959f77e9", "metadata": {}, "outputs": [ @@ -419,7 +424,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "id": "47e7b661", "metadata": {}, "outputs": [ @@ -468,7 +473,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "id": "5e3ea2c3", "metadata": {}, "outputs": [ @@ -522,7 +527,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "id": "6b680069", "metadata": {}, "outputs": [ @@ -582,7 +587,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "id": "704485a7", "metadata": {}, "outputs": [ @@ -625,7 +630,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "id": "32354a49", "metadata": {}, "outputs": [ @@ -656,7 +661,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": null, "id": "14205fe7", "metadata": {}, "outputs": [ @@ -677,7 +682,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": null, "id": "8828900e", "metadata": {}, "outputs": [ @@ -717,7 +722,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": null, "id": "bf4c910c", "metadata": {}, "outputs": [ @@ -762,7 +767,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": null, "id": "5fa03372", "metadata": {}, "outputs": [ @@ -814,7 +819,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": null, "id": "7bcdead5", "metadata": {}, "outputs": [ @@ -847,7 +852,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": null, "id": "cc9cc9c5", "metadata": {}, "outputs": [ @@ -879,7 +884,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": null, "id": "9bca942a", "metadata": {}, "outputs": [ @@ -918,7 +923,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": null, "id": "e8f81320", "metadata": {}, "outputs": [ @@ -987,7 +992,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": null, "id": "8ad39f14", "metadata": {}, "outputs": [ @@ -1025,7 +1030,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": null, "id": "c74b479d", "metadata": {}, "outputs": [ @@ -1071,7 +1076,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": null, "id": "cc5496cc", "metadata": {}, "outputs": [ @@ -1108,9 +1113,9 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" + "display_name": "Julia 1.11", + "language": "julia", + "name": "julia-1.11" }, "language_info": { "codemirror_mode": { @@ -1119,7 +1124,7 @@ }, "file_extension": ".py", "mimetype": "text/x-python", - "name": "python", + "name": "julia", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3" From 05e9caecadc66aa34a3cf06b3689ace50ab9742a Mon Sep 17 00:00:00 2001 From: Haimeng Zhang Date: Thu, 11 Jun 2026 14:52:54 -0400 Subject: [PATCH 04/40] rename notebook --- docs/tutorials/{time_evolution.ipynb => time-evolution.ipynb} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename docs/tutorials/{time_evolution.ipynb => time-evolution.ipynb} (100%) diff --git a/docs/tutorials/time_evolution.ipynb b/docs/tutorials/time-evolution.ipynb similarity index 100% rename from docs/tutorials/time_evolution.ipynb rename to docs/tutorials/time-evolution.ipynb From 68174b8625a14c2a0bf60111ee780089e47ae087 Mon Sep 17 00:00:00 2001 From: Haimeng Zhang Date: Thu, 11 Jun 2026 14:53:18 -0400 Subject: [PATCH 05/40] update qiskit_bot.yaml --- qiskit_bot.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/qiskit_bot.yaml b/qiskit_bot.yaml index 60531ff82608..57ade743a9c9 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`" From 8350b71b964f898f474869f78c1f40246666bf80 Mon Sep 17 00:00:00 2001 From: Haimeng Zhang Date: Tue, 23 Jun 2026 17:12:30 -0400 Subject: [PATCH 06/40] update package name QiskitIBMRuntime.jl --- docs/tutorials/Project.toml | 2 +- docs/tutorials/time-evolution.ipynb | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/tutorials/Project.toml b/docs/tutorials/Project.toml index c1c9fb6af683..1c673af43dcc 100644 --- a/docs/tutorials/Project.toml +++ b/docs/tutorials/Project.toml @@ -4,7 +4,7 @@ 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" +QiskitIBMRuntime = "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 index 3af95068e95c..d6c5287b3eed 100644 --- a/docs/tutorials/time-evolution.ipynb +++ b/docs/tutorials/time-evolution.ipynb @@ -35,7 +35,7 @@ "\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", + "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; `QiskitIBMRuntime.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", @@ -102,7 +102,7 @@ "\n", "For quantum circuit construction and execution:\n", "* `Qiskit.jl`\n", - "* `QiskitIBMRuntimeC.jl`\n", + "* `QiskitIBMRuntime.jl`\n", "\n", "For classical simulation:\n", "* `OrdinaryDiffEq.jl`\n", @@ -159,7 +159,7 @@ "outputs": [], "source": [ "using Qiskit\n", - "using QiskitIBMRuntimeC\n", + "using QiskitIBMRuntime\n", "using StatsBase\n", "using OrdinaryDiffEq\n", "using SparseArrays\n", @@ -1006,7 +1006,7 @@ ], "source": [ "# Save counts\n", - "function save_counts(all_samples::Vector{QiskitIBMRuntimeC.Samples}, N::Int; dir::String=\"results\")\n", + "function save_counts(all_samples::Vector{QiskitIBMRuntime.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", From 9796e56808bb4c290f170fa4cffdd8d729c9eb1f Mon Sep 17 00:00:00 2001 From: Haimeng Zhang Date: Tue, 23 Jun 2026 17:17:45 -0400 Subject: [PATCH 07/40] move notebook and .toml files into a folder --- docs/tutorials/{ => time-evolution}/Manifest.toml | 0 docs/tutorials/{ => time-evolution}/Project.toml | 0 docs/tutorials/{ => time-evolution}/time-evolution.ipynb | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename docs/tutorials/{ => time-evolution}/Manifest.toml (100%) rename docs/tutorials/{ => time-evolution}/Project.toml (100%) rename docs/tutorials/{ => time-evolution}/time-evolution.ipynb (100%) diff --git a/docs/tutorials/Manifest.toml b/docs/tutorials/time-evolution/Manifest.toml similarity index 100% rename from docs/tutorials/Manifest.toml rename to docs/tutorials/time-evolution/Manifest.toml diff --git a/docs/tutorials/Project.toml b/docs/tutorials/time-evolution/Project.toml similarity index 100% rename from docs/tutorials/Project.toml rename to docs/tutorials/time-evolution/Project.toml diff --git a/docs/tutorials/time-evolution.ipynb b/docs/tutorials/time-evolution/time-evolution.ipynb similarity index 100% rename from docs/tutorials/time-evolution.ipynb rename to docs/tutorials/time-evolution/time-evolution.ipynb From a22730139d44a1b519f0447fee92d17f26fc8092 Mon Sep 17 00:00:00 2001 From: Haimeng Zhang Date: Tue, 23 Jun 2026 17:39:33 -0400 Subject: [PATCH 08/40] update pacakge name to QiskitIBMRuntime.jl --- docs/tutorials/time-evolution/Manifest.toml | 57 +++------------------ docs/tutorials/time-evolution/Project.toml | 2 +- 2 files changed, 9 insertions(+), 50 deletions(-) diff --git a/docs/tutorials/time-evolution/Manifest.toml b/docs/tutorials/time-evolution/Manifest.toml index ae15ab9abf89..7b16fa13ee4b 100644 --- a/docs/tutorials/time-evolution/Manifest.toml +++ b/docs/tutorials/time-evolution/Manifest.toml @@ -2,7 +2,7 @@ julia_version = "1.11.5" manifest_format = "2.0" -project_hash = "4aba04f9a57fbcfaaee36c8bb9263b033e0ea1b6" +project_hash = "9bbce5a099053ef5bc334075903943471b4dfd3e" [[deps.ADTypes]] git-tree-sha1 = "f7304359109c768cf32dc5fa2d371565bb63b68a" @@ -407,12 +407,6 @@ 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" @@ -902,11 +896,13 @@ deps = ["Artifacts", "Base64", "DelimitedFiles", "Downloads", "GR_jll", "HTTP", git-tree-sha1 = "44716a1a667cb867ee0e9ec8edc31c3e4aa5afdc" uuid = "28b8d3ca-fb5f-59d9-8090-bfdbd6d07a71" version = "0.73.24" -weakdeps = ["IJulia"] [deps.GR.extensions] IJuliaExt = "IJulia" + [deps.GR.weakdeps] + IJulia = "7073ff75-c697-5162-941a-fcdaad2a7d2a" + [[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" @@ -1013,20 +1009,6 @@ 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" @@ -2223,11 +2205,11 @@ git-tree-sha1 = "bef356714b8612dcd9c8623b0544608c0cfe89a7" uuid = "91d9a17d-f964-4b6c-a3c4-2f4cfdea2c95" version = "0.4.0" -[[deps.QiskitIBMRuntimeC]] +[[deps.QiskitIBMRuntime]] deps = ["CEnum", "Compat", "Dates", "Libdl", "Qiskit", "qiskit_ibm_runtime_jll"] -git-tree-sha1 = "7316834a2ee35ff72b5c2dcbe29d0e4191fc8bae" -uuid = "90b98b31-c194-4d1e-bfb5-0d4cb7418088" -version = "0.1.1" +git-tree-sha1 = "eaf29b815d277d79ce246c872e6a2ba7eb6c921e" +uuid = "1f74880b-c9c8-4af4-a333-b5b4aaaec6f5" +version = "0.2.0" [[deps.Qiskit_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Python_jll"] @@ -2990,11 +2972,6 @@ 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" @@ -3169,18 +3146,6 @@ 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" @@ -3268,12 +3233,6 @@ 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" diff --git a/docs/tutorials/time-evolution/Project.toml b/docs/tutorials/time-evolution/Project.toml index 1c673af43dcc..5a611ba5ea40 100644 --- a/docs/tutorials/time-evolution/Project.toml +++ b/docs/tutorials/time-evolution/Project.toml @@ -4,7 +4,7 @@ LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" OrdinaryDiffEq = "1dea7af3-3e70-54e6-95c3-0bf5283fa5ed" Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80" Qiskit = "91d9a17d-f964-4b6c-a3c4-2f4cfdea2c95" -QiskitIBMRuntime = "90b98b31-c194-4d1e-bfb5-0d4cb7418088" +QiskitIBMRuntime = "1f74880b-c9c8-4af4-a333-b5b4aaaec6f5" SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" StatsBase = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91" TensorNetworkQuantumSimulator = "4de3b72a-362e-43dd-83ff-3f381eda9f9c" From 7e07cb36509ab5d59922ddad875c7f38d948b4a0 Mon Sep 17 00:00:00 2001 From: Haimeng Zhang Date: Tue, 23 Jun 2026 19:37:48 -0400 Subject: [PATCH 09/40] rerun with updated pacakge --- .../time-evolution/time-evolution.ipynb | 733 ++++++++++++++---- 1 file changed, 583 insertions(+), 150 deletions(-) diff --git a/docs/tutorials/time-evolution/time-evolution.ipynb b/docs/tutorials/time-evolution/time-evolution.ipynb index d6c5287b3eed..8cd720aa3928 100644 --- a/docs/tutorials/time-evolution/time-evolution.ipynb +++ b/docs/tutorials/time-evolution/time-evolution.ipynb @@ -75,7 +75,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "940631f3", "metadata": {}, "outputs": [ @@ -83,7 +83,7 @@ "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" + "\u001b[32m\u001b[1m Activating\u001b[22m\u001b[39m project at `~/Documents/documentation/docs/tutorials/time-evolution`\n" ] } ], @@ -116,20 +116,10 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "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" - ] - } - ], + "outputs": [], "source": [ "# Download and install all packages specified in Project.toml\n", "Pkg.instantiate()" @@ -153,7 +143,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "id": "4ea0efac", "metadata": {}, "outputs": [], @@ -186,7 +176,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "id": "143aecbe", "metadata": {}, "outputs": [ @@ -196,7 +186,7 @@ "bit_at" ] }, - "execution_count": 26, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" } @@ -225,7 +215,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "id": "aa6b4db3", "metadata": {}, "outputs": [ @@ -255,7 +245,7 @@ "⎣⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢦⠀⠀⠀⠀⠀⠀⠀⠀⠙⢦⠀⠀⠀⠙⢦⠈⠳⡿⣿⣿⎦" ] }, - "execution_count": 4, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" } @@ -304,7 +294,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "id": "959f77e9", "metadata": {}, "outputs": [ @@ -339,7 +329,7 @@ " [-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, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } @@ -370,7 +360,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "id": "27b209db", "metadata": {}, "outputs": [ @@ -391,7 +381,7 @@ " -0.579691 0.660741 -0.661309 0.661309 … 0.661309 -0.660741 0.579691" ] }, - "execution_count": 6, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } @@ -424,7 +414,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "id": "47e7b661", "metadata": {}, "outputs": [ @@ -434,7 +424,7 @@ "make_trotter_circuit_tn (generic function with 1 method)" ] }, - "execution_count": 7, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } @@ -473,7 +463,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "id": "5e3ea2c3", "metadata": {}, "outputs": [ @@ -527,17 +517,17 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "id": "6b680069", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000048de81a00, 1)" + "QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x0000000116669e00, 1)" ] }, - "execution_count": 9, + "execution_count": 10, "metadata": {}, "output_type": "execute_result" } @@ -587,7 +577,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "id": "704485a7", "metadata": {}, "outputs": [ @@ -595,20 +585,20 @@ "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)" + " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x0000000127759000, 1)\n", + " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000048b499a00, 1)\n", + " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000012778ce00, 1)\n", + " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000048b4cb800, 1)\n", + " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000048b181a00, 1)\n", + " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000048b29d800, 1)\n", + " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x00000003525f4800, 1)\n", + " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x00000003525d5600, 1)\n", + " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x0000000352228c00, 1)\n", + " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x00000003523ebe00, 1)\n", + " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x00000003527ff000, 1)" ] }, - "execution_count": 10, + "execution_count": 11, "metadata": {}, "output_type": "execute_result" } @@ -630,7 +620,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "id": "32354a49", "metadata": {}, "outputs": [ @@ -638,16 +628,16 @@ "name": "stdout", "output_type": "stream", "text": [ - "backend.name = \"ibm_pittsburgh\"\n" + "backend.name = \"ibm_fez\"\n" ] }, { "data": { "text/plain": [ - "\"ibm_pittsburgh\"" + "\"ibm_fez\"" ] }, - "execution_count": 11, + "execution_count": 12, "metadata": {}, "output_type": "execute_result" } @@ -661,17 +651,17 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 13, "id": "14205fe7", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "Qiskit.Target(Ptr{Qiskit.C.LibQiskit.QkTarget} @0x00000004ac683c60)" + "Qiskit.Target(Ptr{Qiskit.C.LibQiskit.QkTarget} @0x0000000498252d70)" ] }, - "execution_count": 12, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" } @@ -682,7 +672,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 14, "id": "8828900e", "metadata": {}, "outputs": [ @@ -690,20 +680,20 @@ "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)" + " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x0000000352bb7000, 1)\n", + " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x0000000115d34c00, 1)\n", + " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x0000000352b45c00, 1)\n", + " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x0000000352edf400, 1)\n", + " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x0000000116117000, 1)\n", + " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000012775ec00, 1)\n", + " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x00000001282f4a00, 1)\n", + " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x0000000352dc4200, 1)\n", + " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000048b779200, 1)\n", + " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x0000000352f40600, 1)\n", + " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x0000000116050a00, 1)" ] }, - "execution_count": 13, + "execution_count": 14, "metadata": {}, "output_type": "execute_result" } @@ -722,7 +712,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 15, "id": "bf4c910c", "metadata": {}, "outputs": [ @@ -730,29 +720,29 @@ "data": { "text/plain": [ "Set{Int64} with 20 elements:\n", + " 56\n", + " 55\n", " 52\n", - " 72\n", - " 24\n", - " 17\n", + " 60\n", + " 28\n", + " 75\n", + " 53\n", " 47\n", " 49\n", - " 69\n", - " 3\n", + " 74\n", + " 80\n", " 51\n", - " 25\n", " 46\n", - " 71\n", + " 76\n", " 48\n", - " 59\n", - " 4\n", " 50\n", - " 70\n", - " 2\n", + " 54\n", + " 27\n", " 38\n", " 26" ] }, - "execution_count": 14, + "execution_count": 15, "metadata": {}, "output_type": "execute_result" } @@ -767,7 +757,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 16, "id": "5fa03372", "metadata": {}, "outputs": [ @@ -819,28 +809,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 17, "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)" + "11-element Vector{QiskitIBMRuntime.Job}:\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000048fa82730)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000048deb9900)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000048f38b310)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000377fec9c0)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000048de54e80)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000377d2acb0)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000004983ac830)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000004983d8980)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000377f611a0)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000377f50da0)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000048e2946f0)" ] }, - "execution_count": 16, + "execution_count": 17, "metadata": {}, "output_type": "execute_result" } @@ -852,28 +842,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 18, "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)" + "11-element Vector{QiskitIBMRuntime.Job}:\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000048fa82730)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000048deb9900)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000048f38b310)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000377fec9c0)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000048de54e80)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000377d2acb0)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000004983ac830)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000004983d8980)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000377f611a0)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000377f50da0)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000048e2946f0)" ] }, - "execution_count": 17, + "execution_count": 18, "metadata": {}, "output_type": "execute_result" } @@ -884,7 +874,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 24, "id": "9bca942a", "metadata": {}, "outputs": [ @@ -923,28 +913,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 25, "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\"]" + "11-element Vector{QiskitIBMRuntime.Samples}:\n", + " [\"0x55555\", \"0x55555\", \"0x15555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\" … \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\"]\n", + " [\"0x51574\", \"0x55155\", \"0x55555\", \"0x55555\", \"0x55455\", \"0x55455\", \"0x55454\", \"0x55555\", \"0x55555\", \"0x55d54\" … \"0x55555\", \"0x55545\", \"0x55155\", \"0x55454\", \"0x55555\", \"0x55555\", \"0x95554\", \"0x55555\", \"0x55551\", \"0x45555\"]\n", + " [\"0x55555\", \"0x51455\", \"0xd5555\", \"0x15545\", \"0x55551\", \"0x55555\", \"0x55455\", \"0x55555\", \"0x55545\", \"0x55511\" … \"0x54555\", \"0x55555\", \"0x51555\", \"0x55455\", \"0x515d5\", \"0x55455\", \"0x551d1\", \"0x5d515\", \"0x55555\", \"0x55455\"]\n", + " [\"0x44555\", \"0x54155\", \"0x50554\", \"0x55555\", \"0x54354\", \"0x54555\", \"0x54555\", \"0x54055\", \"0x54054\", \"0x55450\" … \"0x55555\", \"0x55155\", \"0x54155\", \"0x55515\", \"0x55455\", \"0x555d5\", \"0x57455\", \"0x55556\", \"0x554d1\", \"0x55545\"]\n", + " [\"0x54450\", \"0xd4555\", \"0x56154\", \"0x5a556\", \"0x54455\", \"0x55555\", \"0x54554\", \"0x55651\", \"0x65755\", \"0x14554\" … \"0x56544\", \"0x54515\", \"0x56555\", \"0x55545\", \"0xd4555\", \"0x55555\", \"0x55611\", \"0x5555f\", \"0x44555\", \"0x55055\"]\n", + " [\"0x54545\", \"0x56549\", \"0x5575c\", \"0x51755\", \"0x5f455\", \"0x50155\", \"0x55554\", \"0x54455\", \"0x17051\", \"0x44455\" … \"0x15555\", \"0x54455\", \"0x54745\", \"0x5d445\", \"0x5454d\", \"0x15759\", \"0x54555\", \"0x54555\", \"0x55515\", \"0x55455\"]\n", + " [\"0x54550\", \"0x55455\", \"0x54755\", \"0x14355\", \"0x525c1\", \"0x54574\", \"0x54554\", \"0x95d45\", \"0x54115\", \"0x54541\" … \"0x55447\", \"0x55055\", \"0x80014\", \"0x5d485\", \"0x55555\", \"0x54055\", \"0x54c59\", \"0x54551\", \"0x54445\", \"0x4414d\"]\n", + " [\"0x5c555\", \"0x54c47\", \"0x54450\", \"0x54441\", \"0x45559\", \"0x64175\", \"0x54055\", \"0x54051\", \"0x95441\", \"0x50555\" … \"0x56055\", \"0x54451\", \"0xfd455\", \"0x50651\", \"0x14555\", \"0x55e41\", \"0x50455\", \"0x14551\", \"0x5c051\", \"0x54d4c\"]\n", + " [\"0x46159\", \"0x1d655\", \"0x55151\", \"0x94440\", \"0x54495\", \"0x54111\", \"0x56555\", \"0x54055\", \"0x54455\", \"0x66e47\" … \"0x95556\", \"0x11741\", \"0x54151\", \"0x14555\", \"0x14515\", \"0x55444\", \"0x54455\", \"0x94560\", \"0x50c45\", \"0x5c155\"]\n", + " [\"0x15555\", \"0x54505\", \"0x54d63\", \"0x45251\", \"0x54055\", \"0x54402\", \"0x15585\", \"0x55325\", \"0x44445\", \"0x14449\" … \"0x9c570\", \"0x54555\", \"0x58781\", \"0x5454c\", \"0xd4d46\", \"0x55144\", \"0x54775\", \"0x54254\", \"0x1515d\", \"0x45544\"]\n", + " [\"0x14541\", \"0x54240\", \"0x90545\", \"0x55004\", \"0x15746\", \"0x55905\", \"0x50c6d\", \"0x54a45\", \"0x452c4\", \"0x46195\" … \"0x55485\", \"0x14571\", \"0x14355\", \"0x55555\", \"0x17e41\", \"0x547d5\", \"0xd3451\", \"0x43c65\", \"0x64057\", \"0x56c55\"]" ] }, - "execution_count": 21, + "execution_count": 25, "metadata": {}, "output_type": "execute_result" } @@ -965,7 +955,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 26, "id": "e9dd9a79", "metadata": {}, "outputs": [ @@ -975,7 +965,7 @@ "\"0001\"" ] }, - "execution_count": 22, + "execution_count": 26, "metadata": {}, "output_type": "execute_result" } @@ -992,7 +982,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 27, "id": "8ad39f14", "metadata": {}, "outputs": [ @@ -1000,7 +990,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Saved to results/counts_N=20_2026-05-29_215923.json\n" + "Saved to results/counts_N=20_2026-06-23_183705.json\n" ] } ], @@ -1030,7 +1020,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 28, "id": "c74b479d", "metadata": {}, "outputs": [ @@ -1038,20 +1028,20 @@ "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" + " -0.994141 0.998047 -0.984375 0.994141 … 0.994141 -0.982422 0.998047\n", + " -0.740234 0.892578 -0.876953 0.953125 0.957031 -0.916016 0.960938\n", + " -0.908203 0.947266 -0.771484 0.912109 0.917969 -0.832031 0.935547\n", + " -0.783203 0.9375 -0.726562 0.90625 0.910156 -0.867188 0.953125\n", + " -0.712891 0.919922 -0.691406 0.888672 0.875 -0.826172 0.869141\n", + " -0.695312 0.902344 -0.638672 0.84375 … 0.865234 -0.794922 0.845703\n", + " -0.615234 0.882812 -0.533203 0.841797 0.837891 -0.804688 0.865234\n", + " -0.59375 0.837891 -0.412109 0.798828 0.810547 -0.791016 0.835938\n", + " -0.566406 0.816406 -0.34375 0.753906 0.779297 -0.65625 0.800781\n", + " -0.521484 0.75 -0.283203 0.734375 0.757812 -0.703125 0.787109\n", + " -0.486328 0.738281 -0.269531 0.724609 … 0.773438 -0.703125 0.765625" ] }, - "execution_count": 24, + "execution_count": 28, "metadata": {}, "output_type": "execute_result" } @@ -1076,21 +1066,470 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 29, "id": "cc5496cc", "metadata": {}, "outputs": [ { "data": { - "image/png": "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", + "image/png": "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", "image/svg+xml": [ - "" + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n" ], "text/html": [ - "" + "" ] }, - "execution_count": 25, + "execution_count": 29, "metadata": {}, "output_type": "execute_result" } @@ -1118,16 +1557,10 @@ "name": "julia-1.11" }, "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", + "file_extension": ".jl", + "mimetype": "application/julia", "name": "julia", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3" + "version": "1.11.5" } }, "nbformat": 4, From f724041249ae68b52bbb62122f9e092a37fda229 Mon Sep 17 00:00:00 2001 From: Haimeng Zhang Date: Tue, 23 Jun 2026 19:54:45 -0400 Subject: [PATCH 10/40] update qiskit_bot.yaml --- qiskit_bot.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qiskit_bot.yaml b/qiskit_bot.yaml index 47ece7b46641..8c405b8f8f50 100644 --- a/qiskit_bot.yaml +++ b/qiskit_bot.yaml @@ -653,7 +653,7 @@ notifications: - "@kaelynj" "docs/tutorials/index": - "`@nathanearnestnoble`" - "docs/tutorials/time-evolution": + "docs/tutorials/time-evolution/time-evolution": - "`@nathanearnestnoble`" - "`@haimeng-zhang`" "docs/tutorials/dc-hex-ising": From db2e434aa65e279a2b77cf56ebd49a55d63c740b Mon Sep 17 00:00:00 2001 From: Haimeng Zhang Date: Tue, 23 Jun 2026 20:03:32 -0400 Subject: [PATCH 11/40] update tutorial index --- docs/tutorials/index.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/tutorials/index.mdx b/docs/tutorials/index.mdx index 5f4dfd87b889..880c16cc4046 100644 --- a/docs/tutorials/index.mdx +++ b/docs/tutorials/index.mdx @@ -61,6 +61,8 @@ These tutorials focus on estimating physically meaningful quantities, such as en * [Observation of robust and coherent non-Abelian hadron dynamics on noisy quantum processors](/docs/tutorials/loop-string-hadron-dynamics) +* [Simulate time evolution of the transverse-field Ising model](/docs/tutorials/time-evolution/time-evolution) + From ef70b85e4419554d14b49b1ace3ad352355a8401 Mon Sep 17 00:00:00 2001 From: Haimeng Zhang Date: Tue, 23 Jun 2026 20:22:59 -0400 Subject: [PATCH 12/40] add notebook to exclude group in notebook testing --- scripts/config/notebook-testing.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/config/notebook-testing.toml b/scripts/config/notebook-testing.toml index f80a70f00ae7..f4f3cae2cdc6 100644 --- a/scripts/config/notebook-testing.toml +++ b/scripts/config/notebook-testing.toml @@ -214,6 +214,7 @@ notebooks = [ "docs/tutorials/edc-cut-bell-pair-benchmarking.ipynb", "docs/tutorials/compilation-methods-for-hamiltonian-simulation-circuits.ipynb", "docs/tutorials/solve-market-split-problem-with-iskay-quantum-optimizer.ipynb", + "docs/tutorials/time-evolution/time-evolution.ipynb", # Don't test any learning notebooks "learning/courses/quantum-computing-in-practice/introduction.ipynb", From 9eba3cf7f11c7a2c2971ab29f30465c32888f2b0 Mon Sep 17 00:00:00 2001 From: ABBY CROSS Date: Fri, 26 Jun 2026 14:33:39 -0400 Subject: [PATCH 13/40] undo commit --- .../time-evolution/time-evolution.ipynb | 476 +----------------- .../extracted-outputs/cc5496cc-0.svg | 450 +++++++++++++++++ 2 files changed, 466 insertions(+), 460 deletions(-) create mode 100644 public/docs/images/tutorials/time-evolution/time-evolution/extracted-outputs/cc5496cc-0.svg diff --git a/docs/tutorials/time-evolution/time-evolution.ipynb b/docs/tutorials/time-evolution/time-evolution.ipynb index 8cd720aa3928..4018f26be64a 100644 --- a/docs/tutorials/time-evolution/time-evolution.ipynb +++ b/docs/tutorials/time-evolution/time-evolution.ipynb @@ -1072,461 +1072,11 @@ "outputs": [ { "data": { - "image/png": "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", - "image/svg+xml": [ - "\n", - "\n", - "\n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n" - ], "text/html": [ "" + ], + "text/plain": [ + "\"Output" ] }, "execution_count": 29, @@ -1552,15 +1102,21 @@ ], "metadata": { "kernelspec": { - "display_name": "Julia 1.11", - "language": "julia", - "name": "julia-1.11" + "display_name": "Python 3", + "language": "python", + "name": "python3" }, "language_info": { - "file_extension": ".jl", - "mimetype": "application/julia", - "name": "julia", - "version": "1.11.5" + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3" } }, "nbformat": 4, diff --git a/public/docs/images/tutorials/time-evolution/time-evolution/extracted-outputs/cc5496cc-0.svg b/public/docs/images/tutorials/time-evolution/time-evolution/extracted-outputs/cc5496cc-0.svg new file mode 100644 index 000000000000..e700919d7180 --- /dev/null +++ b/public/docs/images/tutorials/time-evolution/time-evolution/extracted-outputs/cc5496cc-0.svg @@ -0,0 +1,450 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From f9df6e0565e35c1acc98073d7500fa2ec9786a8d Mon Sep 17 00:00:00 2001 From: ABBY CROSS Date: Fri, 26 Jun 2026 14:43:11 -0400 Subject: [PATCH 14/40] Update tox.ini --- tox.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tox.ini b/tox.ini index b277fe6815f4..d723c12b3060 100644 --- a/tox.ini +++ b/tox.ini @@ -12,7 +12,7 @@ commands = test-docs-notebooks {posargs} --check-pending-deprecations --config-p [testenv:{lint,fix}] deps = - squeaky==0.7.0 + squeaky==0.7.1 ruff==0.7.1 -e scripts/notebook-normalizer From 4410003ded917a1ee9fa2dacd9e64a80b88eb88a Mon Sep 17 00:00:00 2001 From: Haimeng Zhang Date: Mon, 27 Jul 2026 15:31:45 -0400 Subject: [PATCH 15/40] update to use the idomatic Julia style --- .../time-evolution/time-evolution.ipynb | 171 +++++++++--------- 1 file changed, 88 insertions(+), 83 deletions(-) diff --git a/docs/tutorials/time-evolution/time-evolution.ipynb b/docs/tutorials/time-evolution/time-evolution.ipynb index 4018f26be64a..d88954d977cb 100644 --- a/docs/tutorials/time-evolution/time-evolution.ipynb +++ b/docs/tutorials/time-evolution/time-evolution.ipynb @@ -146,9 +146,19 @@ "execution_count": 3, "id": "4ea0efac", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[36m\u001b[1m[ \u001b[22m\u001b[39m\u001b[36m\u001b[1mInfo: \u001b[22m\u001b[39mPrecompiling IJuliaExt [64482eec-cc57-5312-bea1-9f24eb636db7] (cache misses: wrong dep version loaded (4))\n", + "\u001b[36m\u001b[1m[ \u001b[22m\u001b[39m\u001b[36m\u001b[1mInfo: \u001b[22m\u001b[39mPrecompiling IJuliaExt [2f4121a4-3b3a-5ce6-9c5e-1f2673ce168a] (cache misses: wrong dep version loaded (4))\n" + ] + } + ], "source": [ "using Qiskit\n", + "using Qiskit.Operations\n", "using QiskitIBMRuntime\n", "using StatsBase\n", "using OrdinaryDiffEq\n", @@ -176,7 +186,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 5, "id": "143aecbe", "metadata": {}, "outputs": [ @@ -186,7 +196,7 @@ "bit_at" ] }, - "execution_count": 4, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" } @@ -215,7 +225,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 6, "id": "aa6b4db3", "metadata": {}, "outputs": [ @@ -245,7 +255,7 @@ "⎣⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢦⠀⠀⠀⠀⠀⠀⠀⠀⠙⢦⠀⠀⠀⠙⢦⠈⠳⡿⣿⣿⎦" ] }, - "execution_count": 5, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } @@ -294,7 +304,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 7, "id": "959f77e9", "metadata": {}, "outputs": [ @@ -317,19 +327,19 @@ " 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]" + " [-7.61253527394167e-14 - 1.6384733396360143e-29im, 7.616818423232395e-14 - 1.6944517510822296e-12im, -8.565903349043733e-17 + 3.2368190823993494e-15im, -7.616820795844402e-14 - 1.0785153269116668e-15im, 1.5233638431199396e-13 - 1.6912125988569431e-12im, 3.586782474371457e-11 + 5.0833528138395e-12im, -7.608249752495304e-14 - 4.317561743447073e-15im, 7.616820798431707e-14 - 1.694451645171974e-12im, -8.570258514925334e-17 + 3.238411362418842e-15im, -7.606534127496806e-14 - 5.398093819616892e-15im … -7.59110211350164e-14 - 7.555016669022183e-15im, 1.5233640806402514e-13 - 1.6912125977890311e-12im, -4.283149391647205e-17 + 3.2390475588024942e-15im, -7.61253567131052e-14 - 4.319154099332233e-15im, 1.284985005554563e-16 + 4.773388002812812e-18im, -8.570258413862341e-17 + 3.2384113624488343e-15im, -7.612534879063732e-14 - 3.239046492370828e-15im, 1.5233638826330542e-13 - 1.6912127047672329e-12im, -4.2831492906927224e-17 + 3.237455101084491e-15im, -7.612535273941691e-14 - 1.3807965685765411e-28im]\n", + " [-8.680854672628346e-11 + 6.256503560232235e-26im, 8.709110140863831e-11 - 8.699033104505372e-10im, -5.649235901782456e-13 + 8.601572275260863e-12im, -8.709221846767865e-11 - 2.8597326938545193e-12im, 1.7418295344900313e-10 - 8.612608133903877e-10im, 8.412483173620371e-9 + 2.6096671235273328e-9im, -8.65248758862108e-11 - 1.150039589912672e-11im, 8.709222358844364e-11 - 8.699014655672968e-10im, -5.669821718119253e-13 + 8.629638578162904e-12im, -8.641073444337175e-11 - 1.4395664161950262e-11im … -8.538755211456954e-11 - 2.0113079067784403e-11im, 1.741840756500529e-10 - 8.61260696906882e-10im, -2.825548799186724e-13 + 8.64078736159475e-12im, -8.680873675466665e-11 - 1.1528470382567807e-11im, 8.478635815548829e-13 + 8.382372443494519e-14im, -5.669819735592164e-13 + 8.629638588149434e-12im, -8.680836165042765e-11 - 8.640671375786718e-12im, 1.7418313902498796e-10 - 8.612626582759332e-10im, -2.825546823534275e-13 + 8.612701741862285e-12im, -8.680854672628313e-11 - 4.9209408334755305e-26im]\n", + " [-4.286194292830845e-9 + 5.887314888079277e-25im, 4.318192995176659e-9 - 2.826937131562427e-8im, -6.395173522788378e-11 + 6.447233357075625e-10im, -4.318468070877428e-9 - 2.1364257686596824e-10im, 8.636571975410791e-9 - 2.7617721500979516e-8im, 1.7289660717976974e-7 + 8.480086489483074e-8im, -4.253920910159079e-9 - 8.649865429907801e-10im, 4.3184703186245335e-9 - 2.8269061699886618e-8im, -6.446071076018083e-11 + 6.495016281145661e-10im, -4.240844230135187e-9 - 1.0846764703342825e-9im … -4.124170626784799e-9 - 1.5115818225612886e-9im, 8.636849310525713e-9 - 2.7617681592276804e-8im, -3.1998788706003575e-11 + 6.513863923787413e-10im, -4.286241833579117e-9 - 8.697676141630414e-10im, 9.604781686581547e-11 + 1.4206678132640567e-11im, -6.446062402203501e-11 + 6.495016332435832e-10im, -4.28614892958544e-9 - 6.513467397401785e-10im, 8.636617557977331e-9 - 2.761803111790055e-8im, -3.1998702345812936e-11 + 6.466014984949251e-10im, -4.286194292830852e-9 + 1.1182440706624645e-23im]\n", + " [-6.079348924748456e-8 + 1.7751935068115955e-23im, 6.162943323939344e-8 - 2.9592110353110114e-7im, -1.6696556398383917e-9 + 1.2400459826013215e-8im, -6.164292787255698e-8 - 4.088131560944918e-9im, 1.232681097824979e-7 - 2.832733452226875e-7im, 1.253532043962044e-6 + 8.875042569125041e-7im, -5.994408800994485e-8 - 1.6725258647088334e-8im, 6.164314112979392e-8 - 2.9591021577421225e-7im, -1.694838714110838e-9 + 1.2572865374243698e-8im, -5.959595610442702e-8 - 2.1031419496567e-8im … -5.65135756283382e-8 - 2.9192023780832232e-8im, 1.2328181992163385e-7 - 2.832706038202529e-7im, -8.359520177503543e-10 + 1.2640019589288589e-8im, -6.079590106381681e-8 - 1.6897850407348896e-8im, 2.510637618113044e-9 + 5.084778396177932e-10im, -1.6948306165735368e-9 + 1.2572866042727849e-8im, -6.07912857370168e-8 - 1.2637312624047854e-8im, 1.2327033399936646e-7 - 2.832842331337841e-7im, -8.359439919088736e-10 + 1.2467163914771106e-8im, -6.079348924748456e-8 + 1.5886961816504013e-24im]\n", + " [-4.19355240760896e-7 + 3.705363043474765e-22im, 4.286265786618433e-7 - 1.6052971907760307e-6im, -1.8502762435969913e-8 + 1.0856276308591433e-7im, -4.288690355597113e-7 - 3.554458373697546e-8im, 8.574220964863107e-7 - 1.4932465582703893e-6im, 4.849187224415272e-6 + 4.812233679729089e-6im, -4.0984254612981356e-7 - 1.474506541819442e-7im, 4.288753395920818e-7 - 1.6051467128773298e-6im, -1.8960352857828116e-8 + 1.1102835700521803e-7im, -4.058832055335951e-7 - 1.861102285067016e-7im … -3.711838427223179e-7 - 2.569391306045145e-7im, 8.576709710986745e-7 - 1.4931825847645458e-6im, -9.271568570756987e-9 + 1.1197289579952923e-7im, -4.19400537145292e-7 - 1.4992045110994718e-7im, 2.787088237718027e-8 + 7.194933454521684e-9im, -1.8960118645415416e-8 + 1.1102838165568609e-7im, -4.193161709409198e-7 - 1.1191024844294274e-7im, 8.574617742181908e-7 - 1.4933970418540956e-6im, -9.271337900947215e-9 + 1.0949690324053822e-7im, -4.1935524076089585e-7 + 6.374924865499134e-24im]\n", + " [-1.7823579016922886e-6 + 2.4785975558170135e-22im, 1.8408383697701022e-6 - 5.5698549137294445e-6im, -1.1658899308162567e-7 + 5.632670364049073e-7im, -1.8431119114369732e-6 - 1.827783958832415e-7im, 3.6832950716080146e-6 - 4.979757871286644e-6im, 1.1823232043972907e-5 + 1.6681388560750265e-5im, -1.7216192586061926e-6 - 7.718155525067381e-7im, 1.8432004842500033e-6 - 5.568726970429025e-6im, -1.2094089315106987e-7 + 5.82567720170682e-7im, -1.6958321412209794e-6 - 9.789484717969278e-7im … -1.4727630743780975e-6 - 1.3421173522553972e-6im, 3.6856596566327365e-6 - 4.979010523365967e-6im, -5.848359517965932e-8 + 5.898080282235551e-7im, -1.7828068643880377e-6 - 7.911632992433929e-7im, 1.7605171124271105e-7 + 5.557422909554879e-8im, -1.2093769130400374e-7 + 5.825681268981904e-7im, -1.781997654171408e-6 - 5.89083803629295e-7im, 3.6836637838442496e-6 - 4.9808859083607794e-6im, -5.848046807781983e-8 + 5.703874412047739e-7im, -1.7823579016922876e-6 + 1.5322053214252255e-21im]\n", + " [-5.271984786989546e-6 + 6.170943707973725e-21im, 5.51579686406982e-6 - 1.3769890958036125e-5im, -4.854583030811299e-7 + 1.984102714841582e-6im, -5.529140076822174e-6 - 6.365426377065695e-7im, 1.1041341496086307e-5 - 1.1652942788167791e-5im, 1.9151485012220626e-5 + 4.1169949873337556e-5im, -5.014956072169312e-6 - 2.748560607544301e-6im, 5.529875137426112e-6 - 1.3764484293927573e-5im, -5.114444270677724e-7 + 2.0817439894898422e-6im, -4.903067916522345e-6 - 3.508133202204617e-6im … -3.950715241692091e-6 - 4.767013437270145e-6im, 1.1055449702075833e-5 - 1.1647607717886817e-5im, -2.438368979087014e-7 + 2.117436256276212e-6im, -5.274804158840672e-6 - 2.8465205753690247e-6im, 7.355815857851533e-7 + 2.7656731682993193e-7im, -5.114187341304822e-7 + 2.081747790923446e-6im, -5.269914388279329e-6 - 2.112332735357182e-6im, 1.104348132958811e-5 - 1.165835032842964e-5im, -2.438120770802626e-7 + 2.018953103020391e-6im, -5.271984786989546e-6 - 7.48763531674867e-21im]\n", + " [-1.1617825704147745e-5 + 3.5991127254033954e-20im, 1.234933763313651e-5 - 2.5744303624623147e-5im, -1.4542932918051394e-6 + 5.1236640987265355e-6im, -1.2403650700016824e-5 - 1.6202581807656793e-6im, 2.4739604924723182e-5 - 2.0155561130978494e-5im, 1.914409603981181e-5 + 7.674296978354388e-5im, -1.0832694804431495e-5 - 7.193087530961995e-6im, 1.2407719644833935e-5 - 2.5726120539890695e-5im, -1.5622920897790732e-6 + 5.474515092672055e-6im, -1.0480130191816805e-5 - 9.254685626031864e-6im … -7.537537188446304e-6 - 1.24352065813063e-5im, 2.4798220145598744e-5 - 2.0129513964044342e-5im, -7.316420138431981e-7 + 5.598791194770795e-6im, -1.1630271281791023e-5 - 7.545396775206759e-6im, 2.214232213417318e-6 + 9.742099793903378e-7im, -1.56215552436172e-6 + 5.474538012007297e-6im, -1.1609612670484624e-5 - 5.574263610620767e-6im, 2.474819662694356e-5 - 2.0173749496261236e-5im, -7.315119289887849e-7 + 5.243914596674164e-6im, -1.1617825704147755e-5 + 3.520307089522326e-20im]\n", + " [-1.981255884803874e-5 - 4.280028435581076e-21im, 2.1472710819325354e-5 - 3.757217609507472e-5im, -3.2943974661872405e-6 + 1.013842320109842e-5im, -2.1635832244093596e-5 - 3.1479593611068825e-6im, 4.307295621212705e-5 - 2.621614600567175e-5im, 4.770433131249616e-6 + 0.00011143181451766208im, -1.799201346429666e-5 - 1.4466566267165669e-5im, 2.1652013724844434e-5 - 3.7526877738616144e-5im, -3.626913442716557e-6 + 1.1086241359275971e-5im, -1.7142579310500262e-5 - 1.880456618220836e-5im … -1.0216935244391587e-5 - 2.4910439270939048e-5im, 4.3253534404398406e-5 - 2.6122963951736857e-5im, -1.6606359562314295e-6 + 1.1409418303425735e-5im, -1.985371138194472e-5 - 1.5419204044859418e-5im, 5.050007317756616e-6 + 2.5695410438397464e-6im, -3.6263960453836895e-6 + 1.1086337766500894e-5im, -1.9788658501789783e-5 - 1.1323323936752896e-5im, 4.309833408283905e-5 - 2.6261466566059023e-5im, -1.6601519712867634e-6 + 1.0447568732530248e-5im, -1.9812558848038734e-5 + 2.3894933285785212e-20im]\n", + " [-2.6605994524636195e-5 + 1.666209451620879e-20im, 2.9532145628332023e-5 - 4.33387707648945e-5im, -5.793688435837023e-6 + 1.572023652812327e-5im, -2.990681972152743e-5 - 4.767746092973612e-6im, 5.937030373177227e-5 - 2.515848316039316e-5im, -2.1873141629015416e-5 + 0.0001274172040690093im, -2.3313208885217593e-5 - 2.288272975975103e-5im, 2.9955219745474598e-5 - 4.325274969426528e-5im, -6.580507052690052e-6 + 1.770923159800002e-5im, -2.1702668886267355e-5 - 3.0142728729320408e-5im … -8.927183090969314e-6 - 3.9211979641537305e-5im, 5.9798561396861214e-5 - 2.490365316124225e-5im, -2.927485304562953e-6 + 1.8356702741523676e-5im, -2.6711940545518363e-5 - 2.4883683143055815e-5im, 8.967724203429814e-6 + 5.238269352768291e-6im, -6.579046665900118e-6 + 1.770952822000895e-5im, -2.655319342322953e-5 - 1.812661956307728e-5im, 5.942741740138474e-5 - 2.5244572524328325e-5im, -2.9261511036959767e-6 + 1.63305727281216e-5im, -2.6605994524636147e-5 + 1.1156898237795673e-19im]" ] }, - "execution_count": 6, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } @@ -360,7 +370,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 8, "id": "27b209db", "metadata": {}, "outputs": [ @@ -369,19 +379,19 @@ "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" + " -0.995021 0.995034 -0.995034 0.995034 0.995034 -0.995034 0.995021\n", + " -0.980189 0.980386 -0.980386 0.980386 0.980386 -0.980386 0.980189\n", + " -0.955994 0.956968 -0.956968 0.956968 0.956968 -0.956968 0.955994\n", + " -0.922667 0.925652 -0.925653 0.925653 0.925653 -0.925652 0.922667\n", + " -0.881106 0.888117 -0.88812 0.88812 … 0.88812 -0.888117 0.881106\n", + " -0.832251 0.846116 -0.846129 0.846129 0.846129 -0.846116 0.832251\n", + " -0.776957 0.801257 -0.801298 0.801298 0.801298 -0.801257 0.776957\n", + " -0.715858 0.754749 -0.75486 0.75486 0.75486 -0.754749 0.715858\n", + " -0.649744 0.707628 -0.707895 0.707895 0.707895 -0.707628 0.649744\n", + " -0.580117 0.661272 -0.661841 0.661842 … 0.661841 -0.661272 0.580117" ] }, - "execution_count": 7, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } @@ -414,7 +424,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 9, "id": "47e7b661", "metadata": {}, "outputs": [ @@ -424,7 +434,7 @@ "make_trotter_circuit_tn (generic function with 1 method)" ] }, - "execution_count": 8, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" } @@ -463,7 +473,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 10, "id": "5e3ea2c3", "metadata": {}, "outputs": [ @@ -478,10 +488,10 @@ "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" + "fidelity at trotter step 7 was 0.9999999999804227\n", + "fidelity at trotter step 8 was 0.99999999988463\n", + "fidelity at trotter step 9 was 0.9999999994549138\n", + "fidelity at trotter step 10 was 0.9999999980378079\n" ] } ], @@ -517,17 +527,18 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 12, "id": "6b680069", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x0000000116669e00, 1)" + "QuantumCircuit with 20 qubits, 20 clbits\n", + " instructions: 89" ] }, - "execution_count": 10, + "execution_count": 12, "metadata": {}, "output_type": "execute_result" } @@ -538,27 +549,27 @@ "\n", " # Neel state initialization\n", " for i in 1:2:n\n", - " qc.x(i)\n", + " x!(qc, 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", + " rx!(qc, 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", + " rzz!(qc, 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", + " rx!(qc, 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", + " measure!(qc, i, i)\n", " end\n", " return qc\n", "end\n", @@ -577,7 +588,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 13, "id": "704485a7", "metadata": {}, "outputs": [ @@ -585,20 +596,20 @@ "data": { "text/plain": [ "11-element Vector{QuantumCircuit}:\n", - " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x0000000127759000, 1)\n", - " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000048b499a00, 1)\n", - " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000012778ce00, 1)\n", - " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000048b4cb800, 1)\n", - " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000048b181a00, 1)\n", - " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000048b29d800, 1)\n", - " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x00000003525f4800, 1)\n", - " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x00000003525d5600, 1)\n", - " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x0000000352228c00, 1)\n", - " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x00000003523ebe00, 1)\n", - " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x00000003527ff000, 1)" + " QuantumCircuit(20, 20; 30 instructions)\n", + " QuantumCircuit(20, 20; 89 instructions)\n", + " QuantumCircuit(20, 20; 148 instructions)\n", + " QuantumCircuit(20, 20; 207 instructions)\n", + " QuantumCircuit(20, 20; 266 instructions)\n", + " QuantumCircuit(20, 20; 325 instructions)\n", + " QuantumCircuit(20, 20; 384 instructions)\n", + " QuantumCircuit(20, 20; 443 instructions)\n", + " QuantumCircuit(20, 20; 502 instructions)\n", + " QuantumCircuit(20, 20; 561 instructions)\n", + " QuantumCircuit(20, 20; 620 instructions)" ] }, - "execution_count": 11, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" } @@ -620,7 +631,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": null, "id": "32354a49", "metadata": {}, "outputs": [ @@ -651,7 +662,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": null, "id": "14205fe7", "metadata": {}, "outputs": [ @@ -672,7 +683,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": null, "id": "8828900e", "metadata": {}, "outputs": [ @@ -712,7 +723,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": null, "id": "bf4c910c", "metadata": {}, "outputs": [ @@ -757,7 +768,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": null, "id": "5fa03372", "metadata": {}, "outputs": [ @@ -809,7 +820,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": null, "id": "7bcdead5", "metadata": {}, "outputs": [ @@ -842,7 +853,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": null, "id": "cc9cc9c5", "metadata": {}, "outputs": [ @@ -874,7 +885,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": null, "id": "9bca942a", "metadata": {}, "outputs": [ @@ -913,7 +924,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": null, "id": "e8f81320", "metadata": {}, "outputs": [ @@ -955,7 +966,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": null, "id": "e9dd9a79", "metadata": {}, "outputs": [ @@ -982,7 +993,7 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": null, "id": "8ad39f14", "metadata": {}, "outputs": [ @@ -1020,7 +1031,7 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": null, "id": "c74b479d", "metadata": {}, "outputs": [ @@ -1066,7 +1077,7 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": null, "id": "cc5496cc", "metadata": {}, "outputs": [ @@ -1102,21 +1113,15 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" + "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": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3" + "file_extension": ".jl", + "mimetype": "application/julia", + "name": "julia", + "version": "1.11.5" } }, "nbformat": 4, From 098ea54b783f62894b416780bca41fc910090b87 Mon Sep 17 00:00:00 2001 From: Haimeng Zhang Date: Mon, 27 Jul 2026 15:32:35 -0400 Subject: [PATCH 16/40] update package versions --- docs/tutorials/time-evolution/Manifest.toml | 958 +++++++++++--------- 1 file changed, 554 insertions(+), 404 deletions(-) diff --git a/docs/tutorials/time-evolution/Manifest.toml b/docs/tutorials/time-evolution/Manifest.toml index 7b16fa13ee4b..028e8b402606 100644 --- a/docs/tutorials/time-evolution/Manifest.toml +++ b/docs/tutorials/time-evolution/Manifest.toml @@ -5,9 +5,9 @@ manifest_format = "2.0" project_hash = "9bbce5a099053ef5bc334075903943471b4dfd3e" [[deps.ADTypes]] -git-tree-sha1 = "f7304359109c768cf32dc5fa2d371565bb63b68a" +git-tree-sha1 = "ec6be48a85c93d995563b84bff8a86bc98df45ce" uuid = "47edcb42-4c32-4615-8424-f2b9edc5f35b" -version = "1.21.0" +version = "1.22.2" weakdeps = ["ChainRulesCore", "ConstructionBase", "EnzymeCore"] [deps.ADTypes.extensions] @@ -15,6 +15,12 @@ weakdeps = ["ChainRulesCore", "ConstructionBase", "EnzymeCore"] ADTypesConstructionBaseExt = "ConstructionBase" ADTypesEnzymeCoreExt = "EnzymeCore" +[[deps.AMD]] +deps = ["LinearAlgebra", "SparseArrays", "SuiteSparse_jll"] +git-tree-sha1 = "45a1272e3f809d36431e57ab22703c6896b8908f" +uuid = "14f7f29c-3bd6-536c-9a0b-7339e30b5a3e" +version = "0.5.3" + [[deps.AbstractLattices]] git-tree-sha1 = "763b6f3f6bfabd72c7e262cbb5ddfd43fd5c6398" uuid = "398f06c4-4d28-53ec-89ca-5b2656b7603d" @@ -27,9 +33,9 @@ version = "0.4.5" [[deps.Accessors]] deps = ["CompositionsBase", "ConstructionBase", "Dates", "InverseFunctions", "MacroTools"] -git-tree-sha1 = "2eeb2c9bef11013efc6f8f97f32ee59b146b09fb" +git-tree-sha1 = "7063ad1083578215c7c4bf410368150abe8d5524" uuid = "7d9f7c33-5ae7-4f3b-8dc6-eff91059b697" -version = "0.1.44" +version = "0.1.45" [deps.Accessors.extensions] AxisKeysExt = "AxisKeys" @@ -50,10 +56,10 @@ version = "0.1.44" Unitful = "1986cc42-f94f-5a68-af5c-568840ba703d" [[deps.Adapt]] -deps = ["LinearAlgebra", "Requires"] -git-tree-sha1 = "35ea197a51ce46fcd01c4a44befce0578a1aaeca" +deps = ["LinearAlgebra"] +git-tree-sha1 = "daa72978cd7a624246e894a4f4f067706d4e17e2" uuid = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" -version = "4.5.0" +version = "4.7.0" weakdeps = ["SparseArrays", "StaticArrays"] [deps.Adapt.extensions] @@ -83,9 +89,9 @@ version = "0.4.0" [[deps.ArrayInterface]] deps = ["Adapt", "LinearAlgebra"] -git-tree-sha1 = "78b3a7a536b4b0a747a0f296ea77091ca0a9f9a3" +git-tree-sha1 = "60f11b38ebeabd984f5535838d91e197d97202f0" uuid = "4fba245c-0d91-5ea0-9b3e-6abc04ee57a9" -version = "7.23.0" +version = "7.28.1" [deps.ArrayInterface.extensions] ArrayInterfaceAMDGPUExt = "AMDGPU" @@ -95,6 +101,7 @@ version = "7.23.0" ArrayInterfaceCUDSSExt = ["CUDSS", "CUDA"] ArrayInterfaceChainRulesCoreExt = "ChainRulesCore" ArrayInterfaceChainRulesExt = "ChainRules" + ArrayInterfaceFillArraysExt = "FillArrays" ArrayInterfaceGPUArraysCoreExt = "GPUArraysCore" ArrayInterfaceMetalExt = "Metal" ArrayInterfaceReverseDiffExt = "ReverseDiff" @@ -110,6 +117,7 @@ version = "7.23.0" CUDSS = "45b445bb-4962-46a0-9369-b4df9d0f772e" ChainRules = "082447d4-558c-5d27-93f4-14fc19e9eca2" ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" + FillArrays = "1a297f60-69ca-5386-bcde-b61e274b549b" GPUArraysCore = "46192b85-c4d5-4398-a991-12ede77f4527" Metal = "dde4c033-4e86-420c-a63e-0dd931031962" ReverseDiff = "37e2e3b7-166d-5795-8a7a-e32c996b4267" @@ -168,16 +176,16 @@ 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.BitBasis]] +deps = ["LinearAlgebra", "StaticArrays"] +git-tree-sha1 = "89dc08420d4f593ff30f02611d136b475a5eb43d" +uuid = "50ba71b6-fa0f-514d-ae9a-0916efc90dcf" +version = "0.9.10" [[deps.BitFlags]] -git-tree-sha1 = "0691e34b3bb8be9307330f88d1a3c3f25466c24d" +git-tree-sha1 = "bbe1079eecf9c9fbb52765193ad2bae27ae09bc8" uuid = "d1d4a3ce-64b1-5f1a-9ba4-7e7e69966f35" -version = "0.1.9" +version = "0.1.10" [[deps.BitIntegers]] deps = ["Random"] @@ -199,9 +207,9 @@ version = "0.2.0" [[deps.BlockArrays]] deps = ["ArrayLayouts", "FillArrays", "LinearAlgebra"] -git-tree-sha1 = "0f606a9894e2bcda541ceb82a91a13c5d450ed97" +git-tree-sha1 = "75c9c4d41f387b58ac7ecac17a02062f4cf8e92a" uuid = "8e7c35d0-a365-5155-bbbb-fb81a777f24e" -version = "1.9.3" +version = "1.10.0" [deps.BlockArrays.extensions] BlockArraysAdaptExt = "Adapt" @@ -213,9 +221,9 @@ version = "1.9.3" [[deps.BracketingNonlinearSolve]] deps = ["CommonSolve", "ConcreteStructs", "NonlinearSolveBase", "PrecompileTools", "Reexport", "SciMLBase"] -git-tree-sha1 = "d9b66401c1fa982c7ca984d0566af5a9b3551420" +git-tree-sha1 = "7ad7171d693ae5552ac43862e7f6b61df4471c2b" uuid = "70df07ce-3d50-431d-a3e7-ca6ddb60ac1e" -version = "1.12.0" +version = "1.12.1" weakdeps = ["ChainRulesCore", "ForwardDiff"] [deps.BracketingNonlinearSolve.extensions] @@ -239,11 +247,15 @@ git-tree-sha1 = "f3a21d7fc84ba618a779d1ed2fcca2e682865bab" uuid = "2a0fbf3d-bb9c-48f3-b0a9-814d99fd7ab9" version = "0.2.7" +[[deps.CRC32c]] +uuid = "8bf52ea8-c179-5cab-976a-9e18b702a9bc" +version = "1.11.0" + [[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" +git-tree-sha1 = "1fa950ebc3e37eccd51c6a8fe1f92f7d86263522" uuid = "83423d85-b0ee-5818-9007-b63ccbeb887a" -version = "1.18.6+0" +version = "1.18.7+0" [[deps.ChainRulesCore]] deps = ["Compat", "LinearAlgebra"] @@ -263,9 +275,9 @@ version = "0.3.2" [[deps.CliqueTrees]] deps = ["AbstractTrees", "FillArrays", "FixedSizeArrays", "Graphs", "LinearAlgebra", "Random", "SparseArrays"] -git-tree-sha1 = "cb551d26e127c319c619124bc8de100f7d99f172" +git-tree-sha1 = "5fa37aead6e5a276ec0dd81b5389fd5976873d6e" uuid = "60701a23-6482-424a-84db-faee86b9b1f8" -version = "1.19.1" +version = "1.19.4" [deps.CliqueTrees.extensions] AMDExt = "AMD" @@ -352,9 +364,9 @@ uuid = "861a8166-3701-5b0c-9a16-15d98fcdc6aa" version = "1.1.0" [[deps.CommonSolve]] -git-tree-sha1 = "78ea4ddbcf9c241827e7035c3a03e2e456711470" +git-tree-sha1 = "eeaad7cef88554c2fa56b5a3f71cfd5cb708c662" uuid = "38540f10-b2f7-11e9-35d8-d573e4eb0ff2" -version = "0.2.6" +version = "0.2.11" [[deps.CommonSubexpressions]] deps = ["MacroTools"] @@ -363,9 +375,9 @@ uuid = "bbf7d656-a473-5ed7-a52c-81e309532950" version = "0.3.1" [[deps.CommonWorldInvalidations]] -git-tree-sha1 = "ae52d1c52048455e85a387fbee9be553ec2b68d0" +git-tree-sha1 = "cde75cb34c9ee07b4c37981b0f32378d0dc19ffe" uuid = "f70d9fcc-98c5-4d4a-abd7-e4cdeebd8ca8" -version = "1.0.0" +version = "1.1.1" [[deps.Compat]] deps = ["TOML", "UUIDs"] @@ -397,9 +409,9 @@ weakdeps = ["InverseFunctions"] CompositionsBaseInverseFunctionsExt = "InverseFunctions" [[deps.ConcreteStructs]] -git-tree-sha1 = "f749037478283d372048690eb3b5f92a79432b34" +git-tree-sha1 = "23a2ac1ab2a39460d4feecddf09b02e9019d6dd5" uuid = "2569d6c7-a4a2-43d3-a901-331e8e4be471" -version = "0.2.3" +version = "0.2.6" [[deps.ConcurrentUtilities]] deps = ["Serialization", "Sockets"] @@ -439,10 +451,10 @@ uuid = "9a962f9c-6df0-11e9-0e5d-c546b8b5ee8a" version = "1.16.0" [[deps.DataStructures]] -deps = ["Compat", "InteractiveUtils", "OrderedCollections"] -git-tree-sha1 = "4e1fe97fdaed23e9dc21d4d664bea76b65fc50a0" +deps = ["OrderedCollections"] +git-tree-sha1 = "b0bc6d2cad1fed8b7fd59a1551a991cb3d2809e6" uuid = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8" -version = "0.18.22" +version = "0.19.6" [[deps.DataValueInterfaces]] git-tree-sha1 = "bfc1187b79289637fa0ef6d4436ebdfe6905cbd6" @@ -478,10 +490,10 @@ 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" +deps = ["ArrayInterface", "BracketingNonlinearSolve", "ConcreteStructs", "DocStringExtensions", "FastBroadcast", "FastClosures", "FastPower", "FunctionWrappers", "FunctionWrappersWrappers", "LinearAlgebra", "Logging", "Markdown", "MuladdMacro", "PrecompileTools", "Printf", "RecursiveArrayTools", "Reexport", "SciMLBase", "SciMLLogging", "SciMLOperators", "SciMLStructures", "Setfield", "Static", "StaticArraysCore", "SymbolicIndexingInterface", "TruncatedStacktraces"] +git-tree-sha1 = "9d333db14895e8c7d4857ed228eb1e72d3b302ec" uuid = "2b5f629d-d688-5b77-993f-72d75c75574e" -version = "6.213.0" +version = "6.218.0" [deps.DiffEqBase.extensions] DiffEqBaseCUDAExt = "CUDA" @@ -528,15 +540,15 @@ version = "1.1.0" [[deps.DiffRules]] deps = ["IrrationalConstants", "LogExpFunctions", "NaNMath", "Random", "SpecialFunctions"] -git-tree-sha1 = "23163d55f885173722d1e4cf0f6110cdbaf7e272" +git-tree-sha1 = "79a2aca180a85c690c58a020d47b426954b590f8" uuid = "b552c78f-8df3-52c6-915a-8e097449b14b" -version = "1.15.1" +version = "1.16.0" [[deps.DifferentiationInterface]] deps = ["ADTypes", "LinearAlgebra"] -git-tree-sha1 = "7ae99144ea44715402c6c882bfef2adbeadbc4ce" +git-tree-sha1 = "dbd46a5cd0e79a97438b0ebbec42e744e8f436fe" uuid = "a0c0ee7d-e4b9-4e03-894e-1c5f64a51d63" -version = "0.7.16" +version = "0.7.20" [deps.DifferentiationInterface.extensions] DifferentiationInterfaceChainRulesCoreExt = "ChainRulesCore" @@ -546,8 +558,9 @@ version = "0.7.16" DifferentiationInterfaceFiniteDiffExt = "FiniteDiff" DifferentiationInterfaceFiniteDifferencesExt = "FiniteDifferences" DifferentiationInterfaceForwardDiffExt = ["ForwardDiff", "DiffResults"] - DifferentiationInterfaceGPUArraysCoreExt = "GPUArraysCore" + DifferentiationInterfaceGPUArraysCoreExt = ["GPUArraysCore", "Adapt"] DifferentiationInterfaceGTPSAExt = "GTPSA" + DifferentiationInterfaceHyperHessiansExt = "HyperHessians" DifferentiationInterfaceMooncakeExt = "Mooncake" DifferentiationInterfacePolyesterForwardDiffExt = ["PolyesterForwardDiff", "ForwardDiff", "DiffResults"] DifferentiationInterfaceReverseDiffExt = ["ReverseDiff", "DiffResults"] @@ -560,6 +573,7 @@ version = "0.7.16" DifferentiationInterfaceZygoteExt = ["Zygote", "ForwardDiff"] [deps.DifferentiationInterface.weakdeps] + Adapt = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" DiffResults = "163ba53b-c6d8-5494-b064-1a9d43ac40c5" Diffractor = "9f5e2b26-1114-432f-b630-d3fe2085c51c" @@ -571,6 +585,7 @@ version = "0.7.16" ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" GPUArraysCore = "46192b85-c4d5-4398-a991-12ede77f4527" GTPSA = "b27dd330-f138-47c5-815b-40db9dd9b6e8" + HyperHessians = "06b494a0-c8e0-40cc-ad32-d99506a00a6c" Mooncake = "da2b9cff-9c12-43a0-ae48-6db2b0edb7d6" PolyesterForwardDiff = "98d1487c-24ca-40b6-b7ab-df2af84e126b" ReverseDiff = "37e2e3b7-166d-5795-8a7a-e32c996b4267" @@ -588,19 +603,21 @@ 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" +deps = ["AliasTables", "FillArrays", "LinearAlgebra", "PDMats", "Printf", "QuadGK", "Random", "Roots", "SpecialFunctions", "Statistics", "StatsAPI", "StatsBase", "StatsFuns"] +git-tree-sha1 = "d2facc77c08c1c2bfb1a77c148edd05b3db5410b" uuid = "31c24e10-a181-5473-b8eb-7969acd0382f" -version = "0.25.123" +version = "0.25.130" [deps.Distributions.extensions] DistributionsChainRulesCoreExt = "ChainRulesCore" DistributionsDensityInterfaceExt = "DensityInterface" + DistributionsSparseConnectivityTracerExt = "SparseConnectivityTracer" DistributionsTestExt = "Test" [deps.Distributions.weakdeps] ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" DensityInterface = "b429d917-457f-4dbc-8f4c-0cc954292b1d" + SparseConnectivityTracer = "9f842d2f-2579-4b1d-911e-f412cf18a3f5" Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" [[deps.DocStringExtensions]] @@ -619,31 +636,15 @@ 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" +deps = ["PrecompileTools"] +git-tree-sha1 = "ec3ba254f91892ecf4eef0159f02e1af1e9449bf" uuid = "da5c29d0-fa7d-589e-88eb-ea29b0a81949" -version = "1.9.0" +version = "1.10.3" +weakdeps = ["StaticArrayInterface"] + + [deps.EllipsisNotation.extensions] + EllipsisNotationStaticArrayInterfaceExt = "StaticArrayInterface" [[deps.EnumX]] git-tree-sha1 = "c49898e8438c828577f04b92fc9368c388ac783c" @@ -651,9 +652,9 @@ uuid = "4e289a0a-7415-4d19-859d-a7e5c4648b56" version = "1.0.7" [[deps.EnzymeCore]] -git-tree-sha1 = "24bbb6fc8fb87eb71c1f8d00184a60fc22c63903" +git-tree-sha1 = "971d7831cc85f43bc9f51d615a3f7f21270c2f1d" uuid = "f151be2c-9106-41f4-ab19-57ee4f262869" -version = "0.8.19" +version = "0.8.21" weakdeps = ["Adapt", "ChainRulesCore"] [deps.EnzymeCore.extensions] @@ -674,35 +675,30 @@ version = "0.1.11" [[deps.Expat_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "27af30de8b5445644e8ffe3bcb0d72049c089cf1" +git-tree-sha1 = "e6c4a6407a949e79a9d3f249bf49e6987c80e01f" uuid = "2e619515-83b5-522b-bb60-26c02a35a201" -version = "2.7.3+0" +version = "2.8.2+0" [[deps.ExponentialUtilities]] deps = ["Adapt", "ArrayInterface", "GPUArraysCore", "GenericSchur", "LinearAlgebra", "PrecompileTools", "Printf", "SparseArrays", "libblastrampoline_jll"] -git-tree-sha1 = "cc294ead6a85e975a8519dd4a0a6cb294eeb18d1" +git-tree-sha1 = "a3c8b66f8813b721a45bfe3cf32acf793aed78bb" uuid = "d4d017d3-3776-5f7e-afef-a10c40355c18" -version = "1.30.0" +version = "1.31.0" weakdeps = ["StaticArrays"] [deps.ExponentialUtilities.extensions] ExponentialUtilitiesStaticArraysExt = "StaticArrays" [[deps.ExprTools]] -git-tree-sha1 = "27415f162e6028e81c72b82ef756bf321213b6ec" +git-tree-sha1 = "d2e49e7efd29719d6f28b891b0e0e159daa9d2b4" uuid = "e2ba6199-217a-4e67-a87a-7c52f15ade04" -version = "0.1.10" +version = "0.1.11" [[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" @@ -716,15 +712,20 @@ 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" +git-tree-sha1 = "7a58e45171b63ed4782f2d36fdee8713a469e6e0" uuid = "b22a6f82-2f65-5046-a5b2-351ab43fb4e5" -version = "8.0.1+1" +version = "8.1.2+0" [[deps.FastBroadcast]] -deps = ["ArrayInterface", "LinearAlgebra", "Polyester", "Static", "StaticArrayInterface", "StrideArraysCore"] -git-tree-sha1 = "ab1b34570bcdf272899062e1a56285a53ecaae08" +deps = ["ArrayInterface", "LinearAlgebra"] +git-tree-sha1 = "52216cc6b2e5b11ac6623ff2398ac00faf1c6e42" uuid = "7034ab61-46d4-4ed7-9d0f-46aef9175898" -version = "0.3.5" +version = "1.3.4" +weakdeps = ["Polyester", "Static"] + + [deps.FastBroadcast.extensions] + FastBroadcastPolyesterExt = "Polyester" + FastBroadcastStaticExt = "Static" [[deps.FastClosures]] git-tree-sha1 = "acebe244d53ee1b461970f8910c235b259e772ef" @@ -733,14 +734,14 @@ version = "0.3.2" [[deps.FastGaussQuadrature]] deps = ["LinearAlgebra", "SpecialFunctions", "StaticArrays"] -git-tree-sha1 = "0044e9f5e49a57e88205e8f30ab73928b05fe5b6" +git-tree-sha1 = "4916117dd032ec5959b7633aedbbac408ca5ddeb" uuid = "442a2c76-b920-505d-bb47-c5924d526838" -version = "1.1.0" +version = "1.3.0" [[deps.FastPower]] -git-tree-sha1 = "862831f78c7a48681a074ecc9aac09f2de563f71" +git-tree-sha1 = "33a6dfb7ad41394b15e90c10c216181dba06cf15" uuid = "a4df4552-cc26-4903-aec0-212e50a0e84b" -version = "1.3.1" +version = "1.3.4" [deps.FastPower.extensions] FastPowerEnzymeExt = "Enzyme" @@ -766,9 +767,9 @@ version = "1.11.0" [[deps.FillArrays]] deps = ["LinearAlgebra"] -git-tree-sha1 = "2f979084d1e13948a3352cf64a25df6bd3b4dca3" +git-tree-sha1 = "5bad39456d9f0166184fce2248783dd9862645c1" uuid = "1a297f60-69ca-5386-bcde-b61e274b549b" -version = "1.16.0" +version = "1.17.0" weakdeps = ["PDMats", "SparseArrays", "StaticArrays", "Statistics"] [deps.FillArrays.extensions] @@ -779,9 +780,9 @@ weakdeps = ["PDMats", "SparseArrays", "StaticArrays", "Statistics"] [[deps.FiniteDiff]] deps = ["ArrayInterface", "LinearAlgebra", "Setfield"] -git-tree-sha1 = "9340ca07ca27093ff68418b7558ca37b05f8aeb1" +git-tree-sha1 = "07e98e3f332ee60179813dd9cdf21412e3c0a96a" uuid = "6a86dc24-6348-571c-b903-95158fe2bd41" -version = "2.29.0" +version = "2.32.0" [deps.FiniteDiff.extensions] FiniteDiffBandedMatricesExt = "BandedMatrices" @@ -796,10 +797,10 @@ version = "2.29.0" StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" [[deps.FixedPointNumbers]] -deps = ["Statistics"] -git-tree-sha1 = "05882d6995ae5c12bb5f36dd2ed3f61c98cbb172" +deps = ["Random", "Statistics"] +git-tree-sha1 = "59af96b98217c6ef4ae0dfe065ac7c20831d1a84" uuid = "53c48c17-4a7d-5ca2-90c5-79b7896eea93" -version = "0.8.5" +version = "0.8.6" [[deps.FixedSizeArrays]] deps = ["Collects"] @@ -837,9 +838,9 @@ version = "1.3.7" [[deps.ForwardDiff]] deps = ["CommonSubexpressions", "DiffResults", "DiffRules", "LinearAlgebra", "LogExpFunctions", "NaNMath", "Preferences", "Printf", "Random", "SpecialFunctions"] -git-tree-sha1 = "cddeab6487248a39dae1a960fff0ac17b2a28888" +git-tree-sha1 = "244d838cae8f4f40bd7b0478a4912e265c50857d" uuid = "f6369f11-7733-5829-9624-2563aa707210" -version = "1.3.3" +version = "1.4.2" weakdeps = ["StaticArrays"] [deps.ForwardDiff.extensions] @@ -863,10 +864,19 @@ uuid = "069b7b12-0de2-55c6-9aab-29f3d0a68a2e" version = "1.1.3" [[deps.FunctionWrappersWrappers]] -deps = ["FunctionWrappers"] -git-tree-sha1 = "b104d487b34566608f8b4e1c39fb0b10aa279ff8" +deps = ["FunctionWrappers", "PrecompileTools", "TruncatedStacktraces"] +git-tree-sha1 = "70a6ddcf65ee666a6873ba4bf1b02dc721474b38" uuid = "77dc65aa-8811-40c2-897b-53d922fa7daf" -version = "0.1.3" +version = "1.10.1" + + [deps.FunctionWrappersWrappers.extensions] + FunctionWrappersWrappersEnzymeExt = ["Enzyme", "EnzymeCore"] + FunctionWrappersWrappersMooncakeExt = "Mooncake" + + [deps.FunctionWrappersWrappers.weakdeps] + Enzyme = "7da242da-08ed-463a-9acd-ee780be4f1d9" + EnzymeCore = "f151be2c-9106-41f4-ab19-57ee4f262869" + Mooncake = "da2b9cff-9c12-43a0-ae48-6db2b0edb7d6" [[deps.Functors]] deps = ["Compat", "ConstructionBase", "LinearAlgebra", "Random"] @@ -881,9 +891,9 @@ 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" +git-tree-sha1 = "9e0fb9e54594c47f278d75063980e43066e26e20" uuid = "0656b61e-2033-5cc2-a64a-77c0f6c09b89" -version = "3.4.1+0" +version = "3.4.1+1" [[deps.GPUArraysCore]] deps = ["Adapt"] @@ -893,9 +903,9 @@ 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" +git-tree-sha1 = "f954322d5de03ec630d177cda203dcd92b6be399" uuid = "28b8d3ca-fb5f-59d9-8090-bfdbd6d07a71" -version = "0.73.24" +version = "0.73.26" [deps.GR.extensions] IJuliaExt = "IJulia" @@ -905,9 +915,14 @@ version = "0.73.24" [[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" +git-tree-sha1 = "6fada551286ab6ea4ca1628cb2de9f166a2ec966" uuid = "d2c73de3-f751-5644-a686-071e5b155ba9" -version = "0.73.24+0" +version = "0.73.26+0" + +[[deps.Gamma]] +git-tree-sha1 = "86f86b6168a016ed88e4ae4e64577b98c3b59e8e" +uuid = "a0844989-3bd2-4988-8bea-c9407ab0941b" +version = "1.1.0" [[deps.GenericSchur]] deps = ["LinearAlgebra", "Printf"] @@ -916,16 +931,20 @@ 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" +deps = ["EarCut_jll", "LinearAlgebra", "PrecompileTools", "Random", "StaticArrays"] +git-tree-sha1 = "364685f5ffde25deb1bbcfd5bb278a5c6b7a9b37" uuid = "5c1252a2-5f33-56bf-86c9-59e7332b4326" -version = "0.5.10" +version = "0.5.11" [deps.GeometryBasics.extensions] + ExtentsExt = "Extents" GeometryBasicsGeoInterfaceExt = "GeoInterface" + IntervalSetsExt = "IntervalSets" [deps.GeometryBasics.weakdeps] + Extents = "411431e0-e8b7-467b-b5e0-f676ba4f2910" GeoInterface = "cf35fbd7-0cd7-5166-be24-54bfbe79505f" + IntervalSets = "8197267c-284f-5f27-9208-e0e47529a953" [[deps.GeometryTypes]] deps = ["ColorTypes", "FixedPointNumbers", "LinearAlgebra", "StaticArrays"] @@ -959,15 +978,19 @@ version = "0.5.16" [[deps.Graphite2_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "8a6dbda1fd736d60cc477d99f2e7a042acfa46e8" +git-tree-sha1 = "69ffb934a5c5b7e086a0b4fee3427db2556fba6e" uuid = "3b182d85-2403-5c21-9c21-1e1f0cc25472" -version = "1.3.15+0" +version = "1.3.16+0" [[deps.Graphs]] -deps = ["ArnoldiMethod", "DataStructures", "Distributed", "Inflate", "LinearAlgebra", "Random", "SharedArrays", "SimpleTraits", "SparseArrays", "Statistics"] -git-tree-sha1 = "7a98c6502f4632dbe9fb1973a4244eaa3324e84d" +deps = ["ArnoldiMethod", "DataStructures", "Inflate", "LinearAlgebra", "Random", "SimpleTraits", "SparseArrays", "Statistics"] +git-tree-sha1 = "7eb45fe833a5b7c51cf6d89c5a841d5967e44be3" uuid = "86223c79-3864-5bf0-83f7-82e725a168b6" -version = "1.13.1" +version = "1.14.0" +weakdeps = ["Distributed", "SharedArrays"] + + [deps.Graphs.extensions] + GraphsSharedArraysExt = "SharedArrays" [[deps.Grisu]] git-tree-sha1 = "53bb909d1151e57e2484c3d1b53e19552b887fb2" @@ -993,21 +1016,21 @@ version = "8.5.1+0" [[deps.HiGHS]] deps = ["HiGHS_jll", "LinearAlgebra", "MathOptIIS", "MathOptInterface", "OpenBLAS32_jll", "PrecompileTools", "SparseArrays"] -git-tree-sha1 = "2b592162e8b40a5cf6435c37d86a8e2cf25cd459" +git-tree-sha1 = "01a5241985559c08a5baadbcebd6d87daaf84a84" uuid = "87dc4568-4c63-4d18-b0c0-bb2238e4078b" -version = "1.22.2" +version = "1.24.1" [[deps.HiGHS_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Zlib_jll", "libblastrampoline_jll"] -git-tree-sha1 = "621d773f277b9eadac7e049eaa6418af65c7b9d7" +git-tree-sha1 = "2d9747b79d17c4320fe48048a3a768fe6d6d82de" uuid = "8fd58aa0-07eb-5a78-9b36-339c94fd15ea" -version = "1.13.1+0" +version = "1.15.1+1" [[deps.HypergeometricFunctions]] -deps = ["LinearAlgebra", "OpenLibm_jll", "SpecialFunctions"] -git-tree-sha1 = "68c173f4f449de5b438ee67ed0c9c748dc31a2ec" +deps = ["Gamma", "LinearAlgebra"] +git-tree-sha1 = "18d7deab5fb0440dc6a7b6993c5c27b25420de10" uuid = "34004b35-14d8-5ef3-9330-4cdb6864b03a" -version = "0.3.28" +version = "0.3.29" [[deps.ITensorMPS]] deps = ["Adapt", "Compat", "ITensors", "IsApprox", "KrylovKit", "LinearAlgebra", "NDTensors", "Printf", "Random", "SerializedElementArrays", "TupleTools"] @@ -1031,9 +1054,9 @@ version = "0.3.45" [[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" +git-tree-sha1 = "9294fcfd772505110115c623aca48c72a202211f" uuid = "9136182c-28ba-11e9-034c-db9fb085ebd5" -version = "0.9.25" +version = "0.9.30" [deps.ITensors.extensions] ITensorsHDF5Ext = "HDF5" @@ -1081,9 +1104,9 @@ version = "1.4.5" Parsers = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0" [[deps.IntegerMathUtils]] -git-tree-sha1 = "4c1acff2dc6b6967e7e750633c50bc3b8d83e617" +git-tree-sha1 = "c72458f1962faeb003bf23cbdb75164fe6280906" uuid = "18e54dd8-cb9d-406c-a71d-865a43cbb235" -version = "0.1.3" +version = "0.1.4" [[deps.IntelOpenMP_jll]] deps = ["Artifacts", "JLLWrappers", "LazyArtifacts", "Libdl"] @@ -1098,9 +1121,9 @@ version = "1.11.0" [[deps.Interpolations]] deps = ["Adapt", "AxisAlgorithms", "ChainRulesCore", "LinearAlgebra", "OffsetArrays", "Random", "Ratios", "SharedArrays", "SparseArrays", "StaticArrays", "WoodburyMatrices"] -git-tree-sha1 = "65d505fa4c0d7072990d659ef3fc086eb6da8208" +git-tree-sha1 = "48922d06068130f87e43edef52382e6a94305ae6" uuid = "a98d9a8b-a2ab-59e6-89dd-64a1c18fca59" -version = "0.16.2" +version = "0.16.3" [deps.Interpolations.extensions] InterpolationsForwardDiffExt = "ForwardDiff" @@ -1126,10 +1149,10 @@ uuid = "92d709cd-6900-40b7-9082-c6be49f344b6" version = "0.2.6" [[deps.IsApprox]] -deps = ["Dictionaries", "LinearAlgebra", "PrecompileTools"] -git-tree-sha1 = "597fa86ccb967c315dae711a83a234b28c0c6852" +deps = ["Dictionaries", "LinearAlgebra"] +git-tree-sha1 = "d1a10e34d7f2e163cc1ebb45824c0226a5b57e37" uuid = "28f27b66-4bd8-47e7-9110-e2746eb8bed7" -version = "2.0.0" +version = "2.0.1" [[deps.IterTools]] git-tree-sha1 = "42d5f897009e7ff2cf88db414a389e5ed1bdd023" @@ -1149,15 +1172,15 @@ version = "0.1.11" [[deps.JLLWrappers]] deps = ["Artifacts", "Preferences"] -git-tree-sha1 = "0533e564aae234aff59ab625543145446d8b6ec2" +git-tree-sha1 = "7204148362dafe5fe6a273f855b8ccbe4df8173e" uuid = "692b3bcd-3c85-4b1f-b108-f13ce0eb3210" -version = "1.7.1" +version = "1.8.0" [[deps.JSON]] deps = ["Dates", "Logging", "Parsers", "PrecompileTools", "StructUtils", "UUIDs", "Unicode"] -git-tree-sha1 = "67c6f1f085cb2671c93fe34244c9cccde30f7a26" +git-tree-sha1 = "c89d196f5ffb64bfbf80985b699ea913b0d2c211" uuid = "682c06a0-de6a-54ab-a142-c8b1cf79cde6" -version = "1.5.0" +version = "1.6.1" [deps.JSON.extensions] JSONArrowExt = ["ArrowTypes"] @@ -1173,15 +1196,15 @@ version = "0.2.1" [[deps.JpegTurbo_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "b6893345fd6658c8e475d40155789f4860ac3b21" +git-tree-sha1 = "1dae3057da6f2b9c857afef03177bbdc7c4afe92" uuid = "aacddb02-875f-59d6-b918-886e6ef4fbf8" -version = "3.1.4+0" +version = "3.2.0+0" [[deps.JuMP]] deps = ["LinearAlgebra", "MacroTools", "MathOptInterface", "MutableArithmetics", "OrderedCollections", "PrecompileTools", "Printf", "SparseArrays"] -git-tree-sha1 = "4091a1338a0e32766b11b9bd3fac247d34200c77" +git-tree-sha1 = "614b22ff014355192982b1f9a12c61298ce6a908" uuid = "4076af6c-e467-56ae-b986-b466b2749572" -version = "1.30.0" +version = "1.31.1" [deps.JuMP.extensions] JuMPDimensionalDataExt = "DimensionalData" @@ -1191,21 +1214,21 @@ version = "1.30.0" [[deps.JuliaInterpreter]] deps = ["CodeTracking", "InteractiveUtils", "Random", "UUIDs"] -git-tree-sha1 = "58927c485919bf17ea308d9d82156de1adf4b006" +git-tree-sha1 = "c3d401f110454b4ea24a76be33f6ee0d7d385103" uuid = "aa1ae85d-cabe-5617-a682-6adf51b2e16a" -version = "0.10.12" +version = "0.11.4" [[deps.Krylov]] deps = ["LinearAlgebra", "Printf", "SparseArrays"] -git-tree-sha1 = "c4d19f51afc7ba2afbe32031b8f2d21b11c9e26e" +git-tree-sha1 = "fc2e5bc665dfa1be33fac60b5762d462bccfae7b" uuid = "ba0b0d4f-ebba-5204-a429-3ac8c609bfb7" -version = "0.10.6" +version = "0.10.8" [[deps.KrylovKit]] deps = ["LinearAlgebra", "PackageExtensionCompat", "Printf", "Random", "VectorInterface"] -git-tree-sha1 = "6dcba71deb016d646f1c1bcfcaacc764a198b8e6" +git-tree-sha1 = "a3babd26e875e83b461e1c0f945bff52701e8181" uuid = "0b1a1467-8014-51b9-945f-bf0ae24f4b77" -version = "0.10.2" +version = "0.10.4" weakdeps = ["ChainRulesCore"] [deps.KrylovKit.extensions] @@ -1219,15 +1242,15 @@ version = "3.100.3+0" [[deps.LERC_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "aaafe88dccbd957a8d82f7d05be9b69172e0cee3" +git-tree-sha1 = "17b94ecafcfa45e8360a4fc9ca6b583b049e4e37" uuid = "88015f11-f218-50d7-93a8-a6af411a945d" -version = "4.0.1+0" +version = "4.1.0+0" [[deps.LLVMOpenMP_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "eb62a3deb62fc6d8822c0c4bef73e4412419c5d8" +git-tree-sha1 = "b7970cef8ae1c990ba0c09cd8bdc1145e006632f" uuid = "1d63c593-3942-5779-bab2-d838dc0a180e" -version = "18.1.8+0" +version = "22.1.7+0" [[deps.LRUCache]] git-tree-sha1 = "5519b95a490ff5fe629c4a7aa3b3dfc9160498b3" @@ -1245,9 +1268,9 @@ version = "1.4.0" [[deps.Latexify]] deps = ["Format", "Ghostscript_jll", "InteractiveUtils", "LaTeXStrings", "MacroTools", "Markdown", "OrderedCollections", "Requires"] -git-tree-sha1 = "44f93c47f9cd6c7e431f2f2091fcba8f01cd7e8f" +git-tree-sha1 = "24390f715ff0795a1c4b912d788f18c52c6abd19" uuid = "23fbe1c1-3f47-55db-b15f-69d7ec21a316" -version = "0.16.10" +version = "0.16.11" [deps.Latexify.extensions] DataFramesExt = "DataFrames" @@ -1327,21 +1350,21 @@ version = "1.18.0+0" [[deps.Libmount_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "97bbca976196f2a1eb9607131cb108c69ec3f8a6" +git-tree-sha1 = "cc3ad4faf30015a3e8094c9b5b7f19e85bdf2386" uuid = "4b2f31a3-9ecc-558c-b454-b3730dcb73e9" -version = "2.41.3+0" +version = "2.42.0+0" [[deps.Libtiff_jll]] deps = ["Artifacts", "JLLWrappers", "JpegTurbo_jll", "LERC_jll", "Libdl", "XZ_jll", "Zlib_jll", "Zstd_jll"] -git-tree-sha1 = "f04133fe05eff1667d2054c53d59f9122383fe05" +git-tree-sha1 = "aebd334d06cee9f24cea70bd19a39749daf73881" uuid = "89763e89-9b03-5906-acba-b20f662cd828" -version = "4.7.2+0" +version = "4.7.3+0" [[deps.Libuuid_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "d0205286d9eceadc518742860bf23f703779a3d6" +git-tree-sha1 = "d620582b1f0cbe2c72dd1d5bd195a9ce73370ab1" uuid = "38a345b3-de98-5d2b-a5d3-14cd9215e700" -version = "2.41.3+0" +version = "2.42.0+0" [[deps.LightXML]] deps = ["Libdl", "XML2_jll"] @@ -1351,9 +1374,9 @@ version = "0.9.3" [[deps.LineSearch]] deps = ["ADTypes", "CommonSolve", "ConcreteStructs", "FastClosures", "LinearAlgebra", "MaybeInplace", "PrecompileTools", "SciMLBase", "SciMLJacobianOperators", "StaticArraysCore"] -git-tree-sha1 = "9f7253c0574b4b585c8909232adb890930da980a" +git-tree-sha1 = "0ddc77c97e42b3024a1646278bdaafee0bd61583" uuid = "87fe0de2-c867-4266-b59a-2f0a94fc965b" -version = "0.1.6" +version = "0.1.12" weakdeps = ["LineSearches"] [deps.LineSearch.extensions] @@ -1361,9 +1384,9 @@ weakdeps = ["LineSearches"] [[deps.LineSearches]] deps = ["LinearAlgebra", "NLSolversBase", "NaNMath", "Printf"] -git-tree-sha1 = "738bdcacfef25b3a9e4a39c28613717a6b23751e" +git-tree-sha1 = "cef1ba655e8c1f65af9d96c4fffe18bf1a3a3291" uuid = "d3d80556-e9d4-5f37-9878-2ab0fcc64255" -version = "7.6.0" +version = "7.7.1" [[deps.LinearAlgebra]] deps = ["Libdl", "OpenBLAS_jll", "libblastrampoline_jll"] @@ -1377,10 +1400,10 @@ 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" +deps = ["AMD", "ArrayInterface", "ConcreteStructs", "DocStringExtensions", "EnumX", "GPUArraysCore", "InteractiveUtils", "Krylov", "Libdl", "LinearAlgebra", "MKL_jll", "Markdown", "OpenBLAS_jll", "PrecompileTools", "Preferences", "PureKLU", "RecursiveArrayTools", "Reexport", "SciMLBase", "SciMLLogging", "SciMLOperators", "Setfield", "SparseArrays", "SparseColumnPivotedQR", "StaticArraysCore"] +git-tree-sha1 = "ec49ed72f6024be2f9833fe630fbd72f6048f8ad" uuid = "7ed4a6bd-45f5-4d41-b270-4a48e9bafcae" -version = "3.71.0" +version = "3.87.0" [deps.LinearSolve.extensions] LinearSolveAMDGPUExt = "AMDGPU" @@ -1388,7 +1411,7 @@ version = "3.71.0" LinearSolveBLISExt = ["blis_jll", "LAPACK_jll"] LinearSolveBandedMatricesExt = "BandedMatrices" LinearSolveBlockDiagonalsExt = "BlockDiagonals" - LinearSolveCUDAExt = "CUDA" + LinearSolveCUDAExt = ["cuSOLVER"] LinearSolveCUDSSExt = "CUDSS" LinearSolveCUSOLVERRFExt = ["CUSOLVERRF", "SparseArrays"] LinearSolveChainRulesCoreExt = "ChainRulesCore" @@ -1399,25 +1422,32 @@ version = "3.71.0" LinearSolveFastLapackInterfaceExt = "FastLapackInterface" LinearSolveForwardDiffExt = "ForwardDiff" LinearSolveGinkgoExt = ["Ginkgo", "SparseArrays"] + LinearSolveHSLExt = ["HSL", "SparseArrays"] LinearSolveHYPREExt = "HYPRE" LinearSolveIterativeSolversExt = "IterativeSolvers" LinearSolveKernelAbstractionsExt = "KernelAbstractions" LinearSolveKrylovKitExt = "KrylovKit" + LinearSolveMUMPSExt = ["MUMPS", "SparseArrays"] LinearSolveMetalExt = "Metal" LinearSolveMooncakeExt = "Mooncake" - LinearSolvePETScExt = ["PETSc", "SparseArrays"] + LinearSolvePETScExt = ["PETSc", "SparseArrays", "SparseMatricesCSR"] + LinearSolvePETScMPIExt = ["PETSc", "PartitionedArrays", "SparseArrays", "SparseMatricesCSR"] LinearSolveParUExt = ["ParU_jll", "SparseArrays"] LinearSolvePardisoExt = ["Pardiso", "SparseArrays"] + LinearSolvePartitionedSolversExt = ["PartitionedArrays", "PartitionedSolvers"] + LinearSolvePureUMFPACKExt = ["PureUMFPACK", "SparseArrays"] LinearSolveRecursiveFactorizationExt = "RecursiveFactorization" + LinearSolveSTRUMPACKExt = ["SparseArrays", "STRUMPACK_jll"] LinearSolveSparseArraysExt = "SparseArrays" LinearSolveSparspakExt = ["SparseArrays", "Sparspak"] + LinearSolveSpecializingFactorizationsExt = "SpecializingFactorizations" + LinearSolveSuperLUDISTExt = ["SparseArrays", "SuperLUDIST"] [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" @@ -1428,26 +1458,35 @@ version = "3.71.0" FastLapackInterface = "29a986be-02c6-4525-aec4-84b980013641" ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" Ginkgo = "4c8bd3c9-ead9-4b5e-a625-08f1338ba0ec" + HSL = "34c5aeac-e683-54a6-a0e9-6e0fdc586c50" 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" + MUMPS = "55d2b088-9f4e-11e9-26c0-150b02ea6a46" 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" + PartitionedArrays = "5a9dfac6-5c52-46f7-8278-5e2210713be9" + PartitionedSolvers = "11b65f7f-80ac-401b-9ef2-3db765482d62" + PureUMFPACK = "b7e1f0a2-3c4d-4e5f-9a0b-1c2d3e4f5a6b" RecursiveFactorization = "f2c3362d-daeb-58d1-803e-2bc74f2840b4" - SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" + STRUMPACK_jll = "86fbd0b9-476f-557c-b766-62c724b42d8c" + SparseMatricesCSR = "a0a7dd2c-ebf4-11e9-1f05-cf50bc540ca1" Sparspak = "e56a9233-b9d6-4f03-8d0f-1825330902ac" + SpecializingFactorizations = "fa08b7a1-13d3-4faf-875d-5cbc1520e3f3" + SuperLUDIST = "4cd002a6-0da4-410d-a012-232df062f478" blis_jll = "6136c539-28a5-5bf0-87cc-b183200dce32" + cuSOLVER = "887afef0-6a32-4de5-add4-7827692ba8fc" [[deps.LogExpFunctions]] deps = ["DocStringExtensions", "IrrationalConstants", "LinearAlgebra"] -git-tree-sha1 = "13ca9e2586b89836fd20cccf56e57e2b9ae7f38f" +git-tree-sha1 = "bba2d9aa057d8f126415de240573e86a8f39d2a1" uuid = "2ab3a3ac-af41-5b50-aa03-7779005ae688" -version = "0.3.29" +version = "1.0.1" [deps.LogExpFunctions.extensions] LogExpFunctionsChainRulesCoreExt = "ChainRulesCore" @@ -1471,9 +1510,9 @@ version = "1.2.0" [[deps.LoweredCodeUtils]] deps = ["CodeTracking", "Compiler", "JuliaInterpreter"] -git-tree-sha1 = "5d4278f755440f70648d80cc6225f51e78e94094" +git-tree-sha1 = "1d4c737ab26f51ceed52ab2019c09b7660eb7440" uuid = "6f1432cf-f94c-5a45-995e-cdbf5db27b0b" -version = "3.5.1" +version = "3.8.0" [[deps.MKL_jll]] deps = ["Artifacts", "IntelOpenMP_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "oneTBB_jll"] @@ -1498,21 +1537,29 @@ version = "1.11.0" [[deps.MathOptIIS]] deps = ["MathOptInterface"] -git-tree-sha1 = "12f262200198606174e28c59da634e9d9da839ed" +git-tree-sha1 = "3b3d69130d8ab8c39d5fa4d30e20a8e6428c9d37" uuid = "8c4f8055-bd93-4160-a86b-a0c04941dbff" -version = "0.1.2" +version = "0.2.0" [[deps.MathOptInterface]] -deps = ["BenchmarkTools", "CodecBzip2", "CodecZlib", "ForwardDiff", "JSON", "LinearAlgebra", "MutableArithmetics", "NaNMath", "OrderedCollections", "PrecompileTools", "Printf", "SparseArrays", "SpecialFunctions", "Test"] -git-tree-sha1 = "ce739e3d8a21313ea418772edfc3b7b15a1dfc16" +deps = ["CodecBzip2", "CodecZlib", "ForwardDiff", "JSON", "LinearAlgebra", "MutableArithmetics", "NaNMath", "OrderedCollections", "PrecompileTools", "Printf", "SparseArrays", "SpecialFunctions", "Test"] +git-tree-sha1 = "7b57dbe5d2c988a0c7a0ea977045e844e3d0b263" uuid = "b8f27783-ece8-5eb3-8dc8-9495eed66fee" -version = "1.50.1" +version = "1.51.2" + + [deps.MathOptInterface.extensions] + MathOptInterfaceBenchmarkToolsExt = "BenchmarkTools" + MathOptInterfaceCliqueTreesExt = "CliqueTrees" + + [deps.MathOptInterface.weakdeps] + BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" + CliqueTrees = "60701a23-6482-424a-84db-faee86b9b1f8" [[deps.MaybeInplace]] deps = ["ArrayInterface", "LinearAlgebra", "MacroTools"] -git-tree-sha1 = "54e2fdc38130c05b42be423e90da3bade29b74bd" +git-tree-sha1 = "69ad9ad584510f04f0ce75841253aa4b7c83e6f2" uuid = "bb5d69b7-63fc-4a16-80bd-7e42200c7bdb" -version = "0.1.4" +version = "0.1.7" weakdeps = ["SparseArrays"] [deps.MaybeInplace.extensions] @@ -1557,18 +1604,19 @@ version = "2.2.6" [[deps.Moshi]] deps = ["ExproniconLite", "Jieko"] -git-tree-sha1 = "53f817d3e84537d84545e0ad749e483412dd6b2a" +git-tree-sha1 = "60beb0717782a3bbe0f7df56decad0ef89048c23" uuid = "2e0e35c7-a2e4-4343-998d-7ef72827ed2d" -version = "0.3.7" +version = "0.3.12" [[deps.MozillaCACerts_jll]] uuid = "14a3606d-f60d-562e-9121-12d972cd8159" version = "2023.12.12" [[deps.MuladdMacro]] -git-tree-sha1 = "cac9cc5499c25554cba55cd3c30543cff5ca4fab" +deps = ["PrecompileTools"] +git-tree-sha1 = "e8dcbeef032ba2f9051a44ac22b4e54e3a1a0099" uuid = "46d2c3a1-f734-5fdb-9937-b9b9aeba4221" -version = "0.2.4" +version = "0.2.6" [[deps.Multisets]] git-tree-sha1 = "f4205a002e2e0c4a10971ea313084ee212f761a4" @@ -1577,15 +1625,15 @@ version = "0.4.6" [[deps.MutableArithmetics]] deps = ["LinearAlgebra", "SparseArrays", "Test"] -git-tree-sha1 = "7c25249fc13a070f5ba433c50e21e22bb33c6fb0" +git-tree-sha1 = "dc5b2c4c111c46bc79ac4405eeb563523b39c004" uuid = "d8a4904e-b15c-11e9-3269-09a3773c0cb0" -version = "1.7.1" +version = "1.8.0" [[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" +deps = ["Accessors", "Adapt", "ArrayLayouts", "BlockArrays", "Compat", "Dictionaries", "EllipsisNotation", "FillArrays", "Folds", "Functors", "HalfIntegers", "InlineStrings", "LinearAlgebra", "MacroTools", "Random", "SimpleTraits", "SparseArrays", "SplitApplyCombine", "StaticArrays", "Strided", "StridedViews", "TimerOutputs", "TupleTools", "TypeParameterAccessors", "VectorInterface"] +git-tree-sha1 = "66d86c534d6887e0b89fec21dd96e58d0d3a312f" uuid = "23ae76d9-e61a-49c4-8f12-3f1a16adf9cf" -version = "0.4.23" +version = "0.4.28" [deps.NDTensors.extensions] NDTensorsAMDGPUExt = ["AMDGPU", "GPUArraysCore"] @@ -1619,9 +1667,9 @@ version = "8.0.0" [[deps.NaNMath]] deps = ["OpenLibm_jll"] -git-tree-sha1 = "9b8215b1ee9e78a293f99797cd31375471b2bcae" +git-tree-sha1 = "dbd2e8cd2c1c27f0b584f6661b4309609c5a685e" uuid = "77ba4419-2d1f-58cd-9bb1-8ffee604a2e3" -version = "1.1.3" +version = "1.1.4" [[deps.NamedGraphs]] deps = ["AbstractTrees", "Combinatorics", "Dictionaries", "Graphs", "LinearAlgebra", "PackageExtensionCompat", "Random", "SimpleGraphAlgorithms", "SimpleGraphConverter", "SimpleTraits", "SparseArrays", "SplitApplyCombine", "Suppressor"] @@ -1657,10 +1705,10 @@ 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" +deps = ["ADTypes", "ArrayInterface", "BracketingNonlinearSolve", "CommonSolve", "ConcreteStructs", "DifferentiationInterface", "FastClosures", "FiniteDiff", "ForwardDiff", "LineSearch", "LinearAlgebra", "LinearSolve", "NonlinearSolveBase", "NonlinearSolveFirstOrder", "NonlinearSolveQuasiNewton", "NonlinearSolveSpectralMethods", "PrecompileTools", "Preferences", "Reexport", "SciMLBase", "Setfield", "SimpleNonlinearSolve", "StaticArraysCore", "SymbolicIndexingInterface"] +git-tree-sha1 = "a6c5719bbb42985c72f4cacbfa49e86bab850d66" uuid = "8913a72c-1f9b-4ce2-8d82-65094dcecaec" -version = "4.16.0" +version = "4.19.1" [deps.NonlinearSolve.extensions] NonlinearSolveFastLevenbergMarquardtExt = "FastLevenbergMarquardt" @@ -1690,10 +1738,10 @@ version = "4.16.0" 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" +deps = ["ADTypes", "Adapt", "ArrayInterface", "CommonSolve", "Compat", "ConcreteStructs", "DifferentiationInterface", "EnzymeCore", "FastClosures", "FunctionWrappers", "FunctionWrappersWrappers", "LinearAlgebra", "LogExpFunctions", "Markdown", "MaybeInplace", "PreallocationTools", "PrecompileTools", "Preferences", "Printf", "RecursiveArrayTools", "SciMLBase", "SciMLJacobianOperators", "SciMLLogging", "SciMLOperators", "SciMLStructures", "Setfield", "StaticArraysCore", "SymbolicIndexingInterface", "TimerOutputs"] +git-tree-sha1 = "cb824030a0d5769555704db95ee3cbe0f76ed53d" uuid = "be0214bd-f91f-a760-ac4e-3421ce2b2da0" -version = "2.19.0" +version = "2.30.3" [deps.NonlinearSolveBase.extensions] NonlinearSolveBaseBandedMatricesExt = "BandedMatrices" @@ -1723,15 +1771,15 @@ version = "2.19.0" [[deps.NonlinearSolveFirstOrder]] deps = ["ADTypes", "ArrayInterface", "CommonSolve", "ConcreteStructs", "FiniteDiff", "ForwardDiff", "LineSearch", "LinearAlgebra", "LinearSolve", "MaybeInplace", "NonlinearSolveBase", "PrecompileTools", "Reexport", "SciMLBase", "SciMLJacobianOperators", "Setfield", "StaticArraysCore"] -git-tree-sha1 = "eea7cbe389b168c77df7ff779fb7277019c685c8" +git-tree-sha1 = "ce68820a4f421fb5bee7ec4dcf875aff33886bfb" uuid = "5959db7a-ea39-4486-b5fe-2dd0bf03d60d" -version = "2.0.0" +version = "2.1.1" [[deps.NonlinearSolveQuasiNewton]] deps = ["ArrayInterface", "CommonSolve", "ConcreteStructs", "LinearAlgebra", "LinearSolve", "MaybeInplace", "NonlinearSolveBase", "PrecompileTools", "Reexport", "SciMLBase", "SciMLOperators", "StaticArraysCore"] -git-tree-sha1 = "ade27e8e9566b6cec63ee62f6a6650a11cf9a2eb" +git-tree-sha1 = "538432ca1aea8bf63db02929bf870501f8a7c64c" uuid = "9a2c21bd-3a47-402d-9113-8faf9a0ee114" -version = "1.12.0" +version = "1.13.1" weakdeps = ["ForwardDiff"] [deps.NonlinearSolveQuasiNewton.extensions] @@ -1739,14 +1787,28 @@ weakdeps = ["ForwardDiff"] [[deps.NonlinearSolveSpectralMethods]] deps = ["CommonSolve", "ConcreteStructs", "LineSearch", "MaybeInplace", "NonlinearSolveBase", "PrecompileTools", "Reexport", "SciMLBase"] -git-tree-sha1 = "eafd027b5cd768f19bb5de76c0e908a9065ddd36" +git-tree-sha1 = "a3781e12becdf0ce5520bd97ec617e879bf4e9f2" uuid = "26075421-4e9a-44e1-8bd1-420ed7ad02b2" -version = "1.6.0" +version = "1.7.1" weakdeps = ["ForwardDiff"] [deps.NonlinearSolveSpectralMethods.extensions] NonlinearSolveSpectralMethodsForwardDiffExt = "ForwardDiff" +[[deps.OMEinsumContractionOrders]] +deps = ["AbstractTrees", "CliqueTrees", "DataStructures", "JSON", "SparseArrays", "StatsBase", "Suppressor", "TreeWidthSolver"] +git-tree-sha1 = "318826781ce17989079d07fbf620113d4de0a732" +uuid = "6f22d1fd-8eed-4bb7-9776-e7d684900715" +version = "1.3.0" + + [deps.OMEinsumContractionOrders.extensions] + KaHyParExt = ["KaHyPar"] + LuxorTensorPlot = ["LuxorGraphPlot"] + + [deps.OMEinsumContractionOrders.weakdeps] + KaHyPar = "2a6221f6-aa48-11e9-3542-2d9e0ef01880" + LuxorGraphPlot = "1f49bdf2-22a7-4bc4-978b-948dc219fbbc" + [[deps.OffsetArrays]] git-tree-sha1 = "117432e406b5c023f665fa73dc26e79ec3630151" uuid = "6fe1bfb0-de20-5000-8ca7-80f57d26f881" @@ -1763,10 +1825,10 @@ uuid = "e7412a2a-1a6e-54c0-be00-318e2571c051" version = "1.3.6+0" [[deps.OpenBLAS32_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl"] -git-tree-sha1 = "46cce8b42186882811da4ce1f4c7208b02deb716" +deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "libblastrampoline_jll"] +git-tree-sha1 = "30870d0f2dc0b2dba76b10df1c58c7f018413e56" uuid = "656ef2d0-ae68-5445-9ca0-591084a874a2" -version = "0.3.30+0" +version = "0.3.34+0" [[deps.OpenBLAS_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"] @@ -1786,9 +1848,9 @@ version = "1.6.1" [[deps.OpenSSL_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "c9cbeda6aceffc52d8a0017e71db27c7a7c0beaf" +git-tree-sha1 = "d8cce34295c55f47be683580f44791716045b8fe" uuid = "458c3c95-2e84-50aa-8efc-19380b2a3a95" -version = "3.5.5+0" +version = "3.5.7+0" [[deps.OpenSpecFun_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl"] @@ -1798,9 +1860,9 @@ version = "0.5.6+0" [[deps.Optim]] deps = ["ADTypes", "EnumX", "FillArrays", "LineSearches", "LinearAlgebra", "NLSolversBase", "NaNMath", "PositiveFactorizations", "Printf", "SparseArrays", "Statistics"] -git-tree-sha1 = "7957b66b4e80f1031417197099f35273f7dd93dd" +git-tree-sha1 = "6fe140aab6c042a73c9d5dc280b87b32eee44f9f" uuid = "429524aa-4258-5aef-a3af-852621145aeb" -version = "2.0.1" +version = "2.2.1" weakdeps = ["MathOptInterface"] [deps.Optim.extensions] @@ -1813,41 +1875,41 @@ uuid = "91d4177d-7536-5919-b921-800302f37372" version = "1.6.1+0" [[deps.OrderedCollections]] -git-tree-sha1 = "05868e21324cede2207c6f0f466b4bfef6d5e7ee" +git-tree-sha1 = "94ba93778373a53bfd5a0caaf7d809c445292ff4" uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d" -version = "1.8.1" +version = "1.8.2" [[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" +git-tree-sha1 = "47271adac597af08263b6ea2669e93040b45c4d0" uuid = "1dea7af3-3e70-54e6-95c3-0bf5283fa5ed" -version = "6.107.0" +version = "6.111.0" [[deps.OrdinaryDiffEqAdamsBashforthMoulton]] deps = ["DiffEqBase", "FastBroadcast", "MuladdMacro", "OrdinaryDiffEqCore", "OrdinaryDiffEqLowOrderRK", "Polyester", "RecursiveArrayTools", "Reexport", "SciMLBase", "Static"] -git-tree-sha1 = "79f756d4a593a99ab47c8a8ee72061e7d60cd9c0" +git-tree-sha1 = "2e44acb684dfcdc2e41851a988733e30b28a8478" uuid = "89bda076-bce5-4f1c-845f-551c83cdda9a" -version = "1.10.0" +version = "1.11.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" +deps = ["ADTypes", "ArrayInterface", "DiffEqBase", "FastBroadcast", "LinearAlgebra", "MacroTools", "MuladdMacro", "OrdinaryDiffEqCore", "OrdinaryDiffEqDifferentiation", "OrdinaryDiffEqNonlinearSolve", "OrdinaryDiffEqSDIRK", "PrecompileTools", "Preferences", "RecursiveArrayTools", "Reexport", "SciMLBase", "TruncatedStacktraces"] +git-tree-sha1 = "d7f69947e070a6a89aaf583e8aa2fada199fc292" uuid = "6ad6398a-0878-4a85-9266-38940aa047c8" -version = "1.14.0" +version = "1.26.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" +deps = ["ADTypes", "Accessors", "Adapt", "ArrayInterface", "ConcreteStructs", "DataStructures", "DiffEqBase", "DocStringExtensions", "EnumX", "EnzymeCore", "FastBroadcast", "FastClosures", "FastPower", "FunctionWrappersWrappers", "InteractiveUtils", "LinearAlgebra", "Logging", "MacroTools", "MuladdMacro", "Polyester", "PrecompileTools", "Preferences", "Random", "RecursiveArrayTools", "Reexport", "SciMLBase", "SciMLLogging", "SciMLOperators", "SciMLStructures", "Static", "SymbolicIndexingInterface", "TruncatedStacktraces"] +git-tree-sha1 = "c0a22f012d3e98fd78afafe8e5152ace7a2276bc" uuid = "bbf590c4-e513-4bbe-9b18-05decba2e5d8" -version = "3.1.0" +version = "3.33.1" [deps.OrdinaryDiffEqCore.extensions] - OrdinaryDiffEqCoreEnzymeCoreExt = "EnzymeCore" OrdinaryDiffEqCoreMooncakeExt = "Mooncake" + OrdinaryDiffEqCoreSparseArraysExt = "SparseArrays" [deps.OrdinaryDiffEqCore.weakdeps] - EnzymeCore = "f151be2c-9106-41f4-ab19-57ee4f262869" Mooncake = "da2b9cff-9c12-43a0-ae48-6db2b0edb7d6" + SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" [[deps.OrdinaryDiffEqDefault]] deps = ["ADTypes", "DiffEqBase", "EnumX", "LinearAlgebra", "LinearSolve", "OrdinaryDiffEqBDF", "OrdinaryDiffEqCore", "OrdinaryDiffEqRosenbrock", "OrdinaryDiffEqTsit5", "OrdinaryDiffEqVerner", "PrecompileTools", "Preferences", "Reexport", "SciMLBase"] @@ -1856,10 +1918,10 @@ 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" +deps = ["ADTypes", "ArrayInterface", "ConcreteStructs", "ConstructionBase", "DiffEqBase", "DifferentiationInterface", "FastBroadcast", "FiniteDiff", "ForwardDiff", "FunctionWrappersWrappers", "LinearAlgebra", "LinearSolve", "OrdinaryDiffEqCore", "SciMLBase", "SciMLOperators", "SparseMatrixColorings", "StaticArraysCore"] +git-tree-sha1 = "f3976b6baeb64051f41ed461a1933b7501a4f38e" uuid = "4302a76b-040a-498a-8c04-15b101fed76b" -version = "1.22.0" +version = "2.9.0" weakdeps = ["SparseArrays"] [deps.OrdinaryDiffEqDifferentiation.extensions] @@ -1867,153 +1929,153 @@ weakdeps = ["SparseArrays"] [[deps.OrdinaryDiffEqExplicitRK]] deps = ["DiffEqBase", "FastBroadcast", "LinearAlgebra", "MuladdMacro", "OrdinaryDiffEqCore", "RecursiveArrayTools", "Reexport", "SciMLBase", "TruncatedStacktraces"] -git-tree-sha1 = "0b70d2d78d21b3c9fb200c7921750ca863302204" +git-tree-sha1 = "54346c3d7a9932ab11743a99afed8a3ff0a65fea" uuid = "9286f039-9fbf-40e8-bf65-aa933bdc4db0" -version = "1.10.0" +version = "1.12.0" [[deps.OrdinaryDiffEqExponentialRK]] deps = ["ADTypes", "DiffEqBase", "ExponentialUtilities", "FastBroadcast", "LinearAlgebra", "MuladdMacro", "OrdinaryDiffEqCore", "OrdinaryDiffEqDifferentiation", "RecursiveArrayTools", "Reexport", "SciMLBase"] -git-tree-sha1 = "65f2e40d7e9b1415c41838ec762777a4c36e4804" +git-tree-sha1 = "32fb54c8000c82fd32c55f7bf52f4651a3bd0e61" uuid = "e0540318-69ee-4070-8777-9e2de6de23de" -version = "1.12.0" +version = "1.15.0" [[deps.OrdinaryDiffEqExtrapolation]] deps = ["ADTypes", "DiffEqBase", "FastBroadcast", "FastPower", "LinearSolve", "MuladdMacro", "OrdinaryDiffEqCore", "OrdinaryDiffEqDifferentiation", "Polyester", "RecursiveArrayTools", "Reexport", "SciMLBase"] -git-tree-sha1 = "e2f3ebd6cd7ed9c8d551fb10192644e8f6dd3cbb" +git-tree-sha1 = "57bf89f5b144f6e5af1146fb7aee1544c6b76950" uuid = "becaefa8-8ca2-5cf9-886d-c06f3d2bd2c4" -version = "1.13.0" +version = "1.18.0" [[deps.OrdinaryDiffEqFIRK]] deps = ["ADTypes", "DiffEqBase", "FastBroadcast", "FastGaussQuadrature", "FastPower", "LinearAlgebra", "LinearSolve", "MuladdMacro", "OrdinaryDiffEqCore", "OrdinaryDiffEqDifferentiation", "OrdinaryDiffEqNonlinearSolve", "Polyester", "RecursiveArrayTools", "Reexport", "SciMLBase", "SciMLOperators"] -git-tree-sha1 = "cbb6a36f09f1357a526c55a0a6805b60121eafb8" +git-tree-sha1 = "3339f3a26974a37666c74b95bdb54aefc63b9a56" uuid = "5960d6e9-dd7a-4743-88e7-cf307b64f125" -version = "1.20.0" +version = "1.26.0" [[deps.OrdinaryDiffEqFeagin]] deps = ["DiffEqBase", "FastBroadcast", "MuladdMacro", "OrdinaryDiffEqCore", "Polyester", "RecursiveArrayTools", "Reexport", "SciMLBase", "Static"] -git-tree-sha1 = "b2e0a69ad0eb515f2b30d412463a29b3aad13b4f" +git-tree-sha1 = "302999c99bc454cf274d39b9ba3c2415f6fbb1cb" uuid = "101fe9f7-ebb6-4678-b671-3a81e7194747" -version = "1.9.0" +version = "1.10.0" [[deps.OrdinaryDiffEqFunctionMap]] deps = ["DiffEqBase", "FastBroadcast", "MuladdMacro", "OrdinaryDiffEqCore", "RecursiveArrayTools", "Reexport", "SciMLBase", "Static"] -git-tree-sha1 = "f95b2b7eb76eafefc2751cd214ba13e661ec8826" +git-tree-sha1 = "2d2d59f9e530bca2f99934ecfde5430f6ad54bfe" uuid = "d3585ca7-f5d3-4ba6-8057-292ed1abd90f" -version = "1.10.0" +version = "1.11.0" [[deps.OrdinaryDiffEqHighOrderRK]] deps = ["DiffEqBase", "FastBroadcast", "MuladdMacro", "OrdinaryDiffEqCore", "RecursiveArrayTools", "Reexport", "SciMLBase", "Static"] -git-tree-sha1 = "75a70f1e0dcb05f7fd3052447475771c697f9581" +git-tree-sha1 = "a6fef72198944e64e0d818f2cc46275e663370c9" uuid = "d28bc4f8-55e1-4f49-af69-84c1a99f0f58" -version = "1.10.0" +version = "1.12.0" [[deps.OrdinaryDiffEqIMEXMultistep]] deps = ["ADTypes", "DiffEqBase", "FastBroadcast", "OrdinaryDiffEqCore", "OrdinaryDiffEqDifferentiation", "OrdinaryDiffEqNonlinearSolve", "Reexport", "SciMLBase"] -git-tree-sha1 = "23602428114124a3e3df85fcbc5b461c79fb91bf" +git-tree-sha1 = "bd5440f7f09ce75df59e7f5d2f5b8e52d24aae3c" uuid = "9f002381-b378-40b7-97a6-27a27c83f129" -version = "1.11.0" +version = "1.14.0" [[deps.OrdinaryDiffEqLinear]] deps = ["DiffEqBase", "ExponentialUtilities", "LinearAlgebra", "OrdinaryDiffEqCore", "RecursiveArrayTools", "Reexport", "SciMLBase", "SciMLOperators"] -git-tree-sha1 = "e5704f7e11e97fff61973d59d24ec34cd92fccc1" +git-tree-sha1 = "a1217ddfc979da3a2d9cf11b083688562e8ef333" uuid = "521117fe-8c41-49f8-b3b6-30780b3f0fb5" -version = "1.11.0" +version = "1.12.0" [[deps.OrdinaryDiffEqLowOrderRK]] deps = ["DiffEqBase", "FastBroadcast", "LinearAlgebra", "MuladdMacro", "OrdinaryDiffEqCore", "RecursiveArrayTools", "Reexport", "SciMLBase", "Static"] -git-tree-sha1 = "78223e34d4988070443465cd3f2bdc38d6bd14b0" +git-tree-sha1 = "68a5e7e1b37933841e823a588deff3ec3e757a00" uuid = "1344f307-1e59-4825-a18e-ace9aa3fa4c6" -version = "1.10.0" +version = "1.13.0" [[deps.OrdinaryDiffEqLowStorageRK]] -deps = ["Adapt", "DiffEqBase", "FastBroadcast", "MuladdMacro", "OrdinaryDiffEqCore", "Polyester", "PrecompileTools", "Preferences", "RecursiveArrayTools", "Reexport", "SciMLBase", "Static", "StaticArrays"] -git-tree-sha1 = "708c362418bd4503fd158f4f4e53151fbe57b46a" +deps = ["Adapt", "DiffEqBase", "FastBroadcast", "MuladdMacro", "OrdinaryDiffEqCore", "Polyester", "PrecompileTools", "Preferences", "RecursiveArrayTools", "Reexport", "SciMLBase", "Static"] +git-tree-sha1 = "076ac77cee882b2f4858292dde748c8b2ab908e7" uuid = "b0944070-b475-4768-8dec-fb6eb410534d" -version = "1.11.0" +version = "1.15.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" +deps = ["ADTypes", "ArrayInterface", "DiffEqBase", "FastBroadcast", "FastClosures", "ForwardDiff", "LinearAlgebra", "LinearSolve", "MuladdMacro", "NonlinearSolve", "OrdinaryDiffEqCore", "OrdinaryDiffEqDifferentiation", "PreallocationTools", "RecursiveArrayTools", "SciMLBase", "SciMLOperators", "SciMLStructures", "SimpleNonlinearSolve", "SparseArrays", "StaticArraysCore"] +git-tree-sha1 = "82dde00dc43d5a4762cf50fa070b654cc38a2e87" uuid = "127b3ac7-2247-4354-8eb6-78cf4e7c58e8" -version = "1.19.0" +version = "1.28.0" [[deps.OrdinaryDiffEqNordsieck]] deps = ["DiffEqBase", "FastBroadcast", "LinearAlgebra", "MuladdMacro", "OrdinaryDiffEqCore", "OrdinaryDiffEqTsit5", "Polyester", "RecursiveArrayTools", "Reexport", "SciMLBase", "Static"] -git-tree-sha1 = "05f3319c3bf1440897dc613194eb3db4d2d3e692" +git-tree-sha1 = "21117475cb0d27942d31e4b8a27337392ae680b0" uuid = "c9986a66-5c92-4813-8696-a7ec84c806c8" -version = "1.8.0" +version = "1.11.0" [[deps.OrdinaryDiffEqPDIRK]] -deps = ["ADTypes", "DiffEqBase", "FastBroadcast", "MuladdMacro", "OrdinaryDiffEqCore", "OrdinaryDiffEqDifferentiation", "OrdinaryDiffEqNonlinearSolve", "Polyester", "Reexport", "SciMLBase", "StaticArrays"] -git-tree-sha1 = "7d63467f59f6504672ba93226f156f99c6095f60" +deps = ["ADTypes", "DiffEqBase", "FastBroadcast", "MuladdMacro", "OrdinaryDiffEqCore", "OrdinaryDiffEqDifferentiation", "OrdinaryDiffEqNonlinearSolve", "Polyester", "Reexport", "SciMLBase"] +git-tree-sha1 = "1aaaa4851bbe72497c9d01d69fa36396ddeb0a0a" uuid = "5dd0a6cf-3d4b-4314-aa06-06d4e299bc89" -version = "1.10.0" +version = "1.14.0" [[deps.OrdinaryDiffEqPRK]] deps = ["DiffEqBase", "FastBroadcast", "MuladdMacro", "OrdinaryDiffEqCore", "Polyester", "Reexport", "SciMLBase"] -git-tree-sha1 = "055b0cc0eacd4821b25a60b17e0615836e373821" +git-tree-sha1 = "1fe4f58f170c68b187ac42dc5f00932bb162ddfa" uuid = "5b33eab2-c0f1-4480-b2c3-94bc1e80bda1" -version = "1.9.0" +version = "1.10.0" [[deps.OrdinaryDiffEqQPRK]] deps = ["DiffEqBase", "FastBroadcast", "MuladdMacro", "OrdinaryDiffEqCore", "RecursiveArrayTools", "Reexport", "SciMLBase", "Static"] -git-tree-sha1 = "ce2d279addbc1a05f3c058a0319d7661cdbfe787" +git-tree-sha1 = "275900d64ab7be5f1bca8c7bfd48166838b6ab44" uuid = "04162be5-8125-4266-98ed-640baecc6514" -version = "1.9.0" +version = "1.10.0" [[deps.OrdinaryDiffEqRKN]] deps = ["DiffEqBase", "FastBroadcast", "MuladdMacro", "OrdinaryDiffEqCore", "Polyester", "RecursiveArrayTools", "Reexport", "SciMLBase"] -git-tree-sha1 = "e86e67113c7d228c0d54b3f72176109c4608648d" +git-tree-sha1 = "edf3411246d6030e165a5fba513cbdcde5c72f79" uuid = "af6ede74-add8-4cfd-b1df-9a4dbb109d7a" -version = "1.11.0" +version = "1.12.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" +git-tree-sha1 = "3579d9272c286ffcceee794c5752e8cc7c3ae514" uuid = "43230ef6-c299-4910-a778-202eb28ce4ce" -version = "1.22.0" +version = "1.31.1" [[deps.OrdinaryDiffEqSDIRK]] -deps = ["ADTypes", "DiffEqBase", "FastBroadcast", "LinearAlgebra", "MacroTools", "MuladdMacro", "OrdinaryDiffEqCore", "OrdinaryDiffEqDifferentiation", "OrdinaryDiffEqNonlinearSolve", "RecursiveArrayTools", "Reexport", "SciMLBase", "TruncatedStacktraces"] -git-tree-sha1 = "5d0a230f4e431e53af19502eaea8778f8f15edd4" +deps = ["ADTypes", "DiffEqBase", "FastBroadcast", "LinearAlgebra", "MacroTools", "MuladdMacro", "OrdinaryDiffEqCore", "OrdinaryDiffEqDifferentiation", "OrdinaryDiffEqNonlinearSolve", "PrecompileTools", "Preferences", "RecursiveArrayTools", "Reexport", "SciMLBase", "TruncatedStacktraces"] +git-tree-sha1 = "c5e26fbadbad137fa2b7e3161a290a1becfec502" uuid = "2d112036-d095-4a1e-ab9a-08536f3ecdbf" -version = "1.11.0" +version = "1.14.0" [[deps.OrdinaryDiffEqSSPRK]] -deps = ["DiffEqBase", "FastBroadcast", "MuladdMacro", "OrdinaryDiffEqCore", "Polyester", "PrecompileTools", "Preferences", "RecursiveArrayTools", "Reexport", "SciMLBase", "Static", "StaticArrays"] -git-tree-sha1 = "5cad7fb244bf163df45deff09be5be9f05b32d29" +deps = ["DiffEqBase", "FastBroadcast", "MuladdMacro", "OrdinaryDiffEqCore", "Polyester", "PrecompileTools", "Preferences", "RecursiveArrayTools", "Reexport", "SciMLBase", "Static"] +git-tree-sha1 = "4ec0be19f8115889f61643fc25f6e3af5cd4c9e7" uuid = "669c94d9-1f4b-4b64-b377-1aa079aa2388" -version = "1.12.0" +version = "1.14.0" [[deps.OrdinaryDiffEqStabilizedIRK]] -deps = ["ADTypes", "DiffEqBase", "FastBroadcast", "MuladdMacro", "OrdinaryDiffEqCore", "OrdinaryDiffEqDifferentiation", "OrdinaryDiffEqNonlinearSolve", "OrdinaryDiffEqStabilizedRK", "RecursiveArrayTools", "Reexport", "SciMLBase", "StaticArrays"] -git-tree-sha1 = "1719060baf014a3c1a6506113bc09d82a0903f0e" +deps = ["ADTypes", "DiffEqBase", "FastBroadcast", "MuladdMacro", "OrdinaryDiffEqCore", "OrdinaryDiffEqDifferentiation", "OrdinaryDiffEqNonlinearSolve", "OrdinaryDiffEqStabilizedRK", "RecursiveArrayTools", "Reexport", "SciMLBase"] +git-tree-sha1 = "226226d334fe295885df6ecb2d110c22ead79983" uuid = "e3e12d00-db14-5390-b879-ac3dd2ef6296" -version = "1.10.0" +version = "1.14.0" [[deps.OrdinaryDiffEqStabilizedRK]] -deps = ["DiffEqBase", "FastBroadcast", "MuladdMacro", "OrdinaryDiffEqCore", "RecursiveArrayTools", "Reexport", "SciMLBase", "StaticArrays"] -git-tree-sha1 = "6382a6caa2cc4488f4b9654ca5f26ad0130bec7b" +deps = ["DiffEqBase", "FastBroadcast", "MuladdMacro", "OrdinaryDiffEqCore", "RecursiveArrayTools", "Reexport", "SciMLBase", "StaticArraysCore"] +git-tree-sha1 = "764e11fb6a26ee8f2d2d10778d531fd708f35d28" uuid = "358294b1-0aab-51c3-aafe-ad5ab194a2ad" -version = "1.9.0" +version = "1.11.1" [[deps.OrdinaryDiffEqSymplecticRK]] deps = ["DiffEqBase", "FastBroadcast", "MuladdMacro", "OrdinaryDiffEqCore", "Polyester", "RecursiveArrayTools", "Reexport", "SciMLBase"] -git-tree-sha1 = "7276967b405c048adb52a090f1c5b1df88501631" +git-tree-sha1 = "b18a4e7973e73e84cfd79222e2389565b323b588" uuid = "fa646aed-7ef9-47eb-84c4-9443fc8cbfa8" -version = "1.12.0" +version = "1.13.0" [[deps.OrdinaryDiffEqTsit5]] deps = ["DiffEqBase", "FastBroadcast", "LinearAlgebra", "MuladdMacro", "OrdinaryDiffEqCore", "PrecompileTools", "Preferences", "RecursiveArrayTools", "Reexport", "SciMLBase", "Static", "TruncatedStacktraces"] -git-tree-sha1 = "6e6173f4d0db8b8136d5fccdcdb7e8abe800a352" +git-tree-sha1 = "6bd89fce8a0b198ac9fe98dc80362a92a2a13ae5" uuid = "b1df2697-797e-41e3-8120-5422d3b24e4a" -version = "1.10.0" +version = "1.12.0" [[deps.OrdinaryDiffEqVerner]] deps = ["DiffEqBase", "FastBroadcast", "LinearAlgebra", "MuladdMacro", "OrdinaryDiffEqCore", "Polyester", "PrecompileTools", "Preferences", "RecursiveArrayTools", "Reexport", "SciMLBase", "Static", "TruncatedStacktraces"] -git-tree-sha1 = "5ca5dbbfea89e14f283ce9fe2301c528ff4ec007" +git-tree-sha1 = "58dc7756825ca46e5a601a5aeba7d26a071d373a" uuid = "79d7bb75-1356-48c1-b8c0-6832512096c2" -version = "1.11.0" +version = "1.14.0" [[deps.PCRE2_jll]] deps = ["Artifacts", "Libdl"] @@ -2022,9 +2084,9 @@ version = "10.42.0+1" [[deps.PDMats]] deps = ["LinearAlgebra", "SparseArrays", "SuiteSparse"] -git-tree-sha1 = "e4cff168707d441cd6bf3ff7e4832bdf34278e4a" +git-tree-sha1 = "26766d4b5f1a410c218a19b85a672c6edb693c65" uuid = "90014a1f-27ba-587c-ab20-58faa44d9150" -version = "0.11.37" +version = "0.11.40" weakdeps = ["StatsBase"] [deps.PDMats.extensions] @@ -2038,15 +2100,15 @@ 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" +git-tree-sha1 = "58e5ed5e386e156bd93e86b305ebd21ac63d2d04" uuid = "36c8627f-9965-5494-a995-c6b170f724f3" -version = "1.57.0+0" +version = "1.57.1+0" [[deps.Parsers]] deps = ["Dates", "PrecompileTools", "UUIDs"] -git-tree-sha1 = "7d2f8f21da5db6a806faf7b9b292296da42b2810" +git-tree-sha1 = "32a4e09c5f29402573d673901778a0e03b0807b9" uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0" -version = "2.8.3" +version = "2.8.6" [[deps.PauliPropagation]] deps = ["BitIntegers", "Bits", "LinearAlgebra", "Random", "StatsBase", "Test"] @@ -2062,9 +2124,9 @@ version = "0.4.23" [[deps.Pixman_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LLVMOpenMP_jll", "Libdl"] -git-tree-sha1 = "db76b1ecd5e9715f3d043cec13b2ec93ce015d53" +git-tree-sha1 = "e4a6721aa89e62e5d4217c0b21bd714263779dda" uuid = "30392449-352a-5448-841d-b1acce4e97dc" -version = "0.44.2+0" +version = "0.46.4+0" [[deps.Pkg]] deps = ["Artifacts", "Dates", "Downloads", "FileWatching", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "Random", "SHA", "TOML", "Tar", "UUIDs", "p7zip_jll"] @@ -2147,16 +2209,18 @@ version = "0.2.4" [[deps.PreallocationTools]] deps = ["Adapt", "ArrayInterface", "PrecompileTools"] -git-tree-sha1 = "e16b73bf892c55d16d53c9c0dbd0fb31cb7e25da" +git-tree-sha1 = "920abd8738c02528d1078885e07bbd57939fc949" uuid = "d236fae5-4411-538c-8e31-a6e3d9e00b46" -version = "1.2.0" +version = "1.3.0" [deps.PreallocationTools.extensions] + PreallocationToolsEnzymeCoreExt = "EnzymeCore" PreallocationToolsForwardDiffExt = "ForwardDiff" PreallocationToolsReverseDiffExt = "ReverseDiff" PreallocationToolsSparseConnectivityTracerExt = "SparseConnectivityTracer" [deps.PreallocationTools.weakdeps] + EnzymeCore = "f151be2c-9106-41f4-ab19-57ee4f262869" ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" ReverseDiff = "37e2e3b7-166d-5795-8a7a-e32c996b4267" SparseConnectivityTracer = "9f842d2f-2579-4b1d-911e-f412cf18a3f5" @@ -2184,15 +2248,21 @@ 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.PureKLU]] +deps = ["LinearAlgebra", "MuladdMacro", "PrecompileTools", "SparseArrays"] +git-tree-sha1 = "c24613c5ca510086fb22fe891d48d8969839dae1" +uuid = "0c0d3e7f-3a8b-4f7e-b6f1-9a4d2e7c1f01" +version = "1.1.1" +weakdeps = ["ForwardDiff"] + + [deps.PureKLU.extensions] + PureKLUForwardDiffExt = "ForwardDiff" + [[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" @@ -2201,33 +2271,39 @@ version = "3.11.12+0" [[deps.Qiskit]] deps = ["CEnum", "Compat", "Libdl", "Qiskit_jll"] -git-tree-sha1 = "bef356714b8612dcd9c8623b0544608c0cfe89a7" +git-tree-sha1 = "9c04e244d197abb65315a8fe1b90d6fb02785b72" uuid = "91d9a17d-f964-4b6c-a3c4-2f4cfdea2c95" -version = "0.4.0" +version = "0.5.1" + + [deps.Qiskit.extensions] + QiskitUnitfulExt = "Unitful" + + [deps.Qiskit.weakdeps] + Unitful = "1986cc42-f94f-5a68-af5c-568840ba703d" [[deps.QiskitIBMRuntime]] deps = ["CEnum", "Compat", "Dates", "Libdl", "Qiskit", "qiskit_ibm_runtime_jll"] -git-tree-sha1 = "eaf29b815d277d79ce246c872e6a2ba7eb6c921e" +git-tree-sha1 = "2732c577e98e6c95c998e55a2083cb5a6541117d" uuid = "1f74880b-c9c8-4af4-a333-b5b4aaaec6f5" -version = "0.2.0" +version = "0.2.1" [[deps.Qiskit_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Python_jll"] -git-tree-sha1 = "73ce450e9f1725c1fa608fa86ad960d75aa08e83" +git-tree-sha1 = "bb935825490e3a597cdd056091e7254342de2788" uuid = "b54e8e98-f244-53b3-a8e8-4727a4907f76" -version = "2.2.3+1" +version = "2.4.2+0" [[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" +git-tree-sha1 = "144895f6166994730ee7ff8113b981fc360638f1" uuid = "c0090381-4147-56d7-9ebc-da0b1113ec56" -version = "6.10.2+1" +version = "6.10.2+2" [[deps.Qt6Declarative_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Qt6Base_jll", "Qt6ShaderTools_jll", "Qt6Svg_jll"] -git-tree-sha1 = "d5b7dd0e226774cbd87e2790e34def09245c7eab" +git-tree-sha1 = "159d253ab126d5b29230cf53521899bea4ef4648" uuid = "629bc702-f1f5-5709-abd5-49b8460ea067" -version = "6.10.2+1" +version = "6.10.2+2" [[deps.Qt6ShaderTools_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Qt6Base_jll"] @@ -2293,12 +2369,13 @@ version = "0.6.12" [[deps.RecursiveArrayTools]] deps = ["Adapt", "ArrayInterface", "DocStringExtensions", "GPUArraysCore", "LinearAlgebra", "PrecompileTools", "RecipesBase", "StaticArraysCore", "SymbolicIndexingInterface"] -git-tree-sha1 = "76a9c4d3f7b256dd34074e714ffe0ced8d3d21de" +git-tree-sha1 = "d0282d612f22dcad7b81cf487b746e63aa2a6709" uuid = "731186ca-8d62-57ce-b412-fbd966d074cd" -version = "3.50.0" +version = "3.54.0" [deps.RecursiveArrayTools.extensions] RecursiveArrayToolsFastBroadcastExt = "FastBroadcast" + RecursiveArrayToolsFastBroadcastPolyesterExt = ["FastBroadcast", "Polyester"] RecursiveArrayToolsForwardDiffExt = "ForwardDiff" RecursiveArrayToolsKernelAbstractionsExt = "KernelAbstractions" RecursiveArrayToolsMeasurementsExt = "Measurements" @@ -2317,6 +2394,7 @@ version = "3.50.0" KernelAbstractions = "63c18a36-062a-441e-b654-da1e3ab1ce7c" Measurements = "eff96d63-e80a-5855-80a2-b1b0885c5ab7" MonteCarloMeasurements = "0987c9cc-fe09-11e8-30f0-b96dd679fdca" + Polyester = "f517fe37-dbe3-4b94-8317-1923a5111588" ReverseDiff = "37e2e3b7-166d-5795-8a7a-e32c996b4267" SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" @@ -2349,10 +2427,10 @@ 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" +deps = ["CRC32c", "CodeTracking", "FileWatching", "JuliaInterpreter", "LibGit2", "LoweredCodeUtils", "OrderedCollections", "Preferences", "REPL", "UUIDs"] +git-tree-sha1 = "6098400ed73008c45f5f47b35ae114475436ad37" uuid = "295af30f-e4ad-537b-8983-00126c2a3abe" -version = "3.14.1" +version = "3.16.2" weakdeps = ["Distributed"] [deps.Revise.extensions] @@ -2376,11 +2454,33 @@ git-tree-sha1 = "58cdd8fb2201a6267e1db87ff148dd6c1dbd8ad8" uuid = "f50d1b31-88e8-58de-be2c-1cc44531875f" version = "0.5.1+0" +[[deps.Roots]] +deps = ["Accessors", "CommonSolve", "Printf"] +git-tree-sha1 = "7fb25a964849d90a0446366cdefca822e0e84900" +uuid = "f2b01f46-fcfa-551c-844a-d8ac1e96c665" +version = "3.0.6" + + [deps.Roots.extensions] + RootsChainRulesCoreExt = "ChainRulesCore" + RootsForwardDiffExt = "ForwardDiff" + RootsIntervalRootFindingExt = "IntervalRootFinding" + RootsSymPyExt = "SymPy" + RootsSymPyPythonCallExt = "SymPyPythonCall" + RootsUnitfulExt = "Unitful" + + [deps.Roots.weakdeps] + ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" + ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" + IntervalRootFinding = "d2bf35a9-74e0-55ec-b149-d360ff49b807" + SymPy = "24249f21-da20-56a4-8eb1-6a02cf4ae2e6" + SymPyPythonCall = "bc8888f7-b21e-4b7c-a06a-5d9c9496438c" + Unitful = "1986cc42-f94f-5a68-af5c-568840ba703d" + [[deps.RuntimeGeneratedFunctions]] deps = ["ExprTools", "SHA", "Serialization"] -git-tree-sha1 = "7257165d5477fd1025f7cb656019dcb6b0512c38" +git-tree-sha1 = "0e3eba2ca347b001baade9fb830623e04da64b38" uuid = "7e49a35a-f44a-4d26-94aa-eba1b4ca6b47" -version = "0.5.17" +version = "0.5.22" [[deps.SHA]] uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce" @@ -2393,15 +2493,15 @@ version = "0.1.0" [[deps.SQLite_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Zlib_jll", "dlfcn_win32_jll"] -git-tree-sha1 = "0b5f220f90642566b65ba86549d1ee4118ab2579" +git-tree-sha1 = "324744e40b84e6dc2cfaa4122ce969a083c40a6f" uuid = "76ed43ae-9a5d-5a62-8c75-30186b810ce8" -version = "3.51.2+0" +version = "3.53.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" +git-tree-sha1 = "a017ed325ac5e11438c888864fe83b124bb171b7" uuid = "0bca4576-84f4-4d90-8ffe-ffa030f20462" -version = "2.153.1" +version = "2.155.1" [deps.SciMLBase.extensions] SciMLBaseChainRulesCoreExt = "ChainRulesCore" @@ -2444,15 +2544,15 @@ version = "2.153.1" [[deps.SciMLJacobianOperators]] deps = ["ADTypes", "ArrayInterface", "ConcreteStructs", "ConstructionBase", "DifferentiationInterface", "FastClosures", "LinearAlgebra", "SciMLBase", "SciMLOperators"] -git-tree-sha1 = "e96d5e96debf7f80a50d0b976a13dea556ccfd3a" +git-tree-sha1 = "396fd0f85b71f87111618e1cbe6608a1bcc8a447" uuid = "19f34311-ddf3-4b8b-af20-060888a46c0e" -version = "0.1.12" +version = "0.1.16" [[deps.SciMLLogging]] deps = ["Logging", "LoggingExtras", "Preferences"] -git-tree-sha1 = "0161be062570af4042cf6f69e3d5d0b0555b6927" +git-tree-sha1 = "4e1e21f14a284f892eb62923a356c70a2a0c68e1" uuid = "a6db7da4-7206-11f0-1eab-35f2a5dbe1d1" -version = "1.9.1" +version = "1.10.1" [deps.SciMLLogging.extensions] SciMLLoggingTracyExt = "Tracy" @@ -2461,26 +2561,31 @@ version = "1.9.1" Tracy = "e689c965-62c8-4b79-b2c5-8359227902fd" [[deps.SciMLOperators]] -deps = ["Accessors", "ArrayInterface", "DocStringExtensions", "LinearAlgebra"] -git-tree-sha1 = "234869cf9fee9258a95464b7a7065cc7be84db00" +deps = ["Accessors", "Adapt", "ArrayInterface", "DocStringExtensions", "LinearAlgebra"] +git-tree-sha1 = "10e4313d1bce847140611c12469ce532ffbdf3dd" uuid = "c0aeaf25-5076-4817-a8d5-81caf7dfa961" -version = "1.16.0" -weakdeps = ["SparseArrays", "StaticArraysCore"] +version = "1.25.0" [deps.SciMLOperators.extensions] + SciMLOperatorsLoopVectorizationExt = "LoopVectorization" SciMLOperatorsSparseArraysExt = "SparseArrays" SciMLOperatorsStaticArraysCoreExt = "StaticArraysCore" + [deps.SciMLOperators.weakdeps] + LoopVectorization = "bdcacae8-1622-11e9-2a5c-532679323890" + SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" + StaticArraysCore = "1e83bf80-4336-4d27-bf5d-d5a4f845583c" + [[deps.SciMLPublic]] -git-tree-sha1 = "0ba076dbdce87ba230fff48ca9bca62e1f345c9b" +git-tree-sha1 = "24ff31136f3f991b74fbef71d5c638e2881d29d2" uuid = "431bcebd-1456-4ced-9d72-93c2757fff0b" -version = "1.0.1" +version = "1.2.3" [[deps.SciMLStructures]] deps = ["ArrayInterface", "PrecompileTools"] -git-tree-sha1 = "607f6867d0b0553e98fc7f725c9f9f13b4d01a32" +git-tree-sha1 = "14d4ca3d334637233b9f730d2b9e6061e6338122" uuid = "53ae85a6-f571-4167-b2af-e1d143709226" -version = "1.10.0" +version = "1.10.3" [[deps.Scratch]] deps = ["Dates"] @@ -2534,15 +2639,15 @@ 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" +git-tree-sha1 = "34ce9c7e74b4d326a964dd68d73bec61b52c2bbe" uuid = "55797a34-41de-5266-9ec1-32ac4eb504d3" -version = "0.8.9" +version = "0.8.10" [[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" +git-tree-sha1 = "08d8bafd57b7ea16dc1f69a8bd57db23a2ceb686" uuid = "727e6d20-b764-4bd8-a329-72de5adea6c7" -version = "2.11.0" +version = "2.12.0" [deps.SimpleNonlinearSolve.extensions] SimpleNonlinearSolveChainRulesCoreExt = "ChainRulesCore" @@ -2574,9 +2679,9 @@ version = "0.3.2" [[deps.SimpleTraits]] deps = ["InteractiveUtils", "MacroTools"] -git-tree-sha1 = "be8eeac05ec97d379347584fa9fe2f5f76795bcb" +git-tree-sha1 = "7ddb0b49c109481b046972c0e4ab02b2127d6a75" uuid = "699a6c99-e7fa-54fc-8d76-47d257e15c1d" -version = "0.9.5" +version = "0.9.6" [[deps.Sockets]] uuid = "6462fe0b-24de-5631-8697-dd941f90decc" @@ -2584,39 +2689,52 @@ version = "1.11.0" [[deps.SortingAlgorithms]] deps = ["DataStructures"] -git-tree-sha1 = "64d974c2e6fdf07f8155b5b2ca2ffa9069b608d9" +git-tree-sha1 = "13cd91cc9be159e3f4d95b857fa2aa383b53772a" uuid = "a2af1166-a08f-5f64-846c-94a0d3cef48c" -version = "1.2.2" +version = "1.2.3" [[deps.SparseArrays]] deps = ["Libdl", "LinearAlgebra", "Random", "Serialization", "SuiteSparse_jll"] uuid = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" version = "1.11.0" +[[deps.SparseColumnPivotedQR]] +deps = ["LinearAlgebra", "PrecompileTools", "SparseArrays"] +git-tree-sha1 = "cd2b583a035b559dbd7c3a9a88c43dc2a86203ca" +uuid = "a57abbd0-fea5-4d57-96be-5e525945e8e4" +version = "2.1.4" +weakdeps = ["AMD"] + + [deps.SparseColumnPivotedQR.extensions] + SparseColumnPivotedQRAMDExt = "AMD" + [[deps.SparseMatrixColorings]] deps = ["ADTypes", "DocStringExtensions", "LinearAlgebra", "PrecompileTools", "Random", "SparseArrays"] -git-tree-sha1 = "1c1be8c6fdfaf9b6c9e156c509e672953b8e6af7" +git-tree-sha1 = "f63d76c7b7c329cf11badd564fd8ba877b09c3fe" uuid = "0a514795-09f3-496d-8182-132a7b665d35" -version = "0.4.26" +version = "0.4.27" [deps.SparseMatrixColorings.extensions] - SparseMatrixColoringsCUDAExt = "CUDA" + SparseMatrixColoringsCUDAExt = ["CUDA", "cuSPARSE"] SparseMatrixColoringsCliqueTreesExt = "CliqueTrees" SparseMatrixColoringsColorsExt = "Colors" + SparseMatrixColoringsGPUArraysExt = "GPUArrays" SparseMatrixColoringsJuMPExt = ["JuMP", "MathOptInterface"] [deps.SparseMatrixColorings.weakdeps] CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba" CliqueTrees = "60701a23-6482-424a-84db-faee86b9b1f8" Colors = "5ae59095-9a9b-59fe-a467-6f913c188581" + GPUArrays = "0c68f7d7-f131-5f86-a1c3-88cf8149b2d7" JuMP = "4076af6c-e467-56ae-b986-b466b2749572" MathOptInterface = "b8f27783-ece8-5eb3-8dc8-9495eed66fee" + cuSPARSE = "b26da814-b3bc-49ef-b0ee-c816305aa060" [[deps.SpecialFunctions]] deps = ["IrrationalConstants", "LogExpFunctions", "OpenLibm_jll", "OpenSpecFun_jll"] -git-tree-sha1 = "2700b235561b0335d5bef7097a111dc513b8655e" +git-tree-sha1 = "6547cbdd8ce32efba0d21c5a40fa96d1a3548f9f" uuid = "276daf66-3868-5448-9aa4-cd146d93841b" -version = "2.7.2" +version = "2.8.0" weakdeps = ["ChainRulesCore"] [deps.SpecialFunctions.extensions] @@ -2624,9 +2742,9 @@ weakdeps = ["ChainRulesCore"] [[deps.SplitApplyCombine]] deps = ["Dictionaries", "Indexing"] -git-tree-sha1 = "c06d695d51cfb2187e6848e98d6252df9101c588" +git-tree-sha1 = "55db78e829cf726162fc4fc1b30d05f92092f3f6" uuid = "03a91e81-4c3e-53e1-a0a4-9c0c8f19dd66" -version = "1.2.3" +version = "1.3.0" [[deps.SplittablesBase]] deps = ["Setfield", "Test"] @@ -2642,15 +2760,15 @@ version = "1.0.4" [[deps.Static]] deps = ["CommonWorldInvalidations", "IfElse", "PrecompileTools", "SciMLPublic"] -git-tree-sha1 = "49440414711eddc7227724ae6e570c7d5559a086" +git-tree-sha1 = "5ef96deaf82834d64e1456c6a6665ca4188afd48" uuid = "aedffcd0-7271-4cad-89d0-dc628f76c6d3" -version = "1.3.1" +version = "1.4.4" [[deps.StaticArrayInterface]] deps = ["ArrayInterface", "Compat", "IfElse", "LinearAlgebra", "PrecompileTools", "SciMLPublic", "Static"] -git-tree-sha1 = "aa1ea41b3d45ac449d10477f65e2b40e3197a0d2" +git-tree-sha1 = "2a635e15d5035c53b345077c947f31ff91744078" uuid = "0d7ed370-da01-4f52-bd93-41d350b8b718" -version = "1.9.0" +version = "1.10.0" weakdeps = ["OffsetArrays", "StaticArrays"] [deps.StaticArrayInterface.extensions] @@ -2691,15 +2809,15 @@ version = "1.8.0" [[deps.StatsBase]] deps = ["AliasTables", "DataAPI", "DataStructures", "IrrationalConstants", "LinearAlgebra", "LogExpFunctions", "Missings", "Printf", "Random", "SortingAlgorithms", "SparseArrays", "Statistics", "StatsAPI"] -git-tree-sha1 = "aceda6f4e598d331548e04cc6b2124a6148138e3" +git-tree-sha1 = "e4d7a1a0edc20af42689ea6f4f3587a2175d50ee" uuid = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91" -version = "0.34.10" +version = "0.34.12" [[deps.StatsFuns]] deps = ["HypergeometricFunctions", "IrrationalConstants", "LogExpFunctions", "Reexport", "Rmath", "SpecialFunctions"] -git-tree-sha1 = "91f091a8716a6bb38417a6e6f274602a19aaa685" +git-tree-sha1 = "770240df9a3b8888065046948f7a09b4e0f997d5" uuid = "4c63d2b9-4356-54db-8cca-17b64c39e42c" -version = "1.5.2" +version = "2.2.0" weakdeps = ["ChainRulesCore", "InverseFunctions"] [deps.StatsFuns.extensions] @@ -2708,51 +2826,52 @@ weakdeps = ["ChainRulesCore", "InverseFunctions"] [[deps.StrideArraysCore]] deps = ["ArrayInterface", "CloseOpenIntervals", "IfElse", "LayoutPointers", "LinearAlgebra", "ManualMemory", "SIMDTypes", "Static", "StaticArrayInterface", "ThreadingUtilities"] -git-tree-sha1 = "83151ba8065a73f53ca2ae98bc7274d817aa30f2" +git-tree-sha1 = "5316097111523c9a970596a5b33cfea5f92e8581" uuid = "7792a7ef-975c-4747-a70f-980b88e8d1da" -version = "0.5.8" +version = "0.5.9" [[deps.Strided]] -deps = ["LinearAlgebra", "StridedViews", "TupleTools"] -git-tree-sha1 = "fd1bfd5f6f614f5bb0888a8374a31bcfc98070cc" +deps = ["LinearAlgebra", "PrecompileTools", "StridedViews", "TupleTools"] +git-tree-sha1 = "5fa7f6845c91e6e351880cee67a9efc3b892bd3b" uuid = "5e0ebb24-38b0-5f93-81fe-25c709ecae67" -version = "2.3.5" +version = "2.6.4" [deps.Strided.extensions] StridedAMDGPUExt = "AMDGPU" - StridedCUDAExt = "CUDA" StridedGPUArraysExt = "GPUArrays" - StridedJLArraysExt = "JLArrays" + StridedcuBLASExt = "cuBLAS" [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" + cuBLAS = "182d3088-87b7-4494-8cad-fc6afaa545bc" [[deps.StridedViews]] -deps = ["LinearAlgebra", "PackageExtensionCompat"] -git-tree-sha1 = "b1b42ff0249fbb02df163633adc612b943c6ac74" +deps = ["LinearAlgebra", "PrecompileTools"] +git-tree-sha1 = "21dc3942c478661f72c527ff5d67baa98e555372" uuid = "4db3bf67-4bd7-4b4e-b153-31dc3fb37143" -version = "0.4.6" +version = "0.5.2" [deps.StridedViews.extensions] StridedViewsAMDGPUExt = "AMDGPU" - StridedViewsCUDAExt = "CUDA" + StridedViewsAdaptExt = "Adapt" + StridedViewsCUDACoreExt = "CUDACore" StridedViewsJLArraysExt = "JLArrays" StridedViewsPtrArraysExt = "PtrArrays" [deps.StridedViews.weakdeps] AMDGPU = "21141c5a-9bdb-4563-92ae-f87d6854732e" - CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba" + Adapt = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" + CUDACore = "bd0ed864-bdfe-4181-a5ed-ce625a5fdea2" JLArrays = "27aeb0d3-9eb9-45fb-866b-73c2ecf80fcb" + Metal = "dde4c033-4e86-420c-a63e-0dd931031962" PtrArrays = "43287f4e-b6f4-7ad1-bb20-aadabca52c3d" [[deps.StructUtils]] deps = ["Dates", "UUIDs"] -git-tree-sha1 = "fa95b3b097bcef5845c142ea2e085f1b2591e92c" +git-tree-sha1 = "82bee338d650aa515f31866c460cb7e3bcef90b8" uuid = "ec057cc2-7a8d-4b58-b3b3-92acb9f63b42" -version = "2.7.1" +version = "2.8.2" [deps.StructUtils.extensions] StructUtilsMeasurementsExt = ["Measurements"] @@ -2785,9 +2904,9 @@ version = "0.2.8" [[deps.SymbolicIndexingInterface]] deps = ["Accessors", "ArrayInterface", "RuntimeGeneratedFunctions", "StaticArraysCore"] -git-tree-sha1 = "94c58884e013efff548002e8dc2fdd1cb74dfce5" +git-tree-sha1 = "73048fd086b7a169bbd7232bf60bfd43240691eb" uuid = "2efcf032-c050-4f8e-a9bb-153293bab1f5" -version = "0.3.46" +version = "0.3.51" [deps.SymbolicIndexingInterface.extensions] SymbolicIndexingInterfacePrettyTablesExt = "PrettyTables" @@ -2808,9 +2927,9 @@ version = "1.0.1" [[deps.Tables]] deps = ["DataAPI", "DataValueInterfaces", "IteratorInterfaceExtensions", "OrderedCollections", "TableTraits"] -git-tree-sha1 = "f2c1efbc8f3a609aadf318094f8fc5204bdaf344" +git-tree-sha1 = "0f38a06c83f0007bbab3cf911262841c9a0f07e0" uuid = "bd369af6-aec1-5ad0-b16a-f7cc5008161c" -version = "1.12.1" +version = "1.13.0" [[deps.Tar]] deps = ["ArgTools", "SHA"] @@ -2824,29 +2943,34 @@ 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" +deps = ["Adapt", "Combinatorics", "Dictionaries", "GraphRecipes", "Graphs", "ITensorMPS", "ITensors", "KrylovKit", "LinearAlgebra", "NamedGraphs", "OMEinsumContractionOrders", "PauliPropagation", "Revise", "SimpleGraphAlgorithms", "SimpleGraphConverter", "SplitApplyCombine", "Statistics", "StatsBase", "TensorOperations", "TypeParameterAccessors"] +git-tree-sha1 = "a96fb5ae03f057dfc2ccc9de24e1db8d99d1bb65" uuid = "4de3b72a-362e-43dd-83ff-3f381eda9f9c" -version = "0.3.5" +version = "0.3.11" [[deps.TensorOperations]] deps = ["LRUCache", "LinearAlgebra", "PackageExtensionCompat", "PrecompileTools", "Preferences", "PtrArrays", "Strided", "StridedViews", "TupleTools", "VectorInterface"] -git-tree-sha1 = "9e254318128d955ac429d8c6398ae3f82ba59439" +git-tree-sha1 = "c6153e90cf75256cb8b0ae451f0f7c0695dadd8d" uuid = "6aa20fa7-93e2-5fca-9bc0-fbd0db3c71a2" -version = "5.5.2" +version = "5.6.2" [deps.TensorOperations.extensions] + TensorOperationsAMDGPUExt = "AMDGPU" TensorOperationsBumperExt = "Bumper" + TensorOperationsCUDACoreExt = "CUDACore" TensorOperationsChainRulesCoreExt = "ChainRulesCore" TensorOperationsEnzymeExt = "Enzyme" + TensorOperationsJLArraysExt = "JLArrays" TensorOperationsMooncakeExt = "Mooncake" - TensorOperationscuTENSORExt = ["cuTENSOR", "CUDA"] + TensorOperationscuTENSORExt = "cuTENSOR" [deps.TensorOperations.weakdeps] + AMDGPU = "21141c5a-9bdb-4563-92ae-f87d6854732e" Bumper = "8ce10254-0962-460f-a3d8-1f77fea1446e" - CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba" + CUDACore = "bd0ed864-bdfe-4181-a5ed-ce625a5fdea2" ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" Enzyme = "7da242da-08ed-463a-9acd-ee780be4f1d9" + JLArrays = "27aeb0d3-9eb9-45fb-866b-73c2ecf80fcb" Mooncake = "da2b9cff-9c12-43a0-ae48-6db2b0edb7d6" cuTENSOR = "011b41b2-24ef-40a8-b3eb-fa098493e9e1" @@ -2863,9 +2987,9 @@ version = "0.1.0" [[deps.ThreadingUtilities]] deps = ["ManualMemory"] -git-tree-sha1 = "d969183d3d244b6c33796b5ed01ab97328f2db85" +git-tree-sha1 = "7c73336785b21f723f5b143f6e99cf6c43b37dc1" uuid = "8290d209-cae3-49c0-8002-c8c24d57dab5" -version = "0.5.5" +version = "0.5.6" [[deps.TimerOutputs]] deps = ["ExprTools", "Printf"] @@ -2906,6 +3030,12 @@ version = "0.4.85" OnlineStatsBase = "925886fa-5bf2-5e8e-b522-a9147a512338" Referenceables = "42d2dcc6-99eb-4e98-b66c-637b7d73030e" +[[deps.TreeWidthSolver]] +deps = ["AbstractTrees", "BitBasis", "Combinatorics", "Graphs", "SparseArrays"] +git-tree-sha1 = "6738f4a82bba556df9c42aed0f8642ea7344033a" +uuid = "7d267fc5-9ace-409f-a54c-cd2374872a55" +version = "0.3.5" + [[deps.TruncatedStacktraces]] deps = ["InteractiveUtils", "MacroTools", "Preferences"] git-tree-sha1 = "ea3e54c2bdde39062abf5a9758a23735558705e1" @@ -2919,9 +3049,9 @@ version = "1.6.0" [[deps.TypeParameterAccessors]] deps = ["LinearAlgebra", "SimpleTraits"] -git-tree-sha1 = "d5d7525021e8505a1b86325f0d6f7c2c08225e63" +git-tree-sha1 = "15553df00a2e5ddac528c859f356aa866f32e44d" uuid = "7e5a90cf-f82e-492e-a09b-e3e26432c138" -version = "0.3.11" +version = "0.4.23" [deps.TypeParameterAccessors.extensions] TypeParameterAccessorsAMDGPUExt = "AMDGPU" @@ -2968,9 +3098,21 @@ version = "0.2.0" [[deps.VectorInterface]] deps = ["LinearAlgebra"] -git-tree-sha1 = "9166406dedd38c111a6574e9814be83d267f8aec" +git-tree-sha1 = "949dd28df19a5bf0973214e4a9d36c19079d4d45" uuid = "409d34a3-91d5-4945-b6ec-7529ddf182d8" -version = "0.5.0" +version = "0.6.0" + + [deps.VectorInterface.extensions] + VectorInterfaceChainRulesCoreExt = "ChainRulesCore" + VectorInterfaceEnzymeExt = "Enzyme" + VectorInterfaceMooncakeExt = "Mooncake" + VectorInterfaceStaticArraysExt = "StaticArrays" + + [deps.VectorInterface.weakdeps] + ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" + Enzyme = "7da242da-08ed-463a-9acd-ee780be4f1d9" + Mooncake = "da2b9cff-9c12-43a0-ae48-6db2b0edb7d6" + StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" [[deps.Vulkan_Loader_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Wayland_jll", "Xorg_libX11_jll", "Xorg_libXrandr_jll", "xkbcommon_jll"] @@ -2992,9 +3134,9 @@ version = "1.1.0" [[deps.XML2_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Libiconv_jll", "Zlib_jll"] -git-tree-sha1 = "5c959b708667b34cb758e8d7c6f8e69b94c32deb" +git-tree-sha1 = "3f3315d89fc954a28f5b471bce698ed6e27481be" uuid = "02c8fc9c-b97f-50b9-bbe4-9be30ff0a78a" -version = "2.15.1+0" +version = "2.15.3+0" [[deps.XZ_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] @@ -3076,9 +3218,9 @@ version = "0.9.12+0" [[deps.Xorg_libpciaccess_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Zlib_jll"] -git-tree-sha1 = "4909eb8f1cbf6bd4b1c30dd18b2ead9019ef2fad" +git-tree-sha1 = "58972370b81423fc546c56a60ed1a009450177c3" uuid = "a65dc6b1-eb27-53a1-bb3e-dea574b5389e" -version = "0.18.1+0" +version = "0.19.0+0" [[deps.Xorg_libxcb_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libXau_jll", "Xorg_libXdmcp_jll"] @@ -3136,9 +3278,9 @@ version = "1.4.7+0" [[deps.Xorg_xkeyboard_config_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_xkbcomp_jll"] -git-tree-sha1 = "00af7ebdc563c9217ecc67776d1bbf037dbcebf4" +git-tree-sha1 = "2e59214e017a55cb87474a00fa76035c82ac0e17" uuid = "33bec58e-1273-512f-9401-5d533626f822" -version = "2.44.0+0" +version = "2.47.0+2" [[deps.Xorg_xtrans_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] @@ -3147,9 +3289,17 @@ uuid = "c5fb5394-a638-5e4d-96e5-b29de1b5cf10" version = "1.6.0+0" [[deps.Zeros]] -git-tree-sha1 = "60135f9a7bbcc3758ab7025f439f30067bdb9d5a" +git-tree-sha1 = "3286921ca285adecd40313c375540421be5fffeb" uuid = "bd1ec220-6eb4-527a-9b49-e79c3db6233b" -version = "0.4.0" +version = "0.5.0" + + [deps.Zeros.extensions] + ZerosRandomExt = "Random" + ZerosSIMDExt = "SIMD" + + [deps.Zeros.weakdeps] + Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" + SIMD = "fdea26ae-647d-5447-a871-4b548cad5224" [[deps.Zlib_jll]] deps = ["Libdl"] @@ -3182,9 +3332,9 @@ version = "0.61.1+0" [[deps.libaom_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "371cc681c00a3ccc3fbc5c0fb91f58ba9bec1ecf" +git-tree-sha1 = "850b06095ee71f0135d644ffd8a52850699581ed" uuid = "a4ae2306-e953-59d6-aa16-d00cac43593b" -version = "3.13.1+0" +version = "3.13.3+0" [[deps.libass_jll]] deps = ["Artifacts", "Bzip2_jll", "FreeType2_jll", "FriBidi_jll", "HarfBuzz_jll", "JLLWrappers", "Libdl", "Zlib_jll"] @@ -3205,9 +3355,9 @@ version = "0.2.2+0" [[deps.libdrm_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libpciaccess_jll"] -git-tree-sha1 = "63aac0bcb0b582e11bad965cef4a689905456c03" +git-tree-sha1 = "28e57478e8a160d346a19c28b3fffb9273bcc9c2" uuid = "8e53e030-5e6c-5a89-a30b-be5b7263a166" -version = "2.4.125+1" +version = "2.4.134+0" [[deps.libevdev_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] @@ -3229,9 +3379,9 @@ version = "1.28.1+0" [[deps.libpng_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Zlib_jll"] -git-tree-sha1 = "e2a7072fc0cdd7949528c1455a3e5da4122e1153" +git-tree-sha1 = "e51150d5ab85cee6fc36726850f0e627ad2e4aba" uuid = "b53b4c65-9356-5827-b1ea-8c7a1a84506f" -version = "1.6.56+0" +version = "1.6.58+0" [[deps.libva_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libX11_jll", "Xorg_libXext_jll", "Xorg_libXfixes_jll", "libdrm_jll"] @@ -3258,9 +3408,9 @@ version = "1.59.0+0" [[deps.oneTBB_jll]] deps = ["Artifacts", "JLLWrappers", "LazyArtifacts", "Libdl"] -git-tree-sha1 = "1350188a69a6e46f799d3945beef36435ed7262f" +git-tree-sha1 = "da8c1f6eee04831f14edcfa5dae611d309807e57" uuid = "1317d2d5-d96f-522e-a858-c73665f53c3e" -version = "2022.0.0+1" +version = "2022.3.0+0" [[deps.p7zip_jll]] deps = ["Artifacts", "Libdl"] @@ -3269,9 +3419,9 @@ version = "17.4.0+2" [[deps.qiskit_ibm_runtime_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Qiskit_jll"] -git-tree-sha1 = "1167e96e41132995b6945a0517cd505e39af887c" +git-tree-sha1 = "38f1bb63dce6b4951969ecd851cb59778a72b211" uuid = "dfd00f80-54b8-5b12-a44d-54bafd549557" -version = "0.38.0+1" +version = "0.38.1+0" [[deps.x264_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] From f08dbd795197f9eb020ba60a8c5d5ef013aa02d0 Mon Sep 17 00:00:00 2001 From: Haimeng Zhang Date: Mon, 27 Jul 2026 15:45:56 -0400 Subject: [PATCH 17/40] exclude Julia tutorial from the Ruff linter --- docs/ruff.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/ruff.toml b/docs/ruff.toml index 50ec7749e1fc..f97c32b0f3df 100644 --- a/docs/ruff.toml +++ b/docs/ruff.toml @@ -1 +1,2 @@ line-length=78 +extend-exclude = ['tutorials/time-evolution/time-evolution.ipynb'] \ No newline at end of file From 119e1586fafe6f9da210d37ad0cb656001bc85ff Mon Sep 17 00:00:00 2001 From: Haimeng Zhang Date: Mon, 27 Jul 2026 17:13:11 -0400 Subject: [PATCH 18/40] add tutorial dependency management as a self-contained inline cell --- .../time-evolution/time-evolution.ipynb | 736 +++++++++++++++--- 1 file changed, 627 insertions(+), 109 deletions(-) diff --git a/docs/tutorials/time-evolution/time-evolution.ipynb b/docs/tutorials/time-evolution/time-evolution.ipynb index d88954d977cb..9598c5f8a867 100644 --- a/docs/tutorials/time-evolution/time-evolution.ipynb +++ b/docs/tutorials/time-evolution/time-evolution.ipynb @@ -62,67 +62,585 @@ "\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", + "Then, run the following command in a terminal to install the Julia package `IJulia` into the global environment, which lets you run Julia 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", + "We will use Julia's built-in package manager to set up the project environment. There are two ways to set up the environment. \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." + "Option 1: temporary environment. You can run the following code cell to set up a temporary environment and install the required packages:\n", + "\n", + "For quantum circuit construction and execution:\n", + "* `Qiskit.jl`\n", + "* `QiskitIBMRuntime.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`\n", + "\n", + "And the standard-library packages:\n", + "* `LinearAlgebra`\n", + "* `SparseArrays`" ] }, { "cell_type": "code", - "execution_count": 1, - "id": "940631f3", + "execution_count": null, + "id": "1454cc50", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "\u001b[32m\u001b[1m Activating\u001b[22m\u001b[39m project at `~/Documents/documentation/docs/tutorials/time-evolution`\n" + "\u001b[32m\u001b[1m Activating\u001b[22m\u001b[39m new project at `/var/folders/7d/f1w39x4j6szdp40z5vzl63h40000gn/T/jl_EloT58`\n", + "\u001b[32m\u001b[1m Resolving\u001b[22m\u001b[39m package versions...\n", + "\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m OrdinaryDiffEqSDIRK ────────────── v2.8.1\n", + "\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m FindFirstFunctions ─────────────── v3.2.0\n", + "\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m OrdinaryDiffEqVerner ───────────── v2.2.0\n", + "\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m OrdinaryDiffEqRosenbrock ───────── v2.4.2\n", + "\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m OrdinaryDiffEqCore ─────────────── v4.8.0\n", + "\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m SciMLLogging ───────────────────── v2.0.3\n", + "\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m RecursiveArrayTools ────────────── v4.3.4\n", + "\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m NonlinearSolve ─────────────────── v4.21.1\n", + "\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m NonlinearSolveQuasiNewton ──────── v1.14.0\n", + "\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m OrdinaryDiffEqNonlinearSolve ───── v2.4.0\n", + "\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m BracketingNonlinearSolve ───────── v1.12.3\n", + "\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m DiffEqBase ─────────────────────── v7.7.0\n", + "\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m SciMLBase ──────────────────────── v3.39.1\n", + "\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m SimpleNonlinearSolve ───────────── v2.13.0\n", + "\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m NonlinearSolveSpectralMethods ──── v1.7.3\n", + "\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m RespecializeParams ─────────────── v1.1.0\n", + "\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m NonlinearSolveBase ─────────────── v2.35.0\n", + "\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m TensorNetworkQuantumSimulator ──── v0.4.2\n", + "\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m NonlinearSolveFirstOrder ───────── v2.2.0\n", + "\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m LinearSolve ────────────────────── v4.3.0\n", + "\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m OrdinaryDiffEqTsit5 ────────────── v2.1.0\n", + "\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m OrdinaryDiffEqBDF ──────────────── v2.4.0\n", + "\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m NamedGraphs ────────────────────── v0.13.0\n", + "\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m OrdinaryDiffEqRosenbrockTableaus ─ v2.4.0\n", + "\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m OrdinaryDiffEqDifferentiation ──── v3.4.1\n", + "\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m BinaryHeaps ────────────────────── v1.0.3\n", + "\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m OrdinaryDiffEqDefault ──────────── v2.3.0\n", + "\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m OrdinaryDiffEq ─────────────────── v7.2.0\n", + "\u001b[32m\u001b[1m Updating\u001b[22m\u001b[39m `/private/var/folders/7d/f1w39x4j6szdp40z5vzl63h40000gn/T/jl_EloT58/Project.toml`\n", + " \u001b[90m[682c06a0] \u001b[39m\u001b[92m+ JSON v1.6.1\u001b[39m\n", + " \u001b[90m[1dea7af3] \u001b[39m\u001b[92m+ OrdinaryDiffEq v7.2.0\u001b[39m\n", + " \u001b[90m[91a5bcdd] \u001b[39m\u001b[92m+ Plots v1.41.6\u001b[39m\n", + " \u001b[90m[91d9a17d] \u001b[39m\u001b[92m+ Qiskit v0.5.1\u001b[39m\n", + " \u001b[90m[1f74880b] \u001b[39m\u001b[92m+ QiskitIBMRuntime v0.2.1\u001b[39m\n", + " \u001b[90m[2913bbd2] \u001b[39m\u001b[92m+ StatsBase v0.34.12\u001b[39m\n", + " \u001b[90m[4de3b72a] \u001b[39m\u001b[92m+ TensorNetworkQuantumSimulator v0.4.2\u001b[39m\n", + " \u001b[90m[37e2e46d] \u001b[39m\u001b[92m+ LinearAlgebra v1.11.0\u001b[39m\n", + " \u001b[90m[2f01184e] \u001b[39m\u001b[92m+ SparseArrays v1.11.0\u001b[39m\n", + "\u001b[32m\u001b[1m Updating\u001b[22m\u001b[39m `/private/var/folders/7d/f1w39x4j6szdp40z5vzl63h40000gn/T/jl_EloT58/Manifest.toml`\n", + " \u001b[90m[47edcb42] \u001b[39m\u001b[92m+ ADTypes v1.22.2\u001b[39m\n", + " \u001b[90m[14f7f29c] \u001b[39m\u001b[92m+ AMD v0.5.3\u001b[39m\n", + " \u001b[90m[398f06c4] \u001b[39m\u001b[92m+ AbstractLattices v0.3.1\u001b[39m\n", + " \u001b[90m[1520ce14] \u001b[39m\u001b[92m+ AbstractTrees v0.4.5\u001b[39m\n", + " \u001b[90m[7d9f7c33] \u001b[39m\u001b[92m+ Accessors v0.1.45\u001b[39m\n", + " \u001b[90m[79e6a3ab] \u001b[39m\u001b[92m+ Adapt v4.7.0\u001b[39m\n", + " \u001b[90m[66dad0bd] \u001b[39m\u001b[92m+ AliasTables v1.1.3\u001b[39m\n", + " \u001b[90m[dce04be8] \u001b[39m\u001b[92m+ ArgCheck v2.5.0\u001b[39m\n", + " \u001b[90m[ec485272] \u001b[39m\u001b[92m+ ArnoldiMethod v0.4.0\u001b[39m\n", + " \u001b[90m[4fba245c] \u001b[39m\u001b[92m+ ArrayInterface v7.28.1\u001b[39m\n", + " \u001b[90m[4c555306] \u001b[39m\u001b[92m+ ArrayLayouts v1.12.2\u001b[39m\n", + " \u001b[90m[198e06fe] \u001b[39m\u001b[92m+ BangBang v0.4.9\u001b[39m\n", + " \u001b[90m[9718e550] \u001b[39m\u001b[92m+ Baselet v0.1.1\u001b[39m\n", + " \u001b[90m[b2a6c25c] \u001b[39m\u001b[92m+ BinaryHeaps v1.0.3\u001b[39m\n", + " \u001b[90m[50ba71b6] \u001b[39m\u001b[92m+ BitBasis v0.9.10\u001b[39m\n", + " \u001b[90m[d1d4a3ce] \u001b[39m\u001b[92m+ BitFlags v0.1.10\u001b[39m\n", + " \u001b[90m[c3b6d118] \u001b[39m\u001b[92m+ BitIntegers v0.3.7\u001b[39m\n", + " \u001b[90m[8e7c35d0] \u001b[39m\u001b[92m+ BlockArrays v1.10.0\u001b[39m\n", + " \u001b[90m[70df07ce] \u001b[39m\u001b[92m+ BracketingNonlinearSolve v1.12.3\u001b[39m\n", + " \u001b[90m[fa961155] \u001b[39m\u001b[92m+ CEnum v0.5.0\u001b[39m\n", + " \u001b[90m[d360d2e6] \u001b[39m\u001b[92m+ ChainRulesCore v1.26.1\u001b[39m\n", + " \u001b[90m[858a232f] \u001b[39m\u001b[92m+ ChooseOptimizer v0.3.2\u001b[39m\n", + " \u001b[90m[60701a23] \u001b[39m\u001b[92m+ CliqueTrees v1.19.4\u001b[39m\n", + " \u001b[90m[da1fd8a2] \u001b[39m\u001b[92m+ CodeTracking v3.0.2\u001b[39m\n", + " \u001b[90m[523fee87] \u001b[39m\u001b[92m+ CodecBzip2 v0.8.5\u001b[39m\n", + " \u001b[90m[944b1d66] \u001b[39m\u001b[92m+ CodecZlib v0.7.8\u001b[39m\n", + " \u001b[90m[08986516] \u001b[39m\u001b[92m+ Collects v1.1.0\u001b[39m\n", + " \u001b[90m[35d6a980] \u001b[39m\u001b[92m+ ColorSchemes v3.31.0\u001b[39m\n", + " \u001b[90m[3da002f7] \u001b[39m\u001b[92m+ ColorTypes v0.12.1\u001b[39m\n", + " \u001b[90m[c3611d14] \u001b[39m\u001b[92m+ ColorVectorSpace v0.11.0\u001b[39m\n", + " \u001b[90m[5ae59095] \u001b[39m\u001b[92m+ Colors v0.13.1\u001b[39m\n", + " \u001b[90m[861a8166] \u001b[39m\u001b[92m+ Combinatorics v1.1.0\u001b[39m\n", + " \u001b[90m[38540f10] \u001b[39m\u001b[92m+ CommonSolve v0.2.11\u001b[39m\n", + " \u001b[90m[bbf7d656] \u001b[39m\u001b[92m+ CommonSubexpressions v0.3.1\u001b[39m\n", + " \u001b[90m[34da2185] \u001b[39m\u001b[92m+ Compat v4.18.1\u001b[39m\n", + " \u001b[90m[807dbc54] \u001b[39m\u001b[92m+ Compiler v0.1.1\u001b[39m\n", + " \u001b[90m[a33af91c] \u001b[39m\u001b[92m+ CompositionsBase v0.1.2\u001b[39m\n", + " \u001b[90m[2569d6c7] \u001b[39m\u001b[92m+ ConcreteStructs v0.2.6\u001b[39m\n", + " \u001b[90m[f0e56b4a] \u001b[39m\u001b[92m+ ConcurrentUtilities v2.5.1\u001b[39m\n", + " \u001b[90m[187b0558] \u001b[39m\u001b[92m+ ConstructionBase v1.6.0\u001b[39m\n", + " \u001b[90m[d38c429a] \u001b[39m\u001b[92m+ Contour v0.6.3\u001b[39m\n", + " \u001b[90m[9a962f9c] \u001b[39m\u001b[92m+ DataAPI v1.16.0\u001b[39m\n", + " \u001b[90m[864edb3b] \u001b[39m\u001b[92m+ DataStructures v0.19.6\u001b[39m\n", + " \u001b[90m[e2d170a0] \u001b[39m\u001b[92m+ DataValueInterfaces v1.0.0\u001b[39m\n", + " \u001b[90m[244e2a9f] \u001b[39m\u001b[92m+ DefineSingletons v0.1.2\u001b[39m\n", + " \u001b[90m[8bb1440f] \u001b[39m\u001b[92m+ DelimitedFiles v1.9.1\u001b[39m\n", + " \u001b[90m[85a47980] \u001b[39m\u001b[92m+ Dictionaries v0.4.6\u001b[39m\n", + " \u001b[90m[2b5f629d] \u001b[39m\u001b[92m+ DiffEqBase v7.7.0\u001b[39m\n", + " \u001b[90m[163ba53b] \u001b[39m\u001b[92m+ DiffResults v1.1.0\u001b[39m\n", + " \u001b[90m[b552c78f] \u001b[39m\u001b[92m+ DiffRules v1.16.0\u001b[39m\n", + " \u001b[90m[a0c0ee7d] \u001b[39m\u001b[92m+ DifferentiationInterface v0.7.20\u001b[39m\n", + " \u001b[90m[31c24e10] \u001b[39m\u001b[92m+ Distributions v0.25.130\u001b[39m\n", + " \u001b[90m[ffbed154] \u001b[39m\u001b[92m+ DocStringExtensions v0.9.5\u001b[39m\n", + " \u001b[90m[da5c29d0] \u001b[39m\u001b[92m+ EllipsisNotation v1.10.3\u001b[39m\n", + " \u001b[90m[4e289a0a] \u001b[39m\u001b[92m+ EnumX v1.0.7\u001b[39m\n", + " \u001b[90m[f151be2c] \u001b[39m\u001b[92m+ EnzymeCore v0.8.21\u001b[39m\n", + " \u001b[90m[460bff9d] \u001b[39m\u001b[92m+ ExceptionUnwrapping v0.1.11\u001b[39m\n", + " \u001b[90m[e2ba6199] \u001b[39m\u001b[92m+ ExprTools v0.1.11\u001b[39m\n", + " \u001b[90m[e189563c] \u001b[39m\u001b[92m+ ExternalDocstrings v0.1.1\u001b[39m\n", + " \u001b[90m[c87230d0] \u001b[39m\u001b[92m+ FFMPEG v0.4.5\u001b[39m\n", + " \u001b[90m[7034ab61] \u001b[39m\u001b[92m+ FastBroadcast v1.3.4\u001b[39m\n", + " \u001b[90m[9aa1b823] \u001b[39m\u001b[92m+ FastClosures v0.3.2\u001b[39m\n", + " \u001b[90m[a4df4552] \u001b[39m\u001b[92m+ FastPower v1.3.4\u001b[39m\n", + " \u001b[90m[1a297f60] \u001b[39m\u001b[92m+ FillArrays v1.17.0\u001b[39m\n", + " \u001b[90m[64ca27bc] \u001b[39m\u001b[92m+ FindFirstFunctions v3.2.0\u001b[39m\n", + " \u001b[90m[6a86dc24] \u001b[39m\u001b[92m+ FiniteDiff v2.32.0\u001b[39m\n", + "\u001b[33m⌅\u001b[39m \u001b[90m[53c48c17] \u001b[39m\u001b[92m+ FixedPointNumbers v0.8.6\u001b[39m\n", + " \u001b[90m[3821ddf9] \u001b[39m\u001b[92m+ FixedSizeArrays v1.3.0\u001b[39m\n", + " \u001b[90m[41a02a25] \u001b[39m\u001b[92m+ Folds v0.2.10\u001b[39m\n", + " \u001b[90m[1fa38f19] \u001b[39m\u001b[92m+ Format v1.3.7\u001b[39m\n", + " \u001b[90m[f6369f11] \u001b[39m\u001b[92m+ ForwardDiff v1.4.2\u001b[39m\n", + " \u001b[90m[069b7b12] \u001b[39m\u001b[92m+ FunctionWrappers v1.1.3\u001b[39m\n", + " \u001b[90m[77dc65aa] \u001b[39m\u001b[92m+ FunctionWrappersWrappers v1.10.1\u001b[39m\n", + " \u001b[90m[d9f16b24] \u001b[39m\u001b[92m+ Functors v0.5.2\u001b[39m\n", + " \u001b[90m[46192b85] \u001b[39m\u001b[92m+ GPUArraysCore v0.2.0\u001b[39m\n", + " \u001b[90m[28b8d3ca] \u001b[39m\u001b[92m+ GR v0.73.26\u001b[39m\n", + " \u001b[90m[a0844989] \u001b[39m\u001b[92m+ Gamma v1.1.0\u001b[39m\n", + " \u001b[90m[86223c79] \u001b[39m\u001b[92m+ Graphs v1.14.0\u001b[39m\n", + " \u001b[90m[42e2da0e] \u001b[39m\u001b[92m+ Grisu v1.0.2\u001b[39m\n", + "\u001b[33m⌅\u001b[39m \u001b[90m[cd3eb016] \u001b[39m\u001b[92m+ HTTP v1.11.0\u001b[39m\n", + " \u001b[90m[f0d1745a] \u001b[39m\u001b[92m+ HalfIntegers v1.6.0\u001b[39m\n", + " \u001b[90m[87dc4568] \u001b[39m\u001b[92m+ HiGHS v1.24.1\u001b[39m\n", + " \u001b[90m[34004b35] \u001b[39m\u001b[92m+ HypergeometricFunctions v0.3.29\u001b[39m\n", + " \u001b[90m[9136182c] \u001b[39m\u001b[92m+ ITensors v0.9.30\u001b[39m\n", + " \u001b[90m[313cdc1a] \u001b[39m\u001b[92m+ Indexing v1.1.1\u001b[39m\n", + " \u001b[90m[d25df0c9] \u001b[39m\u001b[92m+ Inflate v0.1.5\u001b[39m\n", + " \u001b[90m[22cec73e] \u001b[39m\u001b[92m+ InitialValues v0.3.1\u001b[39m\n", + " \u001b[90m[842dd82b] \u001b[39m\u001b[92m+ InlineStrings v1.4.5\u001b[39m\n", + " \u001b[90m[18e54dd8] \u001b[39m\u001b[92m+ IntegerMathUtils v0.1.4\u001b[39m\n", + " \u001b[90m[3587e190] \u001b[39m\u001b[92m+ InverseFunctions v0.1.17\u001b[39m\n", + " \u001b[90m[92d709cd] \u001b[39m\u001b[92m+ IrrationalConstants v0.2.6\u001b[39m\n", + " \u001b[90m[28f27b66] \u001b[39m\u001b[92m+ IsApprox v2.0.1\u001b[39m\n", + " \u001b[90m[c8e1da08] \u001b[39m\u001b[92m+ IterTools v1.10.0\u001b[39m\n", + " \u001b[90m[82899510] \u001b[39m\u001b[92m+ IteratorInterfaceExtensions v1.0.0\u001b[39m\n", + " \u001b[90m[1019f520] \u001b[39m\u001b[92m+ JLFzf v0.1.11\u001b[39m\n", + " \u001b[90m[692b3bcd] \u001b[39m\u001b[92m+ JLLWrappers v1.8.0\u001b[39m\n", + " \u001b[90m[682c06a0] \u001b[39m\u001b[92m+ JSON v1.6.1\u001b[39m\n", + " \u001b[90m[4076af6c] \u001b[39m\u001b[92m+ JuMP v1.31.1\u001b[39m\n", + " \u001b[90m[aa1ae85d] \u001b[39m\u001b[92m+ JuliaInterpreter v0.11.4\u001b[39m\n", + " \u001b[90m[ba0b0d4f] \u001b[39m\u001b[92m+ Krylov v0.10.8\u001b[39m\n", + " \u001b[90m[0b1a1467] \u001b[39m\u001b[92m+ KrylovKit v0.10.4\u001b[39m\n", + " \u001b[90m[b964fa9f] \u001b[39m\u001b[92m+ LaTeXStrings v1.4.0\u001b[39m\n", + " \u001b[90m[23fbe1c1] \u001b[39m\u001b[92m+ Latexify v0.16.11\u001b[39m\n", + " \u001b[90m[9c8b4983] \u001b[39m\u001b[92m+ LightXML v0.9.3\u001b[39m\n", + " \u001b[90m[87fe0de2] \u001b[39m\u001b[92m+ LineSearch v0.1.12\u001b[39m\n", + " \u001b[90m[d3d80556] \u001b[39m\u001b[92m+ LineSearches v7.7.1\u001b[39m\n", + " \u001b[90m[9b3f67b0] \u001b[39m\u001b[92m+ LinearAlgebraX v0.2.11\u001b[39m\n", + "\u001b[33m⌅\u001b[39m \u001b[90m[7ed4a6bd] \u001b[39m\u001b[92m+ LinearSolve v4.3.0\u001b[39m\n", + " \u001b[90m[2ab3a3ac] \u001b[39m\u001b[92m+ LogExpFunctions v1.0.1\u001b[39m\n", + " \u001b[90m[e6f89c97] \u001b[39m\u001b[92m+ LoggingExtras v1.2.0\u001b[39m\n", + " \u001b[90m[6f1432cf] \u001b[39m\u001b[92m+ LoweredCodeUtils v3.8.0\u001b[39m\n", + " \u001b[90m[1914dd2f] \u001b[39m\u001b[92m+ MacroTools v0.5.16\u001b[39m\n", + " \u001b[90m[8c4f8055] \u001b[39m\u001b[92m+ MathOptIIS v0.2.0\u001b[39m\n", + " \u001b[90m[b8f27783] \u001b[39m\u001b[92m+ MathOptInterface v1.51.2\u001b[39m\n", + " \u001b[90m[bb5d69b7] \u001b[39m\u001b[92m+ MaybeInplace v0.1.7\u001b[39m\n", + " \u001b[90m[739be429] \u001b[39m\u001b[92m+ MbedTLS v1.1.10\u001b[39m\n", + " \u001b[90m[442fdcdd] \u001b[39m\u001b[92m+ Measures v0.3.3\u001b[39m\n", + " \u001b[90m[128add7d] \u001b[39m\u001b[92m+ MicroCollections v0.2.0\u001b[39m\n", + " \u001b[90m[e1d29d7a] \u001b[39m\u001b[92m+ Missings v1.2.0\u001b[39m\n", + " \u001b[90m[7475f97c] \u001b[39m\u001b[92m+ Mods v2.2.6\u001b[39m\n", + " \u001b[90m[46d2c3a1] \u001b[39m\u001b[92m+ MuladdMacro v0.2.6\u001b[39m\n", + " \u001b[90m[3b2b4ff1] \u001b[39m\u001b[92m+ Multisets v0.4.6\u001b[39m\n", + " \u001b[90m[d8a4904e] \u001b[39m\u001b[92m+ MutableArithmetics v1.8.0\u001b[39m\n", + " \u001b[90m[23ae76d9] \u001b[39m\u001b[92m+ NDTensors v0.4.28\u001b[39m\n", + " \u001b[90m[d41bc354] \u001b[39m\u001b[92m+ NLSolversBase v8.0.0\u001b[39m\n", + " \u001b[90m[77ba4419] \u001b[39m\u001b[92m+ NaNMath v1.1.4\u001b[39m\n", + " \u001b[90m[678767b0] \u001b[39m\u001b[92m+ NamedGraphs v0.13.0\u001b[39m\n", + "\u001b[32m⌃\u001b[39m \u001b[90m[8913a72c] \u001b[39m\u001b[92m+ NonlinearSolve v4.21.1\u001b[39m\n", + "\u001b[32m⌃\u001b[39m \u001b[90m[be0214bd] \u001b[39m\u001b[92m+ NonlinearSolveBase v2.35.0\u001b[39m\n", + "\u001b[32m⌃\u001b[39m \u001b[90m[5959db7a] \u001b[39m\u001b[92m+ NonlinearSolveFirstOrder v2.2.0\u001b[39m\n", + "\u001b[32m⌃\u001b[39m \u001b[90m[9a2c21bd] \u001b[39m\u001b[92m+ NonlinearSolveQuasiNewton v1.14.0\u001b[39m\n", + " \u001b[90m[26075421] \u001b[39m\u001b[92m+ NonlinearSolveSpectralMethods v1.7.3\u001b[39m\n", + " \u001b[90m[6f22d1fd] \u001b[39m\u001b[92m+ OMEinsumContractionOrders v1.3.0\u001b[39m\n", + " \u001b[90m[4d8831e6] \u001b[39m\u001b[92m+ OpenSSL v1.6.1\u001b[39m\n", + " \u001b[90m[429524aa] \u001b[39m\u001b[92m+ Optim v2.2.1\u001b[39m\n", + "\u001b[33m⌅\u001b[39m \u001b[90m[bac558e1] \u001b[39m\u001b[92m+ OrderedCollections v1.8.2\u001b[39m\n", + " \u001b[90m[1dea7af3] \u001b[39m\u001b[92m+ OrdinaryDiffEq v7.2.0\u001b[39m\n", + " \u001b[90m[6ad6398a] \u001b[39m\u001b[92m+ OrdinaryDiffEqBDF v2.4.0\u001b[39m\n", + " \u001b[90m[bbf590c4] \u001b[39m\u001b[92m+ OrdinaryDiffEqCore v4.8.0\u001b[39m\n", + " \u001b[90m[50262376] \u001b[39m\u001b[92m+ OrdinaryDiffEqDefault v2.3.0\u001b[39m\n", + "\u001b[32m⌃\u001b[39m \u001b[90m[4302a76b] \u001b[39m\u001b[92m+ OrdinaryDiffEqDifferentiation v3.4.1\u001b[39m\n", + "\u001b[32m⌃\u001b[39m \u001b[90m[127b3ac7] \u001b[39m\u001b[92m+ OrdinaryDiffEqNonlinearSolve v2.4.0\u001b[39m\n", + "\u001b[32m⌃\u001b[39m \u001b[90m[43230ef6] \u001b[39m\u001b[92m+ OrdinaryDiffEqRosenbrock v2.4.2\u001b[39m\n", + " \u001b[90m[b4bd8bb3] \u001b[39m\u001b[92m+ OrdinaryDiffEqRosenbrockTableaus v2.4.0\u001b[39m\n", + " \u001b[90m[2d112036] \u001b[39m\u001b[92m+ OrdinaryDiffEqSDIRK v2.8.1\u001b[39m\n", + " \u001b[90m[b1df2697] \u001b[39m\u001b[92m+ OrdinaryDiffEqTsit5 v2.1.0\u001b[39m\n", + " \u001b[90m[79d7bb75] \u001b[39m\u001b[92m+ OrdinaryDiffEqVerner v2.2.0\u001b[39m\n", + " \u001b[90m[90014a1f] \u001b[39m\u001b[92m+ PDMats v0.11.40\u001b[39m\n", + " \u001b[90m[65ce6f38] \u001b[39m\u001b[92m+ PackageExtensionCompat v1.0.2\u001b[39m\n", + " \u001b[90m[69de0a69] \u001b[39m\u001b[92m+ Parsers v2.8.6\u001b[39m\n", + " \u001b[90m[2ae35dd2] \u001b[39m\u001b[92m+ Permutations v0.4.23\u001b[39m\n", + " \u001b[90m[ccf2f8ad] \u001b[39m\u001b[92m+ PlotThemes v3.3.0\u001b[39m\n", + " \u001b[90m[995b91a9] \u001b[39m\u001b[92m+ PlotUtils v1.4.4\u001b[39m\n", + " \u001b[90m[91a5bcdd] \u001b[39m\u001b[92m+ Plots v1.41.6\u001b[39m\n", + " \u001b[90m[f27b6e38] \u001b[39m\u001b[92m+ Polynomials v4.1.1\u001b[39m\n", + " \u001b[90m[85a6dd25] \u001b[39m\u001b[92m+ PositiveFactorizations v0.2.4\u001b[39m\n", + " \u001b[90m[d236fae5] \u001b[39m\u001b[92m+ PreallocationTools v1.3.0\u001b[39m\n", + "\u001b[33m⌅\u001b[39m \u001b[90m[aea7be01] \u001b[39m\u001b[92m+ PrecompileTools v1.2.1\u001b[39m\n", + " \u001b[90m[21216c6a] \u001b[39m\u001b[92m+ Preferences v1.5.2\u001b[39m\n", + " \u001b[90m[27ebfcd6] \u001b[39m\u001b[92m+ Primes v0.5.7\u001b[39m\n", + " \u001b[90m[43287f4e] \u001b[39m\u001b[92m+ PtrArrays v1.4.0\u001b[39m\n", + " \u001b[90m[0c0d3e7f] \u001b[39m\u001b[92m+ PureKLU v1.1.1\u001b[39m\n", + " \u001b[90m[91d9a17d] \u001b[39m\u001b[92m+ Qiskit v0.5.1\u001b[39m\n", + " \u001b[90m[1f74880b] \u001b[39m\u001b[92m+ QiskitIBMRuntime v0.2.1\u001b[39m\n", + " \u001b[90m[1fd47b50] \u001b[39m\u001b[92m+ QuadGK v2.11.3\u001b[39m\n", + " \u001b[90m[3cdcf5f2] \u001b[39m\u001b[92m+ RecipesBase v1.3.4\u001b[39m\n", + " \u001b[90m[01d81517] \u001b[39m\u001b[92m+ RecipesPipeline v0.6.12\u001b[39m\n", + " \u001b[90m[731186ca] \u001b[39m\u001b[92m+ RecursiveArrayTools v4.3.4\u001b[39m\n", + " \u001b[90m[189a3867] \u001b[39m\u001b[92m+ Reexport v1.2.2\u001b[39m\n", + " \u001b[90m[42d2dcc6] \u001b[39m\u001b[92m+ Referenceables v0.1.3\u001b[39m\n", + " \u001b[90m[05181044] \u001b[39m\u001b[92m+ RelocatableFolders v1.0.1\u001b[39m\n", + " \u001b[90m[ae029012] \u001b[39m\u001b[92m+ Requires v1.3.1\u001b[39m\n", + " \u001b[90m[9fe22ead] \u001b[39m\u001b[92m+ RespecializeParams v1.1.0\u001b[39m\n", + " \u001b[90m[295af30f] \u001b[39m\u001b[92m+ Revise v3.16.2\u001b[39m\n", + " \u001b[90m[286e9d63] \u001b[39m\u001b[92m+ RingLists v0.2.9\u001b[39m\n", + " \u001b[90m[79098fc4] \u001b[39m\u001b[92m+ Rmath v0.9.0\u001b[39m\n", + " \u001b[90m[f2b01f46] \u001b[39m\u001b[92m+ Roots v3.0.6\u001b[39m\n", + " \u001b[90m[7e49a35a] \u001b[39m\u001b[92m+ RuntimeGeneratedFunctions v0.5.22\u001b[39m\n", + " \u001b[90m[0bca4576] \u001b[39m\u001b[92m+ SciMLBase v3.39.1\u001b[39m\n", + " \u001b[90m[19f34311] \u001b[39m\u001b[92m+ SciMLJacobianOperators v0.1.16\u001b[39m\n", + " \u001b[90m[a6db7da4] \u001b[39m\u001b[92m+ SciMLLogging v2.0.3\u001b[39m\n", + " \u001b[90m[c0aeaf25] \u001b[39m\u001b[92m+ SciMLOperators v1.25.0\u001b[39m\n", + " \u001b[90m[431bcebd] \u001b[39m\u001b[92m+ SciMLPublic v1.2.3\u001b[39m\n", + " \u001b[90m[53ae85a6] \u001b[39m\u001b[92m+ SciMLStructures v1.10.3\u001b[39m\n", + " \u001b[90m[6c6a2e73] \u001b[39m\u001b[92m+ Scratch v1.3.0\u001b[39m\n", + " \u001b[90m[d3ce8812] \u001b[39m\u001b[92m+ SerializedElementArrays v0.1.0\u001b[39m\n", + " \u001b[90m[efcf1570] \u001b[39m\u001b[92m+ Setfield v1.1.2\u001b[39m\n", + " \u001b[90m[992d4aef] \u001b[39m\u001b[92m+ Showoff v1.0.3\u001b[39m\n", + " \u001b[90m[777ac1f9] \u001b[39m\u001b[92m+ SimpleBufferStream v1.2.0\u001b[39m\n", + " \u001b[90m[41400c72] \u001b[39m\u001b[92m+ SimpleGraphAlgorithms v0.6.0\u001b[39m\n", + " \u001b[90m[205b04f2] \u001b[39m\u001b[92m+ SimpleGraphConverter v0.1.0\u001b[39m\n", + " \u001b[90m[55797a34] \u001b[39m\u001b[92m+ SimpleGraphs v0.8.10\u001b[39m\n", + " \u001b[90m[727e6d20] \u001b[39m\u001b[92m+ SimpleNonlinearSolve v2.13.0\u001b[39m\n", + " \u001b[90m[ec83eff0] \u001b[39m\u001b[92m+ SimplePartitions v0.3.3\u001b[39m\n", + " \u001b[90m[cc47b68c] \u001b[39m\u001b[92m+ SimplePolynomials v0.2.18\u001b[39m\n", + " \u001b[90m[a6525b86] \u001b[39m\u001b[92m+ SimpleRandom v0.3.2\u001b[39m\n", + " \u001b[90m[699a6c99] \u001b[39m\u001b[92m+ SimpleTraits v0.9.6\u001b[39m\n", + " \u001b[90m[a2af1166] \u001b[39m\u001b[92m+ SortingAlgorithms v1.2.3\u001b[39m\n", + " \u001b[90m[a57abbd0] \u001b[39m\u001b[92m+ SparseColumnPivotedQR v2.1.4\u001b[39m\n", + " \u001b[90m[0a514795] \u001b[39m\u001b[92m+ SparseMatrixColorings v0.4.27\u001b[39m\n", + " \u001b[90m[276daf66] \u001b[39m\u001b[92m+ SpecialFunctions v2.8.0\u001b[39m\n", + " \u001b[90m[03a91e81] \u001b[39m\u001b[92m+ SplitApplyCombine v1.3.0\u001b[39m\n", + " \u001b[90m[171d559e] \u001b[39m\u001b[92m+ SplittablesBase v0.1.15\u001b[39m\n", + " \u001b[90m[860ef19b] \u001b[39m\u001b[92m+ StableRNGs v1.0.4\u001b[39m\n", + " \u001b[90m[90137ffa] \u001b[39m\u001b[92m+ StaticArrays v1.9.18\u001b[39m\n", + " \u001b[90m[1e83bf80] \u001b[39m\u001b[92m+ StaticArraysCore v1.4.4\u001b[39m\n", + " \u001b[90m[10745b16] \u001b[39m\u001b[92m+ Statistics v1.11.1\u001b[39m\n", + " \u001b[90m[82ae8749] \u001b[39m\u001b[92m+ StatsAPI v1.8.0\u001b[39m\n", + " \u001b[90m[2913bbd2] \u001b[39m\u001b[92m+ StatsBase v0.34.12\u001b[39m\n", + " \u001b[90m[4c63d2b9] \u001b[39m\u001b[92m+ StatsFuns v2.2.0\u001b[39m\n", + " \u001b[90m[5e0ebb24] \u001b[39m\u001b[92m+ Strided v2.6.4\u001b[39m\n", + " \u001b[90m[4db3bf67] \u001b[39m\u001b[92m+ StridedViews v0.5.2\u001b[39m\n", + " \u001b[90m[ec057cc2] \u001b[39m\u001b[92m+ StructUtils v2.8.2\u001b[39m\n", + " \u001b[90m[fd094767] \u001b[39m\u001b[92m+ Suppressor v0.2.8\u001b[39m\n", + " \u001b[90m[2efcf032] \u001b[39m\u001b[92m+ SymbolicIndexingInterface v0.3.51\u001b[39m\n", + " \u001b[90m[3783bdb8] \u001b[39m\u001b[92m+ TableTraits v1.0.1\u001b[39m\n", + " \u001b[90m[bd369af6] \u001b[39m\u001b[92m+ Tables v1.13.0\u001b[39m\n", + " \u001b[90m[62fd8b95] \u001b[39m\u001b[92m+ TensorCore v0.1.1\u001b[39m\n", + " \u001b[90m[4de3b72a] \u001b[39m\u001b[92m+ TensorNetworkQuantumSimulator v0.4.2\u001b[39m\n", + " \u001b[90m[24d252fe] \u001b[39m\u001b[92m+ ThreadedScans v0.1.0\u001b[39m\n", + "\u001b[33m⌅\u001b[39m \u001b[90m[a759f4b9] \u001b[39m\u001b[92m+ TimerOutputs v0.5.29\u001b[39m\n", + " \u001b[90m[3bb67fe8] \u001b[39m\u001b[92m+ TranscodingStreams v0.11.3\u001b[39m\n", + " \u001b[90m[28d57a85] \u001b[39m\u001b[92m+ Transducers v0.4.85\u001b[39m\n", + " \u001b[90m[7d267fc5] \u001b[39m\u001b[92m+ TreeWidthSolver v0.3.5\u001b[39m\n", + " \u001b[90m[781d530d] \u001b[39m\u001b[92m+ TruncatedStacktraces v1.4.0\u001b[39m\n", + " \u001b[90m[9d95972d] \u001b[39m\u001b[92m+ TupleTools v1.6.0\u001b[39m\n", + " \u001b[90m[7e5a90cf] \u001b[39m\u001b[92m+ TypeParameterAccessors v0.4.23\u001b[39m\n", + " \u001b[90m[5c2747f8] \u001b[39m\u001b[92m+ URIs v1.6.1\u001b[39m\n", + " \u001b[90m[1cfade01] \u001b[39m\u001b[92m+ UnicodeFun v0.4.1\u001b[39m\n", + " \u001b[90m[41fe7b60] \u001b[39m\u001b[92m+ Unzip v0.2.0\u001b[39m\n", + " \u001b[90m[409d34a3] \u001b[39m\u001b[92m+ VectorInterface v0.6.0\u001b[39m\n", + " \u001b[90m[bd1ec220] \u001b[39m\u001b[92m+ Zeros v0.5.0\u001b[39m\n", + " \u001b[90m[6e34b625] \u001b[39m\u001b[92m+ Bzip2_jll v1.0.9+0\u001b[39m\n", + " \u001b[90m[83423d85] \u001b[39m\u001b[92m+ Cairo_jll v1.18.7+0\u001b[39m\n", + " \u001b[90m[ee1fde0b] \u001b[39m\u001b[92m+ Dbus_jll v1.16.2+0\u001b[39m\n", + " \u001b[90m[2702e6a9] \u001b[39m\u001b[92m+ EpollShim_jll v0.0.20230411+1\u001b[39m\n", + " \u001b[90m[2e619515] \u001b[39m\u001b[92m+ Expat_jll v2.8.2+0\u001b[39m\n", + " \u001b[90m[b22a6f82] \u001b[39m\u001b[92m+ FFMPEG_jll v8.1.2+0\u001b[39m\n", + " \u001b[90m[a3f928ae] \u001b[39m\u001b[92m+ Fontconfig_jll v2.17.1+0\u001b[39m\n", + " \u001b[90m[d7e528f0] \u001b[39m\u001b[92m+ FreeType2_jll v2.14.3+1\u001b[39m\n", + " \u001b[90m[559328eb] \u001b[39m\u001b[92m+ FriBidi_jll v1.0.17+0\u001b[39m\n", + " \u001b[90m[0656b61e] \u001b[39m\u001b[92m+ GLFW_jll v3.4.1+1\u001b[39m\n", + " \u001b[90m[d2c73de3] \u001b[39m\u001b[92m+ GR_jll v0.73.26+0\u001b[39m\n", + "\u001b[33m⌅\u001b[39m \u001b[90m[b0724c58] \u001b[39m\u001b[92m+ GettextRuntime_jll v0.22.4+0\u001b[39m\n", + " \u001b[90m[61579ee1] \u001b[39m\u001b[92m+ Ghostscript_jll v9.55.1+0\u001b[39m\n", + " \u001b[90m[7746bdde] \u001b[39m\u001b[92m+ Glib_jll v2.86.3+0\u001b[39m\n", + " \u001b[90m[3b182d85] \u001b[39m\u001b[92m+ Graphite2_jll v1.3.16+0\u001b[39m\n", + "\u001b[33m⌅\u001b[39m \u001b[90m[2e76f6c2] \u001b[39m\u001b[92m+ HarfBuzz_jll v8.5.1+0\u001b[39m\n", + " \u001b[90m[8fd58aa0] \u001b[39m\u001b[92m+ HiGHS_jll v1.15.1+1\u001b[39m\n", + " \u001b[90m[1d5cc7b8] \u001b[39m\u001b[92m+ IntelOpenMP_jll v2025.2.0+0\u001b[39m\n", + " \u001b[90m[aacddb02] \u001b[39m\u001b[92m+ JpegTurbo_jll v3.2.0+0\u001b[39m\n", + " \u001b[90m[c1c5ebd0] \u001b[39m\u001b[92m+ LAME_jll v3.100.3+0\u001b[39m\n", + " \u001b[90m[88015f11] \u001b[39m\u001b[92m+ LERC_jll v4.1.0+0\u001b[39m\n", + " \u001b[90m[1d63c593] \u001b[39m\u001b[92m+ LLVMOpenMP_jll v22.1.7+0\u001b[39m\n", + " \u001b[90m[7106de7a] \u001b[39m\u001b[92m+ LibMPDec_jll v2.5.2+0\u001b[39m\n", + "\u001b[33m⌅\u001b[39m \u001b[90m[e9f186c6] \u001b[39m\u001b[92m+ Libffi_jll v3.4.7+0\u001b[39m\n", + " \u001b[90m[7e76a0d4] \u001b[39m\u001b[92m+ Libglvnd_jll v1.7.1+1\u001b[39m\n", + " \u001b[90m[94ce4f54] \u001b[39m\u001b[92m+ Libiconv_jll v1.18.0+0\u001b[39m\n", + " \u001b[90m[4b2f31a3] \u001b[39m\u001b[92m+ Libmount_jll v2.42.0+0\u001b[39m\n", + " \u001b[90m[89763e89] \u001b[39m\u001b[92m+ Libtiff_jll v4.7.3+0\u001b[39m\n", + " \u001b[90m[38a345b3] \u001b[39m\u001b[92m+ Libuuid_jll v2.42.0+0\u001b[39m\n", + " \u001b[90m[856f044c] \u001b[39m\u001b[92m+ MKL_jll v2025.2.0+0\u001b[39m\n", + " \u001b[90m[e7412a2a] \u001b[39m\u001b[92m+ Ogg_jll v1.3.6+0\u001b[39m\n", + " \u001b[90m[656ef2d0] \u001b[39m\u001b[92m+ OpenBLAS32_jll v0.3.34+0\u001b[39m\n", + " \u001b[90m[458c3c95] \u001b[39m\u001b[92m+ OpenSSL_jll v3.5.7+0\u001b[39m\n", + " \u001b[90m[efe28fd5] \u001b[39m\u001b[92m+ OpenSpecFun_jll v0.5.6+0\u001b[39m\n", + " \u001b[90m[91d4177d] \u001b[39m\u001b[92m+ Opus_jll v1.6.1+0\u001b[39m\n", + " \u001b[90m[36c8627f] \u001b[39m\u001b[92m+ Pango_jll v1.57.1+0\u001b[39m\n", + " \u001b[90m[30392449] \u001b[39m\u001b[92m+ Pixman_jll v0.46.4+0\u001b[39m\n", + " \u001b[90m[93d3a430] \u001b[39m\u001b[92m+ Python_jll v3.11.12+0\u001b[39m\n", + " \u001b[90m[b54e8e98] \u001b[39m\u001b[92m+ Qiskit_jll v2.4.2+0\u001b[39m\n", + " \u001b[90m[c0090381] \u001b[39m\u001b[92m+ Qt6Base_jll v6.10.2+2\u001b[39m\n", + " \u001b[90m[629bc702] \u001b[39m\u001b[92m+ Qt6Declarative_jll v6.10.2+2\u001b[39m\n", + " \u001b[90m[ce943373] \u001b[39m\u001b[92m+ Qt6ShaderTools_jll v6.10.2+1\u001b[39m\n", + " \u001b[90m[6de9746b] \u001b[39m\u001b[92m+ Qt6Svg_jll v6.10.2+0\u001b[39m\n", + " \u001b[90m[e99dba38] \u001b[39m\u001b[92m+ Qt6Wayland_jll v6.10.2+1\u001b[39m\n", + " \u001b[90m[f50d1b31] \u001b[39m\u001b[92m+ Rmath_jll v0.5.1+0\u001b[39m\n", + " \u001b[90m[76ed43ae] \u001b[39m\u001b[92m+ SQLite_jll v3.53.2+0\u001b[39m\n", + " \u001b[90m[a44049a8] \u001b[39m\u001b[92m+ Vulkan_Loader_jll v1.3.243+0\u001b[39m\n", + " \u001b[90m[a2964d1f] \u001b[39m\u001b[92m+ Wayland_jll v1.24.0+0\u001b[39m\n", + " \u001b[90m[02c8fc9c] \u001b[39m\u001b[92m+ XML2_jll v2.15.3+0\u001b[39m\n", + " \u001b[90m[ffd25f8a] \u001b[39m\u001b[92m+ XZ_jll v5.8.3+0\u001b[39m\n", + " \u001b[90m[f67eecfb] \u001b[39m\u001b[92m+ Xorg_libICE_jll v1.1.2+0\u001b[39m\n", + " \u001b[90m[c834827a] \u001b[39m\u001b[92m+ Xorg_libSM_jll v1.2.6+0\u001b[39m\n", + " \u001b[90m[4f6342f7] \u001b[39m\u001b[92m+ Xorg_libX11_jll v1.8.13+0\u001b[39m\n", + " \u001b[90m[0c0b7dd1] \u001b[39m\u001b[92m+ Xorg_libXau_jll v1.0.13+0\u001b[39m\n", + " \u001b[90m[935fb764] \u001b[39m\u001b[92m+ Xorg_libXcursor_jll v1.2.4+0\u001b[39m\n", + " \u001b[90m[a3789734] \u001b[39m\u001b[92m+ Xorg_libXdmcp_jll v1.1.6+0\u001b[39m\n", + " \u001b[90m[1082639a] \u001b[39m\u001b[92m+ Xorg_libXext_jll v1.3.8+0\u001b[39m\n", + " \u001b[90m[d091e8ba] \u001b[39m\u001b[92m+ Xorg_libXfixes_jll v6.0.2+0\u001b[39m\n", + " \u001b[90m[a51aa0fd] \u001b[39m\u001b[92m+ Xorg_libXi_jll v1.8.3+0\u001b[39m\n", + " \u001b[90m[d1454406] \u001b[39m\u001b[92m+ Xorg_libXinerama_jll v1.1.7+0\u001b[39m\n", + " \u001b[90m[ec84b674] \u001b[39m\u001b[92m+ Xorg_libXrandr_jll v1.5.6+0\u001b[39m\n", + " \u001b[90m[ea2f1a96] \u001b[39m\u001b[92m+ Xorg_libXrender_jll v0.9.12+0\u001b[39m\n", + " \u001b[90m[a65dc6b1] \u001b[39m\u001b[92m+ Xorg_libpciaccess_jll v0.19.0+0\u001b[39m\n", + " \u001b[90m[c7cfdc94] \u001b[39m\u001b[92m+ Xorg_libxcb_jll v1.17.1+0\u001b[39m\n", + " \u001b[90m[cc61e674] \u001b[39m\u001b[92m+ Xorg_libxkbfile_jll v1.2.0+0\u001b[39m\n", + " \u001b[90m[e920d4aa] \u001b[39m\u001b[92m+ Xorg_xcb_util_cursor_jll v0.1.6+0\u001b[39m\n", + " \u001b[90m[12413925] \u001b[39m\u001b[92m+ Xorg_xcb_util_image_jll v0.4.1+0\u001b[39m\n", + " \u001b[90m[2def613f] \u001b[39m\u001b[92m+ Xorg_xcb_util_jll v0.4.1+0\u001b[39m\n", + " \u001b[90m[975044d2] \u001b[39m\u001b[92m+ Xorg_xcb_util_keysyms_jll v0.4.1+0\u001b[39m\n", + " \u001b[90m[0d47668e] \u001b[39m\u001b[92m+ Xorg_xcb_util_renderutil_jll v0.3.10+0\u001b[39m\n", + " \u001b[90m[c22f9ab0] \u001b[39m\u001b[92m+ Xorg_xcb_util_wm_jll v0.4.2+0\u001b[39m\n", + " \u001b[90m[35661453] \u001b[39m\u001b[92m+ Xorg_xkbcomp_jll v1.4.7+0\u001b[39m\n", + " \u001b[90m[33bec58e] \u001b[39m\u001b[92m+ Xorg_xkeyboard_config_jll v2.47.0+2\u001b[39m\n", + " \u001b[90m[c5fb5394] \u001b[39m\u001b[92m+ Xorg_xtrans_jll v1.6.0+0\u001b[39m\n", + " \u001b[90m[3161d3a3] \u001b[39m\u001b[92m+ Zstd_jll v1.5.7+1\u001b[39m\n", + " \u001b[90m[c4b69c83] \u001b[39m\u001b[92m+ dlfcn_win32_jll v1.4.2+0\u001b[39m\n", + " \u001b[90m[35ca27e7] \u001b[39m\u001b[92m+ eudev_jll v3.2.14+0\u001b[39m\n", + " \u001b[90m[214eeab7] \u001b[39m\u001b[92m+ fzf_jll v0.61.1+0\u001b[39m\n", + " \u001b[90m[a4ae2306] \u001b[39m\u001b[92m+ libaom_jll v3.13.3+0\u001b[39m\n", + " \u001b[90m[0ac62f75] \u001b[39m\u001b[92m+ libass_jll v0.17.4+0\u001b[39m\n", + " \u001b[90m[1183f4f0] \u001b[39m\u001b[92m+ libdecor_jll v0.2.2+0\u001b[39m\n", + " \u001b[90m[8e53e030] \u001b[39m\u001b[92m+ libdrm_jll v2.4.134+0\u001b[39m\n", + " \u001b[90m[2db6ffa8] \u001b[39m\u001b[92m+ libevdev_jll v1.13.4+0\u001b[39m\n", + " \u001b[90m[f638f0a6] \u001b[39m\u001b[92m+ libfdk_aac_jll v2.0.4+0\u001b[39m\n", + " \u001b[90m[36db933b] \u001b[39m\u001b[92m+ libinput_jll v1.28.1+0\u001b[39m\n", + " \u001b[90m[b53b4c65] \u001b[39m\u001b[92m+ libpng_jll v1.6.58+0\u001b[39m\n", + " \u001b[90m[9a156e7d] \u001b[39m\u001b[92m+ libva_jll v2.23.0+0\u001b[39m\n", + " \u001b[90m[f27f6e37] \u001b[39m\u001b[92m+ libvorbis_jll v1.3.8+0\u001b[39m\n", + " \u001b[90m[009596ad] \u001b[39m\u001b[92m+ mtdev_jll v1.1.7+0\u001b[39m\n", + " \u001b[90m[1317d2d5] \u001b[39m\u001b[92m+ oneTBB_jll v2022.3.0+0\u001b[39m\n", + " \u001b[90m[dfd00f80] \u001b[39m\u001b[92m+ qiskit_ibm_runtime_jll v0.38.1+0\u001b[39m\n", + "\u001b[33m⌅\u001b[39m \u001b[90m[1270edf5] \u001b[39m\u001b[92m+ x264_jll v10164.0.1+0\u001b[39m\n", + " \u001b[90m[dfaa095f] \u001b[39m\u001b[92m+ x265_jll v4.1.0+0\u001b[39m\n", + " \u001b[90m[d8fb68d0] \u001b[39m\u001b[92m+ xkbcommon_jll v1.13.0+0\u001b[39m\n", + " \u001b[90m[0dad84c5] \u001b[39m\u001b[92m+ ArgTools v1.1.2\u001b[39m\n", + " \u001b[90m[56f22d72] \u001b[39m\u001b[92m+ Artifacts v1.11.0\u001b[39m\n", + " \u001b[90m[2a0f44e3] \u001b[39m\u001b[92m+ Base64 v1.11.0\u001b[39m\n", + " \u001b[90m[8bf52ea8] \u001b[39m\u001b[92m+ CRC32c v1.11.0\u001b[39m\n", + " \u001b[90m[ade2ca70] \u001b[39m\u001b[92m+ Dates v1.11.0\u001b[39m\n", + " \u001b[90m[8ba89e20] \u001b[39m\u001b[92m+ Distributed v1.11.0\u001b[39m\n", + " \u001b[90m[f43a241f] \u001b[39m\u001b[92m+ Downloads v1.6.0\u001b[39m\n", + " \u001b[90m[7b1f6079] \u001b[39m\u001b[92m+ FileWatching v1.11.0\u001b[39m\n", + " \u001b[90m[9fa8497b] \u001b[39m\u001b[92m+ Future v1.11.0\u001b[39m\n", + " \u001b[90m[b77e0a4c] \u001b[39m\u001b[92m+ InteractiveUtils v1.11.0\u001b[39m\n", + " \u001b[90m[4af54fe1] \u001b[39m\u001b[92m+ LazyArtifacts v1.11.0\u001b[39m\n", + " \u001b[90m[b27032c2] \u001b[39m\u001b[92m+ LibCURL v0.6.4\u001b[39m\n", + " \u001b[90m[76f85450] \u001b[39m\u001b[92m+ LibGit2 v1.11.0\u001b[39m\n", + " \u001b[90m[8f399da3] \u001b[39m\u001b[92m+ Libdl v1.11.0\u001b[39m\n", + " \u001b[90m[37e2e46d] \u001b[39m\u001b[92m+ LinearAlgebra v1.11.0\u001b[39m\n", + " \u001b[90m[56ddb016] \u001b[39m\u001b[92m+ Logging v1.11.0\u001b[39m\n", + " \u001b[90m[d6f4376e] \u001b[39m\u001b[92m+ Markdown v1.11.0\u001b[39m\n", + " \u001b[90m[a63ad114] \u001b[39m\u001b[92m+ Mmap v1.11.0\u001b[39m\n", + " \u001b[90m[ca575930] \u001b[39m\u001b[92m+ NetworkOptions v1.2.0\u001b[39m\n", + " \u001b[90m[44cfe95a] \u001b[39m\u001b[92m+ Pkg v1.11.0\u001b[39m\n", + " \u001b[90m[de0858da] \u001b[39m\u001b[92m+ Printf v1.11.0\u001b[39m\n", + " \u001b[90m[3fa0cd96] \u001b[39m\u001b[92m+ REPL v1.11.0\u001b[39m\n", + " \u001b[90m[9a3f8284] \u001b[39m\u001b[92m+ Random v1.11.0\u001b[39m\n", + " \u001b[90m[ea8e919c] \u001b[39m\u001b[92m+ SHA v0.7.0\u001b[39m\n", + " \u001b[90m[9e88b42a] \u001b[39m\u001b[92m+ Serialization v1.11.0\u001b[39m\n", + " \u001b[90m[6462fe0b] \u001b[39m\u001b[92m+ Sockets v1.11.0\u001b[39m\n", + " \u001b[90m[2f01184e] \u001b[39m\u001b[92m+ SparseArrays v1.11.0\u001b[39m\n", + " \u001b[90m[f489334b] \u001b[39m\u001b[92m+ StyledStrings v1.11.0\u001b[39m\n", + " \u001b[90m[4607b0f0] \u001b[39m\u001b[92m+ SuiteSparse\u001b[39m\n", + " \u001b[90m[fa267f1f] \u001b[39m\u001b[92m+ TOML v1.0.3\u001b[39m\n", + " \u001b[90m[a4e569a6] \u001b[39m\u001b[92m+ Tar v1.10.0\u001b[39m\n", + " \u001b[90m[8dfed614] \u001b[39m\u001b[92m+ Test v1.11.0\u001b[39m\n", + " \u001b[90m[cf7118a7] \u001b[39m\u001b[92m+ UUIDs v1.11.0\u001b[39m\n", + " \u001b[90m[4ec0a83e] \u001b[39m\u001b[92m+ Unicode v1.11.0\u001b[39m\n", + " \u001b[90m[e66e0078] \u001b[39m\u001b[92m+ CompilerSupportLibraries_jll v1.1.1+0\u001b[39m\n", + " \u001b[90m[deac9b47] \u001b[39m\u001b[92m+ LibCURL_jll v8.6.0+0\u001b[39m\n", + " \u001b[90m[e37daf67] \u001b[39m\u001b[92m+ LibGit2_jll v1.7.2+0\u001b[39m\n", + " \u001b[90m[29816b5a] \u001b[39m\u001b[92m+ LibSSH2_jll v1.11.0+1\u001b[39m\n", + " \u001b[90m[c8ffd9c3] \u001b[39m\u001b[92m+ MbedTLS_jll v2.28.6+0\u001b[39m\n", + " \u001b[90m[14a3606d] \u001b[39m\u001b[92m+ MozillaCACerts_jll v2023.12.12\u001b[39m\n", + " \u001b[90m[4536629a] \u001b[39m\u001b[92m+ OpenBLAS_jll v0.3.27+1\u001b[39m\n", + " \u001b[90m[05823500] \u001b[39m\u001b[92m+ OpenLibm_jll v0.8.5+0\u001b[39m\n", + " \u001b[90m[efcefdf7] \u001b[39m\u001b[92m+ PCRE2_jll v10.42.0+1\u001b[39m\n", + " \u001b[90m[bea87d4a] \u001b[39m\u001b[92m+ SuiteSparse_jll v7.7.0+0\u001b[39m\n", + " \u001b[90m[83775a58] \u001b[39m\u001b[92m+ Zlib_jll v1.2.13+1\u001b[39m\n", + " \u001b[90m[8e850b90] \u001b[39m\u001b[92m+ libblastrampoline_jll v5.11.0+0\u001b[39m\n", + " \u001b[90m[8e850ede] \u001b[39m\u001b[92m+ nghttp2_jll v1.59.0+0\u001b[39m\n", + " \u001b[90m[3f19e933] \u001b[39m\u001b[92m+ p7zip_jll v17.4.0+2\u001b[39m\n", + "\u001b[36m\u001b[1m Info\u001b[22m\u001b[39m Packages marked with \u001b[32m⌃\u001b[39m and \u001b[33m⌅\u001b[39m have new versions available. Those with \u001b[32m⌃\u001b[39m may be upgradable, but those with \u001b[33m⌅\u001b[39m are restricted by compatibility constraints from upgrading. To see why use `status --outdated -m`\n", + "\u001b[92m\u001b[1mPrecompiling\u001b[22m\u001b[39m project...\n", + " 1073.1 ms\u001b[32m ✓ \u001b[39m\u001b[90mBinaryHeaps\u001b[39m\n", + " 928.7 ms\u001b[32m ✓ \u001b[39m\u001b[90mRespecializeParams\u001b[39m\n", + " 1883.1 ms\u001b[32m ✓ \u001b[39m\u001b[90mOrdinaryDiffEqRosenbrockTableaus\u001b[39m\n", + " 1391.6 ms\u001b[32m ✓ \u001b[39m\u001b[90mSciMLLogging\u001b[39m\n", + " 2302.1 ms\u001b[32m ✓ \u001b[39m\u001b[90mColorTypes\u001b[39m\n", + " 3334.2 ms\u001b[32m ✓ \u001b[39m\u001b[90mFindFirstFunctions\u001b[39m\n", + " 933.4 ms\u001b[32m ✓ \u001b[39m\u001b[90mColorTypes → StyledStringsExt\u001b[39m\n", + " 2324.5 ms\u001b[32m ✓ \u001b[39m\u001b[90mColorVectorSpace\u001b[39m\n", + " 3795.3 ms\u001b[32m ✓ \u001b[39m\u001b[90mNamedGraphs\u001b[39m\n", + " 5689.3 ms\u001b[32m ✓ \u001b[39m\u001b[90mRecursiveArrayTools\u001b[39m\n", + " 1012.8 ms\u001b[32m ✓ \u001b[39m\u001b[90mColorVectorSpace → SpecialFunctionsExt\u001b[39m\n", + " 918.0 ms\u001b[32m ✓ \u001b[39m\u001b[90mRecursiveArrayTools → RecursiveArrayToolsTablesExt\u001b[39m\n", + " 961.2 ms\u001b[32m ✓ \u001b[39m\u001b[90mRecursiveArrayTools → RecursiveArrayToolsFastBroadcastExt\u001b[39m\n", + " 1032.9 ms\u001b[32m ✓ \u001b[39m\u001b[90mRecursiveArrayTools → RecursiveArrayToolsStatisticsExt\u001b[39m\n", + " 1098.1 ms\u001b[32m ✓ \u001b[39m\u001b[90mRecursiveArrayTools → RecursiveArrayToolsForwardDiffExt\u001b[39m\n", + " 1338.8 ms\u001b[32m ✓ \u001b[39m\u001b[90mRecursiveArrayTools → RecursiveArrayToolsSparseArraysExt\u001b[39m\n", + " 5633.5 ms\u001b[32m ✓ \u001b[39m\u001b[90mColors\u001b[39m\n", + " 1095.8 ms\u001b[32m ✓ \u001b[39m\u001b[90mSparseMatrixColorings → SparseMatrixColoringsColorsExt\u001b[39m\n", + " 5092.1 ms\u001b[32m ✓ \u001b[39m\u001b[90mNamedGraphs → NamedGraphsSimpleGraphAlgorithmsExt\u001b[39m\n", + " 4138.7 ms\u001b[32m ✓ \u001b[39m\u001b[90mColorSchemes\u001b[39m\n", + " 9422.0 ms\u001b[32m ✓ \u001b[39m\u001b[90mSciMLBase\u001b[39m\n", + " 2137.9 ms\u001b[32m ✓ \u001b[39m\u001b[90mSciMLBase → SciMLBaseDifferentiationInterfaceExt\u001b[39m\n", + " 8260.1 ms\u001b[32m ✓ \u001b[39mTensorNetworkQuantumSimulator\n", + " 2207.8 ms\u001b[32m ✓ \u001b[39m\u001b[90mSciMLBase → SciMLBaseDistributionsExt\u001b[39m\n", + " 2201.8 ms\u001b[32m ✓ \u001b[39m\u001b[90mSciMLBase → SciMLBaseChainRulesCoreExt\u001b[39m\n", + " 2663.1 ms\u001b[32m ✓ \u001b[39m\u001b[90mSciMLBase → SciMLBaseForwardDiffExt\u001b[39m\n", + " 2682.2 ms\u001b[32m ✓ \u001b[39m\u001b[90mSciMLBase → SciMLBaseStaticArraysExt\u001b[39m\n", + " 3466.6 ms\u001b[32m ✓ \u001b[39m\u001b[90mSciMLJacobianOperators\u001b[39m\n", + " 9247.2 ms\u001b[32m ✓ \u001b[39m\u001b[90mPlotUtils\u001b[39m\n", + " 3994.4 ms\u001b[32m ✓ \u001b[39m\u001b[90mPlotThemes\u001b[39m\n", + " 4309.8 ms\u001b[32m ✓ \u001b[39m\u001b[90mRecipesPipeline\u001b[39m\n", + " 6582.1 ms\u001b[32m ✓ \u001b[39m\u001b[90mLineSearch\u001b[39m\n", + " 1107.4 ms\u001b[32m ✓ \u001b[39m\u001b[90mLineSearch → LineSearchLineSearchesExt\u001b[39m\n", + " 7833.2 ms\u001b[32m ✓ \u001b[39m\u001b[90mNonlinearSolveBase\u001b[39m\n", + " 15340.4 ms\u001b[32m ✓ \u001b[39m\u001b[90mLinearSolve\u001b[39m\n", + " 2431.6 ms\u001b[32m ✓ \u001b[39m\u001b[90mNonlinearSolveBase → NonlinearSolveBaseLineSearchExt\u001b[39m\n", + " 2544.4 ms\u001b[32m ✓ \u001b[39m\u001b[90mNonlinearSolveBase → NonlinearSolveBaseChainRulesCoreExt\u001b[39m\n", + " 2820.7 ms\u001b[32m ✓ \u001b[39m\u001b[90mNonlinearSolveBase → NonlinearSolveBaseSparseArraysExt\u001b[39m\n", + " 2955.2 ms\u001b[32m ✓ \u001b[39m\u001b[90mNonlinearSolveBase → NonlinearSolveBaseSparseMatrixColoringsExt\u001b[39m\n", + " 4762.8 ms\u001b[32m ✓ \u001b[39m\u001b[90mBracketingNonlinearSolve\u001b[39m\n", + " 3039.5 ms\u001b[32m ✓ \u001b[39m\u001b[90mLinearSolve → LinearSolveChainRulesCoreExt\u001b[39m\n", + " 2949.6 ms\u001b[32m ✓ \u001b[39m\u001b[90mLinearSolve → LinearSolveKrylovKitExt\u001b[39m\n", + " 2731.9 ms\u001b[32m ✓ \u001b[39m\u001b[90mNonlinearSolveBase → NonlinearSolveBaseLinearSolveExt\u001b[39m\n", + " 3343.0 ms\u001b[32m ✓ \u001b[39m\u001b[90mLinearSolve → LinearSolveArnoldiMethodExt\u001b[39m\n", + " 5521.2 ms\u001b[32m ✓ \u001b[39m\u001b[90mLinearSolve → LinearSolveForwardDiffExt\u001b[39m\n", + " 2700.4 ms\u001b[32m ✓ \u001b[39m\u001b[90mBracketingNonlinearSolve → BracketingNonlinearSolveForwardDiffExt\u001b[39m\n", + " 8045.1 ms\u001b[32m ✓ \u001b[39m\u001b[90mNonlinearSolveBase → NonlinearSolveBaseForwardDiffExt\u001b[39m\n", + " 1729.6 ms\u001b[32m ✓ \u001b[39m\u001b[90mBracketingNonlinearSolve → BracketingNonlinearSolveChainRulesCoreExt\u001b[39m\n", + " 6779.5 ms\u001b[32m ✓ \u001b[39m\u001b[90mLinearSolve → LinearSolveSparseArraysExt\u001b[39m\n", + " 5886.6 ms\u001b[32m ✓ \u001b[39m\u001b[90mDiffEqBase\u001b[39m\n", + " 2410.4 ms\u001b[32m ✓ \u001b[39m\u001b[90mLinearSolve → LinearSolveEnzymeExt\u001b[39m\n", + " 2252.8 ms\u001b[32m ✓ \u001b[39m\u001b[90mDiffEqBase → DiffEqBaseChainRulesCoreExt\u001b[39m\n", + " 2643.3 ms\u001b[32m ✓ \u001b[39m\u001b[90mDiffEqBase → DiffEqBaseSparseArraysExt\u001b[39m\n", + " 11147.5 ms\u001b[32m ✓ \u001b[39m\u001b[90mNonlinearSolveSpectralMethods\u001b[39m\n", + " 3020.8 ms\u001b[32m ✓ \u001b[39m\u001b[90mNonlinearSolveSpectralMethods → NonlinearSolveSpectralMethodsForwardDiffExt\u001b[39m\n", + " 7945.9 ms\u001b[32m ✓ \u001b[39m\u001b[90mDiffEqBase → DiffEqBaseForwardDiffExt\u001b[39m\n", + " 6928.3 ms\u001b[32m ✓ \u001b[39m\u001b[90mOrdinaryDiffEqCore\u001b[39m\n", + " 10901.6 ms\u001b[32m ✓ \u001b[39m\u001b[90mLinearSolve → LinearSolveCliqueTreesExt\u001b[39m\n", + " 2382.1 ms\u001b[32m ✓ \u001b[39m\u001b[90mOrdinaryDiffEqCore → OrdinaryDiffEqCoreSparseArraysExt\u001b[39m\n", + " 16658.8 ms\u001b[32m ✓ \u001b[39m\u001b[90mSimpleNonlinearSolve\u001b[39m\n", + " 2515.5 ms\u001b[32m ✓ \u001b[39m\u001b[90mSimpleNonlinearSolve → SimpleNonlinearSolveChainRulesCoreExt\u001b[39m\n", + " 6255.2 ms\u001b[32m ✓ \u001b[39m\u001b[90mOrdinaryDiffEqDifferentiation\u001b[39m\n", + " 10501.7 ms\u001b[32m ✓ \u001b[39m\u001b[90mOrdinaryDiffEqTsit5\u001b[39m\n", + " 3723.5 ms\u001b[32m ✓ \u001b[39m\u001b[90mOrdinaryDiffEqDifferentiation → OrdinaryDiffEqDifferentiationSparseArraysExt\u001b[39m\n", + " 24015.9 ms\u001b[32m ✓ \u001b[39m\u001b[90mNonlinearSolveQuasiNewton\u001b[39m\n", + " 3031.5 ms\u001b[32m ✓ \u001b[39m\u001b[90mNonlinearSolveQuasiNewton → NonlinearSolveQuasiNewtonForwardDiffExt\u001b[39m\n", + " 40162.1 ms\u001b[32m ✓ \u001b[39m\u001b[90mNonlinearSolveFirstOrder\u001b[39m\n", + " 29164.1 ms\u001b[32m ✓ \u001b[39m\u001b[90mOrdinaryDiffEqRosenbrock\u001b[39m\n", + " 43210.1 ms\u001b[32m ✓ \u001b[39m\u001b[90mOrdinaryDiffEqVerner\u001b[39m\n", + " 83801.7 ms\u001b[32m ✓ \u001b[39mPlots\n", + " 41347.7 ms\u001b[32m ✓ \u001b[39m\u001b[90mNonlinearSolve\u001b[39m\n", + " 5324.3 ms\u001b[32m ✓ \u001b[39m\u001b[90mOrdinaryDiffEqNonlinearSolve\u001b[39m\n", + " 32351.5 ms\u001b[32m ✓ \u001b[39m\u001b[90mOrdinaryDiffEqSDIRK\u001b[39m\n", + " 13039.7 ms\u001b[32m ✓ \u001b[39m\u001b[90mOrdinaryDiffEqBDF\u001b[39m\n", + " 27787.1 ms\u001b[32m ✓ \u001b[39m\u001b[90mOrdinaryDiffEqDefault\u001b[39m\n", + " 4491.3 ms\u001b[32m ✓ \u001b[39mOrdinaryDiffEq\n", + " 76 dependencies successfully precompiled in 207 seconds. 420 already precompiled.\n" ] } ], "source": [ - "# Activate the project environment and list installed packages\n", + "# Set up a temporary environment and install the required packages\n", "using Pkg\n", - "Pkg.activate(\".\")" + "Pkg.activate(mktempdir()) # fresh temporary environment\n", + "Pkg.add([\n", + " \"Qiskit\",\n", + " \"QiskitIBMRuntime\",\n", + " \"OrdinaryDiffEq\",\n", + " \"TensorNetworkQuantumSimulator\",\n", + " \"JSON\",\n", + " \"LinearAlgebra\",\n", + " \"Plots\",\n", + " \"SparseArrays\",\n", + " \"StatsBase\",\n", + "])" ] }, { "cell_type": "markdown", - "id": "a519f88d", + "id": "166792cc", "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", - "* `QiskitIBMRuntime.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`" + "Option 2: reproduce the exact environment. Alternatively, you can go to the documentation [repository](https://github.com/Qiskit/documentation/tree/main/docs/tutorials/time-evolution) to download the following 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. If both `.toml` files are downloaded to the same directory as the notebook, you can 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": 2, - "id": "df94a35c", + "execution_count": null, + "id": "940631f3", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[32m\u001b[1m Activating\u001b[22m\u001b[39m project at `~/Documents/documentation/docs/tutorials/time-evolution`\n" + ] + } + ], "source": [ - "# Download and install all packages specified in Project.toml\n", - "Pkg.instantiate()" + "# Alternatively, activate the environment and install packages specified in the .toml files\n", + "using Pkg\n", + "Pkg.activate(@__DIR__)\n", + "Pkg.instantiate() # installs the exact versions recorded in Manifest.toml" ] }, { @@ -143,7 +661,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 2, "id": "4ea0efac", "metadata": {}, "outputs": [ @@ -151,8 +669,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "\u001b[36m\u001b[1m[ \u001b[22m\u001b[39m\u001b[36m\u001b[1mInfo: \u001b[22m\u001b[39mPrecompiling IJuliaExt [64482eec-cc57-5312-bea1-9f24eb636db7] (cache misses: wrong dep version loaded (4))\n", - "\u001b[36m\u001b[1m[ \u001b[22m\u001b[39m\u001b[36m\u001b[1mInfo: \u001b[22m\u001b[39mPrecompiling IJuliaExt [2f4121a4-3b3a-5ce6-9c5e-1f2673ce168a] (cache misses: wrong dep version loaded (4))\n" + "\u001b[36m\u001b[1m[ \u001b[22m\u001b[39m\u001b[36m\u001b[1mInfo: \u001b[22m\u001b[39mPrecompiling IJuliaExt [2f4121a4-3b3a-5ce6-9c5e-1f2673ce168a] (cache misses: wrong dep version loaded (6))\n" ] } ], @@ -631,7 +1148,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 16, "id": "32354a49", "metadata": {}, "outputs": [ @@ -639,16 +1156,16 @@ "name": "stdout", "output_type": "stream", "text": [ - "backend.name = \"ibm_fez\"\n" + "backend.name = \"ibm_miami\"\n" ] }, { "data": { "text/plain": [ - "\"ibm_fez\"" + "\"ibm_miami\"" ] }, - "execution_count": 12, + "execution_count": 16, "metadata": {}, "output_type": "execute_result" } @@ -662,17 +1179,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 17, "id": "14205fe7", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "Qiskit.Target(Ptr{Qiskit.C.LibQiskit.QkTarget} @0x0000000498252d70)" + "Target with 120 qubits\n", + " instructions: 7" ] }, - "execution_count": 13, + "execution_count": 17, "metadata": {}, "output_type": "execute_result" } @@ -683,7 +1201,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 18, "id": "8828900e", "metadata": {}, "outputs": [ @@ -691,20 +1209,20 @@ "data": { "text/plain": [ "11-element Vector{QuantumCircuit}:\n", - " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x0000000352bb7000, 1)\n", - " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x0000000115d34c00, 1)\n", - " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x0000000352b45c00, 1)\n", - " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x0000000352edf400, 1)\n", - " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x0000000116117000, 1)\n", - " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000012775ec00, 1)\n", - " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x00000001282f4a00, 1)\n", - " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x0000000352dc4200, 1)\n", - " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000048b779200, 1)\n", - " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x0000000352f40600, 1)\n", - " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x0000000116050a00, 1)" + " QuantumCircuit(120, 20; 30 instructions)\n", + " QuantumCircuit(120, 20; 211 instructions)\n", + " QuantumCircuit(120, 20; 345 instructions)\n", + " QuantumCircuit(120, 20; 476 instructions)\n", + " QuantumCircuit(120, 20; 607 instructions)\n", + " QuantumCircuit(120, 20; 738 instructions)\n", + " QuantumCircuit(120, 20; 869 instructions)\n", + " QuantumCircuit(120, 20; 1000 instructions)\n", + " QuantumCircuit(120, 20; 1131 instructions)\n", + " QuantumCircuit(120, 20; 1262 instructions)\n", + " QuantumCircuit(120, 20; 1393 instructions)" ] }, - "execution_count": 14, + "execution_count": 18, "metadata": {}, "output_type": "execute_result" } @@ -723,7 +1241,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 19, "id": "bf4c910c", "metadata": {}, "outputs": [ @@ -731,29 +1249,29 @@ "data": { "text/plain": [ "Set{Int64} with 20 elements:\n", - " 56\n", + " 35\n", " 55\n", - " 52\n", - " 60\n", - " 28\n", - " 75\n", - " 53\n", - " 47\n", - " 49\n", - " 74\n", - " 80\n", + " 81\n", + " 12\n", + " 24\n", + " 23\n", + " 22\n", + " 41\n", + " 43\n", + " 45\n", + " 44\n", + " 14\n", " 51\n", - " 46\n", - " 76\n", - " 48\n", - " 50\n", + " 61\n", + " 25\n", + " 71\n", + " 13\n", + " 15\n", " 54\n", - " 27\n", - " 38\n", - " 26" + " 42" ] }, - "execution_count": 15, + "execution_count": 19, "metadata": {}, "output_type": "execute_result" } @@ -768,7 +1286,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 20, "id": "5fa03372", "metadata": {}, "outputs": [ @@ -820,7 +1338,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 21, "id": "7bcdead5", "metadata": {}, "outputs": [ @@ -828,20 +1346,20 @@ "data": { "text/plain": [ "11-element Vector{QiskitIBMRuntime.Job}:\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000048fa82730)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000048deb9900)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000048f38b310)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000377fec9c0)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000048de54e80)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000377d2acb0)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000004983ac830)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000004983d8980)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000377f611a0)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000377f50da0)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000048e2946f0)" + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000001364ec840)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000001364e12a0)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000049a8a3340)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000038108d730)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000034f647340)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000003812b77b0)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000049a8985e0)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000034f62f370)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000003810960c0)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000034f67f760)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000381062ce0)" ] }, - "execution_count": 17, + "execution_count": 21, "metadata": {}, "output_type": "execute_result" } @@ -853,7 +1371,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 22, "id": "cc9cc9c5", "metadata": {}, "outputs": [ @@ -861,20 +1379,20 @@ "data": { "text/plain": [ "11-element Vector{QiskitIBMRuntime.Job}:\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000048fa82730)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000048deb9900)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000048f38b310)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000377fec9c0)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000048de54e80)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000377d2acb0)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000004983ac830)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000004983d8980)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000377f611a0)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000377f50da0)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000048e2946f0)" + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000001364ec840)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000001364e12a0)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000049a8a3340)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000038108d730)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000034f647340)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000003812b77b0)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000049a8985e0)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000034f62f370)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000003810960c0)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000034f67f760)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000381062ce0)" ] }, - "execution_count": 18, + "execution_count": 22, "metadata": {}, "output_type": "execute_result" } @@ -885,7 +1403,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 25, "id": "9bca942a", "metadata": {}, "outputs": [ @@ -893,17 +1411,17 @@ "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" + "Job 1: Queued\n", + "Job 2: Queued\n", + "Job 3: Queued\n", + "Job 4: Queued\n", + "Job 5: Queued\n", + "Job 6: Queued\n", + "Job 7: Queued\n", + "Job 8: Queued\n", + "Job 9: Queued\n", + "Job 10: Queued\n", + "Job 11: Queued\n" ] } ], From fd44734d836296ff543d634e4b8fa546e3ece7c7 Mon Sep 17 00:00:00 2001 From: Haimeng Zhang Date: Mon, 27 Jul 2026 17:23:03 -0400 Subject: [PATCH 19/40] add spelling ignore --- docs/tutorials/time-evolution/time-evolution.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/tutorials/time-evolution/time-evolution.ipynb b/docs/tutorials/time-evolution/time-evolution.ipynb index 9598c5f8a867..91f7b469d774 100644 --- a/docs/tutorials/time-evolution/time-evolution.ipynb +++ b/docs/tutorials/time-evolution/time-evolution.ipynb @@ -10,7 +10,7 @@ "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 */}" + "{/* cspell:ignore mktempdir Néel spdiagm Runge Kutta tspan saveat siteinds Neel maxdim tensornetworkstate println countmap clims xlabel ylabel colorbar */}" ] }, { From 509fe68e1d1f70d84de7cf11ed265d0abe8caa96 Mon Sep 17 00:00:00 2001 From: Haimeng Zhang Date: Mon, 27 Jul 2026 17:33:09 -0400 Subject: [PATCH 20/40] fix notebook with tox -e fix --- docs/tutorials/time-evolution/time-evolution.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/tutorials/time-evolution/time-evolution.ipynb b/docs/tutorials/time-evolution/time-evolution.ipynb index 91f7b469d774..77080cf9a7c3 100644 --- a/docs/tutorials/time-evolution/time-evolution.ipynb +++ b/docs/tutorials/time-evolution/time-evolution.ipynb @@ -68,7 +68,7 @@ "julia -e 'using Pkg; Pkg.add(\"IJulia\")'\n", "```\n", "\n", - "We will use Julia's built-in package manager to set up the project environment. There are two ways to set up the environment. \n", + "We will use Julia's built-in package manager to set up the project environment. There are two ways to set up the environment.\n", "\n", "Option 1: temporary environment. You can run the following code cell to set up a temporary environment and install the required packages:\n", "\n", From dfba1eb5f0b505a550ac52b3f047ab9144914ae4 Mon Sep 17 00:00:00 2001 From: Haimeng Zhang Date: Thu, 30 Jul 2026 10:50:06 -0400 Subject: [PATCH 21/40] slience installation output --- .../time-evolution/time-evolution.ipynb | 523 +----------------- 1 file changed, 7 insertions(+), 516 deletions(-) diff --git a/docs/tutorials/time-evolution/time-evolution.ipynb b/docs/tutorials/time-evolution/time-evolution.ipynb index 77080cf9a7c3..1732f26330e8 100644 --- a/docs/tutorials/time-evolution/time-evolution.ipynb +++ b/docs/tutorials/time-evolution/time-evolution.ipynb @@ -92,515 +92,14 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "id": "1454cc50", "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\u001b[32m\u001b[1m Activating\u001b[22m\u001b[39m new project at `/var/folders/7d/f1w39x4j6szdp40z5vzl63h40000gn/T/jl_EloT58`\n", - "\u001b[32m\u001b[1m Resolving\u001b[22m\u001b[39m package versions...\n", - "\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m OrdinaryDiffEqSDIRK ────────────── v2.8.1\n", - "\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m FindFirstFunctions ─────────────── v3.2.0\n", - "\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m OrdinaryDiffEqVerner ───────────── v2.2.0\n", - "\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m OrdinaryDiffEqRosenbrock ───────── v2.4.2\n", - "\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m OrdinaryDiffEqCore ─────────────── v4.8.0\n", - "\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m SciMLLogging ───────────────────── v2.0.3\n", - "\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m RecursiveArrayTools ────────────── v4.3.4\n", - "\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m NonlinearSolve ─────────────────── v4.21.1\n", - "\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m NonlinearSolveQuasiNewton ──────── v1.14.0\n", - "\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m OrdinaryDiffEqNonlinearSolve ───── v2.4.0\n", - "\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m BracketingNonlinearSolve ───────── v1.12.3\n", - "\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m DiffEqBase ─────────────────────── v7.7.0\n", - "\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m SciMLBase ──────────────────────── v3.39.1\n", - "\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m SimpleNonlinearSolve ───────────── v2.13.0\n", - "\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m NonlinearSolveSpectralMethods ──── v1.7.3\n", - "\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m RespecializeParams ─────────────── v1.1.0\n", - "\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m NonlinearSolveBase ─────────────── v2.35.0\n", - "\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m TensorNetworkQuantumSimulator ──── v0.4.2\n", - "\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m NonlinearSolveFirstOrder ───────── v2.2.0\n", - "\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m LinearSolve ────────────────────── v4.3.0\n", - "\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m OrdinaryDiffEqTsit5 ────────────── v2.1.0\n", - "\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m OrdinaryDiffEqBDF ──────────────── v2.4.0\n", - "\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m NamedGraphs ────────────────────── v0.13.0\n", - "\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m OrdinaryDiffEqRosenbrockTableaus ─ v2.4.0\n", - "\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m OrdinaryDiffEqDifferentiation ──── v3.4.1\n", - "\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m BinaryHeaps ────────────────────── v1.0.3\n", - "\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m OrdinaryDiffEqDefault ──────────── v2.3.0\n", - "\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m OrdinaryDiffEq ─────────────────── v7.2.0\n", - "\u001b[32m\u001b[1m Updating\u001b[22m\u001b[39m `/private/var/folders/7d/f1w39x4j6szdp40z5vzl63h40000gn/T/jl_EloT58/Project.toml`\n", - " \u001b[90m[682c06a0] \u001b[39m\u001b[92m+ JSON v1.6.1\u001b[39m\n", - " \u001b[90m[1dea7af3] \u001b[39m\u001b[92m+ OrdinaryDiffEq v7.2.0\u001b[39m\n", - " \u001b[90m[91a5bcdd] \u001b[39m\u001b[92m+ Plots v1.41.6\u001b[39m\n", - " \u001b[90m[91d9a17d] \u001b[39m\u001b[92m+ Qiskit v0.5.1\u001b[39m\n", - " \u001b[90m[1f74880b] \u001b[39m\u001b[92m+ QiskitIBMRuntime v0.2.1\u001b[39m\n", - " \u001b[90m[2913bbd2] \u001b[39m\u001b[92m+ StatsBase v0.34.12\u001b[39m\n", - " \u001b[90m[4de3b72a] \u001b[39m\u001b[92m+ TensorNetworkQuantumSimulator v0.4.2\u001b[39m\n", - " \u001b[90m[37e2e46d] \u001b[39m\u001b[92m+ LinearAlgebra v1.11.0\u001b[39m\n", - " \u001b[90m[2f01184e] \u001b[39m\u001b[92m+ SparseArrays v1.11.0\u001b[39m\n", - "\u001b[32m\u001b[1m Updating\u001b[22m\u001b[39m `/private/var/folders/7d/f1w39x4j6szdp40z5vzl63h40000gn/T/jl_EloT58/Manifest.toml`\n", - " \u001b[90m[47edcb42] \u001b[39m\u001b[92m+ ADTypes v1.22.2\u001b[39m\n", - " \u001b[90m[14f7f29c] \u001b[39m\u001b[92m+ AMD v0.5.3\u001b[39m\n", - " \u001b[90m[398f06c4] \u001b[39m\u001b[92m+ AbstractLattices v0.3.1\u001b[39m\n", - " \u001b[90m[1520ce14] \u001b[39m\u001b[92m+ AbstractTrees v0.4.5\u001b[39m\n", - " \u001b[90m[7d9f7c33] \u001b[39m\u001b[92m+ Accessors v0.1.45\u001b[39m\n", - " \u001b[90m[79e6a3ab] \u001b[39m\u001b[92m+ Adapt v4.7.0\u001b[39m\n", - " \u001b[90m[66dad0bd] \u001b[39m\u001b[92m+ AliasTables v1.1.3\u001b[39m\n", - " \u001b[90m[dce04be8] \u001b[39m\u001b[92m+ ArgCheck v2.5.0\u001b[39m\n", - " \u001b[90m[ec485272] \u001b[39m\u001b[92m+ ArnoldiMethod v0.4.0\u001b[39m\n", - " \u001b[90m[4fba245c] \u001b[39m\u001b[92m+ ArrayInterface v7.28.1\u001b[39m\n", - " \u001b[90m[4c555306] \u001b[39m\u001b[92m+ ArrayLayouts v1.12.2\u001b[39m\n", - " \u001b[90m[198e06fe] \u001b[39m\u001b[92m+ BangBang v0.4.9\u001b[39m\n", - " \u001b[90m[9718e550] \u001b[39m\u001b[92m+ Baselet v0.1.1\u001b[39m\n", - " \u001b[90m[b2a6c25c] \u001b[39m\u001b[92m+ BinaryHeaps v1.0.3\u001b[39m\n", - " \u001b[90m[50ba71b6] \u001b[39m\u001b[92m+ BitBasis v0.9.10\u001b[39m\n", - " \u001b[90m[d1d4a3ce] \u001b[39m\u001b[92m+ BitFlags v0.1.10\u001b[39m\n", - " \u001b[90m[c3b6d118] \u001b[39m\u001b[92m+ BitIntegers v0.3.7\u001b[39m\n", - " \u001b[90m[8e7c35d0] \u001b[39m\u001b[92m+ BlockArrays v1.10.0\u001b[39m\n", - " \u001b[90m[70df07ce] \u001b[39m\u001b[92m+ BracketingNonlinearSolve v1.12.3\u001b[39m\n", - " \u001b[90m[fa961155] \u001b[39m\u001b[92m+ CEnum v0.5.0\u001b[39m\n", - " \u001b[90m[d360d2e6] \u001b[39m\u001b[92m+ ChainRulesCore v1.26.1\u001b[39m\n", - " \u001b[90m[858a232f] \u001b[39m\u001b[92m+ ChooseOptimizer v0.3.2\u001b[39m\n", - " \u001b[90m[60701a23] \u001b[39m\u001b[92m+ CliqueTrees v1.19.4\u001b[39m\n", - " \u001b[90m[da1fd8a2] \u001b[39m\u001b[92m+ CodeTracking v3.0.2\u001b[39m\n", - " \u001b[90m[523fee87] \u001b[39m\u001b[92m+ CodecBzip2 v0.8.5\u001b[39m\n", - " \u001b[90m[944b1d66] \u001b[39m\u001b[92m+ CodecZlib v0.7.8\u001b[39m\n", - " \u001b[90m[08986516] \u001b[39m\u001b[92m+ Collects v1.1.0\u001b[39m\n", - " \u001b[90m[35d6a980] \u001b[39m\u001b[92m+ ColorSchemes v3.31.0\u001b[39m\n", - " \u001b[90m[3da002f7] \u001b[39m\u001b[92m+ ColorTypes v0.12.1\u001b[39m\n", - " \u001b[90m[c3611d14] \u001b[39m\u001b[92m+ ColorVectorSpace v0.11.0\u001b[39m\n", - " \u001b[90m[5ae59095] \u001b[39m\u001b[92m+ Colors v0.13.1\u001b[39m\n", - " \u001b[90m[861a8166] \u001b[39m\u001b[92m+ Combinatorics v1.1.0\u001b[39m\n", - " \u001b[90m[38540f10] \u001b[39m\u001b[92m+ CommonSolve v0.2.11\u001b[39m\n", - " \u001b[90m[bbf7d656] \u001b[39m\u001b[92m+ CommonSubexpressions v0.3.1\u001b[39m\n", - " \u001b[90m[34da2185] \u001b[39m\u001b[92m+ Compat v4.18.1\u001b[39m\n", - " \u001b[90m[807dbc54] \u001b[39m\u001b[92m+ Compiler v0.1.1\u001b[39m\n", - " \u001b[90m[a33af91c] \u001b[39m\u001b[92m+ CompositionsBase v0.1.2\u001b[39m\n", - " \u001b[90m[2569d6c7] \u001b[39m\u001b[92m+ ConcreteStructs v0.2.6\u001b[39m\n", - " \u001b[90m[f0e56b4a] \u001b[39m\u001b[92m+ ConcurrentUtilities v2.5.1\u001b[39m\n", - " \u001b[90m[187b0558] \u001b[39m\u001b[92m+ ConstructionBase v1.6.0\u001b[39m\n", - " \u001b[90m[d38c429a] \u001b[39m\u001b[92m+ Contour v0.6.3\u001b[39m\n", - " \u001b[90m[9a962f9c] \u001b[39m\u001b[92m+ DataAPI v1.16.0\u001b[39m\n", - " \u001b[90m[864edb3b] \u001b[39m\u001b[92m+ DataStructures v0.19.6\u001b[39m\n", - " \u001b[90m[e2d170a0] \u001b[39m\u001b[92m+ DataValueInterfaces v1.0.0\u001b[39m\n", - " \u001b[90m[244e2a9f] \u001b[39m\u001b[92m+ DefineSingletons v0.1.2\u001b[39m\n", - " \u001b[90m[8bb1440f] \u001b[39m\u001b[92m+ DelimitedFiles v1.9.1\u001b[39m\n", - " \u001b[90m[85a47980] \u001b[39m\u001b[92m+ Dictionaries v0.4.6\u001b[39m\n", - " \u001b[90m[2b5f629d] \u001b[39m\u001b[92m+ DiffEqBase v7.7.0\u001b[39m\n", - " \u001b[90m[163ba53b] \u001b[39m\u001b[92m+ DiffResults v1.1.0\u001b[39m\n", - " \u001b[90m[b552c78f] \u001b[39m\u001b[92m+ DiffRules v1.16.0\u001b[39m\n", - " \u001b[90m[a0c0ee7d] \u001b[39m\u001b[92m+ DifferentiationInterface v0.7.20\u001b[39m\n", - " \u001b[90m[31c24e10] \u001b[39m\u001b[92m+ Distributions v0.25.130\u001b[39m\n", - " \u001b[90m[ffbed154] \u001b[39m\u001b[92m+ DocStringExtensions v0.9.5\u001b[39m\n", - " \u001b[90m[da5c29d0] \u001b[39m\u001b[92m+ EllipsisNotation v1.10.3\u001b[39m\n", - " \u001b[90m[4e289a0a] \u001b[39m\u001b[92m+ EnumX v1.0.7\u001b[39m\n", - " \u001b[90m[f151be2c] \u001b[39m\u001b[92m+ EnzymeCore v0.8.21\u001b[39m\n", - " \u001b[90m[460bff9d] \u001b[39m\u001b[92m+ ExceptionUnwrapping v0.1.11\u001b[39m\n", - " \u001b[90m[e2ba6199] \u001b[39m\u001b[92m+ ExprTools v0.1.11\u001b[39m\n", - " \u001b[90m[e189563c] \u001b[39m\u001b[92m+ ExternalDocstrings v0.1.1\u001b[39m\n", - " \u001b[90m[c87230d0] \u001b[39m\u001b[92m+ FFMPEG v0.4.5\u001b[39m\n", - " \u001b[90m[7034ab61] \u001b[39m\u001b[92m+ FastBroadcast v1.3.4\u001b[39m\n", - " \u001b[90m[9aa1b823] \u001b[39m\u001b[92m+ FastClosures v0.3.2\u001b[39m\n", - " \u001b[90m[a4df4552] \u001b[39m\u001b[92m+ FastPower v1.3.4\u001b[39m\n", - " \u001b[90m[1a297f60] \u001b[39m\u001b[92m+ FillArrays v1.17.0\u001b[39m\n", - " \u001b[90m[64ca27bc] \u001b[39m\u001b[92m+ FindFirstFunctions v3.2.0\u001b[39m\n", - " \u001b[90m[6a86dc24] \u001b[39m\u001b[92m+ FiniteDiff v2.32.0\u001b[39m\n", - "\u001b[33m⌅\u001b[39m \u001b[90m[53c48c17] \u001b[39m\u001b[92m+ FixedPointNumbers v0.8.6\u001b[39m\n", - " \u001b[90m[3821ddf9] \u001b[39m\u001b[92m+ FixedSizeArrays v1.3.0\u001b[39m\n", - " \u001b[90m[41a02a25] \u001b[39m\u001b[92m+ Folds v0.2.10\u001b[39m\n", - " \u001b[90m[1fa38f19] \u001b[39m\u001b[92m+ Format v1.3.7\u001b[39m\n", - " \u001b[90m[f6369f11] \u001b[39m\u001b[92m+ ForwardDiff v1.4.2\u001b[39m\n", - " \u001b[90m[069b7b12] \u001b[39m\u001b[92m+ FunctionWrappers v1.1.3\u001b[39m\n", - " \u001b[90m[77dc65aa] \u001b[39m\u001b[92m+ FunctionWrappersWrappers v1.10.1\u001b[39m\n", - " \u001b[90m[d9f16b24] \u001b[39m\u001b[92m+ Functors v0.5.2\u001b[39m\n", - " \u001b[90m[46192b85] \u001b[39m\u001b[92m+ GPUArraysCore v0.2.0\u001b[39m\n", - " \u001b[90m[28b8d3ca] \u001b[39m\u001b[92m+ GR v0.73.26\u001b[39m\n", - " \u001b[90m[a0844989] \u001b[39m\u001b[92m+ Gamma v1.1.0\u001b[39m\n", - " \u001b[90m[86223c79] \u001b[39m\u001b[92m+ Graphs v1.14.0\u001b[39m\n", - " \u001b[90m[42e2da0e] \u001b[39m\u001b[92m+ Grisu v1.0.2\u001b[39m\n", - "\u001b[33m⌅\u001b[39m \u001b[90m[cd3eb016] \u001b[39m\u001b[92m+ HTTP v1.11.0\u001b[39m\n", - " \u001b[90m[f0d1745a] \u001b[39m\u001b[92m+ HalfIntegers v1.6.0\u001b[39m\n", - " \u001b[90m[87dc4568] \u001b[39m\u001b[92m+ HiGHS v1.24.1\u001b[39m\n", - " \u001b[90m[34004b35] \u001b[39m\u001b[92m+ HypergeometricFunctions v0.3.29\u001b[39m\n", - " \u001b[90m[9136182c] \u001b[39m\u001b[92m+ ITensors v0.9.30\u001b[39m\n", - " \u001b[90m[313cdc1a] \u001b[39m\u001b[92m+ Indexing v1.1.1\u001b[39m\n", - " \u001b[90m[d25df0c9] \u001b[39m\u001b[92m+ Inflate v0.1.5\u001b[39m\n", - " \u001b[90m[22cec73e] \u001b[39m\u001b[92m+ InitialValues v0.3.1\u001b[39m\n", - " \u001b[90m[842dd82b] \u001b[39m\u001b[92m+ InlineStrings v1.4.5\u001b[39m\n", - " \u001b[90m[18e54dd8] \u001b[39m\u001b[92m+ IntegerMathUtils v0.1.4\u001b[39m\n", - " \u001b[90m[3587e190] \u001b[39m\u001b[92m+ InverseFunctions v0.1.17\u001b[39m\n", - " \u001b[90m[92d709cd] \u001b[39m\u001b[92m+ IrrationalConstants v0.2.6\u001b[39m\n", - " \u001b[90m[28f27b66] \u001b[39m\u001b[92m+ IsApprox v2.0.1\u001b[39m\n", - " \u001b[90m[c8e1da08] \u001b[39m\u001b[92m+ IterTools v1.10.0\u001b[39m\n", - " \u001b[90m[82899510] \u001b[39m\u001b[92m+ IteratorInterfaceExtensions v1.0.0\u001b[39m\n", - " \u001b[90m[1019f520] \u001b[39m\u001b[92m+ JLFzf v0.1.11\u001b[39m\n", - " \u001b[90m[692b3bcd] \u001b[39m\u001b[92m+ JLLWrappers v1.8.0\u001b[39m\n", - " \u001b[90m[682c06a0] \u001b[39m\u001b[92m+ JSON v1.6.1\u001b[39m\n", - " \u001b[90m[4076af6c] \u001b[39m\u001b[92m+ JuMP v1.31.1\u001b[39m\n", - " \u001b[90m[aa1ae85d] \u001b[39m\u001b[92m+ JuliaInterpreter v0.11.4\u001b[39m\n", - " \u001b[90m[ba0b0d4f] \u001b[39m\u001b[92m+ Krylov v0.10.8\u001b[39m\n", - " \u001b[90m[0b1a1467] \u001b[39m\u001b[92m+ KrylovKit v0.10.4\u001b[39m\n", - " \u001b[90m[b964fa9f] \u001b[39m\u001b[92m+ LaTeXStrings v1.4.0\u001b[39m\n", - " \u001b[90m[23fbe1c1] \u001b[39m\u001b[92m+ Latexify v0.16.11\u001b[39m\n", - " \u001b[90m[9c8b4983] \u001b[39m\u001b[92m+ LightXML v0.9.3\u001b[39m\n", - " \u001b[90m[87fe0de2] \u001b[39m\u001b[92m+ LineSearch v0.1.12\u001b[39m\n", - " \u001b[90m[d3d80556] \u001b[39m\u001b[92m+ LineSearches v7.7.1\u001b[39m\n", - " \u001b[90m[9b3f67b0] \u001b[39m\u001b[92m+ LinearAlgebraX v0.2.11\u001b[39m\n", - "\u001b[33m⌅\u001b[39m \u001b[90m[7ed4a6bd] \u001b[39m\u001b[92m+ LinearSolve v4.3.0\u001b[39m\n", - " \u001b[90m[2ab3a3ac] \u001b[39m\u001b[92m+ LogExpFunctions v1.0.1\u001b[39m\n", - " \u001b[90m[e6f89c97] \u001b[39m\u001b[92m+ LoggingExtras v1.2.0\u001b[39m\n", - " \u001b[90m[6f1432cf] \u001b[39m\u001b[92m+ LoweredCodeUtils v3.8.0\u001b[39m\n", - " \u001b[90m[1914dd2f] \u001b[39m\u001b[92m+ MacroTools v0.5.16\u001b[39m\n", - " \u001b[90m[8c4f8055] \u001b[39m\u001b[92m+ MathOptIIS v0.2.0\u001b[39m\n", - " \u001b[90m[b8f27783] \u001b[39m\u001b[92m+ MathOptInterface v1.51.2\u001b[39m\n", - " \u001b[90m[bb5d69b7] \u001b[39m\u001b[92m+ MaybeInplace v0.1.7\u001b[39m\n", - " \u001b[90m[739be429] \u001b[39m\u001b[92m+ MbedTLS v1.1.10\u001b[39m\n", - " \u001b[90m[442fdcdd] \u001b[39m\u001b[92m+ Measures v0.3.3\u001b[39m\n", - " \u001b[90m[128add7d] \u001b[39m\u001b[92m+ MicroCollections v0.2.0\u001b[39m\n", - " \u001b[90m[e1d29d7a] \u001b[39m\u001b[92m+ Missings v1.2.0\u001b[39m\n", - " \u001b[90m[7475f97c] \u001b[39m\u001b[92m+ Mods v2.2.6\u001b[39m\n", - " \u001b[90m[46d2c3a1] \u001b[39m\u001b[92m+ MuladdMacro v0.2.6\u001b[39m\n", - " \u001b[90m[3b2b4ff1] \u001b[39m\u001b[92m+ Multisets v0.4.6\u001b[39m\n", - " \u001b[90m[d8a4904e] \u001b[39m\u001b[92m+ MutableArithmetics v1.8.0\u001b[39m\n", - " \u001b[90m[23ae76d9] \u001b[39m\u001b[92m+ NDTensors v0.4.28\u001b[39m\n", - " \u001b[90m[d41bc354] \u001b[39m\u001b[92m+ NLSolversBase v8.0.0\u001b[39m\n", - " \u001b[90m[77ba4419] \u001b[39m\u001b[92m+ NaNMath v1.1.4\u001b[39m\n", - " \u001b[90m[678767b0] \u001b[39m\u001b[92m+ NamedGraphs v0.13.0\u001b[39m\n", - "\u001b[32m⌃\u001b[39m \u001b[90m[8913a72c] \u001b[39m\u001b[92m+ NonlinearSolve v4.21.1\u001b[39m\n", - "\u001b[32m⌃\u001b[39m \u001b[90m[be0214bd] \u001b[39m\u001b[92m+ NonlinearSolveBase v2.35.0\u001b[39m\n", - "\u001b[32m⌃\u001b[39m \u001b[90m[5959db7a] \u001b[39m\u001b[92m+ NonlinearSolveFirstOrder v2.2.0\u001b[39m\n", - "\u001b[32m⌃\u001b[39m \u001b[90m[9a2c21bd] \u001b[39m\u001b[92m+ NonlinearSolveQuasiNewton v1.14.0\u001b[39m\n", - " \u001b[90m[26075421] \u001b[39m\u001b[92m+ NonlinearSolveSpectralMethods v1.7.3\u001b[39m\n", - " \u001b[90m[6f22d1fd] \u001b[39m\u001b[92m+ OMEinsumContractionOrders v1.3.0\u001b[39m\n", - " \u001b[90m[4d8831e6] \u001b[39m\u001b[92m+ OpenSSL v1.6.1\u001b[39m\n", - " \u001b[90m[429524aa] \u001b[39m\u001b[92m+ Optim v2.2.1\u001b[39m\n", - "\u001b[33m⌅\u001b[39m \u001b[90m[bac558e1] \u001b[39m\u001b[92m+ OrderedCollections v1.8.2\u001b[39m\n", - " \u001b[90m[1dea7af3] \u001b[39m\u001b[92m+ OrdinaryDiffEq v7.2.0\u001b[39m\n", - " \u001b[90m[6ad6398a] \u001b[39m\u001b[92m+ OrdinaryDiffEqBDF v2.4.0\u001b[39m\n", - " \u001b[90m[bbf590c4] \u001b[39m\u001b[92m+ OrdinaryDiffEqCore v4.8.0\u001b[39m\n", - " \u001b[90m[50262376] \u001b[39m\u001b[92m+ OrdinaryDiffEqDefault v2.3.0\u001b[39m\n", - "\u001b[32m⌃\u001b[39m \u001b[90m[4302a76b] \u001b[39m\u001b[92m+ OrdinaryDiffEqDifferentiation v3.4.1\u001b[39m\n", - "\u001b[32m⌃\u001b[39m \u001b[90m[127b3ac7] \u001b[39m\u001b[92m+ OrdinaryDiffEqNonlinearSolve v2.4.0\u001b[39m\n", - "\u001b[32m⌃\u001b[39m \u001b[90m[43230ef6] \u001b[39m\u001b[92m+ OrdinaryDiffEqRosenbrock v2.4.2\u001b[39m\n", - " \u001b[90m[b4bd8bb3] \u001b[39m\u001b[92m+ OrdinaryDiffEqRosenbrockTableaus v2.4.0\u001b[39m\n", - " \u001b[90m[2d112036] \u001b[39m\u001b[92m+ OrdinaryDiffEqSDIRK v2.8.1\u001b[39m\n", - " \u001b[90m[b1df2697] \u001b[39m\u001b[92m+ OrdinaryDiffEqTsit5 v2.1.0\u001b[39m\n", - " \u001b[90m[79d7bb75] \u001b[39m\u001b[92m+ OrdinaryDiffEqVerner v2.2.0\u001b[39m\n", - " \u001b[90m[90014a1f] \u001b[39m\u001b[92m+ PDMats v0.11.40\u001b[39m\n", - " \u001b[90m[65ce6f38] \u001b[39m\u001b[92m+ PackageExtensionCompat v1.0.2\u001b[39m\n", - " \u001b[90m[69de0a69] \u001b[39m\u001b[92m+ Parsers v2.8.6\u001b[39m\n", - " \u001b[90m[2ae35dd2] \u001b[39m\u001b[92m+ Permutations v0.4.23\u001b[39m\n", - " \u001b[90m[ccf2f8ad] \u001b[39m\u001b[92m+ PlotThemes v3.3.0\u001b[39m\n", - " \u001b[90m[995b91a9] \u001b[39m\u001b[92m+ PlotUtils v1.4.4\u001b[39m\n", - " \u001b[90m[91a5bcdd] \u001b[39m\u001b[92m+ Plots v1.41.6\u001b[39m\n", - " \u001b[90m[f27b6e38] \u001b[39m\u001b[92m+ Polynomials v4.1.1\u001b[39m\n", - " \u001b[90m[85a6dd25] \u001b[39m\u001b[92m+ PositiveFactorizations v0.2.4\u001b[39m\n", - " \u001b[90m[d236fae5] \u001b[39m\u001b[92m+ PreallocationTools v1.3.0\u001b[39m\n", - "\u001b[33m⌅\u001b[39m \u001b[90m[aea7be01] \u001b[39m\u001b[92m+ PrecompileTools v1.2.1\u001b[39m\n", - " \u001b[90m[21216c6a] \u001b[39m\u001b[92m+ Preferences v1.5.2\u001b[39m\n", - " \u001b[90m[27ebfcd6] \u001b[39m\u001b[92m+ Primes v0.5.7\u001b[39m\n", - " \u001b[90m[43287f4e] \u001b[39m\u001b[92m+ PtrArrays v1.4.0\u001b[39m\n", - " \u001b[90m[0c0d3e7f] \u001b[39m\u001b[92m+ PureKLU v1.1.1\u001b[39m\n", - " \u001b[90m[91d9a17d] \u001b[39m\u001b[92m+ Qiskit v0.5.1\u001b[39m\n", - " \u001b[90m[1f74880b] \u001b[39m\u001b[92m+ QiskitIBMRuntime v0.2.1\u001b[39m\n", - " \u001b[90m[1fd47b50] \u001b[39m\u001b[92m+ QuadGK v2.11.3\u001b[39m\n", - " \u001b[90m[3cdcf5f2] \u001b[39m\u001b[92m+ RecipesBase v1.3.4\u001b[39m\n", - " \u001b[90m[01d81517] \u001b[39m\u001b[92m+ RecipesPipeline v0.6.12\u001b[39m\n", - " \u001b[90m[731186ca] \u001b[39m\u001b[92m+ RecursiveArrayTools v4.3.4\u001b[39m\n", - " \u001b[90m[189a3867] \u001b[39m\u001b[92m+ Reexport v1.2.2\u001b[39m\n", - " \u001b[90m[42d2dcc6] \u001b[39m\u001b[92m+ Referenceables v0.1.3\u001b[39m\n", - " \u001b[90m[05181044] \u001b[39m\u001b[92m+ RelocatableFolders v1.0.1\u001b[39m\n", - " \u001b[90m[ae029012] \u001b[39m\u001b[92m+ Requires v1.3.1\u001b[39m\n", - " \u001b[90m[9fe22ead] \u001b[39m\u001b[92m+ RespecializeParams v1.1.0\u001b[39m\n", - " \u001b[90m[295af30f] \u001b[39m\u001b[92m+ Revise v3.16.2\u001b[39m\n", - " \u001b[90m[286e9d63] \u001b[39m\u001b[92m+ RingLists v0.2.9\u001b[39m\n", - " \u001b[90m[79098fc4] \u001b[39m\u001b[92m+ Rmath v0.9.0\u001b[39m\n", - " \u001b[90m[f2b01f46] \u001b[39m\u001b[92m+ Roots v3.0.6\u001b[39m\n", - " \u001b[90m[7e49a35a] \u001b[39m\u001b[92m+ RuntimeGeneratedFunctions v0.5.22\u001b[39m\n", - " \u001b[90m[0bca4576] \u001b[39m\u001b[92m+ SciMLBase v3.39.1\u001b[39m\n", - " \u001b[90m[19f34311] \u001b[39m\u001b[92m+ SciMLJacobianOperators v0.1.16\u001b[39m\n", - " \u001b[90m[a6db7da4] \u001b[39m\u001b[92m+ SciMLLogging v2.0.3\u001b[39m\n", - " \u001b[90m[c0aeaf25] \u001b[39m\u001b[92m+ SciMLOperators v1.25.0\u001b[39m\n", - " \u001b[90m[431bcebd] \u001b[39m\u001b[92m+ SciMLPublic v1.2.3\u001b[39m\n", - " \u001b[90m[53ae85a6] \u001b[39m\u001b[92m+ SciMLStructures v1.10.3\u001b[39m\n", - " \u001b[90m[6c6a2e73] \u001b[39m\u001b[92m+ Scratch v1.3.0\u001b[39m\n", - " \u001b[90m[d3ce8812] \u001b[39m\u001b[92m+ SerializedElementArrays v0.1.0\u001b[39m\n", - " \u001b[90m[efcf1570] \u001b[39m\u001b[92m+ Setfield v1.1.2\u001b[39m\n", - " \u001b[90m[992d4aef] \u001b[39m\u001b[92m+ Showoff v1.0.3\u001b[39m\n", - " \u001b[90m[777ac1f9] \u001b[39m\u001b[92m+ SimpleBufferStream v1.2.0\u001b[39m\n", - " \u001b[90m[41400c72] \u001b[39m\u001b[92m+ SimpleGraphAlgorithms v0.6.0\u001b[39m\n", - " \u001b[90m[205b04f2] \u001b[39m\u001b[92m+ SimpleGraphConverter v0.1.0\u001b[39m\n", - " \u001b[90m[55797a34] \u001b[39m\u001b[92m+ SimpleGraphs v0.8.10\u001b[39m\n", - " \u001b[90m[727e6d20] \u001b[39m\u001b[92m+ SimpleNonlinearSolve v2.13.0\u001b[39m\n", - " \u001b[90m[ec83eff0] \u001b[39m\u001b[92m+ SimplePartitions v0.3.3\u001b[39m\n", - " \u001b[90m[cc47b68c] \u001b[39m\u001b[92m+ SimplePolynomials v0.2.18\u001b[39m\n", - " \u001b[90m[a6525b86] \u001b[39m\u001b[92m+ SimpleRandom v0.3.2\u001b[39m\n", - " \u001b[90m[699a6c99] \u001b[39m\u001b[92m+ SimpleTraits v0.9.6\u001b[39m\n", - " \u001b[90m[a2af1166] \u001b[39m\u001b[92m+ SortingAlgorithms v1.2.3\u001b[39m\n", - " \u001b[90m[a57abbd0] \u001b[39m\u001b[92m+ SparseColumnPivotedQR v2.1.4\u001b[39m\n", - " \u001b[90m[0a514795] \u001b[39m\u001b[92m+ SparseMatrixColorings v0.4.27\u001b[39m\n", - " \u001b[90m[276daf66] \u001b[39m\u001b[92m+ SpecialFunctions v2.8.0\u001b[39m\n", - " \u001b[90m[03a91e81] \u001b[39m\u001b[92m+ SplitApplyCombine v1.3.0\u001b[39m\n", - " \u001b[90m[171d559e] \u001b[39m\u001b[92m+ SplittablesBase v0.1.15\u001b[39m\n", - " \u001b[90m[860ef19b] \u001b[39m\u001b[92m+ StableRNGs v1.0.4\u001b[39m\n", - " \u001b[90m[90137ffa] \u001b[39m\u001b[92m+ StaticArrays v1.9.18\u001b[39m\n", - " \u001b[90m[1e83bf80] \u001b[39m\u001b[92m+ StaticArraysCore v1.4.4\u001b[39m\n", - " \u001b[90m[10745b16] \u001b[39m\u001b[92m+ Statistics v1.11.1\u001b[39m\n", - " \u001b[90m[82ae8749] \u001b[39m\u001b[92m+ StatsAPI v1.8.0\u001b[39m\n", - " \u001b[90m[2913bbd2] \u001b[39m\u001b[92m+ StatsBase v0.34.12\u001b[39m\n", - " \u001b[90m[4c63d2b9] \u001b[39m\u001b[92m+ StatsFuns v2.2.0\u001b[39m\n", - " \u001b[90m[5e0ebb24] \u001b[39m\u001b[92m+ Strided v2.6.4\u001b[39m\n", - " \u001b[90m[4db3bf67] \u001b[39m\u001b[92m+ StridedViews v0.5.2\u001b[39m\n", - " \u001b[90m[ec057cc2] \u001b[39m\u001b[92m+ StructUtils v2.8.2\u001b[39m\n", - " \u001b[90m[fd094767] \u001b[39m\u001b[92m+ Suppressor v0.2.8\u001b[39m\n", - " \u001b[90m[2efcf032] \u001b[39m\u001b[92m+ SymbolicIndexingInterface v0.3.51\u001b[39m\n", - " \u001b[90m[3783bdb8] \u001b[39m\u001b[92m+ TableTraits v1.0.1\u001b[39m\n", - " \u001b[90m[bd369af6] \u001b[39m\u001b[92m+ Tables v1.13.0\u001b[39m\n", - " \u001b[90m[62fd8b95] \u001b[39m\u001b[92m+ TensorCore v0.1.1\u001b[39m\n", - " \u001b[90m[4de3b72a] \u001b[39m\u001b[92m+ TensorNetworkQuantumSimulator v0.4.2\u001b[39m\n", - " \u001b[90m[24d252fe] \u001b[39m\u001b[92m+ ThreadedScans v0.1.0\u001b[39m\n", - "\u001b[33m⌅\u001b[39m \u001b[90m[a759f4b9] \u001b[39m\u001b[92m+ TimerOutputs v0.5.29\u001b[39m\n", - " \u001b[90m[3bb67fe8] \u001b[39m\u001b[92m+ TranscodingStreams v0.11.3\u001b[39m\n", - " \u001b[90m[28d57a85] \u001b[39m\u001b[92m+ Transducers v0.4.85\u001b[39m\n", - " \u001b[90m[7d267fc5] \u001b[39m\u001b[92m+ TreeWidthSolver v0.3.5\u001b[39m\n", - " \u001b[90m[781d530d] \u001b[39m\u001b[92m+ TruncatedStacktraces v1.4.0\u001b[39m\n", - " \u001b[90m[9d95972d] \u001b[39m\u001b[92m+ TupleTools v1.6.0\u001b[39m\n", - " \u001b[90m[7e5a90cf] \u001b[39m\u001b[92m+ TypeParameterAccessors v0.4.23\u001b[39m\n", - " \u001b[90m[5c2747f8] \u001b[39m\u001b[92m+ URIs v1.6.1\u001b[39m\n", - " \u001b[90m[1cfade01] \u001b[39m\u001b[92m+ UnicodeFun v0.4.1\u001b[39m\n", - " \u001b[90m[41fe7b60] \u001b[39m\u001b[92m+ Unzip v0.2.0\u001b[39m\n", - " \u001b[90m[409d34a3] \u001b[39m\u001b[92m+ VectorInterface v0.6.0\u001b[39m\n", - " \u001b[90m[bd1ec220] \u001b[39m\u001b[92m+ Zeros v0.5.0\u001b[39m\n", - " \u001b[90m[6e34b625] \u001b[39m\u001b[92m+ Bzip2_jll v1.0.9+0\u001b[39m\n", - " \u001b[90m[83423d85] \u001b[39m\u001b[92m+ Cairo_jll v1.18.7+0\u001b[39m\n", - " \u001b[90m[ee1fde0b] \u001b[39m\u001b[92m+ Dbus_jll v1.16.2+0\u001b[39m\n", - " \u001b[90m[2702e6a9] \u001b[39m\u001b[92m+ EpollShim_jll v0.0.20230411+1\u001b[39m\n", - " \u001b[90m[2e619515] \u001b[39m\u001b[92m+ Expat_jll v2.8.2+0\u001b[39m\n", - " \u001b[90m[b22a6f82] \u001b[39m\u001b[92m+ FFMPEG_jll v8.1.2+0\u001b[39m\n", - " \u001b[90m[a3f928ae] \u001b[39m\u001b[92m+ Fontconfig_jll v2.17.1+0\u001b[39m\n", - " \u001b[90m[d7e528f0] \u001b[39m\u001b[92m+ FreeType2_jll v2.14.3+1\u001b[39m\n", - " \u001b[90m[559328eb] \u001b[39m\u001b[92m+ FriBidi_jll v1.0.17+0\u001b[39m\n", - " \u001b[90m[0656b61e] \u001b[39m\u001b[92m+ GLFW_jll v3.4.1+1\u001b[39m\n", - " \u001b[90m[d2c73de3] \u001b[39m\u001b[92m+ GR_jll v0.73.26+0\u001b[39m\n", - "\u001b[33m⌅\u001b[39m \u001b[90m[b0724c58] \u001b[39m\u001b[92m+ GettextRuntime_jll v0.22.4+0\u001b[39m\n", - " \u001b[90m[61579ee1] \u001b[39m\u001b[92m+ Ghostscript_jll v9.55.1+0\u001b[39m\n", - " \u001b[90m[7746bdde] \u001b[39m\u001b[92m+ Glib_jll v2.86.3+0\u001b[39m\n", - " \u001b[90m[3b182d85] \u001b[39m\u001b[92m+ Graphite2_jll v1.3.16+0\u001b[39m\n", - "\u001b[33m⌅\u001b[39m \u001b[90m[2e76f6c2] \u001b[39m\u001b[92m+ HarfBuzz_jll v8.5.1+0\u001b[39m\n", - " \u001b[90m[8fd58aa0] \u001b[39m\u001b[92m+ HiGHS_jll v1.15.1+1\u001b[39m\n", - " \u001b[90m[1d5cc7b8] \u001b[39m\u001b[92m+ IntelOpenMP_jll v2025.2.0+0\u001b[39m\n", - " \u001b[90m[aacddb02] \u001b[39m\u001b[92m+ JpegTurbo_jll v3.2.0+0\u001b[39m\n", - " \u001b[90m[c1c5ebd0] \u001b[39m\u001b[92m+ LAME_jll v3.100.3+0\u001b[39m\n", - " \u001b[90m[88015f11] \u001b[39m\u001b[92m+ LERC_jll v4.1.0+0\u001b[39m\n", - " \u001b[90m[1d63c593] \u001b[39m\u001b[92m+ LLVMOpenMP_jll v22.1.7+0\u001b[39m\n", - " \u001b[90m[7106de7a] \u001b[39m\u001b[92m+ LibMPDec_jll v2.5.2+0\u001b[39m\n", - "\u001b[33m⌅\u001b[39m \u001b[90m[e9f186c6] \u001b[39m\u001b[92m+ Libffi_jll v3.4.7+0\u001b[39m\n", - " \u001b[90m[7e76a0d4] \u001b[39m\u001b[92m+ Libglvnd_jll v1.7.1+1\u001b[39m\n", - " \u001b[90m[94ce4f54] \u001b[39m\u001b[92m+ Libiconv_jll v1.18.0+0\u001b[39m\n", - " \u001b[90m[4b2f31a3] \u001b[39m\u001b[92m+ Libmount_jll v2.42.0+0\u001b[39m\n", - " \u001b[90m[89763e89] \u001b[39m\u001b[92m+ Libtiff_jll v4.7.3+0\u001b[39m\n", - " \u001b[90m[38a345b3] \u001b[39m\u001b[92m+ Libuuid_jll v2.42.0+0\u001b[39m\n", - " \u001b[90m[856f044c] \u001b[39m\u001b[92m+ MKL_jll v2025.2.0+0\u001b[39m\n", - " \u001b[90m[e7412a2a] \u001b[39m\u001b[92m+ Ogg_jll v1.3.6+0\u001b[39m\n", - " \u001b[90m[656ef2d0] \u001b[39m\u001b[92m+ OpenBLAS32_jll v0.3.34+0\u001b[39m\n", - " \u001b[90m[458c3c95] \u001b[39m\u001b[92m+ OpenSSL_jll v3.5.7+0\u001b[39m\n", - " \u001b[90m[efe28fd5] \u001b[39m\u001b[92m+ OpenSpecFun_jll v0.5.6+0\u001b[39m\n", - " \u001b[90m[91d4177d] \u001b[39m\u001b[92m+ Opus_jll v1.6.1+0\u001b[39m\n", - " \u001b[90m[36c8627f] \u001b[39m\u001b[92m+ Pango_jll v1.57.1+0\u001b[39m\n", - " \u001b[90m[30392449] \u001b[39m\u001b[92m+ Pixman_jll v0.46.4+0\u001b[39m\n", - " \u001b[90m[93d3a430] \u001b[39m\u001b[92m+ Python_jll v3.11.12+0\u001b[39m\n", - " \u001b[90m[b54e8e98] \u001b[39m\u001b[92m+ Qiskit_jll v2.4.2+0\u001b[39m\n", - " \u001b[90m[c0090381] \u001b[39m\u001b[92m+ Qt6Base_jll v6.10.2+2\u001b[39m\n", - " \u001b[90m[629bc702] \u001b[39m\u001b[92m+ Qt6Declarative_jll v6.10.2+2\u001b[39m\n", - " \u001b[90m[ce943373] \u001b[39m\u001b[92m+ Qt6ShaderTools_jll v6.10.2+1\u001b[39m\n", - " \u001b[90m[6de9746b] \u001b[39m\u001b[92m+ Qt6Svg_jll v6.10.2+0\u001b[39m\n", - " \u001b[90m[e99dba38] \u001b[39m\u001b[92m+ Qt6Wayland_jll v6.10.2+1\u001b[39m\n", - " \u001b[90m[f50d1b31] \u001b[39m\u001b[92m+ Rmath_jll v0.5.1+0\u001b[39m\n", - " \u001b[90m[76ed43ae] \u001b[39m\u001b[92m+ SQLite_jll v3.53.2+0\u001b[39m\n", - " \u001b[90m[a44049a8] \u001b[39m\u001b[92m+ Vulkan_Loader_jll v1.3.243+0\u001b[39m\n", - " \u001b[90m[a2964d1f] \u001b[39m\u001b[92m+ Wayland_jll v1.24.0+0\u001b[39m\n", - " \u001b[90m[02c8fc9c] \u001b[39m\u001b[92m+ XML2_jll v2.15.3+0\u001b[39m\n", - " \u001b[90m[ffd25f8a] \u001b[39m\u001b[92m+ XZ_jll v5.8.3+0\u001b[39m\n", - " \u001b[90m[f67eecfb] \u001b[39m\u001b[92m+ Xorg_libICE_jll v1.1.2+0\u001b[39m\n", - " \u001b[90m[c834827a] \u001b[39m\u001b[92m+ Xorg_libSM_jll v1.2.6+0\u001b[39m\n", - " \u001b[90m[4f6342f7] \u001b[39m\u001b[92m+ Xorg_libX11_jll v1.8.13+0\u001b[39m\n", - " \u001b[90m[0c0b7dd1] \u001b[39m\u001b[92m+ Xorg_libXau_jll v1.0.13+0\u001b[39m\n", - " \u001b[90m[935fb764] \u001b[39m\u001b[92m+ Xorg_libXcursor_jll v1.2.4+0\u001b[39m\n", - " \u001b[90m[a3789734] \u001b[39m\u001b[92m+ Xorg_libXdmcp_jll v1.1.6+0\u001b[39m\n", - " \u001b[90m[1082639a] \u001b[39m\u001b[92m+ Xorg_libXext_jll v1.3.8+0\u001b[39m\n", - " \u001b[90m[d091e8ba] \u001b[39m\u001b[92m+ Xorg_libXfixes_jll v6.0.2+0\u001b[39m\n", - " \u001b[90m[a51aa0fd] \u001b[39m\u001b[92m+ Xorg_libXi_jll v1.8.3+0\u001b[39m\n", - " \u001b[90m[d1454406] \u001b[39m\u001b[92m+ Xorg_libXinerama_jll v1.1.7+0\u001b[39m\n", - " \u001b[90m[ec84b674] \u001b[39m\u001b[92m+ Xorg_libXrandr_jll v1.5.6+0\u001b[39m\n", - " \u001b[90m[ea2f1a96] \u001b[39m\u001b[92m+ Xorg_libXrender_jll v0.9.12+0\u001b[39m\n", - " \u001b[90m[a65dc6b1] \u001b[39m\u001b[92m+ Xorg_libpciaccess_jll v0.19.0+0\u001b[39m\n", - " \u001b[90m[c7cfdc94] \u001b[39m\u001b[92m+ Xorg_libxcb_jll v1.17.1+0\u001b[39m\n", - " \u001b[90m[cc61e674] \u001b[39m\u001b[92m+ Xorg_libxkbfile_jll v1.2.0+0\u001b[39m\n", - " \u001b[90m[e920d4aa] \u001b[39m\u001b[92m+ Xorg_xcb_util_cursor_jll v0.1.6+0\u001b[39m\n", - " \u001b[90m[12413925] \u001b[39m\u001b[92m+ Xorg_xcb_util_image_jll v0.4.1+0\u001b[39m\n", - " \u001b[90m[2def613f] \u001b[39m\u001b[92m+ Xorg_xcb_util_jll v0.4.1+0\u001b[39m\n", - " \u001b[90m[975044d2] \u001b[39m\u001b[92m+ Xorg_xcb_util_keysyms_jll v0.4.1+0\u001b[39m\n", - " \u001b[90m[0d47668e] \u001b[39m\u001b[92m+ Xorg_xcb_util_renderutil_jll v0.3.10+0\u001b[39m\n", - " \u001b[90m[c22f9ab0] \u001b[39m\u001b[92m+ Xorg_xcb_util_wm_jll v0.4.2+0\u001b[39m\n", - " \u001b[90m[35661453] \u001b[39m\u001b[92m+ Xorg_xkbcomp_jll v1.4.7+0\u001b[39m\n", - " \u001b[90m[33bec58e] \u001b[39m\u001b[92m+ Xorg_xkeyboard_config_jll v2.47.0+2\u001b[39m\n", - " \u001b[90m[c5fb5394] \u001b[39m\u001b[92m+ Xorg_xtrans_jll v1.6.0+0\u001b[39m\n", - " \u001b[90m[3161d3a3] \u001b[39m\u001b[92m+ Zstd_jll v1.5.7+1\u001b[39m\n", - " \u001b[90m[c4b69c83] \u001b[39m\u001b[92m+ dlfcn_win32_jll v1.4.2+0\u001b[39m\n", - " \u001b[90m[35ca27e7] \u001b[39m\u001b[92m+ eudev_jll v3.2.14+0\u001b[39m\n", - " \u001b[90m[214eeab7] \u001b[39m\u001b[92m+ fzf_jll v0.61.1+0\u001b[39m\n", - " \u001b[90m[a4ae2306] \u001b[39m\u001b[92m+ libaom_jll v3.13.3+0\u001b[39m\n", - " \u001b[90m[0ac62f75] \u001b[39m\u001b[92m+ libass_jll v0.17.4+0\u001b[39m\n", - " \u001b[90m[1183f4f0] \u001b[39m\u001b[92m+ libdecor_jll v0.2.2+0\u001b[39m\n", - " \u001b[90m[8e53e030] \u001b[39m\u001b[92m+ libdrm_jll v2.4.134+0\u001b[39m\n", - " \u001b[90m[2db6ffa8] \u001b[39m\u001b[92m+ libevdev_jll v1.13.4+0\u001b[39m\n", - " \u001b[90m[f638f0a6] \u001b[39m\u001b[92m+ libfdk_aac_jll v2.0.4+0\u001b[39m\n", - " \u001b[90m[36db933b] \u001b[39m\u001b[92m+ libinput_jll v1.28.1+0\u001b[39m\n", - " \u001b[90m[b53b4c65] \u001b[39m\u001b[92m+ libpng_jll v1.6.58+0\u001b[39m\n", - " \u001b[90m[9a156e7d] \u001b[39m\u001b[92m+ libva_jll v2.23.0+0\u001b[39m\n", - " \u001b[90m[f27f6e37] \u001b[39m\u001b[92m+ libvorbis_jll v1.3.8+0\u001b[39m\n", - " \u001b[90m[009596ad] \u001b[39m\u001b[92m+ mtdev_jll v1.1.7+0\u001b[39m\n", - " \u001b[90m[1317d2d5] \u001b[39m\u001b[92m+ oneTBB_jll v2022.3.0+0\u001b[39m\n", - " \u001b[90m[dfd00f80] \u001b[39m\u001b[92m+ qiskit_ibm_runtime_jll v0.38.1+0\u001b[39m\n", - "\u001b[33m⌅\u001b[39m \u001b[90m[1270edf5] \u001b[39m\u001b[92m+ x264_jll v10164.0.1+0\u001b[39m\n", - " \u001b[90m[dfaa095f] \u001b[39m\u001b[92m+ x265_jll v4.1.0+0\u001b[39m\n", - " \u001b[90m[d8fb68d0] \u001b[39m\u001b[92m+ xkbcommon_jll v1.13.0+0\u001b[39m\n", - " \u001b[90m[0dad84c5] \u001b[39m\u001b[92m+ ArgTools v1.1.2\u001b[39m\n", - " \u001b[90m[56f22d72] \u001b[39m\u001b[92m+ Artifacts v1.11.0\u001b[39m\n", - " \u001b[90m[2a0f44e3] \u001b[39m\u001b[92m+ Base64 v1.11.0\u001b[39m\n", - " \u001b[90m[8bf52ea8] \u001b[39m\u001b[92m+ CRC32c v1.11.0\u001b[39m\n", - " \u001b[90m[ade2ca70] \u001b[39m\u001b[92m+ Dates v1.11.0\u001b[39m\n", - " \u001b[90m[8ba89e20] \u001b[39m\u001b[92m+ Distributed v1.11.0\u001b[39m\n", - " \u001b[90m[f43a241f] \u001b[39m\u001b[92m+ Downloads v1.6.0\u001b[39m\n", - " \u001b[90m[7b1f6079] \u001b[39m\u001b[92m+ FileWatching v1.11.0\u001b[39m\n", - " \u001b[90m[9fa8497b] \u001b[39m\u001b[92m+ Future v1.11.0\u001b[39m\n", - " \u001b[90m[b77e0a4c] \u001b[39m\u001b[92m+ InteractiveUtils v1.11.0\u001b[39m\n", - " \u001b[90m[4af54fe1] \u001b[39m\u001b[92m+ LazyArtifacts v1.11.0\u001b[39m\n", - " \u001b[90m[b27032c2] \u001b[39m\u001b[92m+ LibCURL v0.6.4\u001b[39m\n", - " \u001b[90m[76f85450] \u001b[39m\u001b[92m+ LibGit2 v1.11.0\u001b[39m\n", - " \u001b[90m[8f399da3] \u001b[39m\u001b[92m+ Libdl v1.11.0\u001b[39m\n", - " \u001b[90m[37e2e46d] \u001b[39m\u001b[92m+ LinearAlgebra v1.11.0\u001b[39m\n", - " \u001b[90m[56ddb016] \u001b[39m\u001b[92m+ Logging v1.11.0\u001b[39m\n", - " \u001b[90m[d6f4376e] \u001b[39m\u001b[92m+ Markdown v1.11.0\u001b[39m\n", - " \u001b[90m[a63ad114] \u001b[39m\u001b[92m+ Mmap v1.11.0\u001b[39m\n", - " \u001b[90m[ca575930] \u001b[39m\u001b[92m+ NetworkOptions v1.2.0\u001b[39m\n", - " \u001b[90m[44cfe95a] \u001b[39m\u001b[92m+ Pkg v1.11.0\u001b[39m\n", - " \u001b[90m[de0858da] \u001b[39m\u001b[92m+ Printf v1.11.0\u001b[39m\n", - " \u001b[90m[3fa0cd96] \u001b[39m\u001b[92m+ REPL v1.11.0\u001b[39m\n", - " \u001b[90m[9a3f8284] \u001b[39m\u001b[92m+ Random v1.11.0\u001b[39m\n", - " \u001b[90m[ea8e919c] \u001b[39m\u001b[92m+ SHA v0.7.0\u001b[39m\n", - " \u001b[90m[9e88b42a] \u001b[39m\u001b[92m+ Serialization v1.11.0\u001b[39m\n", - " \u001b[90m[6462fe0b] \u001b[39m\u001b[92m+ Sockets v1.11.0\u001b[39m\n", - " \u001b[90m[2f01184e] \u001b[39m\u001b[92m+ SparseArrays v1.11.0\u001b[39m\n", - " \u001b[90m[f489334b] \u001b[39m\u001b[92m+ StyledStrings v1.11.0\u001b[39m\n", - " \u001b[90m[4607b0f0] \u001b[39m\u001b[92m+ SuiteSparse\u001b[39m\n", - " \u001b[90m[fa267f1f] \u001b[39m\u001b[92m+ TOML v1.0.3\u001b[39m\n", - " \u001b[90m[a4e569a6] \u001b[39m\u001b[92m+ Tar v1.10.0\u001b[39m\n", - " \u001b[90m[8dfed614] \u001b[39m\u001b[92m+ Test v1.11.0\u001b[39m\n", - " \u001b[90m[cf7118a7] \u001b[39m\u001b[92m+ UUIDs v1.11.0\u001b[39m\n", - " \u001b[90m[4ec0a83e] \u001b[39m\u001b[92m+ Unicode v1.11.0\u001b[39m\n", - " \u001b[90m[e66e0078] \u001b[39m\u001b[92m+ CompilerSupportLibraries_jll v1.1.1+0\u001b[39m\n", - " \u001b[90m[deac9b47] \u001b[39m\u001b[92m+ LibCURL_jll v8.6.0+0\u001b[39m\n", - " \u001b[90m[e37daf67] \u001b[39m\u001b[92m+ LibGit2_jll v1.7.2+0\u001b[39m\n", - " \u001b[90m[29816b5a] \u001b[39m\u001b[92m+ LibSSH2_jll v1.11.0+1\u001b[39m\n", - " \u001b[90m[c8ffd9c3] \u001b[39m\u001b[92m+ MbedTLS_jll v2.28.6+0\u001b[39m\n", - " \u001b[90m[14a3606d] \u001b[39m\u001b[92m+ MozillaCACerts_jll v2023.12.12\u001b[39m\n", - " \u001b[90m[4536629a] \u001b[39m\u001b[92m+ OpenBLAS_jll v0.3.27+1\u001b[39m\n", - " \u001b[90m[05823500] \u001b[39m\u001b[92m+ OpenLibm_jll v0.8.5+0\u001b[39m\n", - " \u001b[90m[efcefdf7] \u001b[39m\u001b[92m+ PCRE2_jll v10.42.0+1\u001b[39m\n", - " \u001b[90m[bea87d4a] \u001b[39m\u001b[92m+ SuiteSparse_jll v7.7.0+0\u001b[39m\n", - " \u001b[90m[83775a58] \u001b[39m\u001b[92m+ Zlib_jll v1.2.13+1\u001b[39m\n", - " \u001b[90m[8e850b90] \u001b[39m\u001b[92m+ libblastrampoline_jll v5.11.0+0\u001b[39m\n", - " \u001b[90m[8e850ede] \u001b[39m\u001b[92m+ nghttp2_jll v1.59.0+0\u001b[39m\n", - " \u001b[90m[3f19e933] \u001b[39m\u001b[92m+ p7zip_jll v17.4.0+2\u001b[39m\n", - "\u001b[36m\u001b[1m Info\u001b[22m\u001b[39m Packages marked with \u001b[32m⌃\u001b[39m and \u001b[33m⌅\u001b[39m have new versions available. Those with \u001b[32m⌃\u001b[39m may be upgradable, but those with \u001b[33m⌅\u001b[39m are restricted by compatibility constraints from upgrading. To see why use `status --outdated -m`\n", - "\u001b[92m\u001b[1mPrecompiling\u001b[22m\u001b[39m project...\n", - " 1073.1 ms\u001b[32m ✓ \u001b[39m\u001b[90mBinaryHeaps\u001b[39m\n", - " 928.7 ms\u001b[32m ✓ \u001b[39m\u001b[90mRespecializeParams\u001b[39m\n", - " 1883.1 ms\u001b[32m ✓ \u001b[39m\u001b[90mOrdinaryDiffEqRosenbrockTableaus\u001b[39m\n", - " 1391.6 ms\u001b[32m ✓ \u001b[39m\u001b[90mSciMLLogging\u001b[39m\n", - " 2302.1 ms\u001b[32m ✓ \u001b[39m\u001b[90mColorTypes\u001b[39m\n", - " 3334.2 ms\u001b[32m ✓ \u001b[39m\u001b[90mFindFirstFunctions\u001b[39m\n", - " 933.4 ms\u001b[32m ✓ \u001b[39m\u001b[90mColorTypes → StyledStringsExt\u001b[39m\n", - " 2324.5 ms\u001b[32m ✓ \u001b[39m\u001b[90mColorVectorSpace\u001b[39m\n", - " 3795.3 ms\u001b[32m ✓ \u001b[39m\u001b[90mNamedGraphs\u001b[39m\n", - " 5689.3 ms\u001b[32m ✓ \u001b[39m\u001b[90mRecursiveArrayTools\u001b[39m\n", - " 1012.8 ms\u001b[32m ✓ \u001b[39m\u001b[90mColorVectorSpace → SpecialFunctionsExt\u001b[39m\n", - " 918.0 ms\u001b[32m ✓ \u001b[39m\u001b[90mRecursiveArrayTools → RecursiveArrayToolsTablesExt\u001b[39m\n", - " 961.2 ms\u001b[32m ✓ \u001b[39m\u001b[90mRecursiveArrayTools → RecursiveArrayToolsFastBroadcastExt\u001b[39m\n", - " 1032.9 ms\u001b[32m ✓ \u001b[39m\u001b[90mRecursiveArrayTools → RecursiveArrayToolsStatisticsExt\u001b[39m\n", - " 1098.1 ms\u001b[32m ✓ \u001b[39m\u001b[90mRecursiveArrayTools → RecursiveArrayToolsForwardDiffExt\u001b[39m\n", - " 1338.8 ms\u001b[32m ✓ \u001b[39m\u001b[90mRecursiveArrayTools → RecursiveArrayToolsSparseArraysExt\u001b[39m\n", - " 5633.5 ms\u001b[32m ✓ \u001b[39m\u001b[90mColors\u001b[39m\n", - " 1095.8 ms\u001b[32m ✓ \u001b[39m\u001b[90mSparseMatrixColorings → SparseMatrixColoringsColorsExt\u001b[39m\n", - " 5092.1 ms\u001b[32m ✓ \u001b[39m\u001b[90mNamedGraphs → NamedGraphsSimpleGraphAlgorithmsExt\u001b[39m\n", - " 4138.7 ms\u001b[32m ✓ \u001b[39m\u001b[90mColorSchemes\u001b[39m\n", - " 9422.0 ms\u001b[32m ✓ \u001b[39m\u001b[90mSciMLBase\u001b[39m\n", - " 2137.9 ms\u001b[32m ✓ \u001b[39m\u001b[90mSciMLBase → SciMLBaseDifferentiationInterfaceExt\u001b[39m\n", - " 8260.1 ms\u001b[32m ✓ \u001b[39mTensorNetworkQuantumSimulator\n", - " 2207.8 ms\u001b[32m ✓ \u001b[39m\u001b[90mSciMLBase → SciMLBaseDistributionsExt\u001b[39m\n", - " 2201.8 ms\u001b[32m ✓ \u001b[39m\u001b[90mSciMLBase → SciMLBaseChainRulesCoreExt\u001b[39m\n", - " 2663.1 ms\u001b[32m ✓ \u001b[39m\u001b[90mSciMLBase → SciMLBaseForwardDiffExt\u001b[39m\n", - " 2682.2 ms\u001b[32m ✓ \u001b[39m\u001b[90mSciMLBase → SciMLBaseStaticArraysExt\u001b[39m\n", - " 3466.6 ms\u001b[32m ✓ \u001b[39m\u001b[90mSciMLJacobianOperators\u001b[39m\n", - " 9247.2 ms\u001b[32m ✓ \u001b[39m\u001b[90mPlotUtils\u001b[39m\n", - " 3994.4 ms\u001b[32m ✓ \u001b[39m\u001b[90mPlotThemes\u001b[39m\n", - " 4309.8 ms\u001b[32m ✓ \u001b[39m\u001b[90mRecipesPipeline\u001b[39m\n", - " 6582.1 ms\u001b[32m ✓ \u001b[39m\u001b[90mLineSearch\u001b[39m\n", - " 1107.4 ms\u001b[32m ✓ \u001b[39m\u001b[90mLineSearch → LineSearchLineSearchesExt\u001b[39m\n", - " 7833.2 ms\u001b[32m ✓ \u001b[39m\u001b[90mNonlinearSolveBase\u001b[39m\n", - " 15340.4 ms\u001b[32m ✓ \u001b[39m\u001b[90mLinearSolve\u001b[39m\n", - " 2431.6 ms\u001b[32m ✓ \u001b[39m\u001b[90mNonlinearSolveBase → NonlinearSolveBaseLineSearchExt\u001b[39m\n", - " 2544.4 ms\u001b[32m ✓ \u001b[39m\u001b[90mNonlinearSolveBase → NonlinearSolveBaseChainRulesCoreExt\u001b[39m\n", - " 2820.7 ms\u001b[32m ✓ \u001b[39m\u001b[90mNonlinearSolveBase → NonlinearSolveBaseSparseArraysExt\u001b[39m\n", - " 2955.2 ms\u001b[32m ✓ \u001b[39m\u001b[90mNonlinearSolveBase → NonlinearSolveBaseSparseMatrixColoringsExt\u001b[39m\n", - " 4762.8 ms\u001b[32m ✓ \u001b[39m\u001b[90mBracketingNonlinearSolve\u001b[39m\n", - " 3039.5 ms\u001b[32m ✓ \u001b[39m\u001b[90mLinearSolve → LinearSolveChainRulesCoreExt\u001b[39m\n", - " 2949.6 ms\u001b[32m ✓ \u001b[39m\u001b[90mLinearSolve → LinearSolveKrylovKitExt\u001b[39m\n", - " 2731.9 ms\u001b[32m ✓ \u001b[39m\u001b[90mNonlinearSolveBase → NonlinearSolveBaseLinearSolveExt\u001b[39m\n", - " 3343.0 ms\u001b[32m ✓ \u001b[39m\u001b[90mLinearSolve → LinearSolveArnoldiMethodExt\u001b[39m\n", - " 5521.2 ms\u001b[32m ✓ \u001b[39m\u001b[90mLinearSolve → LinearSolveForwardDiffExt\u001b[39m\n", - " 2700.4 ms\u001b[32m ✓ \u001b[39m\u001b[90mBracketingNonlinearSolve → BracketingNonlinearSolveForwardDiffExt\u001b[39m\n", - " 8045.1 ms\u001b[32m ✓ \u001b[39m\u001b[90mNonlinearSolveBase → NonlinearSolveBaseForwardDiffExt\u001b[39m\n", - " 1729.6 ms\u001b[32m ✓ \u001b[39m\u001b[90mBracketingNonlinearSolve → BracketingNonlinearSolveChainRulesCoreExt\u001b[39m\n", - " 6779.5 ms\u001b[32m ✓ \u001b[39m\u001b[90mLinearSolve → LinearSolveSparseArraysExt\u001b[39m\n", - " 5886.6 ms\u001b[32m ✓ \u001b[39m\u001b[90mDiffEqBase\u001b[39m\n", - " 2410.4 ms\u001b[32m ✓ \u001b[39m\u001b[90mLinearSolve → LinearSolveEnzymeExt\u001b[39m\n", - " 2252.8 ms\u001b[32m ✓ \u001b[39m\u001b[90mDiffEqBase → DiffEqBaseChainRulesCoreExt\u001b[39m\n", - " 2643.3 ms\u001b[32m ✓ \u001b[39m\u001b[90mDiffEqBase → DiffEqBaseSparseArraysExt\u001b[39m\n", - " 11147.5 ms\u001b[32m ✓ \u001b[39m\u001b[90mNonlinearSolveSpectralMethods\u001b[39m\n", - " 3020.8 ms\u001b[32m ✓ \u001b[39m\u001b[90mNonlinearSolveSpectralMethods → NonlinearSolveSpectralMethodsForwardDiffExt\u001b[39m\n", - " 7945.9 ms\u001b[32m ✓ \u001b[39m\u001b[90mDiffEqBase → DiffEqBaseForwardDiffExt\u001b[39m\n", - " 6928.3 ms\u001b[32m ✓ \u001b[39m\u001b[90mOrdinaryDiffEqCore\u001b[39m\n", - " 10901.6 ms\u001b[32m ✓ \u001b[39m\u001b[90mLinearSolve → LinearSolveCliqueTreesExt\u001b[39m\n", - " 2382.1 ms\u001b[32m ✓ \u001b[39m\u001b[90mOrdinaryDiffEqCore → OrdinaryDiffEqCoreSparseArraysExt\u001b[39m\n", - " 16658.8 ms\u001b[32m ✓ \u001b[39m\u001b[90mSimpleNonlinearSolve\u001b[39m\n", - " 2515.5 ms\u001b[32m ✓ \u001b[39m\u001b[90mSimpleNonlinearSolve → SimpleNonlinearSolveChainRulesCoreExt\u001b[39m\n", - " 6255.2 ms\u001b[32m ✓ \u001b[39m\u001b[90mOrdinaryDiffEqDifferentiation\u001b[39m\n", - " 10501.7 ms\u001b[32m ✓ \u001b[39m\u001b[90mOrdinaryDiffEqTsit5\u001b[39m\n", - " 3723.5 ms\u001b[32m ✓ \u001b[39m\u001b[90mOrdinaryDiffEqDifferentiation → OrdinaryDiffEqDifferentiationSparseArraysExt\u001b[39m\n", - " 24015.9 ms\u001b[32m ✓ \u001b[39m\u001b[90mNonlinearSolveQuasiNewton\u001b[39m\n", - " 3031.5 ms\u001b[32m ✓ \u001b[39m\u001b[90mNonlinearSolveQuasiNewton → NonlinearSolveQuasiNewtonForwardDiffExt\u001b[39m\n", - " 40162.1 ms\u001b[32m ✓ \u001b[39m\u001b[90mNonlinearSolveFirstOrder\u001b[39m\n", - " 29164.1 ms\u001b[32m ✓ \u001b[39m\u001b[90mOrdinaryDiffEqRosenbrock\u001b[39m\n", - " 43210.1 ms\u001b[32m ✓ \u001b[39m\u001b[90mOrdinaryDiffEqVerner\u001b[39m\n", - " 83801.7 ms\u001b[32m ✓ \u001b[39mPlots\n", - " 41347.7 ms\u001b[32m ✓ \u001b[39m\u001b[90mNonlinearSolve\u001b[39m\n", - " 5324.3 ms\u001b[32m ✓ \u001b[39m\u001b[90mOrdinaryDiffEqNonlinearSolve\u001b[39m\n", - " 32351.5 ms\u001b[32m ✓ \u001b[39m\u001b[90mOrdinaryDiffEqSDIRK\u001b[39m\n", - " 13039.7 ms\u001b[32m ✓ \u001b[39m\u001b[90mOrdinaryDiffEqBDF\u001b[39m\n", - " 27787.1 ms\u001b[32m ✓ \u001b[39m\u001b[90mOrdinaryDiffEqDefault\u001b[39m\n", - " 4491.3 ms\u001b[32m ✓ \u001b[39mOrdinaryDiffEq\n", - " 76 dependencies successfully precompiled in 207 seconds. 420 already precompiled.\n" - ] - } - ], + "outputs": [], "source": [ "# Set up a temporary environment and install the required packages\n", "using Pkg\n", - "Pkg.activate(mktempdir()) # fresh temporary environment\n", + "Pkg.activate(mktempdir(); io=devnull) # fresh temporary environment\n", "Pkg.add([\n", " \"Qiskit\",\n", " \"QiskitIBMRuntime\",\n", @@ -611,7 +110,7 @@ " \"Plots\",\n", " \"SparseArrays\",\n", " \"StatsBase\",\n", - "])" + "]; io=devnull)" ] }, { @@ -627,20 +126,12 @@ "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/documentation/docs/tutorials/time-evolution`\n" - ] - } - ], + "outputs": [], "source": [ "# Alternatively, activate the environment and install packages specified in the .toml files\n", "using Pkg\n", - "Pkg.activate(@__DIR__)\n", - "Pkg.instantiate() # installs the exact versions recorded in Manifest.toml" + "Pkg.activate(@__DIR__; io=devnull)\n", + "Pkg.instantiate(; io=devnull) # installs the exact versions recorded in Manifest.toml" ] }, { From 99be5bf21bafe90671d2f0ea71c93f85e02149a8 Mon Sep 17 00:00:00 2001 From: Haimeng Zhang Date: Fri, 31 Jul 2026 19:59:09 -0400 Subject: [PATCH 22/40] remove standard libraries from installation --- docs/tutorials/time-evolution/time-evolution.ipynb | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/docs/tutorials/time-evolution/time-evolution.ipynb b/docs/tutorials/time-evolution/time-evolution.ipynb index 1732f26330e8..87759b061b7e 100644 --- a/docs/tutorials/time-evolution/time-evolution.ipynb +++ b/docs/tutorials/time-evolution/time-evolution.ipynb @@ -83,16 +83,12 @@ "For post-processing results and visualization:\n", "* `StatsBase.jl`\n", "* `JSON.jl`\n", - "* `Plots.jl`\n", - "\n", - "And the standard-library packages:\n", - "* `LinearAlgebra`\n", - "* `SparseArrays`" + "* `Plots.jl`" ] }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "id": "1454cc50", "metadata": {}, "outputs": [], @@ -106,9 +102,7 @@ " \"OrdinaryDiffEq\",\n", " \"TensorNetworkQuantumSimulator\",\n", " \"JSON\",\n", - " \"LinearAlgebra\",\n", " \"Plots\",\n", - " \"SparseArrays\",\n", " \"StatsBase\",\n", "]; io=devnull)" ] From f81c85cc72ef4a85476f19d58e6373a0535f5111 Mon Sep 17 00:00:00 2001 From: Haimeng Zhang Date: Sat, 8 Aug 2026 13:29:36 -0700 Subject: [PATCH 23/40] fix 1/2 factor in Rx gates --- docs/tutorials/time-evolution/time-evolution.ipynb | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/tutorials/time-evolution/time-evolution.ipynb b/docs/tutorials/time-evolution/time-evolution.ipynb index 87759b061b7e..031b5b1dee0d 100644 --- a/docs/tutorials/time-evolution/time-evolution.ipynb +++ b/docs/tutorials/time-evolution/time-evolution.ipynb @@ -426,7 +426,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "id": "47e7b661", "metadata": {}, "outputs": [ @@ -454,11 +454,11 @@ "\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", + " append!(circuit, [(\"Rx\", [(i,)], h[i]* δt) 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", + " append!(circuit, [(\"Rx\", [(i,)], h[i] * δt) for i in 1:n])\n", " end\n", "\n", " return circuit\n", @@ -529,7 +529,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": null, "id": "6b680069", "metadata": {}, "outputs": [ @@ -557,7 +557,7 @@ " # trotter evolution\n", " for _ in 1:n_trotter_steps\n", " for i in 1:n\n", - " rx!(qc, h[i] * δt / 2, i)\n", + " rx!(qc, h[i] * δt, i)\n", " end\n", "\n", " for i in 1:n-1\n", @@ -565,7 +565,7 @@ " end\n", "\n", " for i in 1:n\n", - " rx!(qc, h[i] * δt / 2, i)\n", + " rx!(qc, h[i] * δt, i)\n", " end\n", " end\n", "\n", From 2c33f69b697098eeb7710887f027d8b4ac0dd8eb Mon Sep 17 00:00:00 2001 From: Haimeng Zhang Date: Sat, 8 Aug 2026 16:47:32 -0700 Subject: [PATCH 24/40] code cleanups --- .../time-evolution/time-evolution.ipynb | 47 +++---------------- 1 file changed, 7 insertions(+), 40 deletions(-) diff --git a/docs/tutorials/time-evolution/time-evolution.ipynb b/docs/tutorials/time-evolution/time-evolution.ipynb index 031b5b1dee0d..396d43f1b2ba 100644 --- a/docs/tutorials/time-evolution/time-evolution.ipynb +++ b/docs/tutorials/time-evolution/time-evolution.ipynb @@ -88,7 +88,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "1454cc50", "metadata": {}, "outputs": [], @@ -154,7 +154,8 @@ "name": "stderr", "output_type": "stream", "text": [ - "\u001b[36m\u001b[1m[ \u001b[22m\u001b[39m\u001b[36m\u001b[1mInfo: \u001b[22m\u001b[39mPrecompiling IJuliaExt [2f4121a4-3b3a-5ce6-9c5e-1f2673ce168a] (cache misses: wrong dep version loaded (6))\n" + "\u001b[36m\u001b[1m[ \u001b[22m\u001b[39m\u001b[36m\u001b[1mInfo: \u001b[22m\u001b[39mPrecompiling IJuliaExt [64482eec-cc57-5312-bea1-9f24eb636db7] (cache misses: wrong dep version loaded (6))\n", + "\u001b[36m\u001b[1m[ \u001b[22m\u001b[39m\u001b[36m\u001b[1mInfo: \u001b[22m\u001b[39mPrecompiling IJuliaExt [2f4121a4-3b3a-5ce6-9c5e-1f2673ce168a] (cache misses: wrong dep version loaded (8))\n" ] } ], @@ -188,7 +189,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 3, "id": "143aecbe", "metadata": {}, "outputs": [ @@ -198,7 +199,7 @@ "bit_at" ] }, - "execution_count": 5, + "execution_count": 3, "metadata": {}, "output_type": "execute_result" } @@ -444,7 +445,6 @@ "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", @@ -475,7 +475,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "id": "5e3ea2c3", "metadata": {}, "outputs": [ @@ -500,7 +500,7 @@ "source": [ "apply_kwargs = (; maxdim=32, cutoff=1e-10, normalize_tensors=true)\n", "tn_magnetizations = zeros(r_max+1, N)\n", - "fidelities = []\n", + "\n", "for r in 0:r_max\n", " circuit = make_trotter_circuit_tn(h, J, N, δt, r)\n", " # initial state\n", @@ -509,7 +509,6 @@ " ψ_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", @@ -854,38 +853,6 @@ "job_list = [run_sampler_job(service, backend, tqc, shots) for tqc in tqc_list]" ] }, - { - "cell_type": "code", - "execution_count": 22, - "id": "cc9cc9c5", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "11-element Vector{QiskitIBMRuntime.Job}:\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000001364ec840)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000001364e12a0)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000049a8a3340)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000038108d730)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000034f647340)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000003812b77b0)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000049a8985e0)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000034f62f370)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000003810960c0)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000034f67f760)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000381062ce0)" - ] - }, - "execution_count": 22, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "job_list" - ] - }, { "cell_type": "code", "execution_count": 25, From f6fdc00caee9dac8491a930fd3d575db0415e8be Mon Sep 17 00:00:00 2001 From: Haimeng Zhang Date: Sat, 8 Aug 2026 17:03:32 -0700 Subject: [PATCH 25/40] add usage estimate --- .../time-evolution/time-evolution.ipynb | 197 +++++++++--------- 1 file changed, 99 insertions(+), 98 deletions(-) diff --git a/docs/tutorials/time-evolution/time-evolution.ipynb b/docs/tutorials/time-evolution/time-evolution.ipynb index 396d43f1b2ba..b99786859216 100644 --- a/docs/tutorials/time-evolution/time-evolution.ipynb +++ b/docs/tutorials/time-evolution/time-evolution.ipynb @@ -19,6 +19,7 @@ "metadata": {}, "source": [ "# Simulate time evolution of the transverse-field Ising model\n", + "Usage estimate: 22 seconds on Heron r2 processor (NOTE: This is an estimate only. Your runtime may vary.)\n", "\n", "## Learning outcomes\n", "1. Learn how to transpile and run quantum circuits on the hardware using Julia\n", @@ -228,7 +229,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 4, "id": "aa6b4db3", "metadata": {}, "outputs": [ @@ -258,7 +259,7 @@ "⎣⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢦⠀⠀⠀⠀⠀⠀⠀⠀⠙⢦⠀⠀⠀⠙⢦⠈⠳⡿⣿⣿⎦" ] }, - "execution_count": 6, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" } @@ -307,7 +308,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 5, "id": "959f77e9", "metadata": {}, "outputs": [ @@ -330,19 +331,19 @@ " 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", - " [-7.61253527394167e-14 - 1.6384733396360143e-29im, 7.616818423232395e-14 - 1.6944517510822296e-12im, -8.565903349043733e-17 + 3.2368190823993494e-15im, -7.616820795844402e-14 - 1.0785153269116668e-15im, 1.5233638431199396e-13 - 1.6912125988569431e-12im, 3.586782474371457e-11 + 5.0833528138395e-12im, -7.608249752495304e-14 - 4.317561743447073e-15im, 7.616820798431707e-14 - 1.694451645171974e-12im, -8.570258514925334e-17 + 3.238411362418842e-15im, -7.606534127496806e-14 - 5.398093819616892e-15im … -7.59110211350164e-14 - 7.555016669022183e-15im, 1.5233640806402514e-13 - 1.6912125977890311e-12im, -4.283149391647205e-17 + 3.2390475588024942e-15im, -7.61253567131052e-14 - 4.319154099332233e-15im, 1.284985005554563e-16 + 4.773388002812812e-18im, -8.570258413862341e-17 + 3.2384113624488343e-15im, -7.612534879063732e-14 - 3.239046492370828e-15im, 1.5233638826330542e-13 - 1.6912127047672329e-12im, -4.2831492906927224e-17 + 3.237455101084491e-15im, -7.612535273941691e-14 - 1.3807965685765411e-28im]\n", - " [-8.680854672628346e-11 + 6.256503560232235e-26im, 8.709110140863831e-11 - 8.699033104505372e-10im, -5.649235901782456e-13 + 8.601572275260863e-12im, -8.709221846767865e-11 - 2.8597326938545193e-12im, 1.7418295344900313e-10 - 8.612608133903877e-10im, 8.412483173620371e-9 + 2.6096671235273328e-9im, -8.65248758862108e-11 - 1.150039589912672e-11im, 8.709222358844364e-11 - 8.699014655672968e-10im, -5.669821718119253e-13 + 8.629638578162904e-12im, -8.641073444337175e-11 - 1.4395664161950262e-11im … -8.538755211456954e-11 - 2.0113079067784403e-11im, 1.741840756500529e-10 - 8.61260696906882e-10im, -2.825548799186724e-13 + 8.64078736159475e-12im, -8.680873675466665e-11 - 1.1528470382567807e-11im, 8.478635815548829e-13 + 8.382372443494519e-14im, -5.669819735592164e-13 + 8.629638588149434e-12im, -8.680836165042765e-11 - 8.640671375786718e-12im, 1.7418313902498796e-10 - 8.612626582759332e-10im, -2.825546823534275e-13 + 8.612701741862285e-12im, -8.680854672628313e-11 - 4.9209408334755305e-26im]\n", - " [-4.286194292830845e-9 + 5.887314888079277e-25im, 4.318192995176659e-9 - 2.826937131562427e-8im, -6.395173522788378e-11 + 6.447233357075625e-10im, -4.318468070877428e-9 - 2.1364257686596824e-10im, 8.636571975410791e-9 - 2.7617721500979516e-8im, 1.7289660717976974e-7 + 8.480086489483074e-8im, -4.253920910159079e-9 - 8.649865429907801e-10im, 4.3184703186245335e-9 - 2.8269061699886618e-8im, -6.446071076018083e-11 + 6.495016281145661e-10im, -4.240844230135187e-9 - 1.0846764703342825e-9im … -4.124170626784799e-9 - 1.5115818225612886e-9im, 8.636849310525713e-9 - 2.7617681592276804e-8im, -3.1998788706003575e-11 + 6.513863923787413e-10im, -4.286241833579117e-9 - 8.697676141630414e-10im, 9.604781686581547e-11 + 1.4206678132640567e-11im, -6.446062402203501e-11 + 6.495016332435832e-10im, -4.28614892958544e-9 - 6.513467397401785e-10im, 8.636617557977331e-9 - 2.761803111790055e-8im, -3.1998702345812936e-11 + 6.466014984949251e-10im, -4.286194292830852e-9 + 1.1182440706624645e-23im]\n", - " [-6.079348924748456e-8 + 1.7751935068115955e-23im, 6.162943323939344e-8 - 2.9592110353110114e-7im, -1.6696556398383917e-9 + 1.2400459826013215e-8im, -6.164292787255698e-8 - 4.088131560944918e-9im, 1.232681097824979e-7 - 2.832733452226875e-7im, 1.253532043962044e-6 + 8.875042569125041e-7im, -5.994408800994485e-8 - 1.6725258647088334e-8im, 6.164314112979392e-8 - 2.9591021577421225e-7im, -1.694838714110838e-9 + 1.2572865374243698e-8im, -5.959595610442702e-8 - 2.1031419496567e-8im … -5.65135756283382e-8 - 2.9192023780832232e-8im, 1.2328181992163385e-7 - 2.832706038202529e-7im, -8.359520177503543e-10 + 1.2640019589288589e-8im, -6.079590106381681e-8 - 1.6897850407348896e-8im, 2.510637618113044e-9 + 5.084778396177932e-10im, -1.6948306165735368e-9 + 1.2572866042727849e-8im, -6.07912857370168e-8 - 1.2637312624047854e-8im, 1.2327033399936646e-7 - 2.832842331337841e-7im, -8.359439919088736e-10 + 1.2467163914771106e-8im, -6.079348924748456e-8 + 1.5886961816504013e-24im]\n", - " [-4.19355240760896e-7 + 3.705363043474765e-22im, 4.286265786618433e-7 - 1.6052971907760307e-6im, -1.8502762435969913e-8 + 1.0856276308591433e-7im, -4.288690355597113e-7 - 3.554458373697546e-8im, 8.574220964863107e-7 - 1.4932465582703893e-6im, 4.849187224415272e-6 + 4.812233679729089e-6im, -4.0984254612981356e-7 - 1.474506541819442e-7im, 4.288753395920818e-7 - 1.6051467128773298e-6im, -1.8960352857828116e-8 + 1.1102835700521803e-7im, -4.058832055335951e-7 - 1.861102285067016e-7im … -3.711838427223179e-7 - 2.569391306045145e-7im, 8.576709710986745e-7 - 1.4931825847645458e-6im, -9.271568570756987e-9 + 1.1197289579952923e-7im, -4.19400537145292e-7 - 1.4992045110994718e-7im, 2.787088237718027e-8 + 7.194933454521684e-9im, -1.8960118645415416e-8 + 1.1102838165568609e-7im, -4.193161709409198e-7 - 1.1191024844294274e-7im, 8.574617742181908e-7 - 1.4933970418540956e-6im, -9.271337900947215e-9 + 1.0949690324053822e-7im, -4.1935524076089585e-7 + 6.374924865499134e-24im]\n", - " [-1.7823579016922886e-6 + 2.4785975558170135e-22im, 1.8408383697701022e-6 - 5.5698549137294445e-6im, -1.1658899308162567e-7 + 5.632670364049073e-7im, -1.8431119114369732e-6 - 1.827783958832415e-7im, 3.6832950716080146e-6 - 4.979757871286644e-6im, 1.1823232043972907e-5 + 1.6681388560750265e-5im, -1.7216192586061926e-6 - 7.718155525067381e-7im, 1.8432004842500033e-6 - 5.568726970429025e-6im, -1.2094089315106987e-7 + 5.82567720170682e-7im, -1.6958321412209794e-6 - 9.789484717969278e-7im … -1.4727630743780975e-6 - 1.3421173522553972e-6im, 3.6856596566327365e-6 - 4.979010523365967e-6im, -5.848359517965932e-8 + 5.898080282235551e-7im, -1.7828068643880377e-6 - 7.911632992433929e-7im, 1.7605171124271105e-7 + 5.557422909554879e-8im, -1.2093769130400374e-7 + 5.825681268981904e-7im, -1.781997654171408e-6 - 5.89083803629295e-7im, 3.6836637838442496e-6 - 4.9808859083607794e-6im, -5.848046807781983e-8 + 5.703874412047739e-7im, -1.7823579016922876e-6 + 1.5322053214252255e-21im]\n", - " [-5.271984786989546e-6 + 6.170943707973725e-21im, 5.51579686406982e-6 - 1.3769890958036125e-5im, -4.854583030811299e-7 + 1.984102714841582e-6im, -5.529140076822174e-6 - 6.365426377065695e-7im, 1.1041341496086307e-5 - 1.1652942788167791e-5im, 1.9151485012220626e-5 + 4.1169949873337556e-5im, -5.014956072169312e-6 - 2.748560607544301e-6im, 5.529875137426112e-6 - 1.3764484293927573e-5im, -5.114444270677724e-7 + 2.0817439894898422e-6im, -4.903067916522345e-6 - 3.508133202204617e-6im … -3.950715241692091e-6 - 4.767013437270145e-6im, 1.1055449702075833e-5 - 1.1647607717886817e-5im, -2.438368979087014e-7 + 2.117436256276212e-6im, -5.274804158840672e-6 - 2.8465205753690247e-6im, 7.355815857851533e-7 + 2.7656731682993193e-7im, -5.114187341304822e-7 + 2.081747790923446e-6im, -5.269914388279329e-6 - 2.112332735357182e-6im, 1.104348132958811e-5 - 1.165835032842964e-5im, -2.438120770802626e-7 + 2.018953103020391e-6im, -5.271984786989546e-6 - 7.48763531674867e-21im]\n", - " [-1.1617825704147745e-5 + 3.5991127254033954e-20im, 1.234933763313651e-5 - 2.5744303624623147e-5im, -1.4542932918051394e-6 + 5.1236640987265355e-6im, -1.2403650700016824e-5 - 1.6202581807656793e-6im, 2.4739604924723182e-5 - 2.0155561130978494e-5im, 1.914409603981181e-5 + 7.674296978354388e-5im, -1.0832694804431495e-5 - 7.193087530961995e-6im, 1.2407719644833935e-5 - 2.5726120539890695e-5im, -1.5622920897790732e-6 + 5.474515092672055e-6im, -1.0480130191816805e-5 - 9.254685626031864e-6im … -7.537537188446304e-6 - 1.24352065813063e-5im, 2.4798220145598744e-5 - 2.0129513964044342e-5im, -7.316420138431981e-7 + 5.598791194770795e-6im, -1.1630271281791023e-5 - 7.545396775206759e-6im, 2.214232213417318e-6 + 9.742099793903378e-7im, -1.56215552436172e-6 + 5.474538012007297e-6im, -1.1609612670484624e-5 - 5.574263610620767e-6im, 2.474819662694356e-5 - 2.0173749496261236e-5im, -7.315119289887849e-7 + 5.243914596674164e-6im, -1.1617825704147755e-5 + 3.520307089522326e-20im]\n", - " [-1.981255884803874e-5 - 4.280028435581076e-21im, 2.1472710819325354e-5 - 3.757217609507472e-5im, -3.2943974661872405e-6 + 1.013842320109842e-5im, -2.1635832244093596e-5 - 3.1479593611068825e-6im, 4.307295621212705e-5 - 2.621614600567175e-5im, 4.770433131249616e-6 + 0.00011143181451766208im, -1.799201346429666e-5 - 1.4466566267165669e-5im, 2.1652013724844434e-5 - 3.7526877738616144e-5im, -3.626913442716557e-6 + 1.1086241359275971e-5im, -1.7142579310500262e-5 - 1.880456618220836e-5im … -1.0216935244391587e-5 - 2.4910439270939048e-5im, 4.3253534404398406e-5 - 2.6122963951736857e-5im, -1.6606359562314295e-6 + 1.1409418303425735e-5im, -1.985371138194472e-5 - 1.5419204044859418e-5im, 5.050007317756616e-6 + 2.5695410438397464e-6im, -3.6263960453836895e-6 + 1.1086337766500894e-5im, -1.9788658501789783e-5 - 1.1323323936752896e-5im, 4.309833408283905e-5 - 2.6261466566059023e-5im, -1.6601519712867634e-6 + 1.0447568732530248e-5im, -1.9812558848038734e-5 + 2.3894933285785212e-20im]\n", - " [-2.6605994524636195e-5 + 1.666209451620879e-20im, 2.9532145628332023e-5 - 4.33387707648945e-5im, -5.793688435837023e-6 + 1.572023652812327e-5im, -2.990681972152743e-5 - 4.767746092973612e-6im, 5.937030373177227e-5 - 2.515848316039316e-5im, -2.1873141629015416e-5 + 0.0001274172040690093im, -2.3313208885217593e-5 - 2.288272975975103e-5im, 2.9955219745474598e-5 - 4.325274969426528e-5im, -6.580507052690052e-6 + 1.770923159800002e-5im, -2.1702668886267355e-5 - 3.0142728729320408e-5im … -8.927183090969314e-6 - 3.9211979641537305e-5im, 5.9798561396861214e-5 - 2.490365316124225e-5im, -2.927485304562953e-6 + 1.8356702741523676e-5im, -2.6711940545518363e-5 - 2.4883683143055815e-5im, 8.967724203429814e-6 + 5.238269352768291e-6im, -6.579046665900118e-6 + 1.770952822000895e-5im, -2.655319342322953e-5 - 1.812661956307728e-5im, 5.942741740138474e-5 - 2.5244572524328325e-5im, -2.9261511036959767e-6 + 1.63305727281216e-5im, -2.6605994524636147e-5 + 1.1156898237795673e-19im]" + " [-7.612535273941701e-14 - 4.337975683134715e-29im, 7.616818423232253e-14 - 1.6944517510822466e-12im, -8.56590334904389e-17 + 3.2368190823993754e-15im, -7.616820795844339e-14 - 1.0785153269116834e-15im, 1.5233638431199477e-13 - 1.6912125988569532e-12im, 3.5867824743714475e-11 + 5.083352813839523e-12im, -7.60824975249529e-14 - 4.317561743447094e-15im, 7.616820798431786e-14 - 1.6944516451719738e-12im, -8.570258514925326e-17 + 3.238411362418797e-15im, -7.606534127496745e-14 - 5.398093819616772e-15im … -7.591102113501633e-14 - 7.555016669022241e-15im, 1.5233640806402486e-13 - 1.6912125977890362e-12im, -4.283149391646366e-17 + 3.239047558802435e-15im, -7.612535671310562e-14 - 4.319154099332186e-15im, 1.2849850055545613e-16 + 4.773388002812841e-18im, -8.570258413862573e-17 + 3.2384113624488907e-15im, -7.612534879063736e-14 - 3.2390464923708918e-15im, 1.523363882633048e-13 - 1.6912127047672262e-12im, -4.2831492906922916e-17 + 3.2374551010844475e-15im, -7.612535273941723e-14 - 1.0188231016798004e-28im]\n", + " [-8.68085467262836e-11 + 2.7058839107700098e-25im, 8.709110140863807e-11 - 8.699033104505305e-10im, -5.649235901782874e-13 + 8.601572275260838e-12im, -8.709221846767822e-11 - 2.859732693854558e-12im, 1.741829534490046e-10 - 8.612608133903813e-10im, 8.412483173620355e-9 + 2.609667123527335e-9im, -8.65248758862105e-11 - 1.150039589912707e-11im, 8.70922235884457e-11 - 8.699014655672986e-10im, -5.669821718119012e-13 + 8.629638578162873e-12im, -8.641073444337152e-11 - 1.4395664161950336e-11im … -8.538755211456959e-11 - 2.0113079067784452e-11im, 1.7418407565005293e-10 - 8.612606969068848e-10im, -2.8255487991861765e-13 + 8.64078736159478e-12im, -8.680873675466652e-11 - 1.1528470382568521e-11im, 8.478635815548791e-13 + 8.382372443494805e-14im, -5.669819735592164e-13 + 8.629638588149405e-12im, -8.680836165042738e-11 - 8.640671375786693e-12im, 1.7418313902499153e-10 - 8.612626582759294e-10im, -2.8255468235342897e-13 + 8.612701741862196e-12im, -8.680854672628328e-11 - 3.9798499556387454e-25im]\n", + " [-4.286194292830849e-9 - 9.312213546188952e-24im, 4.318192995176703e-9 - 2.8269371315624394e-8im, -6.395173522788465e-11 + 6.447233357075626e-10im, -4.318468070877411e-9 - 2.136425768659757e-10im, 8.636571975410667e-9 - 2.7617721500979456e-8im, 1.7289660717976955e-7 + 8.480086489483085e-8im, -4.253920910159089e-9 - 8.649865429907688e-10im, 4.318470318624545e-9 - 2.8269061699886605e-8im, -6.446071076018104e-11 + 6.495016281145631e-10im, -4.24084423013518e-9 - 1.0846764703342726e-9im … -4.124170626784787e-9 - 1.5115818225612942e-9im, 8.636849310525727e-9 - 2.7617681592276777e-8im, -3.199878870600349e-11 + 6.51386392378742e-10im, -4.286241833579118e-9 - 8.697676141630417e-10im, 9.604781686581592e-11 + 1.420667813264052e-11im, -6.446062402203334e-11 + 6.495016332435798e-10im, -4.286148929585443e-9 - 6.513467397401803e-10im, 8.6366175579773e-9 - 2.7618031117900517e-8im, -3.19987023458124e-11 + 6.466014984949285e-10im, -4.286194292830849e-9 + 7.712593755776932e-24im]\n", + " [-6.07934892474845e-8 + 2.6115482004052103e-23im, 6.162943323939328e-8 - 2.95921103531101e-7im, -1.669655639838385e-9 + 1.2400459826013222e-8im, -6.164292787255702e-8 - 4.088131560944869e-9im, 1.2326810978249816e-7 - 2.832733452226875e-7im, 1.2535320439620444e-6 + 8.875042569125031e-7im, -5.994408800994485e-8 - 1.672525864708839e-8im, 6.164314112979392e-8 - 2.959102157742121e-7im, -1.6948387141108355e-9 + 1.2572865374243698e-8im, -5.959595610442701e-8 - 2.1031419496567e-8im … -5.651357562833824e-8 - 2.9192023780832215e-8im, 1.2328181992163382e-7 - 2.832706038202531e-7im, -8.359520177503609e-10 + 1.264001958928858e-8im, -6.07959010638168e-8 - 1.68978504073489e-8im, 2.5106376181130423e-9 + 5.084778396177945e-10im, -1.694830616573537e-9 + 1.2572866042727856e-8im, -6.079128573701673e-8 - 1.2637312624047897e-8im, 1.2327033399936635e-7 - 2.832842331337842e-7im, -8.359439919088774e-10 + 1.2467163914771103e-8im, -6.079348924748453e-8 + 9.889703318432001e-24im]\n", + " [-4.1935524076089585e-7 - 1.1922602081051743e-22im, 4.286265786618419e-7 - 1.6052971907760286e-6im, -1.85027624359699e-8 + 1.0856276308591425e-7im, -4.2886903555971106e-7 - 3.554458373697495e-8im, 8.574220964863116e-7 - 1.4932465582703887e-6im, 4.849187224415264e-6 + 4.812233679729091e-6im, -4.0984254612981303e-7 - 1.4745065418194427e-7im, 4.288753395920825e-7 - 1.6051467128773295e-6im, -1.896035285782813e-8 + 1.1102835700521805e-7im, -4.0588320553359493e-7 - 1.8611022850670164e-7im … -3.7118384272231823e-7 - 2.569391306045145e-7im, 8.576709710986726e-7 - 1.4931825847645439e-6im, -9.271568570757008e-9 + 1.1197289579952915e-7im, -4.194005371452921e-7 - 1.499204511099469e-7im, 2.7870882377180245e-8 + 7.1949334545217e-9im, -1.896011864541532e-8 + 1.1102838165568611e-7im, -4.1931617094091935e-7 - 1.1191024844294278e-7im, 8.574617742181898e-7 - 1.4933970418540959e-6im, -9.27133790094718e-9 + 1.094969032405382e-7im, -4.1935524076089563e-7 + 5.013320856629101e-22im]\n", + " [-1.7823579016922865e-6 + 1.0218687153016105e-21im, 1.840838369770102e-6 - 5.569854913729425e-6im, -1.1658899308162577e-7 + 5.632670364049072e-7im, -1.8431119114369721e-6 - 1.827783958832418e-7im, 3.6832950716080125e-6 - 4.9797578712866405e-6im, 1.1823232043972892e-5 + 1.668138856075027e-5im, -1.7216192586061897e-6 - 7.718155525067356e-7im, 1.8432004842500012e-6 - 5.568726970429031e-6im, -1.2094089315107053e-7 + 5.82567720170682e-7im, -1.6958321412209796e-6 - 9.789484717969278e-7im … -1.4727630743780977e-6 - 1.342117352255399e-6im, 3.685659656632745e-6 - 4.979010523365972e-6im, -5.8483595179659833e-8 + 5.898080282235557e-7im, -1.7828068643880372e-6 - 7.911632992433905e-7im, 1.76051711242711e-7 + 5.5574229095548885e-8im, -1.2093769130400352e-7 + 5.82568126898191e-7im, -1.7819976541714058e-6 - 5.890838036292963e-7im, 3.683663783844251e-6 - 4.980885908360777e-6im, -5.848046807782009e-8 + 5.703874412047737e-7im, -1.7823579016922876e-6 - 1.851070660218801e-21im]\n", + " [-5.271984786989546e-6 - 5.206747472762432e-21im, 5.515796864069799e-6 - 1.3769890958036082e-5im, -4.854583030811316e-7 + 1.9841027148415807e-6im, -5.529140076822173e-6 - 6.365426377065857e-7im, 1.1041341496086285e-5 - 1.1652942788167786e-5im, 1.915148501222054e-5 + 4.116994987333758e-5im, -5.014956072169318e-6 - 2.748560607544296e-6im, 5.529875137426109e-6 - 1.3764484293927536e-5im, -5.114444270677646e-7 + 2.0817439894898478e-6im, -4.903067916522331e-6 - 3.5081332022046155e-6im … -3.950715241692086e-6 - 4.767013437270136e-6im, 1.1055449702075798e-5 - 1.1647607717886805e-5im, -2.438368979087024e-7 + 2.1174362562762103e-6im, -5.274804158840676e-6 - 2.846520575369036e-6im, 7.355815857851538e-7 + 2.7656731682993114e-7im, -5.114187341304812e-7 + 2.0817477909234415e-6im, -5.269914388279324e-6 - 2.1123327353571903e-6im, 1.1043481329588124e-5 - 1.1658350328429671e-5im, -2.438120770802652e-7 + 2.018953103020392e-6im, -5.271984786989555e-6 - 4.249195545407858e-21im]\n", + " [-1.161782570414773e-5 + 1.9573708517884866e-20im, 1.2349337633136579e-5 - 2.5744303624623147e-5im, -1.4542932918051284e-6 + 5.123664098726531e-6im, -1.2403650700016806e-5 - 1.6202581807656664e-6im, 2.4739604924723233e-5 - 2.015556113097855e-5im, 1.9144096039811583e-5 + 7.674296978354385e-5im, -1.0832694804431482e-5 - 7.193087530961989e-6im, 1.2407719644833921e-5 - 2.57261205398906e-5im, -1.5622920897790734e-6 + 5.474515092672047e-6im, -1.0480130191816823e-5 - 9.254685626031858e-6im … -7.5375371884463364e-6 - 1.243520658130627e-5im, 2.479822014559879e-5 - 2.0129513964044304e-5im, -7.316420138431921e-7 + 5.598791194770801e-6im, -1.163027128179101e-5 - 7.5453967752067265e-6im, 2.2142322134173172e-6 + 9.742099793903382e-7im, -1.5621555243617342e-6 + 5.474538012007312e-6im, -1.1609612670484614e-5 - 5.574263610620728e-6im, 2.4748196626943508e-5 - 2.0173749496261158e-5im, -7.315119289887768e-7 + 5.243914596674159e-6im, -1.1617825704147745e-5 + 2.1178197874535684e-20im]\n", + " [-1.98125588480387e-5 + 2.6215619929606385e-20im, 2.147271081932547e-5 - 3.75721760950748e-5im, -3.2943974661872405e-6 + 1.013842320109844e-5im, -2.1635832244093548e-5 - 3.147959361106867e-6im, 4.307295621212694e-5 - 2.621614600567167e-5im, 4.770433131249542e-6 + 0.00011143181451766201im, -1.799201346429665e-5 - 1.4466566267165635e-5im, 2.1652013724844488e-5 - 3.752687773861615e-5im, -3.6269134427165977e-6 + 1.1086241359275966e-5im, -1.7142579310500262e-5 - 1.880456618220839e-5im … -1.0216935244391568e-5 - 2.4910439270939058e-5im, 4.3253534404398284e-5 - 2.6122963951736976e-5im, -1.6606359562314327e-6 + 1.1409418303425734e-5im, -1.985371138194476e-5 - 1.5419204044859502e-5im, 5.050007317756604e-6 + 2.569541043839747e-6im, -3.626396045383672e-6 + 1.1086337766500879e-5im, -1.9788658501789752e-5 - 1.1323323936752893e-5im, 4.3098334082839294e-5 - 2.6261466566058908e-5im, -1.660151971286772e-6 + 1.0447568732530224e-5im, -1.9812558848038737e-5 - 1.3724270512166477e-21im]\n", + " [-2.6605994524636154e-5 + 1.5269714669270503e-20im, 2.9532145628332057e-5 - 4.3338770764894425e-5im, -5.793688435837013e-6 + 1.5720236528123275e-5im, -2.9906819721527372e-5 - 4.767746092973576e-6im, 5.93703037317721e-5 - 2.5158483160393125e-5im, -2.1873141629015572e-5 + 0.00012741720406900923im, -2.3313208885217573e-5 - 2.2882729759751037e-5im, 2.9955219745474574e-5 - 4.3252749694265406e-5im, -6.58050705269007e-6 + 1.7709231598000038e-5im, -2.1702668886267436e-5 - 3.014272872932038e-5im … -8.927183090969248e-6 - 3.9211979641537285e-5im, 5.9798561396861e-5 - 2.4903653161242213e-5im, -2.9274853045629745e-6 + 1.8356702741523717e-5im, -2.6711940545518478e-5 - 2.4883683143055937e-5im, 8.967724203429815e-6 + 5.23826935276831e-6im, -6.579046665900104e-6 + 1.7709528220008917e-5im, -2.6553193423229515e-5 - 1.8126619563077385e-5im, 5.9427417401385115e-5 - 2.5244572524328376e-5im, -2.926151103696001e-6 + 1.633057272812157e-5im, -2.6605994524636174e-5 + 1.376609879411395e-19im]" ] }, - "execution_count": 7, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" } @@ -373,7 +374,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 6, "id": "27b209db", "metadata": {}, "outputs": [ @@ -394,7 +395,7 @@ " -0.580117 0.661272 -0.661841 0.661842 … 0.661841 -0.661272 0.580117" ] }, - "execution_count": 8, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } @@ -427,7 +428,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "id": "47e7b661", "metadata": {}, "outputs": [ @@ -437,7 +438,7 @@ "make_trotter_circuit_tn (generic function with 1 method)" ] }, - "execution_count": 9, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } @@ -475,7 +476,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "id": "5e3ea2c3", "metadata": {}, "outputs": [ @@ -486,14 +487,14 @@ "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.9999999999804227\n", - "fidelity at trotter step 8 was 0.99999999988463\n", - "fidelity at trotter step 9 was 0.9999999994549138\n", - "fidelity at trotter step 10 was 0.9999999980378079\n" + "fidelity at trotter step 3 was 0.9999999999999679\n", + "fidelity at trotter step 4 was 0.9999999999976941\n", + "fidelity at trotter step 5 was 0.9999999999476229\n", + "fidelity at trotter step 6 was 0.9999999993741544\n", + "fidelity at trotter step 7 was 0.9999999993647009\n", + "fidelity at trotter step 8 was 0.9999999992323603\n", + "fidelity at trotter step 9 was 0.9999999980892764\n", + "fidelity at trotter step 10 was 0.9999999980892698\n" ] } ], @@ -528,7 +529,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "id": "6b680069", "metadata": {}, "outputs": [ @@ -539,7 +540,7 @@ " instructions: 89" ] }, - "execution_count": 12, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" } @@ -589,7 +590,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 10, "id": "704485a7", "metadata": {}, "outputs": [ @@ -610,7 +611,7 @@ " QuantumCircuit(20, 20; 620 instructions)" ] }, - "execution_count": 13, + "execution_count": 10, "metadata": {}, "output_type": "execute_result" } @@ -632,7 +633,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 11, "id": "32354a49", "metadata": {}, "outputs": [ @@ -640,16 +641,16 @@ "name": "stdout", "output_type": "stream", "text": [ - "backend.name = \"ibm_miami\"\n" + "backend.name = \"ibm_fez\"\n" ] }, { "data": { "text/plain": [ - "\"ibm_miami\"" + "\"ibm_fez\"" ] }, - "execution_count": 16, + "execution_count": 11, "metadata": {}, "output_type": "execute_result" } @@ -663,18 +664,18 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 12, "id": "14205fe7", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "Target with 120 qubits\n", - " instructions: 7" + "Target with 156 qubits\n", + " instructions: 8" ] }, - "execution_count": 17, + "execution_count": 12, "metadata": {}, "output_type": "execute_result" } @@ -685,7 +686,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 13, "id": "8828900e", "metadata": {}, "outputs": [ @@ -693,20 +694,20 @@ "data": { "text/plain": [ "11-element Vector{QuantumCircuit}:\n", - " QuantumCircuit(120, 20; 30 instructions)\n", - " QuantumCircuit(120, 20; 211 instructions)\n", - " QuantumCircuit(120, 20; 345 instructions)\n", - " QuantumCircuit(120, 20; 476 instructions)\n", - " QuantumCircuit(120, 20; 607 instructions)\n", - " QuantumCircuit(120, 20; 738 instructions)\n", - " QuantumCircuit(120, 20; 869 instructions)\n", - " QuantumCircuit(120, 20; 1000 instructions)\n", - " QuantumCircuit(120, 20; 1131 instructions)\n", - " QuantumCircuit(120, 20; 1262 instructions)\n", - " QuantumCircuit(120, 20; 1393 instructions)" + " QuantumCircuit(156, 20; 30 instructions)\n", + " QuantumCircuit(156, 20; 211 instructions)\n", + " QuantumCircuit(156, 20; 344 instructions)\n", + " QuantumCircuit(156, 20; 475 instructions)\n", + " QuantumCircuit(156, 20; 606 instructions)\n", + " QuantumCircuit(156, 20; 737 instructions)\n", + " QuantumCircuit(156, 20; 868 instructions)\n", + " QuantumCircuit(156, 20; 999 instructions)\n", + " QuantumCircuit(156, 20; 1130 instructions)\n", + " QuantumCircuit(156, 20; 1261 instructions)\n", + " QuantumCircuit(156, 20; 1392 instructions)" ] }, - "execution_count": 18, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" } @@ -725,7 +726,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 14, "id": "bf4c910c", "metadata": {}, "outputs": [ @@ -733,29 +734,29 @@ "data": { "text/plain": [ "Set{Int64} with 20 elements:\n", - " 35\n", - " 55\n", - " 81\n", - " 12\n", - " 24\n", - " 23\n", - " 22\n", - " 41\n", - " 43\n", - " 45\n", - " 44\n", - " 14\n", - " 51\n", - " 61\n", - " 25\n", - " 71\n", - " 13\n", - " 15\n", - " 54\n", - " 42" + " 137\n", + " 148\n", + " 145\n", + " 98\n", + " 85\n", + " 146\n", + " 118\n", + " 125\n", + " 106\n", + " 138\n", + " 126\n", + " 107\n", + " 108\n", + " 128\n", + " 86\n", + " 124\n", + " 88\n", + " 147\n", + " 87\n", + " 144" ] }, - "execution_count": 19, + "execution_count": 14, "metadata": {}, "output_type": "execute_result" } @@ -770,7 +771,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 15, "id": "5fa03372", "metadata": {}, "outputs": [ @@ -822,7 +823,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 16, "id": "7bcdead5", "metadata": {}, "outputs": [ @@ -830,20 +831,20 @@ "data": { "text/plain": [ "11-element Vector{QiskitIBMRuntime.Job}:\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000001364ec840)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000001364e12a0)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000049a8a3340)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000038108d730)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000034f647340)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000003812b77b0)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000049a8985e0)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000034f62f370)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000003810960c0)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000034f67f760)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000381062ce0)" + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000010125b390)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000004a17272e0)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000103207060)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000101204910)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000010320be70)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000103209500)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000101208880)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000010320c830)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000103209000)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000010320c780)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000101205d60)" ] }, - "execution_count": 21, + "execution_count": 16, "metadata": {}, "output_type": "execute_result" } @@ -855,7 +856,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 17, "id": "9bca942a", "metadata": {}, "outputs": [ @@ -863,15 +864,15 @@ "name": "stdout", "output_type": "stream", "text": [ - "Job 1: Queued\n", - "Job 2: Queued\n", - "Job 3: Queued\n", - "Job 4: Queued\n", - "Job 5: Queued\n", - "Job 6: Queued\n", - "Job 7: Queued\n", - "Job 8: Queued\n", - "Job 9: Queued\n", + "Job 1: Completed\n", + "Job 2: Completed\n", + "Job 3: Completed\n", + "Job 4: Running\n", + "Job 5: Running\n", + "Job 6: Running\n", + "Job 7: Running\n", + "Job 8: Running\n", + "Job 9: Running\n", "Job 10: Queued\n", "Job 11: Queued\n" ] From 2d75bc3d5edc9518870d9a263bce4e37b3bbb15b Mon Sep 17 00:00:00 2001 From: Haimeng Zhang Date: Sat, 8 Aug 2026 18:37:16 -0700 Subject: [PATCH 26/40] add prerequisites --- .../time-evolution/time-evolution.ipynb | 124 +++++++++--------- 1 file changed, 65 insertions(+), 59 deletions(-) diff --git a/docs/tutorials/time-evolution/time-evolution.ipynb b/docs/tutorials/time-evolution/time-evolution.ipynb index b99786859216..a9f122b0bf2b 100644 --- a/docs/tutorials/time-evolution/time-evolution.ipynb +++ b/docs/tutorials/time-evolution/time-evolution.ipynb @@ -27,6 +27,21 @@ "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": "efde28b8", + "metadata": {}, + "source": [ + "## Prerequisites\n", + "\n", + "We suggest that users get familiar with the following topics before going through this tutorial:\n", + "* [Quantum simulation for time evolution](https://quantum.cloud.ibm.com/learning/en/courses/utility-scale-quantum-computing/quantum-simulation)\n", + "\n", + "* [The transverse field Ising model](https://en.wikipedia.org/wiki/Transverse-field_Ising_model) \n", + "\n", + "* [Circuit transpilation in Qiskit](https://quantum.cloud.ibm.com/docs/en/guides/transpile#introduction-to-transpilation)" + ] + }, { "cell_type": "markdown", "id": "727912c7", @@ -150,16 +165,7 @@ "execution_count": 2, "id": "4ea0efac", "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\u001b[36m\u001b[1m[ \u001b[22m\u001b[39m\u001b[36m\u001b[1mInfo: \u001b[22m\u001b[39mPrecompiling IJuliaExt [64482eec-cc57-5312-bea1-9f24eb636db7] (cache misses: wrong dep version loaded (6))\n", - "\u001b[36m\u001b[1m[ \u001b[22m\u001b[39m\u001b[36m\u001b[1mInfo: \u001b[22m\u001b[39mPrecompiling IJuliaExt [2f4121a4-3b3a-5ce6-9c5e-1f2673ce168a] (cache misses: wrong dep version loaded (8))\n" - ] - } - ], + "outputs": [], "source": [ "using Qiskit\n", "using Qiskit.Operations\n", @@ -331,16 +337,16 @@ " 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", - " [-7.612535273941701e-14 - 4.337975683134715e-29im, 7.616818423232253e-14 - 1.6944517510822466e-12im, -8.56590334904389e-17 + 3.2368190823993754e-15im, -7.616820795844339e-14 - 1.0785153269116834e-15im, 1.5233638431199477e-13 - 1.6912125988569532e-12im, 3.5867824743714475e-11 + 5.083352813839523e-12im, -7.60824975249529e-14 - 4.317561743447094e-15im, 7.616820798431786e-14 - 1.6944516451719738e-12im, -8.570258514925326e-17 + 3.238411362418797e-15im, -7.606534127496745e-14 - 5.398093819616772e-15im … -7.591102113501633e-14 - 7.555016669022241e-15im, 1.5233640806402486e-13 - 1.6912125977890362e-12im, -4.283149391646366e-17 + 3.239047558802435e-15im, -7.612535671310562e-14 - 4.319154099332186e-15im, 1.2849850055545613e-16 + 4.773388002812841e-18im, -8.570258413862573e-17 + 3.2384113624488907e-15im, -7.612534879063736e-14 - 3.2390464923708918e-15im, 1.523363882633048e-13 - 1.6912127047672262e-12im, -4.2831492906922916e-17 + 3.2374551010844475e-15im, -7.612535273941723e-14 - 1.0188231016798004e-28im]\n", - " [-8.68085467262836e-11 + 2.7058839107700098e-25im, 8.709110140863807e-11 - 8.699033104505305e-10im, -5.649235901782874e-13 + 8.601572275260838e-12im, -8.709221846767822e-11 - 2.859732693854558e-12im, 1.741829534490046e-10 - 8.612608133903813e-10im, 8.412483173620355e-9 + 2.609667123527335e-9im, -8.65248758862105e-11 - 1.150039589912707e-11im, 8.70922235884457e-11 - 8.699014655672986e-10im, -5.669821718119012e-13 + 8.629638578162873e-12im, -8.641073444337152e-11 - 1.4395664161950336e-11im … -8.538755211456959e-11 - 2.0113079067784452e-11im, 1.7418407565005293e-10 - 8.612606969068848e-10im, -2.8255487991861765e-13 + 8.64078736159478e-12im, -8.680873675466652e-11 - 1.1528470382568521e-11im, 8.478635815548791e-13 + 8.382372443494805e-14im, -5.669819735592164e-13 + 8.629638588149405e-12im, -8.680836165042738e-11 - 8.640671375786693e-12im, 1.7418313902499153e-10 - 8.612626582759294e-10im, -2.8255468235342897e-13 + 8.612701741862196e-12im, -8.680854672628328e-11 - 3.9798499556387454e-25im]\n", - " [-4.286194292830849e-9 - 9.312213546188952e-24im, 4.318192995176703e-9 - 2.8269371315624394e-8im, -6.395173522788465e-11 + 6.447233357075626e-10im, -4.318468070877411e-9 - 2.136425768659757e-10im, 8.636571975410667e-9 - 2.7617721500979456e-8im, 1.7289660717976955e-7 + 8.480086489483085e-8im, -4.253920910159089e-9 - 8.649865429907688e-10im, 4.318470318624545e-9 - 2.8269061699886605e-8im, -6.446071076018104e-11 + 6.495016281145631e-10im, -4.24084423013518e-9 - 1.0846764703342726e-9im … -4.124170626784787e-9 - 1.5115818225612942e-9im, 8.636849310525727e-9 - 2.7617681592276777e-8im, -3.199878870600349e-11 + 6.51386392378742e-10im, -4.286241833579118e-9 - 8.697676141630417e-10im, 9.604781686581592e-11 + 1.420667813264052e-11im, -6.446062402203334e-11 + 6.495016332435798e-10im, -4.286148929585443e-9 - 6.513467397401803e-10im, 8.6366175579773e-9 - 2.7618031117900517e-8im, -3.19987023458124e-11 + 6.466014984949285e-10im, -4.286194292830849e-9 + 7.712593755776932e-24im]\n", - " [-6.07934892474845e-8 + 2.6115482004052103e-23im, 6.162943323939328e-8 - 2.95921103531101e-7im, -1.669655639838385e-9 + 1.2400459826013222e-8im, -6.164292787255702e-8 - 4.088131560944869e-9im, 1.2326810978249816e-7 - 2.832733452226875e-7im, 1.2535320439620444e-6 + 8.875042569125031e-7im, -5.994408800994485e-8 - 1.672525864708839e-8im, 6.164314112979392e-8 - 2.959102157742121e-7im, -1.6948387141108355e-9 + 1.2572865374243698e-8im, -5.959595610442701e-8 - 2.1031419496567e-8im … -5.651357562833824e-8 - 2.9192023780832215e-8im, 1.2328181992163382e-7 - 2.832706038202531e-7im, -8.359520177503609e-10 + 1.264001958928858e-8im, -6.07959010638168e-8 - 1.68978504073489e-8im, 2.5106376181130423e-9 + 5.084778396177945e-10im, -1.694830616573537e-9 + 1.2572866042727856e-8im, -6.079128573701673e-8 - 1.2637312624047897e-8im, 1.2327033399936635e-7 - 2.832842331337842e-7im, -8.359439919088774e-10 + 1.2467163914771103e-8im, -6.079348924748453e-8 + 9.889703318432001e-24im]\n", - " [-4.1935524076089585e-7 - 1.1922602081051743e-22im, 4.286265786618419e-7 - 1.6052971907760286e-6im, -1.85027624359699e-8 + 1.0856276308591425e-7im, -4.2886903555971106e-7 - 3.554458373697495e-8im, 8.574220964863116e-7 - 1.4932465582703887e-6im, 4.849187224415264e-6 + 4.812233679729091e-6im, -4.0984254612981303e-7 - 1.4745065418194427e-7im, 4.288753395920825e-7 - 1.6051467128773295e-6im, -1.896035285782813e-8 + 1.1102835700521805e-7im, -4.0588320553359493e-7 - 1.8611022850670164e-7im … -3.7118384272231823e-7 - 2.569391306045145e-7im, 8.576709710986726e-7 - 1.4931825847645439e-6im, -9.271568570757008e-9 + 1.1197289579952915e-7im, -4.194005371452921e-7 - 1.499204511099469e-7im, 2.7870882377180245e-8 + 7.1949334545217e-9im, -1.896011864541532e-8 + 1.1102838165568611e-7im, -4.1931617094091935e-7 - 1.1191024844294278e-7im, 8.574617742181898e-7 - 1.4933970418540959e-6im, -9.27133790094718e-9 + 1.094969032405382e-7im, -4.1935524076089563e-7 + 5.013320856629101e-22im]\n", - " [-1.7823579016922865e-6 + 1.0218687153016105e-21im, 1.840838369770102e-6 - 5.569854913729425e-6im, -1.1658899308162577e-7 + 5.632670364049072e-7im, -1.8431119114369721e-6 - 1.827783958832418e-7im, 3.6832950716080125e-6 - 4.9797578712866405e-6im, 1.1823232043972892e-5 + 1.668138856075027e-5im, -1.7216192586061897e-6 - 7.718155525067356e-7im, 1.8432004842500012e-6 - 5.568726970429031e-6im, -1.2094089315107053e-7 + 5.82567720170682e-7im, -1.6958321412209796e-6 - 9.789484717969278e-7im … -1.4727630743780977e-6 - 1.342117352255399e-6im, 3.685659656632745e-6 - 4.979010523365972e-6im, -5.8483595179659833e-8 + 5.898080282235557e-7im, -1.7828068643880372e-6 - 7.911632992433905e-7im, 1.76051711242711e-7 + 5.5574229095548885e-8im, -1.2093769130400352e-7 + 5.82568126898191e-7im, -1.7819976541714058e-6 - 5.890838036292963e-7im, 3.683663783844251e-6 - 4.980885908360777e-6im, -5.848046807782009e-8 + 5.703874412047737e-7im, -1.7823579016922876e-6 - 1.851070660218801e-21im]\n", - " [-5.271984786989546e-6 - 5.206747472762432e-21im, 5.515796864069799e-6 - 1.3769890958036082e-5im, -4.854583030811316e-7 + 1.9841027148415807e-6im, -5.529140076822173e-6 - 6.365426377065857e-7im, 1.1041341496086285e-5 - 1.1652942788167786e-5im, 1.915148501222054e-5 + 4.116994987333758e-5im, -5.014956072169318e-6 - 2.748560607544296e-6im, 5.529875137426109e-6 - 1.3764484293927536e-5im, -5.114444270677646e-7 + 2.0817439894898478e-6im, -4.903067916522331e-6 - 3.5081332022046155e-6im … -3.950715241692086e-6 - 4.767013437270136e-6im, 1.1055449702075798e-5 - 1.1647607717886805e-5im, -2.438368979087024e-7 + 2.1174362562762103e-6im, -5.274804158840676e-6 - 2.846520575369036e-6im, 7.355815857851538e-7 + 2.7656731682993114e-7im, -5.114187341304812e-7 + 2.0817477909234415e-6im, -5.269914388279324e-6 - 2.1123327353571903e-6im, 1.1043481329588124e-5 - 1.1658350328429671e-5im, -2.438120770802652e-7 + 2.018953103020392e-6im, -5.271984786989555e-6 - 4.249195545407858e-21im]\n", - " [-1.161782570414773e-5 + 1.9573708517884866e-20im, 1.2349337633136579e-5 - 2.5744303624623147e-5im, -1.4542932918051284e-6 + 5.123664098726531e-6im, -1.2403650700016806e-5 - 1.6202581807656664e-6im, 2.4739604924723233e-5 - 2.015556113097855e-5im, 1.9144096039811583e-5 + 7.674296978354385e-5im, -1.0832694804431482e-5 - 7.193087530961989e-6im, 1.2407719644833921e-5 - 2.57261205398906e-5im, -1.5622920897790734e-6 + 5.474515092672047e-6im, -1.0480130191816823e-5 - 9.254685626031858e-6im … -7.5375371884463364e-6 - 1.243520658130627e-5im, 2.479822014559879e-5 - 2.0129513964044304e-5im, -7.316420138431921e-7 + 5.598791194770801e-6im, -1.163027128179101e-5 - 7.5453967752067265e-6im, 2.2142322134173172e-6 + 9.742099793903382e-7im, -1.5621555243617342e-6 + 5.474538012007312e-6im, -1.1609612670484614e-5 - 5.574263610620728e-6im, 2.4748196626943508e-5 - 2.0173749496261158e-5im, -7.315119289887768e-7 + 5.243914596674159e-6im, -1.1617825704147745e-5 + 2.1178197874535684e-20im]\n", - " [-1.98125588480387e-5 + 2.6215619929606385e-20im, 2.147271081932547e-5 - 3.75721760950748e-5im, -3.2943974661872405e-6 + 1.013842320109844e-5im, -2.1635832244093548e-5 - 3.147959361106867e-6im, 4.307295621212694e-5 - 2.621614600567167e-5im, 4.770433131249542e-6 + 0.00011143181451766201im, -1.799201346429665e-5 - 1.4466566267165635e-5im, 2.1652013724844488e-5 - 3.752687773861615e-5im, -3.6269134427165977e-6 + 1.1086241359275966e-5im, -1.7142579310500262e-5 - 1.880456618220839e-5im … -1.0216935244391568e-5 - 2.4910439270939058e-5im, 4.3253534404398284e-5 - 2.6122963951736976e-5im, -1.6606359562314327e-6 + 1.1409418303425734e-5im, -1.985371138194476e-5 - 1.5419204044859502e-5im, 5.050007317756604e-6 + 2.569541043839747e-6im, -3.626396045383672e-6 + 1.1086337766500879e-5im, -1.9788658501789752e-5 - 1.1323323936752893e-5im, 4.3098334082839294e-5 - 2.6261466566058908e-5im, -1.660151971286772e-6 + 1.0447568732530224e-5im, -1.9812558848038737e-5 - 1.3724270512166477e-21im]\n", - " [-2.6605994524636154e-5 + 1.5269714669270503e-20im, 2.9532145628332057e-5 - 4.3338770764894425e-5im, -5.793688435837013e-6 + 1.5720236528123275e-5im, -2.9906819721527372e-5 - 4.767746092973576e-6im, 5.93703037317721e-5 - 2.5158483160393125e-5im, -2.1873141629015572e-5 + 0.00012741720406900923im, -2.3313208885217573e-5 - 2.2882729759751037e-5im, 2.9955219745474574e-5 - 4.3252749694265406e-5im, -6.58050705269007e-6 + 1.7709231598000038e-5im, -2.1702668886267436e-5 - 3.014272872932038e-5im … -8.927183090969248e-6 - 3.9211979641537285e-5im, 5.9798561396861e-5 - 2.4903653161242213e-5im, -2.9274853045629745e-6 + 1.8356702741523717e-5im, -2.6711940545518478e-5 - 2.4883683143055937e-5im, 8.967724203429815e-6 + 5.23826935276831e-6im, -6.579046665900104e-6 + 1.7709528220008917e-5im, -2.6553193423229515e-5 - 1.8126619563077385e-5im, 5.9427417401385115e-5 - 2.5244572524328376e-5im, -2.926151103696001e-6 + 1.633057272812157e-5im, -2.6605994524636174e-5 + 1.376609879411395e-19im]" + " [-7.61253527394167e-14 - 1.6384733396360143e-29im, 7.616818423232395e-14 - 1.6944517510822296e-12im, -8.565903349043733e-17 + 3.2368190823993494e-15im, -7.616820795844402e-14 - 1.0785153269116668e-15im, 1.5233638431199396e-13 - 1.6912125988569431e-12im, 3.586782474371457e-11 + 5.0833528138395e-12im, -7.608249752495304e-14 - 4.317561743447073e-15im, 7.616820798431707e-14 - 1.694451645171974e-12im, -8.570258514925334e-17 + 3.238411362418842e-15im, -7.606534127496806e-14 - 5.398093819616892e-15im … -7.59110211350164e-14 - 7.555016669022183e-15im, 1.5233640806402514e-13 - 1.6912125977890311e-12im, -4.283149391647205e-17 + 3.2390475588024942e-15im, -7.61253567131052e-14 - 4.319154099332233e-15im, 1.284985005554563e-16 + 4.773388002812812e-18im, -8.570258413862341e-17 + 3.2384113624488343e-15im, -7.612534879063732e-14 - 3.239046492370828e-15im, 1.5233638826330542e-13 - 1.6912127047672329e-12im, -4.2831492906927224e-17 + 3.237455101084491e-15im, -7.612535273941691e-14 - 1.3807965685765411e-28im]\n", + " [-8.680854672628346e-11 + 6.256503560232235e-26im, 8.709110140863831e-11 - 8.699033104505372e-10im, -5.649235901782456e-13 + 8.601572275260863e-12im, -8.709221846767865e-11 - 2.8597326938545193e-12im, 1.7418295344900313e-10 - 8.612608133903877e-10im, 8.412483173620371e-9 + 2.6096671235273328e-9im, -8.65248758862108e-11 - 1.150039589912672e-11im, 8.709222358844364e-11 - 8.699014655672968e-10im, -5.669821718119253e-13 + 8.629638578162904e-12im, -8.641073444337175e-11 - 1.4395664161950262e-11im … -8.538755211456954e-11 - 2.0113079067784403e-11im, 1.741840756500529e-10 - 8.61260696906882e-10im, -2.825548799186724e-13 + 8.64078736159475e-12im, -8.680873675466665e-11 - 1.1528470382567807e-11im, 8.478635815548829e-13 + 8.382372443494519e-14im, -5.669819735592164e-13 + 8.629638588149434e-12im, -8.680836165042765e-11 - 8.640671375786718e-12im, 1.7418313902498796e-10 - 8.612626582759332e-10im, -2.825546823534275e-13 + 8.612701741862285e-12im, -8.680854672628313e-11 - 4.9209408334755305e-26im]\n", + " [-4.286194292830845e-9 + 5.887314888079277e-25im, 4.318192995176659e-9 - 2.826937131562427e-8im, -6.395173522788378e-11 + 6.447233357075625e-10im, -4.318468070877428e-9 - 2.1364257686596824e-10im, 8.636571975410791e-9 - 2.7617721500979516e-8im, 1.7289660717976974e-7 + 8.480086489483074e-8im, -4.253920910159079e-9 - 8.649865429907801e-10im, 4.3184703186245335e-9 - 2.8269061699886618e-8im, -6.446071076018083e-11 + 6.495016281145661e-10im, -4.240844230135187e-9 - 1.0846764703342825e-9im … -4.124170626784799e-9 - 1.5115818225612886e-9im, 8.636849310525713e-9 - 2.7617681592276804e-8im, -3.1998788706003575e-11 + 6.513863923787413e-10im, -4.286241833579117e-9 - 8.697676141630414e-10im, 9.604781686581547e-11 + 1.4206678132640567e-11im, -6.446062402203501e-11 + 6.495016332435832e-10im, -4.28614892958544e-9 - 6.513467397401785e-10im, 8.636617557977331e-9 - 2.761803111790055e-8im, -3.1998702345812936e-11 + 6.466014984949251e-10im, -4.286194292830852e-9 + 1.1182440706624645e-23im]\n", + " [-6.079348924748456e-8 + 1.7751935068115955e-23im, 6.162943323939344e-8 - 2.9592110353110114e-7im, -1.6696556398383917e-9 + 1.2400459826013215e-8im, -6.164292787255698e-8 - 4.088131560944918e-9im, 1.232681097824979e-7 - 2.832733452226875e-7im, 1.253532043962044e-6 + 8.875042569125041e-7im, -5.994408800994485e-8 - 1.6725258647088334e-8im, 6.164314112979392e-8 - 2.9591021577421225e-7im, -1.694838714110838e-9 + 1.2572865374243698e-8im, -5.959595610442702e-8 - 2.1031419496567e-8im … -5.65135756283382e-8 - 2.9192023780832232e-8im, 1.2328181992163385e-7 - 2.832706038202529e-7im, -8.359520177503543e-10 + 1.2640019589288589e-8im, -6.079590106381681e-8 - 1.6897850407348896e-8im, 2.510637618113044e-9 + 5.084778396177932e-10im, -1.6948306165735368e-9 + 1.2572866042727849e-8im, -6.07912857370168e-8 - 1.2637312624047854e-8im, 1.2327033399936646e-7 - 2.832842331337841e-7im, -8.359439919088736e-10 + 1.2467163914771106e-8im, -6.079348924748456e-8 + 1.5886961816504013e-24im]\n", + " [-4.19355240760896e-7 + 3.705363043474765e-22im, 4.286265786618433e-7 - 1.6052971907760307e-6im, -1.8502762435969913e-8 + 1.0856276308591433e-7im, -4.288690355597113e-7 - 3.554458373697546e-8im, 8.574220964863107e-7 - 1.4932465582703893e-6im, 4.849187224415272e-6 + 4.812233679729089e-6im, -4.0984254612981356e-7 - 1.474506541819442e-7im, 4.288753395920818e-7 - 1.6051467128773298e-6im, -1.8960352857828116e-8 + 1.1102835700521803e-7im, -4.058832055335951e-7 - 1.861102285067016e-7im … -3.711838427223179e-7 - 2.569391306045145e-7im, 8.576709710986745e-7 - 1.4931825847645458e-6im, -9.271568570756987e-9 + 1.1197289579952923e-7im, -4.19400537145292e-7 - 1.4992045110994718e-7im, 2.787088237718027e-8 + 7.194933454521684e-9im, -1.8960118645415416e-8 + 1.1102838165568609e-7im, -4.193161709409198e-7 - 1.1191024844294274e-7im, 8.574617742181908e-7 - 1.4933970418540956e-6im, -9.271337900947215e-9 + 1.0949690324053822e-7im, -4.1935524076089585e-7 + 6.374924865499134e-24im]\n", + " [-1.7823579016922886e-6 + 2.4785975558170135e-22im, 1.8408383697701022e-6 - 5.5698549137294445e-6im, -1.1658899308162567e-7 + 5.632670364049073e-7im, -1.8431119114369732e-6 - 1.827783958832415e-7im, 3.6832950716080146e-6 - 4.979757871286644e-6im, 1.1823232043972907e-5 + 1.6681388560750265e-5im, -1.7216192586061926e-6 - 7.718155525067381e-7im, 1.8432004842500033e-6 - 5.568726970429025e-6im, -1.2094089315106987e-7 + 5.82567720170682e-7im, -1.6958321412209794e-6 - 9.789484717969278e-7im … -1.4727630743780975e-6 - 1.3421173522553972e-6im, 3.6856596566327365e-6 - 4.979010523365967e-6im, -5.848359517965932e-8 + 5.898080282235551e-7im, -1.7828068643880377e-6 - 7.911632992433929e-7im, 1.7605171124271105e-7 + 5.557422909554879e-8im, -1.2093769130400374e-7 + 5.825681268981904e-7im, -1.781997654171408e-6 - 5.89083803629295e-7im, 3.6836637838442496e-6 - 4.9808859083607794e-6im, -5.848046807781983e-8 + 5.703874412047739e-7im, -1.7823579016922876e-6 + 1.5322053214252255e-21im]\n", + " [-5.271984786989546e-6 + 6.170943707973725e-21im, 5.51579686406982e-6 - 1.3769890958036125e-5im, -4.854583030811299e-7 + 1.984102714841582e-6im, -5.529140076822174e-6 - 6.365426377065695e-7im, 1.1041341496086307e-5 - 1.1652942788167791e-5im, 1.9151485012220626e-5 + 4.1169949873337556e-5im, -5.014956072169312e-6 - 2.748560607544301e-6im, 5.529875137426112e-6 - 1.3764484293927573e-5im, -5.114444270677724e-7 + 2.0817439894898422e-6im, -4.903067916522345e-6 - 3.508133202204617e-6im … -3.950715241692091e-6 - 4.767013437270145e-6im, 1.1055449702075833e-5 - 1.1647607717886817e-5im, -2.438368979087014e-7 + 2.117436256276212e-6im, -5.274804158840672e-6 - 2.8465205753690247e-6im, 7.355815857851533e-7 + 2.7656731682993193e-7im, -5.114187341304822e-7 + 2.081747790923446e-6im, -5.269914388279329e-6 - 2.112332735357182e-6im, 1.104348132958811e-5 - 1.165835032842964e-5im, -2.438120770802626e-7 + 2.018953103020391e-6im, -5.271984786989546e-6 - 7.48763531674867e-21im]\n", + " [-1.1617825704147745e-5 + 3.5991127254033954e-20im, 1.234933763313651e-5 - 2.5744303624623147e-5im, -1.4542932918051394e-6 + 5.1236640987265355e-6im, -1.2403650700016824e-5 - 1.6202581807656793e-6im, 2.4739604924723182e-5 - 2.0155561130978494e-5im, 1.914409603981181e-5 + 7.674296978354388e-5im, -1.0832694804431495e-5 - 7.193087530961995e-6im, 1.2407719644833935e-5 - 2.5726120539890695e-5im, -1.5622920897790732e-6 + 5.474515092672055e-6im, -1.0480130191816805e-5 - 9.254685626031864e-6im … -7.537537188446304e-6 - 1.24352065813063e-5im, 2.4798220145598744e-5 - 2.0129513964044342e-5im, -7.316420138431981e-7 + 5.598791194770795e-6im, -1.1630271281791023e-5 - 7.545396775206759e-6im, 2.214232213417318e-6 + 9.742099793903378e-7im, -1.56215552436172e-6 + 5.474538012007297e-6im, -1.1609612670484624e-5 - 5.574263610620767e-6im, 2.474819662694356e-5 - 2.0173749496261236e-5im, -7.315119289887849e-7 + 5.243914596674164e-6im, -1.1617825704147755e-5 + 3.520307089522326e-20im]\n", + " [-1.981255884803874e-5 - 4.280028435581076e-21im, 2.1472710819325354e-5 - 3.757217609507472e-5im, -3.2943974661872405e-6 + 1.013842320109842e-5im, -2.1635832244093596e-5 - 3.1479593611068825e-6im, 4.307295621212705e-5 - 2.621614600567175e-5im, 4.770433131249616e-6 + 0.00011143181451766208im, -1.799201346429666e-5 - 1.4466566267165669e-5im, 2.1652013724844434e-5 - 3.7526877738616144e-5im, -3.626913442716557e-6 + 1.1086241359275971e-5im, -1.7142579310500262e-5 - 1.880456618220836e-5im … -1.0216935244391587e-5 - 2.4910439270939048e-5im, 4.3253534404398406e-5 - 2.6122963951736857e-5im, -1.6606359562314295e-6 + 1.1409418303425735e-5im, -1.985371138194472e-5 - 1.5419204044859418e-5im, 5.050007317756616e-6 + 2.5695410438397464e-6im, -3.6263960453836895e-6 + 1.1086337766500894e-5im, -1.9788658501789783e-5 - 1.1323323936752896e-5im, 4.309833408283905e-5 - 2.6261466566059023e-5im, -1.6601519712867634e-6 + 1.0447568732530248e-5im, -1.9812558848038734e-5 + 2.3894933285785212e-20im]\n", + " [-2.6605994524636195e-5 + 1.666209451620879e-20im, 2.9532145628332023e-5 - 4.33387707648945e-5im, -5.793688435837023e-6 + 1.572023652812327e-5im, -2.990681972152743e-5 - 4.767746092973612e-6im, 5.937030373177227e-5 - 2.515848316039316e-5im, -2.1873141629015416e-5 + 0.0001274172040690093im, -2.3313208885217593e-5 - 2.288272975975103e-5im, 2.9955219745474598e-5 - 4.325274969426528e-5im, -6.580507052690052e-6 + 1.770923159800002e-5im, -2.1702668886267355e-5 - 3.0142728729320408e-5im … -8.927183090969314e-6 - 3.9211979641537305e-5im, 5.9798561396861214e-5 - 2.490365316124225e-5im, -2.927485304562953e-6 + 1.8356702741523676e-5im, -2.6711940545518363e-5 - 2.4883683143055815e-5im, 8.967724203429814e-6 + 5.238269352768291e-6im, -6.579046665900118e-6 + 1.770952822000895e-5im, -2.655319342322953e-5 - 1.812661956307728e-5im, 5.942741740138474e-5 - 2.5244572524328325e-5im, -2.9261511036959767e-6 + 1.63305727281216e-5im, -2.6605994524636147e-5 + 1.1156898237795673e-19im]" ] }, "execution_count": 5, @@ -489,12 +495,12 @@ "fidelity at trotter step 2 was 1.0\n", "fidelity at trotter step 3 was 0.9999999999999679\n", "fidelity at trotter step 4 was 0.9999999999976941\n", - "fidelity at trotter step 5 was 0.9999999999476229\n", - "fidelity at trotter step 6 was 0.9999999993741544\n", - "fidelity at trotter step 7 was 0.9999999993647009\n", - "fidelity at trotter step 8 was 0.9999999992323603\n", - "fidelity at trotter step 9 was 0.9999999980892764\n", - "fidelity at trotter step 10 was 0.9999999980892698\n" + "fidelity at trotter step 5 was 0.999999999947623\n", + "fidelity at trotter step 6 was 0.9999999993741586\n", + "fidelity at trotter step 7 was 0.9999999993647081\n", + "fidelity at trotter step 8 was 0.9999999992323612\n", + "fidelity at trotter step 9 was 0.9999999980892529\n", + "fidelity at trotter step 10 was 0.9999999980892462\n" ] } ], @@ -831,17 +837,17 @@ "data": { "text/plain": [ "11-element Vector{QiskitIBMRuntime.Job}:\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000010125b390)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000004a17272e0)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000103207060)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000101204910)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000010320be70)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000103209500)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000101208880)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000010320c830)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000103209000)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000010320c780)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000101205d60)" + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000129705580)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000012b806580)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000012b8069d0)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000012b806c90)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000012b8066c0)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000129707390)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000048b239f70)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000012b805920)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000012b809210)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000012b8048b0)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000012b8065f0)" ] }, "execution_count": 16, @@ -856,7 +862,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 18, "id": "9bca942a", "metadata": {}, "outputs": [ @@ -867,14 +873,14 @@ "Job 1: Completed\n", "Job 2: Completed\n", "Job 3: Completed\n", - "Job 4: Running\n", - "Job 5: Running\n", - "Job 6: Running\n", - "Job 7: Running\n", - "Job 8: Running\n", - "Job 9: Running\n", - "Job 10: Queued\n", - "Job 11: Queued\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" ] } ], @@ -895,7 +901,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 19, "id": "e8f81320", "metadata": {}, "outputs": [ @@ -903,20 +909,20 @@ "data": { "text/plain": [ "11-element Vector{QiskitIBMRuntime.Samples}:\n", - " [\"0x55555\", \"0x55555\", \"0x15555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\" … \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\"]\n", - " [\"0x51574\", \"0x55155\", \"0x55555\", \"0x55555\", \"0x55455\", \"0x55455\", \"0x55454\", \"0x55555\", \"0x55555\", \"0x55d54\" … \"0x55555\", \"0x55545\", \"0x55155\", \"0x55454\", \"0x55555\", \"0x55555\", \"0x95554\", \"0x55555\", \"0x55551\", \"0x45555\"]\n", - " [\"0x55555\", \"0x51455\", \"0xd5555\", \"0x15545\", \"0x55551\", \"0x55555\", \"0x55455\", \"0x55555\", \"0x55545\", \"0x55511\" … \"0x54555\", \"0x55555\", \"0x51555\", \"0x55455\", \"0x515d5\", \"0x55455\", \"0x551d1\", \"0x5d515\", \"0x55555\", \"0x55455\"]\n", - " [\"0x44555\", \"0x54155\", \"0x50554\", \"0x55555\", \"0x54354\", \"0x54555\", \"0x54555\", \"0x54055\", \"0x54054\", \"0x55450\" … \"0x55555\", \"0x55155\", \"0x54155\", \"0x55515\", \"0x55455\", \"0x555d5\", \"0x57455\", \"0x55556\", \"0x554d1\", \"0x55545\"]\n", - " [\"0x54450\", \"0xd4555\", \"0x56154\", \"0x5a556\", \"0x54455\", \"0x55555\", \"0x54554\", \"0x55651\", \"0x65755\", \"0x14554\" … \"0x56544\", \"0x54515\", \"0x56555\", \"0x55545\", \"0xd4555\", \"0x55555\", \"0x55611\", \"0x5555f\", \"0x44555\", \"0x55055\"]\n", - " [\"0x54545\", \"0x56549\", \"0x5575c\", \"0x51755\", \"0x5f455\", \"0x50155\", \"0x55554\", \"0x54455\", \"0x17051\", \"0x44455\" … \"0x15555\", \"0x54455\", \"0x54745\", \"0x5d445\", \"0x5454d\", \"0x15759\", \"0x54555\", \"0x54555\", \"0x55515\", \"0x55455\"]\n", - " [\"0x54550\", \"0x55455\", \"0x54755\", \"0x14355\", \"0x525c1\", \"0x54574\", \"0x54554\", \"0x95d45\", \"0x54115\", \"0x54541\" … \"0x55447\", \"0x55055\", \"0x80014\", \"0x5d485\", \"0x55555\", \"0x54055\", \"0x54c59\", \"0x54551\", \"0x54445\", \"0x4414d\"]\n", - " [\"0x5c555\", \"0x54c47\", \"0x54450\", \"0x54441\", \"0x45559\", \"0x64175\", \"0x54055\", \"0x54051\", \"0x95441\", \"0x50555\" … \"0x56055\", \"0x54451\", \"0xfd455\", \"0x50651\", \"0x14555\", \"0x55e41\", \"0x50455\", \"0x14551\", \"0x5c051\", \"0x54d4c\"]\n", - " [\"0x46159\", \"0x1d655\", \"0x55151\", \"0x94440\", \"0x54495\", \"0x54111\", \"0x56555\", \"0x54055\", \"0x54455\", \"0x66e47\" … \"0x95556\", \"0x11741\", \"0x54151\", \"0x14555\", \"0x14515\", \"0x55444\", \"0x54455\", \"0x94560\", \"0x50c45\", \"0x5c155\"]\n", - " [\"0x15555\", \"0x54505\", \"0x54d63\", \"0x45251\", \"0x54055\", \"0x54402\", \"0x15585\", \"0x55325\", \"0x44445\", \"0x14449\" … \"0x9c570\", \"0x54555\", \"0x58781\", \"0x5454c\", \"0xd4d46\", \"0x55144\", \"0x54775\", \"0x54254\", \"0x1515d\", \"0x45544\"]\n", - " [\"0x14541\", \"0x54240\", \"0x90545\", \"0x55004\", \"0x15746\", \"0x55905\", \"0x50c6d\", \"0x54a45\", \"0x452c4\", \"0x46195\" … \"0x55485\", \"0x14571\", \"0x14355\", \"0x55555\", \"0x17e41\", \"0x547d5\", \"0xd3451\", \"0x43c65\", \"0x64057\", \"0x56c55\"]" + " [\"0x55151\", \"0x55555\", \"0x55515\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\" … \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x555d5\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\"]\n", + " [\"0x5d030\", \"0x1b69e\", \"0x28e4c\", \"0x3b730\", \"0xc210\", \"0x3cc88\", \"0x27898\", \"0x54502\", \"0x854a\", \"0x2fbe0\" … \"0x35430\", \"0x1a4a6\", \"0x43802\", \"0x569a2\", \"0x25d2a\", \"0x626c2\", \"0x4607e\", \"0x50fa8\", \"0x5bfca\", \"0x49558\"]\n", + " [\"0x5d454\", \"0x3206a\", \"0xc836\", \"0x16748\", \"0x49770\", \"0x551e2\", \"0xa946\", \"0x60bc4\", \"0x7cd1e\", \"0x2ed34\" … \"0x84c50\", \"0x4cc7a\", \"0x395cc\", \"0x6866e\", \"0x3e002\", \"0x13ea2\", \"0xf1a4\", \"0x2cb20\", \"0x4add8\", \"0x1480a\"]\n", + " [\"0x4a0c8\", \"0x11c74\", \"0x688e2\", \"0x183a4\", \"0x58242\", \"0x14b96\", \"0xdf5e\", \"0x25526\", \"0x76f10\", \"0x21412\" … \"0x40b86\", \"0x4c2cc\", \"0x61a84\", \"0x1d60a\", \"0x6e28a\", \"0x65c56\", \"0x50762\", \"0xc9fe\", \"0x14cdc\", \"0x5f7e6\"]\n", + " [\"0x464ec\", \"0x40130\", \"0x657aa\", \"0x52e0a\", \"0x39e84\", \"0x67452\", \"0x784b0\", \"0x3b8f8\", \"0x21ce0\", \"0x6fd54\" … \"0x62102\", \"0x1848a\", \"0x5d44\", \"0x548c\", \"0x18634\", \"0x1a36e\", \"0x60e98\", \"0x4acce\", \"0x2b0\", \"0x1ba7c\"]\n", + " [\"0x59be4\", \"0x16ee4\", \"0x404fa\", \"0x325a2\", \"0x6dc5a\", \"0x2f01c\", \"0x6343e\", \"0x22c4\", \"0x67618\", \"0x62776\" … \"0x53740\", \"0x3cbf2\", \"0x185a0\", \"0x3d352\", \"0x1346a\", \"0x12c3c\", \"0x4a6c2\", \"0x5c7ec\", \"0x41092\", \"0x4347c\"]\n", + " [\"0x4ca4a\", \"0x7198e\", \"0x2fb42\", \"0x52916\", \"0x7a550\", \"0xcd98\", \"0x496d8\", \"0x5967c\", \"0x304b4\", \"0x37e1a\" … \"0x3eb32\", \"0x43d0a\", \"0x213b0\", \"0x1f32a\", \"0x28800\", \"0x12aa4\", \"0x76f9a\", \"0x5bebe\", \"0x304e2\", \"0x1e496\"]\n", + " [\"0x6de68\", \"0xd24\", \"0x7713a\", \"0x3f0e8\", \"0x77a6\", \"0x28f30\", \"0xc8bc\", \"0x54330\", \"0x47220\", \"0x71404\" … \"0x20eda\", \"0x1e294\", \"0x16fbc\", \"0x74e6c\", \"0x1daca\", \"0x45d50\", \"0x6aa60\", \"0x18976\", \"0x63072\", \"0x5405e\"]\n", + " [\"0x743ce\", \"0x6b18c\", \"0x661a0\", \"0x67604\", \"0x4b0a2\", \"0x57698\", \"0x72fb4\", \"0x4a740\", \"0x444d4\", \"0x164ae\" … \"0x647ca\", \"0x7053c\", \"0x584ae\", \"0x1c034\", \"0x2c30\", \"0x43900\", \"0x36498\", \"0x664fa\", \"0x17e12\", \"0x37880\"]\n", + " [\"0x3cd74\", \"0x42c52\", \"0x523ea\", \"0x78f66\", \"0x186a2\", \"0x325d6\", \"0x4a284\", \"0x39ad8\", \"0x543c4\", \"0x56d0a\" … \"0x16ca8\", \"0x12ee2\", \"0x5fcc0\", \"0x4310c\", \"0x8f3e\", \"0x3b312\", \"0x30404\", \"0x1984c\", \"0x7d200\", \"0x20c88\"]\n", + " [\"0x52eaa\", \"0x19e50\", \"0xa568\", \"0x305b0\", \"0x8b64\", \"0x7c2ca\", \"0x862a\", \"0x7e388\", \"0x7280a\", \"0x4a4e6\" … \"0x5f2cc\", \"0x73c86\", \"0x48e5c\", \"0x6887a\", \"0x172ba\", \"0x68d6c\", \"0x8a6a\", \"0x71644\", \"0x1f1f8\", \"0x7935c\"]" ] }, - "execution_count": 25, + "execution_count": 19, "metadata": {}, "output_type": "execute_result" } From 559ef4af5ab8bbe6e1169a6da95fee92e28d84bc Mon Sep 17 00:00:00 2001 From: Haimeng Zhang Date: Sat, 8 Aug 2026 18:38:55 -0700 Subject: [PATCH 27/40] add new hardware results --- .../time-evolution/time-evolution.ipynb | 498 +++++++++++++++++- 1 file changed, 473 insertions(+), 25 deletions(-) diff --git a/docs/tutorials/time-evolution/time-evolution.ipynb b/docs/tutorials/time-evolution/time-evolution.ipynb index a9f122b0bf2b..eaea932d23be 100644 --- a/docs/tutorials/time-evolution/time-evolution.ipynb +++ b/docs/tutorials/time-evolution/time-evolution.ipynb @@ -901,7 +901,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 20, "id": "e8f81320", "metadata": {}, "outputs": [ @@ -922,7 +922,7 @@ " [\"0x52eaa\", \"0x19e50\", \"0xa568\", \"0x305b0\", \"0x8b64\", \"0x7c2ca\", \"0x862a\", \"0x7e388\", \"0x7280a\", \"0x4a4e6\" … \"0x5f2cc\", \"0x73c86\", \"0x48e5c\", \"0x6887a\", \"0x172ba\", \"0x68d6c\", \"0x8a6a\", \"0x71644\", \"0x1f1f8\", \"0x7935c\"]" ] }, - "execution_count": 19, + "execution_count": 20, "metadata": {}, "output_type": "execute_result" } @@ -943,7 +943,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 21, "id": "e9dd9a79", "metadata": {}, "outputs": [ @@ -953,7 +953,7 @@ "\"0001\"" ] }, - "execution_count": 26, + "execution_count": 21, "metadata": {}, "output_type": "execute_result" } @@ -970,7 +970,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 22, "id": "8ad39f14", "metadata": {}, "outputs": [ @@ -978,7 +978,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Saved to results/counts_N=20_2026-06-23_183705.json\n" + "Saved to results/counts_N=20_2026-08-08_183741.json\n" ] } ], @@ -1008,7 +1008,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 23, "id": "c74b479d", "metadata": {}, "outputs": [ @@ -1016,20 +1016,20 @@ "data": { "text/plain": [ "11×20 Matrix{Float64}:\n", - " -0.994141 0.998047 -0.984375 0.994141 … 0.994141 -0.982422 0.998047\n", - " -0.740234 0.892578 -0.876953 0.953125 0.957031 -0.916016 0.960938\n", - " -0.908203 0.947266 -0.771484 0.912109 0.917969 -0.832031 0.935547\n", - " -0.783203 0.9375 -0.726562 0.90625 0.910156 -0.867188 0.953125\n", - " -0.712891 0.919922 -0.691406 0.888672 0.875 -0.826172 0.869141\n", - " -0.695312 0.902344 -0.638672 0.84375 … 0.865234 -0.794922 0.845703\n", - " -0.615234 0.882812 -0.533203 0.841797 0.837891 -0.804688 0.865234\n", - " -0.59375 0.837891 -0.412109 0.798828 0.810547 -0.791016 0.835938\n", - " -0.566406 0.816406 -0.34375 0.753906 0.779297 -0.65625 0.800781\n", - " -0.521484 0.75 -0.283203 0.734375 0.757812 -0.703125 0.787109\n", - " -0.486328 0.738281 -0.269531 0.724609 … 0.773438 -0.703125 0.765625" + " -0.982422 0.998047 -0.923828 … 0.996094 -0.992188 1.0\n", + " 0.998047 0.0566406 0.125 0.0761719 0.0761719 0.992188\n", + " 1.0 0.0644531 0.111328 0.03125 0.0351562 0.994141\n", + " 0.996094 0.0273438 0.113281 0.0253906 0.015625 0.996094\n", + " 1.0 0.0527344 0.0957031 0.0488281 0.0 0.998047\n", + " 1.0 0.126953 0.169922 … 0.0390625 0.0 0.994141\n", + " 1.0 0.0664062 0.0683594 0.0820312 0.0117188 0.998047\n", + " 0.998047 0.078125 0.0390625 0.09375 -0.00585938 0.992188\n", + " 0.998047 0.0566406 0.142578 0.0742188 0.03125 0.996094\n", + " 0.998047 0.0839844 0.0957031 0.0722656 0.0507812 1.0\n", + " 0.994141 0.0371094 0.121094 … 0.0683594 0.0253906 0.996094" ] }, - "execution_count": 28, + "execution_count": 23, "metadata": {}, "output_type": "execute_result" } @@ -1054,20 +1054,468 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 24, "id": "cc5496cc", "metadata": {}, "outputs": [ { "data": { - "text/html": [ - "" + "image/png": "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r6ampszMTEJIdXX11atX/fz8FB0JdESLD4nKr0Q9evTo27cvcwaJRKLz58+r6gxS/jvzxx9/hIaGxsfHy86/MXbs2KSkJCY7T0hIsLW1dXFxUXQknRemdnphXl5e7u7upqamqampdXV1V69eNTMzU1rtubm5P/zww9OnT+/fvz9mzJhBgwaFhYURQjZu3Lhnz55Zs2adPn3ay8tr7969Sghm5syZQqHwr7/+8vf319XV/e233wghTk5Ovr6++vr658+fNzIyunTpkqKvo2fPnp04ceK7777L/iH+85//2NjYVFdXDx061MvLy8rK6vDhw8nJyUqezBLk2bdvX0xMTP/+/Wtra2NjY9evX7906VJlBhAeHv7gwYOzZ88OHjzY2tp68+bNjo6O//7775AhQ9555x1jY+MTJ06kpaX17dtX0ZGcPHny5MmTN27c0NDQ8PDwmDlz5rRp09auXZuVleXi4lJSUnLq1Kno6OjAwEBFRzJ06NCSkhJvb2/mpY+Pz5IlSwghkZGR27dvZ6Z28vDwiI6OVnQk0BETJ040MzOztrbOzMzMz8+/cuWK0qZSrqysXLRoUXV1dUpKyrRp06ytrZn74CdPnly8ePH8+fOZTiYXL15U9I3psLCwR48enT592tPT08rKKjIy0t7e3tfX19bW1tLSMiMj4/Hjx1evXlXod92Kioru3bv369ePzTUXLVo0evRoQsiECRPq6urefvvtAwcOREREKHkCu84FyegLu3nzZmZmJp/Pd3JyGj9+PDuOWzn+/fff1NRU9qWNjQ178UhJScnKyurbt++ECROU0zclNjaW/fzweDzmenn16tVbt241NTX17dvXz89PCTc6i4qK0tPTZUvGjRtnZGRECKmpqfn999+FQuHkyZPt7e0VHQl0UG1tbXJy8pMnT4yNjb29vfv06aPkAC5evFhVVcW+HDNmjKmpKSGksrLyjz/+EIvFU6ZM6d69uxIiuXPnTl5eHvuyf//+rq6u5eXlycnJz549Mzc3f/fdd5XTbBwfH8/n89mX9vb2zDgMQsjly5evX7/u4uIyadIk9HtTE/fu3UtPT6+srLS3t58wYYIyp7sWCARnzpxhXxoaGrKT9d68eTM5OdnW1nbatGlKuDheuHChpqaGfcnM/J+Xl5eenl5TU8O8M2zHLQVp8W4QQjw9PR0cHAghEonkzz//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", + "image/svg+xml": [ + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n" ], - "text/plain": [ - "\"Output" + "text/html": [ + "" ] }, - "execution_count": 29, + "execution_count": 24, "metadata": {}, "output_type": "execute_result" } From 08ec35b8454178547e02a3db3a74b9069f6f283a Mon Sep 17 00:00:00 2001 From: Haimeng Zhang Date: Sat, 8 Aug 2026 19:11:51 -0700 Subject: [PATCH 28/40] add next steps --- .../time-evolution/time-evolution.ipynb | 508 ++++++++++-------- 1 file changed, 275 insertions(+), 233 deletions(-) diff --git a/docs/tutorials/time-evolution/time-evolution.ipynb b/docs/tutorials/time-evolution/time-evolution.ipynb index eaea932d23be..771cd30cc3a3 100644 --- a/docs/tutorials/time-evolution/time-evolution.ipynb +++ b/docs/tutorials/time-evolution/time-evolution.ipynb @@ -162,7 +162,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 1, "id": "4ea0efac", "metadata": {}, "outputs": [], @@ -196,7 +196,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 2, "id": "143aecbe", "metadata": {}, "outputs": [ @@ -206,7 +206,7 @@ "bit_at" ] }, - "execution_count": 3, + "execution_count": 2, "metadata": {}, "output_type": "execute_result" } @@ -235,7 +235,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 3, "id": "aa6b4db3", "metadata": {}, "outputs": [ @@ -265,7 +265,7 @@ "⎣⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢦⠀⠀⠀⠀⠀⠀⠀⠀⠙⢦⠀⠀⠀⠙⢦⠈⠳⡿⣿⣿⎦" ] }, - "execution_count": 4, + "execution_count": 3, "metadata": {}, "output_type": "execute_result" } @@ -314,7 +314,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 4, "id": "959f77e9", "metadata": {}, "outputs": [ @@ -349,7 +349,7 @@ " [-2.6605994524636195e-5 + 1.666209451620879e-20im, 2.9532145628332023e-5 - 4.33387707648945e-5im, -5.793688435837023e-6 + 1.572023652812327e-5im, -2.990681972152743e-5 - 4.767746092973612e-6im, 5.937030373177227e-5 - 2.515848316039316e-5im, -2.1873141629015416e-5 + 0.0001274172040690093im, -2.3313208885217593e-5 - 2.288272975975103e-5im, 2.9955219745474598e-5 - 4.325274969426528e-5im, -6.580507052690052e-6 + 1.770923159800002e-5im, -2.1702668886267355e-5 - 3.0142728729320408e-5im … -8.927183090969314e-6 - 3.9211979641537305e-5im, 5.9798561396861214e-5 - 2.490365316124225e-5im, -2.927485304562953e-6 + 1.8356702741523676e-5im, -2.6711940545518363e-5 - 2.4883683143055815e-5im, 8.967724203429814e-6 + 5.238269352768291e-6im, -6.579046665900118e-6 + 1.770952822000895e-5im, -2.655319342322953e-5 - 1.812661956307728e-5im, 5.942741740138474e-5 - 2.5244572524328325e-5im, -2.9261511036959767e-6 + 1.63305727281216e-5im, -2.6605994524636147e-5 + 1.1156898237795673e-19im]" ] }, - "execution_count": 5, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" } @@ -380,7 +380,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 5, "id": "27b209db", "metadata": {}, "outputs": [ @@ -401,7 +401,7 @@ " -0.580117 0.661272 -0.661841 0.661842 … 0.661841 -0.661272 0.580117" ] }, - "execution_count": 6, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" } @@ -434,7 +434,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 6, "id": "47e7b661", "metadata": {}, "outputs": [ @@ -444,7 +444,7 @@ "make_trotter_circuit_tn (generic function with 1 method)" ] }, - "execution_count": 7, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } @@ -482,7 +482,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 7, "id": "5e3ea2c3", "metadata": {}, "outputs": [ @@ -535,7 +535,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 8, "id": "6b680069", "metadata": {}, "outputs": [ @@ -546,7 +546,7 @@ " instructions: 89" ] }, - "execution_count": 9, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } @@ -596,7 +596,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 9, "id": "704485a7", "metadata": {}, "outputs": [ @@ -617,7 +617,7 @@ " QuantumCircuit(20, 20; 620 instructions)" ] }, - "execution_count": 10, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" } @@ -639,7 +639,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 10, "id": "32354a49", "metadata": {}, "outputs": [ @@ -656,7 +656,7 @@ "\"ibm_fez\"" ] }, - "execution_count": 11, + "execution_count": 10, "metadata": {}, "output_type": "execute_result" } @@ -670,7 +670,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 11, "id": "14205fe7", "metadata": {}, "outputs": [ @@ -681,7 +681,7 @@ " instructions: 8" ] }, - "execution_count": 12, + "execution_count": 11, "metadata": {}, "output_type": "execute_result" } @@ -692,7 +692,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 12, "id": "8828900e", "metadata": {}, "outputs": [ @@ -713,7 +713,7 @@ " QuantumCircuit(156, 20; 1392 instructions)" ] }, - "execution_count": 13, + "execution_count": 12, "metadata": {}, "output_type": "execute_result" } @@ -732,7 +732,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 13, "id": "bf4c910c", "metadata": {}, "outputs": [ @@ -762,7 +762,7 @@ " 144" ] }, - "execution_count": 14, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" } @@ -777,7 +777,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 14, "id": "5fa03372", "metadata": {}, "outputs": [ @@ -829,7 +829,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 15, "id": "7bcdead5", "metadata": {}, "outputs": [ @@ -837,20 +837,20 @@ "data": { "text/plain": [ "11-element Vector{QiskitIBMRuntime.Job}:\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000129705580)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000012b806580)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000012b8069d0)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000012b806c90)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000012b8066c0)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000129707390)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000048b239f70)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000012b805920)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000012b809210)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000012b8048b0)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000012b8065f0)" + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000049c154af0)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000001297807a0)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000001050cc920)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000049d899290)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000049deb2b70)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000049dedfc90)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000049c16fee0)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000010610f5f0)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000105711290)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000049d8ad2e0)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000049a4b7670)" ] }, - "execution_count": 16, + "execution_count": 15, "metadata": {}, "output_type": "execute_result" } @@ -862,7 +862,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 17, "id": "9bca942a", "metadata": {}, "outputs": [ @@ -901,7 +901,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 18, "id": "e8f81320", "metadata": {}, "outputs": [ @@ -909,20 +909,20 @@ "data": { "text/plain": [ "11-element Vector{QiskitIBMRuntime.Samples}:\n", - " [\"0x55151\", \"0x55555\", \"0x55515\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\" … \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x555d5\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\"]\n", - " [\"0x5d030\", \"0x1b69e\", \"0x28e4c\", \"0x3b730\", \"0xc210\", \"0x3cc88\", \"0x27898\", \"0x54502\", \"0x854a\", \"0x2fbe0\" … \"0x35430\", \"0x1a4a6\", \"0x43802\", \"0x569a2\", \"0x25d2a\", \"0x626c2\", \"0x4607e\", \"0x50fa8\", \"0x5bfca\", \"0x49558\"]\n", - " [\"0x5d454\", \"0x3206a\", \"0xc836\", \"0x16748\", \"0x49770\", \"0x551e2\", \"0xa946\", \"0x60bc4\", \"0x7cd1e\", \"0x2ed34\" … \"0x84c50\", \"0x4cc7a\", \"0x395cc\", \"0x6866e\", \"0x3e002\", \"0x13ea2\", \"0xf1a4\", \"0x2cb20\", \"0x4add8\", \"0x1480a\"]\n", - " [\"0x4a0c8\", \"0x11c74\", \"0x688e2\", \"0x183a4\", \"0x58242\", \"0x14b96\", \"0xdf5e\", \"0x25526\", \"0x76f10\", \"0x21412\" … \"0x40b86\", \"0x4c2cc\", \"0x61a84\", \"0x1d60a\", \"0x6e28a\", \"0x65c56\", \"0x50762\", \"0xc9fe\", \"0x14cdc\", \"0x5f7e6\"]\n", - " [\"0x464ec\", \"0x40130\", \"0x657aa\", \"0x52e0a\", \"0x39e84\", \"0x67452\", \"0x784b0\", \"0x3b8f8\", \"0x21ce0\", \"0x6fd54\" … \"0x62102\", \"0x1848a\", \"0x5d44\", \"0x548c\", \"0x18634\", \"0x1a36e\", \"0x60e98\", \"0x4acce\", \"0x2b0\", \"0x1ba7c\"]\n", - " [\"0x59be4\", \"0x16ee4\", \"0x404fa\", \"0x325a2\", \"0x6dc5a\", \"0x2f01c\", \"0x6343e\", \"0x22c4\", \"0x67618\", \"0x62776\" … \"0x53740\", \"0x3cbf2\", \"0x185a0\", \"0x3d352\", \"0x1346a\", \"0x12c3c\", \"0x4a6c2\", \"0x5c7ec\", \"0x41092\", \"0x4347c\"]\n", - " [\"0x4ca4a\", \"0x7198e\", \"0x2fb42\", \"0x52916\", \"0x7a550\", \"0xcd98\", \"0x496d8\", \"0x5967c\", \"0x304b4\", \"0x37e1a\" … \"0x3eb32\", \"0x43d0a\", \"0x213b0\", \"0x1f32a\", \"0x28800\", \"0x12aa4\", \"0x76f9a\", \"0x5bebe\", \"0x304e2\", \"0x1e496\"]\n", - " [\"0x6de68\", \"0xd24\", \"0x7713a\", \"0x3f0e8\", \"0x77a6\", \"0x28f30\", \"0xc8bc\", \"0x54330\", \"0x47220\", \"0x71404\" … \"0x20eda\", \"0x1e294\", \"0x16fbc\", \"0x74e6c\", \"0x1daca\", \"0x45d50\", \"0x6aa60\", \"0x18976\", \"0x63072\", \"0x5405e\"]\n", - " [\"0x743ce\", \"0x6b18c\", \"0x661a0\", \"0x67604\", \"0x4b0a2\", \"0x57698\", \"0x72fb4\", \"0x4a740\", \"0x444d4\", \"0x164ae\" … \"0x647ca\", \"0x7053c\", \"0x584ae\", \"0x1c034\", \"0x2c30\", \"0x43900\", \"0x36498\", \"0x664fa\", \"0x17e12\", \"0x37880\"]\n", - " [\"0x3cd74\", \"0x42c52\", \"0x523ea\", \"0x78f66\", \"0x186a2\", \"0x325d6\", \"0x4a284\", \"0x39ad8\", \"0x543c4\", \"0x56d0a\" … \"0x16ca8\", \"0x12ee2\", \"0x5fcc0\", \"0x4310c\", \"0x8f3e\", \"0x3b312\", \"0x30404\", \"0x1984c\", \"0x7d200\", \"0x20c88\"]\n", - " [\"0x52eaa\", \"0x19e50\", \"0xa568\", \"0x305b0\", \"0x8b64\", \"0x7c2ca\", \"0x862a\", \"0x7e388\", \"0x7280a\", \"0x4a4e6\" … \"0x5f2cc\", \"0x73c86\", \"0x48e5c\", \"0x6887a\", \"0x172ba\", \"0x68d6c\", \"0x8a6a\", \"0x71644\", \"0x1f1f8\", \"0x7935c\"]" + " [\"0x45555\", \"0x55555\", \"0x55555\", \"0x15551\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\" … \"0x55555\", \"0x455d5\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55554\", \"0x55555\"]\n", + " [\"0x11cb8\", \"0x68154\", \"0x82b0\", \"0x6650c\", \"0x3445e\", \"0x1b3e6\", \"0x8ba8\", \"0x6599c\", \"0x4ec18\", \"0x4d832\" … \"0xdb6c\", \"0x2ee52\", \"0x654f2\", \"0x70b42\", \"0x6e9fa\", \"0x69682\", \"0x2a290\", \"0x776e0\", \"0x14cc0\", \"0x21f40\"]\n", + " [\"0x65cc8\", \"0x28238\", \"0x3be92\", \"0x3c9ec\", \"0x37910\", \"0x28a2\", \"0x6c734\", \"0x33af6\", \"0x5b4a2\", \"0x692e8\" … \"0x22364\", \"0x2ec76\", \"0x1bdf0\", \"0x3f26\", \"0x50a60\", \"0xae7c\", \"0x5cc80\", \"0x1fa02\", \"0x72904\", \"0x3897a\"]\n", + " [\"0x35f70\", \"0x13510\", \"0x68a6c\", \"0x40b2a\", \"0x134d4\", \"0x69df0\", \"0x2a588\", \"0x60d78\", \"0xf2\", \"0x7ac42\" … \"0x7d38c\", \"0xd0c2\", \"0x208aa\", \"0x4862\", \"0x72c9e\", \"0x64c12\", \"0x4e3c6\", \"0x52618\", \"0x66f72\", \"0xe6aa\"]\n", + " [\"0x1bf42\", \"0x2683e\", \"0x7b482\", \"0x3ee48\", \"0x36918\", \"0x4a5f0\", \"0x15828\", \"0x14248\", \"0x72412\", \"0x5dce6\" … \"0x4632\", \"0x206c8\", \"0x78066\", \"0xb350\", \"0x66c80\", \"0x58868\", \"0x70bf2\", \"0x22a1e\", \"0x33bb0\", \"0x7162a\"]\n", + " [\"0x6540c\", \"0x98b4\", \"0x5b308\", \"0x4167e\", \"0x6cf5e\", \"0x7bbf8\", \"0x7ef2c\", \"0x21250\", \"0x5cda0\", \"0x64d08\" … \"0x19a78\", \"0x243c2\", \"0x66416\", \"0x69898\", \"0x14b08\", \"0x753a0\", \"0x3421a\", \"0x52022\", \"0x535c2\", \"0x16824\"]\n", + " [\"0x706e2\", \"0xf36c\", \"0x350c6\", \"0x2960a\", \"0x19600\", \"0x5c014\", \"0x58c10\", \"0x68c24\", \"0x27280\", \"0x3cd12\" … \"0x5cb44\", \"0x72f8\", \"0x43130\", \"0x342c6\", \"0x1b4e4\", \"0x1b982\", \"0x1fc38\", \"0x23904\", \"0x507c4\", \"0x748c6\"]\n", + " [\"0x6fdd0\", \"0x5963a\", \"0x2b52a\", \"0x3a20c\", \"0x1f574\", \"0x19512\", \"0x4b366\", \"0x6da74\", \"0x8c46\", \"0x75da0\" … \"0x31f60\", \"0x7c476\", \"0x3cf70\", \"0x52bec\", \"0x440c0\", \"0xc7aa\", \"0x49dba\", \"0x5e00c\", \"0x6f3c0\", \"0x186e0\"]\n", + " [\"0x1866a\", \"0x2ed9e\", \"0x1802\", \"0x154f4\", \"0x6b026\", \"0x5c5aa\", \"0x5a52c\", \"0xd638\", \"0x3cd4\", \"0x3efec\" … \"0x1b94e\", \"0xd6e\", \"0x27696\", \"0x2a78a\", \"0x79cc4\", \"0x6630c\", \"0x14062\", \"0x31b40\", \"0x7d2ec\", \"0x58894\"]\n", + " [\"0x200de\", \"0x7aeae\", \"0x19354\", \"0x40b14\", \"0x7e84c\", \"0x41864\", \"0x7c412\", \"0x53fb8\", \"0x5e0bc\", \"0x75156\" … \"0x5b436\", \"0x3fba6\", \"0x7bb26\", \"0x3a3d0\", \"0x74578\", \"0x5ade6\", \"0x5cb8\", \"0x778e6\", \"0xb1ba\", \"0x2441a\"]\n", + " [\"0x283aa\", \"0x13ad6\", \"0x42886\", \"0x54808\", \"0x6221a\", \"0x1e844\", \"0x1a26c\", \"0x44960\", \"0x234b4\", \"0x1d8b4\" … \"0x13b16\", \"0x1c6fa\", \"0x27e86\", \"0x188b8\", \"0x5bf1a\", \"0x3f976\", \"0x35728\", \"0x19290\", \"0x60e7e\", \"0x717bc\"]" ] }, - "execution_count": 20, + "execution_count": 18, "metadata": {}, "output_type": "execute_result" } @@ -943,7 +943,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 19, "id": "e9dd9a79", "metadata": {}, "outputs": [ @@ -953,7 +953,7 @@ "\"0001\"" ] }, - "execution_count": 21, + "execution_count": 19, "metadata": {}, "output_type": "execute_result" } @@ -970,7 +970,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 20, "id": "8ad39f14", "metadata": {}, "outputs": [ @@ -978,7 +978,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Saved to results/counts_N=20_2026-08-08_183741.json\n" + "Saved to results/counts_N=20_2026-08-08_184823.json\n" ] } ], @@ -1008,7 +1008,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 21, "id": "c74b479d", "metadata": {}, "outputs": [ @@ -1016,20 +1016,20 @@ "data": { "text/plain": [ "11×20 Matrix{Float64}:\n", - " -0.982422 0.998047 -0.923828 … 0.996094 -0.992188 1.0\n", - " 0.998047 0.0566406 0.125 0.0761719 0.0761719 0.992188\n", - " 1.0 0.0644531 0.111328 0.03125 0.0351562 0.994141\n", - " 0.996094 0.0273438 0.113281 0.0253906 0.015625 0.996094\n", - " 1.0 0.0527344 0.0957031 0.0488281 0.0 0.998047\n", - " 1.0 0.126953 0.169922 … 0.0390625 0.0 0.994141\n", - " 1.0 0.0664062 0.0683594 0.0820312 0.0117188 0.998047\n", - " 0.998047 0.078125 0.0390625 0.09375 -0.00585938 0.992188\n", - " 0.998047 0.0566406 0.142578 0.0742188 0.03125 0.996094\n", - " 0.998047 0.0839844 0.0957031 0.0722656 0.0507812 1.0\n", - " 0.994141 0.0371094 0.121094 … 0.0683594 0.0253906 0.996094" + " -0.972656 1.0 -0.921875 … 0.992188 -0.982422 0.998047\n", + " 0.996094 0.078125 0.0761719 0.0214844 0.0546875 0.998047\n", + " 1.0 0.0605469 0.146484 0.0449219 0.0429688 0.996094\n", + " 0.996094 0.0488281 0.107422 0.00585938 0.0253906 0.994141\n", + " 0.996094 0.101562 0.173828 -0.0117188 0.0136719 0.996094\n", + " 1.0 0.0722656 0.15625 … 0.0644531 0.0234375 0.994141\n", + " 0.998047 0.0644531 0.138672 0.0664062 0.0332031 0.998047\n", + " 0.998047 0.0859375 0.148438 0.0195312 0.0351562 1.0\n", + " 0.998047 0.0332031 0.142578 0.0273438 0.0351562 0.994141\n", + " 1.0 0.0546875 0.132812 -0.0117188 0.0527344 0.990234\n", + " 1.0 0.09375 0.167969 … 0.00585938 0.0410156 0.996094" ] }, - "execution_count": 23, + "execution_count": 21, "metadata": {}, "output_type": "execute_result" } @@ -1054,54 +1054,54 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 22, "id": "cc5496cc", "metadata": {}, "outputs": [ { "data": { - "image/png": "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r6ampszMTEJIdXX11atX/fz8FB0JdESLD4nKr0Q9evTo27cvcwaJRKLz58+r6gxS/jvzxx9/hIaGxsfHy86/MXbs2KSkJCY7T0hIsLW1dXFxUXQknRemdnphXl5e7u7upqamqampdXV1V69eNTMzU1rtubm5P/zww9OnT+/fvz9mzJhBgwaFhYURQjZu3Lhnz55Zs2adPn3ay8tr7969Sghm5syZQqHwr7/+8vf319XV/e233wghTk5Ovr6++vr658+fNzIyunTpkqKvo2fPnp04ceK7777L/iH+85//2NjYVFdXDx061MvLy8rK6vDhw8nJyUqezBLk2bdvX0xMTP/+/Wtra2NjY9evX7906VJlBhAeHv7gwYOzZ88OHjzY2tp68+bNjo6O//7775AhQ9555x1jY+MTJ06kpaX17dtX0ZGcPHny5MmTN27c0NDQ8PDwmDlz5rRp09auXZuVleXi4lJSUnLq1Kno6OjAwEBFRzJ06NCSkhJvb2/mpY+Pz5IlSwghkZGR27dvZ6Z28vDwiI6OVnQk0BETJ040MzOztrbOzMzMz8+/cuWK0qZSrqysXLRoUXV1dUpKyrRp06ytrZn74CdPnly8ePH8+fOZTiYXL15U9I3psLCwR48enT592tPT08rKKjIy0t7e3tfX19bW1tLSMiMj4/Hjx1evXlXod92Kioru3bv369ePzTUXLVo0evRoQsiECRPq6urefvvtAwcOREREKHkCu84FyegLu3nzZmZmJp/Pd3JyGj9+PDuOWzn+/fff1NRU9qWNjQ178UhJScnKyurbt++ECROU0zclNjaW/fzweDzmenn16tVbt241NTX17dvXz89PCTc6i4qK0tPTZUvGjRtnZGRECKmpqfn999+FQuHkyZPt7e0VHQl0UG1tbXJy8pMnT4yNjb29vfv06aPkAC5evFhVVcW+HDNmjKmpKSGksrLyjz/+EIvFU6ZM6d69uxIiuXPnTl5eHvuyf//+rq6u5eXlycnJz549Mzc3f/fdd5XTbBwfH8/n89mX9vb2zDgMQsjly5evX7/u4uIyadIk9HtTE/fu3UtPT6+srLS3t58wYYIyp7sWCARnzpxhXxoaGrKT9d68eTM5OdnW1nbatGlKuDheuHChpqaGfcnM/J+Xl5eenl5TU8O8M2zHLQVp8W4QQjw9PR0cHAghEonkzz//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", + "image/png": "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", "image/svg+xml": [ "\n", "\n", "\n", - " \n", + " \n", " \n", " \n", "\n", - "\n", + "\n", "\n", - " \n", + " \n", " \n", " \n", "\n", - "\n", + "\n", "\n", - " \n", + " \n", " \n", " \n", "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", - " \n", + " \n", " \n", " \n", "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", - " \n", + " \n", " \n", " \n", "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", - " \n", + " \n", " \n", " \n", "\n", - "\n", + "\n", "\n", "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", "\n" ], "text/html": [ - "" + "" ] }, - "execution_count": 24, + "execution_count": 22, "metadata": {}, "output_type": "execute_result" } @@ -1534,6 +1533,49 @@ " bottom_margin=5mm, left_margin=5mm, right_margin=6mm\n", ")" ] + }, + { + "cell_type": "markdown", + "id": "5e9fc890", + "metadata": {}, + "source": [ + "## Large-scale hardware example\n", + "\n", + "### Steps 1-4 compress into single code block\n", + "Here we now put all of these details together into a singular workflow at a larger scale, which is then run on our real quantum hardware." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f840b38f", + "metadata": {}, + "outputs": [], + "source": [ + "# -------------------------Step 1-------------------------\n", + "\n", + "# -------------------------Step 2-------------------------\n", + "\n", + "# -------------------------Step 3-------------------------\n", + "\n", + "# -------------------------Step 4-------------------------" + ] + }, + { + "cell_type": "markdown", + "id": "8defe5bb", + "metadata": {}, + "source": [ + "## Next steps\n", + "\n", + "If you found this work interesting, you might be interested in the following material:\n", + "\n", + "* [Multi-product formulas to reduce Trotter error](https://quantum.cloud.ibm.com/docs/en/tutorials/multi-product-formula)\n", + "\n", + "* [Integrating quantum and high-performance computing course](https://quantum.cloud.ibm.com/learning/en/courses/integrating-quantum-and-high-performance-computing)\n", + "\n", + "* [Qiskit.jl](https://github.com/Qiskit/Qiskit.jl) and [QiskitIBMRuntime.jl](https://github.com/Qiskit/QiskitIBMRuntime.jl) on Github" + ] } ], "metadata": { From bdc8160dcf247b1a6a89d4c5b2ccc2eda2ccdb38 Mon Sep 17 00:00:00 2001 From: Haimeng Zhang Date: Sat, 8 Aug 2026 19:26:52 -0700 Subject: [PATCH 29/40] add code for large-scale example --- .../time-evolution/time-evolution.ipynb | 71 ++++++++++++++++++- 1 file changed, 70 insertions(+), 1 deletion(-) diff --git a/docs/tutorials/time-evolution/time-evolution.ipynb b/docs/tutorials/time-evolution/time-evolution.ipynb index 771cd30cc3a3..ffcbaf041a0c 100644 --- a/docs/tutorials/time-evolution/time-evolution.ipynb +++ b/docs/tutorials/time-evolution/time-evolution.ipynb @@ -1553,12 +1553,81 @@ "outputs": [], "source": [ "# -------------------------Step 1-------------------------\n", + "# Map classical inputs to a quantum problem.\n", + "# At N = 60 the 2^60-dimensional state vector is far beyond the exact ODE\n", + "N_large = 60\n", + "δt_large = 0.05 # Trotter step size, same as the small-scale example\n", + "r_max_large = 10 # total number of Trotter steps\n", + "\n", + "h_large = fill(1.0, N_large) # transverse field on every site\n", + "J_large = fill(1.0, N_large - 1) # nearest-neighbor ZZ couplings on the chain\n", + "\n", + "# one circuit per Trotter step r = 0, 1, …, r_max_large\n", + "qc_list_large = [make_trotter_circuit(h_large, J_large, N_large, δt_large, r)\n", + " for r in 0:r_max_large]\n", + "\n", + "println(\"Built $(length(qc_list_large)) circuits on $(N_large) qubits\")\n", + "println(\" evolution time τ = 0 … $(r_max_large * δt_large)\")\n", + "println(\" deepest circuit: $(qc_list_large[end].num_instructions) instructions\")\n", "\n", "# -------------------------Step 2-------------------------\n", + "# Optimize the problem for quantum hardware execution.\n", + "tqc_list_large = [transpile(qc, target)[1] for qc in qc_list_large]\n", + "\n", + "for (i, tqc) in enumerate(tqc_list_large)\n", + " ops = tqc.count_ops()\n", + " n_2q = sum((v for (k, v) in ops if k in (\"cz\", \"cx\", \"ecr\", \"rzz\")); init = 0)\n", + " println(\"r=$(i-1): qubits used=$(length(get_circuit_layout(tqc))), \",\n", + " \"2q depth=$(two_qubit_depth(tqc)), 2q gates=$(n_2q)\")\n", + "end\n", "\n", "# -------------------------Step 3-------------------------\n", + "# Execute using Qiskit primitives.\n", + "shots_large = 4096\n", + "\n", + "job_list_large = [run_sampler_job(service, backend_large, tqc, shots_large)\n", + " for tqc in tqc_list_large]\n", + "\n", + "for (i, job) in enumerate(job_list_large)\n", + " println(\"Job $i (r=$(i-1)): \", get_job_status(job, service))\n", + "end" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c3e8fdb7", + "metadata": {}, + "outputs": [], + "source": [ + "# blocks until every job has completed\n", + "all_samples_large = [get_job_results(job, service) for job in job_list_large]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6c99b8f6", + "metadata": {}, + "outputs": [], + "source": [ + "# -------------------------Step 4-------------------------\n", + "# Post-process and return the result in the desired classical format.\n", + "\n", + "# hex_to_bitstrings decodes into an Int64, so N must stay under 63 bits\n", + "@assert N_large < 63\n", + "\n", + "save_counts(all_samples_large, N_large)\n", + "\n", + "magnetizations_large = [z_expval_from_samples(all_samples_large[i], q, N_large)\n", + " for i in 1:length(all_samples_large), q in 1:N_large]\n", "\n", - "# -------------------------Step 4-------------------------" + "heatmap(magnetizations_large,\n", + " title = \"Hardware, N=$(N_large) ($(backend_large.name))\",\n", + " clims = (-1, 1), color = :RdBu,\n", + " xlabel = \"Qubit\", ylabel = \"Trotter steps\", colorbar = true,\n", + " size = (760, 320),\n", + " bottom_margin = 5mm, left_margin = 5mm, right_margin = 6mm)" ] }, { From f6cc27329d6c732bc74ac8953f78722c6bfe4c54 Mon Sep 17 00:00:00 2001 From: Haimeng Zhang Date: Sun, 9 Aug 2026 10:05:20 -0700 Subject: [PATCH 30/40] Claude's fix on ABI mismatch --- docs/tutorials/time-evolution/Manifest.toml | 190 +++--- docs/tutorials/time-evolution/Project.toml | 9 + .../time-evolution/time-evolution.ipynb | 571 +++++++++--------- 3 files changed, 384 insertions(+), 386 deletions(-) diff --git a/docs/tutorials/time-evolution/Manifest.toml b/docs/tutorials/time-evolution/Manifest.toml index 028e8b402606..19cd69997db9 100644 --- a/docs/tutorials/time-evolution/Manifest.toml +++ b/docs/tutorials/time-evolution/Manifest.toml @@ -2,12 +2,12 @@ julia_version = "1.11.5" manifest_format = "2.0" -project_hash = "9bbce5a099053ef5bc334075903943471b4dfd3e" +project_hash = "80255ba63d0ff89ffdc5480ac0d052ea4ad9084a" [[deps.ADTypes]] -git-tree-sha1 = "ec6be48a85c93d995563b84bff8a86bc98df45ce" +git-tree-sha1 = "9b38b82a9fe131f3d331a53b7203d9d1a2a4602c" uuid = "47edcb42-4c32-4615-8424-f2b9edc5f35b" -version = "1.22.2" +version = "1.22.4" weakdeps = ["ChainRulesCore", "ConstructionBase", "EnzymeCore"] [deps.ADTypes.extensions] @@ -364,9 +364,9 @@ uuid = "861a8166-3701-5b0c-9a16-15d98fcdc6aa" version = "1.1.0" [[deps.CommonSolve]] -git-tree-sha1 = "eeaad7cef88554c2fa56b5a3f71cfd5cb708c662" +git-tree-sha1 = "cf963add2340ad9960e5eb22844e61ad8f931fe1" uuid = "38540f10-b2f7-11e9-35d8-d573e4eb0ff2" -version = "0.2.11" +version = "0.2.13" [[deps.CommonSubexpressions]] deps = ["MacroTools"] @@ -375,9 +375,9 @@ uuid = "bbf7d656-a473-5ed7-a52c-81e309532950" version = "0.3.1" [[deps.CommonWorldInvalidations]] -git-tree-sha1 = "cde75cb34c9ee07b4c37981b0f32378d0dc19ffe" +git-tree-sha1 = "ef2022bff55342a8c9846cdf218f62e475f0444d" uuid = "f70d9fcc-98c5-4d4a-abd7-e4cdeebd8ca8" -version = "1.1.1" +version = "1.1.2" [[deps.Compat]] deps = ["TOML", "UUIDs"] @@ -409,15 +409,15 @@ weakdeps = ["InverseFunctions"] CompositionsBaseInverseFunctionsExt = "InverseFunctions" [[deps.ConcreteStructs]] -git-tree-sha1 = "23a2ac1ab2a39460d4feecddf09b02e9019d6dd5" +git-tree-sha1 = "804fc3ca1cbfdd5aa52ae3149c0cb0555f875eec" uuid = "2569d6c7-a4a2-43d3-a901-331e8e4be471" -version = "0.2.6" +version = "0.2.7" [[deps.ConcurrentUtilities]] deps = ["Serialization", "Sockets"] -git-tree-sha1 = "21d088c496ea22914fe80906eb5bce65755e5ec8" +git-tree-sha1 = "3c9be947934c38475bafe822c6d61aaed17f0738" uuid = "f0e56b4a-5159-44fe-b623-3e5288b988bb" -version = "2.5.1" +version = "2.6.0" [[deps.ConstructionBase]] git-tree-sha1 = "b4b092499347b18a015186eae3042f72267106cb" @@ -638,13 +638,13 @@ version = "2.2.4+0" [[deps.EllipsisNotation]] deps = ["PrecompileTools"] -git-tree-sha1 = "ec3ba254f91892ecf4eef0159f02e1af1e9449bf" +git-tree-sha1 = "4337603d8124cf76db5e9a8077c2bf150040b2ed" uuid = "da5c29d0-fa7d-589e-88eb-ea29b0a81949" -version = "1.10.3" -weakdeps = ["StaticArrayInterface"] +version = "1.11.0" +weakdeps = ["ArrayInterface", "Static", "StaticArrayInterface"] [deps.EllipsisNotation.extensions] - EllipsisNotationStaticArrayInterfaceExt = "StaticArrayInterface" + EllipsisNotationStaticArrayInterfaceExt = ["ArrayInterface", "Static", "StaticArrayInterface"] [[deps.EnumX]] git-tree-sha1 = "c49898e8438c828577f04b92fc9368c388ac783c" @@ -718,9 +718,9 @@ version = "8.1.2+0" [[deps.FastBroadcast]] deps = ["ArrayInterface", "LinearAlgebra"] -git-tree-sha1 = "52216cc6b2e5b11ac6623ff2398ac00faf1c6e42" +git-tree-sha1 = "6a97f3e08655ea9df1a946e378770c4d3fb3c4e9" uuid = "7034ab61-46d4-4ed7-9d0f-46aef9175898" -version = "1.3.4" +version = "1.3.6" weakdeps = ["Polyester", "Static"] [deps.FastBroadcast.extensions] @@ -739,9 +739,9 @@ uuid = "442a2c76-b920-505d-bb47-c5924d526838" version = "1.3.0" [[deps.FastPower]] -git-tree-sha1 = "33a6dfb7ad41394b15e90c10c216181dba06cf15" +git-tree-sha1 = "eb92a563909f2d4cb2911e0e2cb247ad17c6e9ae" uuid = "a4df4552-cc26-4903-aec0-212e50a0e84b" -version = "1.3.4" +version = "1.4.1" [deps.FastPower.extensions] FastPowerEnzymeExt = "Enzyme" @@ -780,9 +780,9 @@ weakdeps = ["PDMats", "SparseArrays", "StaticArrays", "Statistics"] [[deps.FiniteDiff]] deps = ["ArrayInterface", "LinearAlgebra", "Setfield"] -git-tree-sha1 = "07e98e3f332ee60179813dd9cdf21412e3c0a96a" +git-tree-sha1 = "5031f23e040bf17082e5b52422d77b5e844eefb1" uuid = "6a86dc24-6348-571c-b903-95158fe2bd41" -version = "2.32.0" +version = "2.33.0" [deps.FiniteDiff.extensions] FiniteDiffBandedMatricesExt = "BandedMatrices" @@ -838,9 +838,9 @@ version = "1.3.7" [[deps.ForwardDiff]] deps = ["CommonSubexpressions", "DiffResults", "DiffRules", "LinearAlgebra", "LogExpFunctions", "NaNMath", "Preferences", "Printf", "Random", "SpecialFunctions"] -git-tree-sha1 = "244d838cae8f4f40bd7b0478a4912e265c50857d" +git-tree-sha1 = "1b86cca764a61dcac4fef4c5e16e378e5ed6953c" uuid = "f6369f11-7733-5829-9624-2563aa707210" -version = "1.4.2" +version = "1.4.5" weakdeps = ["StaticArrays"] [deps.ForwardDiff.extensions] @@ -864,10 +864,10 @@ uuid = "069b7b12-0de2-55c6-9aab-29f3d0a68a2e" version = "1.1.3" [[deps.FunctionWrappersWrappers]] -deps = ["FunctionWrappers", "PrecompileTools", "TruncatedStacktraces"] -git-tree-sha1 = "70a6ddcf65ee666a6873ba4bf1b02dc721474b38" +deps = ["FunctionWrappers", "PrecompileTools", "SciMLPublic"] +git-tree-sha1 = "daced009d54a7cf502a9b5ed2f615c341f78af6f" uuid = "77dc65aa-8811-40c2-897b-53d922fa7daf" -version = "1.10.1" +version = "1.12.1" [deps.FunctionWrappersWrappers.extensions] FunctionWrappersWrappersEnzymeExt = ["Enzyme", "EnzymeCore"] @@ -880,9 +880,9 @@ version = "1.10.1" [[deps.Functors]] deps = ["Compat", "ConstructionBase", "LinearAlgebra", "Random"] -git-tree-sha1 = "60a0339f28a233601cb74468032b5c302d5067de" +git-tree-sha1 = "1ac2813982db52b974c9343124ca61adbf297316" uuid = "d9f16b24-f501-4c13-a1f2-28368ffc5196" -version = "0.5.2" +version = "0.5.3" [[deps.Future]] deps = ["Random"] @@ -966,9 +966,9 @@ 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" +git-tree-sha1 = "090526e65de8f69648ac156daae153de8b56df62" uuid = "7746bdde-850d-59dc-9ae8-88ece973131d" -version = "2.86.3+0" +version = "2.88.3+0" [[deps.GraphRecipes]] deps = ["AbstractTrees", "GeometryTypes", "Graphs", "InteractiveUtils", "Interpolations", "LinearAlgebra", "NaNMath", "NetworkLayout", "PlotUtils", "RecipesBase", "SparseArrays", "Statistics"] @@ -1028,9 +1028,9 @@ version = "1.15.1+1" [[deps.HypergeometricFunctions]] deps = ["Gamma", "LinearAlgebra"] -git-tree-sha1 = "18d7deab5fb0440dc6a7b6993c5c27b25420de10" +git-tree-sha1 = "31bb6c92405c084617facc1d7ed9eb6c402d061e" uuid = "34004b35-14d8-5ef3-9330-4cdb6864b03a" -version = "0.3.29" +version = "0.3.30" [[deps.ITensorMPS]] deps = ["Adapt", "Compat", "ITensors", "IsApprox", "KrylovKit", "LinearAlgebra", "NDTensors", "Printf", "Random", "SerializedElementArrays", "TupleTools"] @@ -1220,9 +1220,9 @@ version = "0.11.4" [[deps.Krylov]] deps = ["LinearAlgebra", "Printf", "SparseArrays"] -git-tree-sha1 = "fc2e5bc665dfa1be33fac60b5762d462bccfae7b" +git-tree-sha1 = "71e740d00d71cdb15145d7fe0d6000ec70534598" uuid = "ba0b0d4f-ebba-5204-a429-3ac8c609bfb7" -version = "0.10.8" +version = "0.10.9" [[deps.KrylovKit]] deps = ["LinearAlgebra", "PackageExtensionCompat", "Printf", "Random", "VectorInterface"] @@ -1374,9 +1374,9 @@ version = "0.9.3" [[deps.LineSearch]] deps = ["ADTypes", "CommonSolve", "ConcreteStructs", "FastClosures", "LinearAlgebra", "MaybeInplace", "PrecompileTools", "SciMLBase", "SciMLJacobianOperators", "StaticArraysCore"] -git-tree-sha1 = "0ddc77c97e42b3024a1646278bdaafee0bd61583" +git-tree-sha1 = "36d9ea45f400b185d291528dd2e7659ace2da2c7" uuid = "87fe0de2-c867-4266-b59a-2f0a94fc965b" -version = "0.1.12" +version = "0.1.13" weakdeps = ["LineSearches"] [deps.LineSearch.extensions] @@ -1543,9 +1543,9 @@ version = "0.2.0" [[deps.MathOptInterface]] deps = ["CodecBzip2", "CodecZlib", "ForwardDiff", "JSON", "LinearAlgebra", "MutableArithmetics", "NaNMath", "OrderedCollections", "PrecompileTools", "Printf", "SparseArrays", "SpecialFunctions", "Test"] -git-tree-sha1 = "7b57dbe5d2c988a0c7a0ea977045e844e3d0b263" +git-tree-sha1 = "f1ccd9ffcb8577e207deb9aaebeb3f961de70380" uuid = "b8f27783-ece8-5eb3-8dc8-9495eed66fee" -version = "1.51.2" +version = "1.52.0" [deps.MathOptInterface.extensions] MathOptInterfaceBenchmarkToolsExt = "BenchmarkTools" @@ -1614,9 +1614,9 @@ version = "2023.12.12" [[deps.MuladdMacro]] deps = ["PrecompileTools"] -git-tree-sha1 = "e8dcbeef032ba2f9051a44ac22b4e54e3a1a0099" +git-tree-sha1 = "283bf85d4a767481dd924dff0eee1735e95f449e" uuid = "46d2c3a1-f734-5fdb-9937-b9b9aeba4221" -version = "0.2.6" +version = "0.2.7" [[deps.Multisets]] git-tree-sha1 = "f4205a002e2e0c4a10971ea313084ee212f761a4" @@ -2084,9 +2084,9 @@ version = "10.42.0+1" [[deps.PDMats]] deps = ["LinearAlgebra", "SparseArrays", "SuiteSparse"] -git-tree-sha1 = "26766d4b5f1a410c218a19b85a672c6edb693c65" +git-tree-sha1 = "123266c25174ef6c8d4718920abc206452cf8de6" uuid = "90014a1f-27ba-587c-ab20-58faa44d9150" -version = "0.11.40" +version = "0.11.41" weakdeps = ["StatsBase"] [deps.PDMats.extensions] @@ -2100,15 +2100,15 @@ 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 = "58e5ed5e386e156bd93e86b305ebd21ac63d2d04" +git-tree-sha1 = "7126b66b721a605a2fec966a2874c5ed53258eb3" uuid = "36c8627f-9965-5494-a995-c6b170f724f3" -version = "1.57.1+0" +version = "1.58.0+0" [[deps.Parsers]] deps = ["Dates", "PrecompileTools", "UUIDs"] -git-tree-sha1 = "32a4e09c5f29402573d673901778a0e03b0807b9" +git-tree-sha1 = "3de8f5e6e90ebfa8d6d1f86997d6cdcd6a912ff3" uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0" -version = "2.8.6" +version = "2.8.7" [[deps.PauliPropagation]] deps = ["BitIntegers", "Bits", "LinearAlgebra", "Random", "StatsBase", "Test"] @@ -2208,10 +2208,10 @@ uuid = "85a6dd25-e78a-55b7-8502-1745935b8125" version = "0.2.4" [[deps.PreallocationTools]] -deps = ["Adapt", "ArrayInterface", "PrecompileTools"] -git-tree-sha1 = "920abd8738c02528d1078885e07bbd57939fc949" +deps = ["Adapt", "ArrayInterface", "PrecompileTools", "SciMLPublic"] +git-tree-sha1 = "315eb21a0da58dccdbd29e3c617e3a9fbdd768a8" uuid = "d236fae5-4411-538c-8e31-a6e3d9e00b46" -version = "1.3.0" +version = "1.4.1" [deps.PreallocationTools.extensions] PreallocationToolsEnzymeCoreExt = "EnzymeCore" @@ -2254,10 +2254,10 @@ uuid = "43287f4e-b6f4-7ad1-bb20-aadabca52c3d" version = "1.4.0" [[deps.PureKLU]] -deps = ["LinearAlgebra", "MuladdMacro", "PrecompileTools", "SparseArrays"] -git-tree-sha1 = "c24613c5ca510086fb22fe891d48d8969839dae1" +deps = ["LinearAlgebra", "PrecompileTools", "SparseArrays"] +git-tree-sha1 = "762c7006b147e31fc7dd272b5e4714aae648e05b" uuid = "0c0d3e7f-3a8b-4f7e-b6f1-9a4d2e7c1f01" -version = "1.1.1" +version = "1.4.0" weakdeps = ["ForwardDiff"] [deps.PureKLU.extensions] @@ -2271,15 +2271,9 @@ version = "3.11.12+0" [[deps.Qiskit]] deps = ["CEnum", "Compat", "Libdl", "Qiskit_jll"] -git-tree-sha1 = "9c04e244d197abb65315a8fe1b90d6fb02785b72" +git-tree-sha1 = "bef356714b8612dcd9c8623b0544608c0cfe89a7" uuid = "91d9a17d-f964-4b6c-a3c4-2f4cfdea2c95" -version = "0.5.1" - - [deps.Qiskit.extensions] - QiskitUnitfulExt = "Unitful" - - [deps.Qiskit.weakdeps] - Unitful = "1986cc42-f94f-5a68-af5c-568840ba703d" +version = "0.4.0" [[deps.QiskitIBMRuntime]] deps = ["CEnum", "Compat", "Dates", "Libdl", "Qiskit", "qiskit_ibm_runtime_jll"] @@ -2289,9 +2283,9 @@ version = "0.2.1" [[deps.Qiskit_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Python_jll"] -git-tree-sha1 = "bb935825490e3a597cdd056091e7254342de2788" +git-tree-sha1 = "73ce450e9f1725c1fa608fa86ad960d75aa08e83" uuid = "b54e8e98-f244-53b3-a8e8-4727a4907f76" -version = "2.4.2+0" +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"] @@ -2428,9 +2422,9 @@ version = "1.3.1" [[deps.Revise]] deps = ["CRC32c", "CodeTracking", "FileWatching", "JuliaInterpreter", "LibGit2", "LoweredCodeUtils", "OrderedCollections", "Preferences", "REPL", "UUIDs"] -git-tree-sha1 = "6098400ed73008c45f5f47b35ae114475436ad37" +git-tree-sha1 = "ec46aed6a3a8cc6b67839ca361e7b4aa32eaeee1" uuid = "295af30f-e4ad-537b-8983-00126c2a3abe" -version = "3.16.2" +version = "3.16.3" weakdeps = ["Distributed"] [deps.Revise.extensions] @@ -2450,9 +2444,9 @@ version = "0.9.0" [[deps.Rmath_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "58cdd8fb2201a6267e1db87ff148dd6c1dbd8ad8" +git-tree-sha1 = "6d40b2fe70437b01397d2a4d5b020008da4e7019" uuid = "f50d1b31-88e8-58de-be2c-1cc44531875f" -version = "0.5.1+0" +version = "0.5.2+0" [[deps.Roots]] deps = ["Accessors", "CommonSolve", "Printf"] @@ -2478,9 +2472,9 @@ version = "3.0.6" [[deps.RuntimeGeneratedFunctions]] deps = ["ExprTools", "SHA", "Serialization"] -git-tree-sha1 = "0e3eba2ca347b001baade9fb830623e04da64b38" +git-tree-sha1 = "65c9e1142f0372bfc16ba14b9edd57737fe0039f" uuid = "7e49a35a-f44a-4d26-94aa-eba1b4ca6b47" -version = "0.5.22" +version = "0.5.24" [[deps.SHA]] uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce" @@ -2499,9 +2493,9 @@ version = "3.53.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 = "a017ed325ac5e11438c888864fe83b124bb171b7" +git-tree-sha1 = "d56cb3b924cdf9297c171113e6a6ae9694e370eb" uuid = "0bca4576-84f4-4d90-8ffe-ffa030f20462" -version = "2.155.1" +version = "2.155.2" [deps.SciMLBase.extensions] SciMLBaseChainRulesCoreExt = "ChainRulesCore" @@ -2561,31 +2555,29 @@ version = "1.10.1" Tracy = "e689c965-62c8-4b79-b2c5-8359227902fd" [[deps.SciMLOperators]] -deps = ["Accessors", "Adapt", "ArrayInterface", "DocStringExtensions", "LinearAlgebra"] -git-tree-sha1 = "10e4313d1bce847140611c12469ce532ffbdf3dd" +deps = ["Accessors", "Adapt", "ArrayInterface", "DocStringExtensions", "LinearAlgebra", "SciMLPublic"] +git-tree-sha1 = "54333a8ba01ff383643b44d5a97a4bc2c07d4d2f" uuid = "c0aeaf25-5076-4817-a8d5-81caf7dfa961" -version = "1.25.0" +version = "1.26.1" [deps.SciMLOperators.extensions] SciMLOperatorsLoopVectorizationExt = "LoopVectorization" SciMLOperatorsSparseArraysExt = "SparseArrays" - SciMLOperatorsStaticArraysCoreExt = "StaticArraysCore" [deps.SciMLOperators.weakdeps] LoopVectorization = "bdcacae8-1622-11e9-2a5c-532679323890" SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" - StaticArraysCore = "1e83bf80-4336-4d27-bf5d-d5a4f845583c" [[deps.SciMLPublic]] -git-tree-sha1 = "24ff31136f3f991b74fbef71d5c638e2881d29d2" +git-tree-sha1 = "cf9aaf8b9ed5db993259ea8b24cf2b7ba9bd3b79" uuid = "431bcebd-1456-4ced-9d72-93c2757fff0b" -version = "1.2.3" +version = "1.2.4" [[deps.SciMLStructures]] deps = ["ArrayInterface", "PrecompileTools"] -git-tree-sha1 = "14d4ca3d334637233b9f730d2b9e6061e6338122" +git-tree-sha1 = "53bf620cb2c3763d41495b2a145611c6ca400dcd" uuid = "53ae85a6-f571-4167-b2af-e1d143709226" -version = "1.10.3" +version = "1.10.4" [[deps.Scratch]] deps = ["Dates"] @@ -2700,9 +2692,9 @@ version = "1.11.0" [[deps.SparseColumnPivotedQR]] deps = ["LinearAlgebra", "PrecompileTools", "SparseArrays"] -git-tree-sha1 = "cd2b583a035b559dbd7c3a9a88c43dc2a86203ca" +git-tree-sha1 = "ee8155fd93f0efc510e4523850bd9e0bb6e03199" uuid = "a57abbd0-fea5-4d57-96be-5e525945e8e4" -version = "2.1.4" +version = "2.1.6" weakdeps = ["AMD"] [deps.SparseColumnPivotedQR.extensions] @@ -2732,9 +2724,9 @@ version = "0.4.27" [[deps.SpecialFunctions]] deps = ["IrrationalConstants", "LogExpFunctions", "OpenLibm_jll", "OpenSpecFun_jll"] -git-tree-sha1 = "6547cbdd8ce32efba0d21c5a40fa96d1a3548f9f" +git-tree-sha1 = "c3ac026e735264e9bdc6a9bcbd1b1e781b36e3bc" uuid = "276daf66-3868-5448-9aa4-cd146d93841b" -version = "2.8.0" +version = "2.8.3" weakdeps = ["ChainRulesCore"] [deps.SpecialFunctions.extensions] @@ -2760,9 +2752,9 @@ version = "1.0.4" [[deps.Static]] deps = ["CommonWorldInvalidations", "IfElse", "PrecompileTools", "SciMLPublic"] -git-tree-sha1 = "5ef96deaf82834d64e1456c6a6665ca4188afd48" +git-tree-sha1 = "474a5283ad435618090122872eea6a8165ea6bcf" uuid = "aedffcd0-7271-4cad-89d0-dc628f76c6d3" -version = "1.4.4" +version = "1.4.6" [[deps.StaticArrayInterface]] deps = ["ArrayInterface", "Compat", "IfElse", "LinearAlgebra", "PrecompileTools", "SciMLPublic", "Static"] @@ -2815,9 +2807,9 @@ version = "0.34.12" [[deps.StatsFuns]] deps = ["HypergeometricFunctions", "IrrationalConstants", "LogExpFunctions", "Reexport", "Rmath", "SpecialFunctions"] -git-tree-sha1 = "770240df9a3b8888065046948f7a09b4e0f997d5" +git-tree-sha1 = "91a5737baed20ee31f3faea0e51f57461f6a689e" uuid = "4c63d2b9-4356-54db-8cca-17b64c39e42c" -version = "2.2.0" +version = "2.2.1" weakdeps = ["ChainRulesCore", "InverseFunctions"] [deps.StatsFuns.extensions] @@ -2869,9 +2861,9 @@ version = "0.5.2" [[deps.StructUtils]] deps = ["Dates", "UUIDs"] -git-tree-sha1 = "82bee338d650aa515f31866c460cb7e3bcef90b8" +git-tree-sha1 = "c65ae4aa47e543c278aea0a3468786d33021a3ff" uuid = "ec057cc2-7a8d-4b58-b3b3-92acb9f63b42" -version = "2.8.2" +version = "2.8.4" [deps.StructUtils.extensions] StructUtilsMeasurementsExt = ["Measurements"] @@ -2904,9 +2896,9 @@ version = "0.2.8" [[deps.SymbolicIndexingInterface]] deps = ["Accessors", "ArrayInterface", "RuntimeGeneratedFunctions", "StaticArraysCore"] -git-tree-sha1 = "73048fd086b7a169bbd7232bf60bfd43240691eb" +git-tree-sha1 = "ae6fd46b22508c2dfcd0fabf144ce5e9d9d2e719" uuid = "2efcf032-c050-4f8e-a9bb-153293bab1f5" -version = "0.3.51" +version = "0.3.53" [deps.SymbolicIndexingInterface.extensions] SymbolicIndexingInterfacePrettyTablesExt = "PrettyTables" @@ -2950,9 +2942,9 @@ version = "0.3.11" [[deps.TensorOperations]] deps = ["LRUCache", "LinearAlgebra", "PackageExtensionCompat", "PrecompileTools", "Preferences", "PtrArrays", "Strided", "StridedViews", "TupleTools", "VectorInterface"] -git-tree-sha1 = "c6153e90cf75256cb8b0ae451f0f7c0695dadd8d" +git-tree-sha1 = "e8c1d2e0e5ff26553ded73be8e55a88efd671eb9" uuid = "6aa20fa7-93e2-5fca-9bc0-fbd0db3c71a2" -version = "5.6.2" +version = "5.7.0" [deps.TensorOperations.extensions] TensorOperationsAMDGPUExt = "AMDGPU" @@ -3072,9 +3064,9 @@ version = "0.4.23" oneAPI = "8f75cd03-7ff8-4ecb-9b8f-daf728133b1b" [[deps.URIs]] -git-tree-sha1 = "bef26fb046d031353ef97a82e3fdb6afe7f21b1a" +git-tree-sha1 = "3b0738bd7c5645641845da25cbd99800b8718689" uuid = "5c2747f8-b7ea-4ff2-ba2e-563bfd36b1d4" -version = "1.6.1" +version = "1.6.2" [[deps.UUIDs]] deps = ["Random", "SHA"] @@ -3194,9 +3186,9 @@ version = "6.0.2+0" [[deps.Xorg_libXi_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libXext_jll", "Xorg_libXfixes_jll"] -git-tree-sha1 = "a376af5c7ae60d29825164db40787f15c80c7c54" +git-tree-sha1 = "dcb316b3ce0941f195537dda56bea4517fcd3ff5" uuid = "a51aa0fd-4e3c-5386-b890-e753decda492" -version = "1.8.3+0" +version = "1.8.4+0" [[deps.Xorg_libXinerama_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libXext_jll"] @@ -3419,9 +3411,9 @@ version = "17.4.0+2" [[deps.qiskit_ibm_runtime_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Qiskit_jll"] -git-tree-sha1 = "38f1bb63dce6b4951969ecd851cb59778a72b211" +git-tree-sha1 = "1167e96e41132995b6945a0517cd505e39af887c" uuid = "dfd00f80-54b8-5b12-a44d-54bafd549557" -version = "0.38.1+0" +version = "0.38.0+1" [[deps.x264_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] diff --git a/docs/tutorials/time-evolution/Project.toml b/docs/tutorials/time-evolution/Project.toml index 5a611ba5ea40..b42d0148822b 100644 --- a/docs/tutorials/time-evolution/Project.toml +++ b/docs/tutorials/time-evolution/Project.toml @@ -8,3 +8,12 @@ QiskitIBMRuntime = "1f74880b-c9c8-4af4-a333-b5b4aaaec6f5" SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" StatsBase = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91" TensorNetworkQuantumSimulator = "4de3b72a-362e-43dd-83ff-3f381eda9f9c" + +[compat] +# Qiskit 0.5 pulls Qiskit_jll 2.4, whose QkCircuitInstruction stores gate +# parameters as QkParam** rather than double*. qiskit_ibm_runtime_jll 0.38.1 +# still reads that field as double*, so every rotation angle is submitted to +# the backend as a reinterpreted pointer (~7e-314). Holding Qiskit at 0.4 keeps +# Qiskit_jll at 2.2.3 and qiskit_ibm_runtime_jll at 0.38.0, where the ABI matches. +Qiskit = "0.4" +QiskitIBMRuntime = "0.2" diff --git a/docs/tutorials/time-evolution/time-evolution.ipynb b/docs/tutorials/time-evolution/time-evolution.ipynb index ffcbaf041a0c..3cbe56454903 100644 --- a/docs/tutorials/time-evolution/time-evolution.ipynb +++ b/docs/tutorials/time-evolution/time-evolution.ipynb @@ -99,12 +99,14 @@ "For post-processing results and visualization:\n", "* `StatsBase.jl`\n", "* `JSON.jl`\n", - "* `Plots.jl`" + "* `Plots.jl`\n", + "\n", + "Note that `Qiskit.jl` is pinned to the 0.4 series. Version 0.5 tracks a newer release of the underlying Qiskit C library whose circuit-parameter representation `QiskitIBMRuntime.jl` does not yet read correctly, which causes gate rotation angles to be lost when a job is submitted. Because 0.4 predates the `Qiskit.Operations` submodule, this notebook builds circuits with the property-style API (`qc.rx(θ, i)`) rather than the `!`-suffixed functions (`rx!(qc, θ, i)`)." ] }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 23, "id": "1454cc50", "metadata": {}, "outputs": [], @@ -113,13 +115,13 @@ "using Pkg\n", "Pkg.activate(mktempdir(); io=devnull) # fresh temporary environment\n", "Pkg.add([\n", - " \"Qiskit\",\n", - " \"QiskitIBMRuntime\",\n", - " \"OrdinaryDiffEq\",\n", - " \"TensorNetworkQuantumSimulator\",\n", - " \"JSON\",\n", - " \"Plots\",\n", - " \"StatsBase\",\n", + " PackageSpec(name=\"Qiskit\", version=\"0.4\"),\n", + " PackageSpec(name=\"QiskitIBMRuntime\"),\n", + " PackageSpec(name=\"OrdinaryDiffEq\"),\n", + " PackageSpec(name=\"TensorNetworkQuantumSimulator\"),\n", + " PackageSpec(name=\"JSON\"),\n", + " PackageSpec(name=\"Plots\"),\n", + " PackageSpec(name=\"StatsBase\"),\n", "]; io=devnull)" ] }, @@ -162,13 +164,12 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 24, "id": "4ea0efac", "metadata": {}, "outputs": [], "source": [ "using Qiskit\n", - "using Qiskit.Operations\n", "using QiskitIBMRuntime\n", "using StatsBase\n", "using OrdinaryDiffEq\n", @@ -196,7 +197,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 25, "id": "143aecbe", "metadata": {}, "outputs": [ @@ -206,7 +207,7 @@ "bit_at" ] }, - "execution_count": 2, + "execution_count": 25, "metadata": {}, "output_type": "execute_result" } @@ -235,7 +236,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 26, "id": "aa6b4db3", "metadata": {}, "outputs": [ @@ -265,7 +266,7 @@ "⎣⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢦⠀⠀⠀⠀⠀⠀⠀⠀⠙⢦⠀⠀⠀⠙⢦⠈⠳⡿⣿⣿⎦" ] }, - "execution_count": 3, + "execution_count": 26, "metadata": {}, "output_type": "execute_result" } @@ -314,7 +315,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 27, "id": "959f77e9", "metadata": {}, "outputs": [ @@ -349,7 +350,7 @@ " [-2.6605994524636195e-5 + 1.666209451620879e-20im, 2.9532145628332023e-5 - 4.33387707648945e-5im, -5.793688435837023e-6 + 1.572023652812327e-5im, -2.990681972152743e-5 - 4.767746092973612e-6im, 5.937030373177227e-5 - 2.515848316039316e-5im, -2.1873141629015416e-5 + 0.0001274172040690093im, -2.3313208885217593e-5 - 2.288272975975103e-5im, 2.9955219745474598e-5 - 4.325274969426528e-5im, -6.580507052690052e-6 + 1.770923159800002e-5im, -2.1702668886267355e-5 - 3.0142728729320408e-5im … -8.927183090969314e-6 - 3.9211979641537305e-5im, 5.9798561396861214e-5 - 2.490365316124225e-5im, -2.927485304562953e-6 + 1.8356702741523676e-5im, -2.6711940545518363e-5 - 2.4883683143055815e-5im, 8.967724203429814e-6 + 5.238269352768291e-6im, -6.579046665900118e-6 + 1.770952822000895e-5im, -2.655319342322953e-5 - 1.812661956307728e-5im, 5.942741740138474e-5 - 2.5244572524328325e-5im, -2.9261511036959767e-6 + 1.63305727281216e-5im, -2.6605994524636147e-5 + 1.1156898237795673e-19im]" ] }, - "execution_count": 4, + "execution_count": 27, "metadata": {}, "output_type": "execute_result" } @@ -380,7 +381,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 28, "id": "27b209db", "metadata": {}, "outputs": [ @@ -401,7 +402,7 @@ " -0.580117 0.661272 -0.661841 0.661842 … 0.661841 -0.661272 0.580117" ] }, - "execution_count": 5, + "execution_count": 28, "metadata": {}, "output_type": "execute_result" } @@ -434,7 +435,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 29, "id": "47e7b661", "metadata": {}, "outputs": [ @@ -444,7 +445,7 @@ "make_trotter_circuit_tn (generic function with 1 method)" ] }, - "execution_count": 6, + "execution_count": 29, "metadata": {}, "output_type": "execute_result" } @@ -482,7 +483,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 30, "id": "5e3ea2c3", "metadata": {}, "outputs": [ @@ -535,7 +536,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "id": "6b680069", "metadata": {}, "outputs": [ @@ -546,7 +547,7 @@ " instructions: 89" ] }, - "execution_count": 8, + "execution_count": 48, "metadata": {}, "output_type": "execute_result" } @@ -557,27 +558,27 @@ "\n", " # Neel state initialization\n", " for i in 1:2:n\n", - " x!(qc, i)\n", + " qc.x(i)\n", " end\n", "\n", " # trotter evolution\n", " for _ in 1:n_trotter_steps\n", " for i in 1:n\n", - " rx!(qc, h[i] * δt, i)\n", + " qc.rx(h[i] * δt, i)\n", " end\n", "\n", " for i in 1:n-1\n", - " rzz!(qc, 2* J[i] * δt, i, i+1)\n", + " qc.rzz(2* J[i] * δt, i, i+1)\n", " end\n", "\n", " for i in 1:n\n", - " rx!(qc, h[i] * δt, i)\n", + " qc.rx(h[i] * δt, i)\n", " end\n", " end\n", "\n", " # measure in Z basis\n", " for i in 1:n\n", - " measure!(qc, i, i)\n", + " qc.measure(i, i)\n", " end\n", " return qc\n", "end\n", @@ -596,7 +597,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 49, "id": "704485a7", "metadata": {}, "outputs": [ @@ -617,7 +618,7 @@ " QuantumCircuit(20, 20; 620 instructions)" ] }, - "execution_count": 9, + "execution_count": 49, "metadata": {}, "output_type": "execute_result" } @@ -639,7 +640,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 50, "id": "32354a49", "metadata": {}, "outputs": [ @@ -647,16 +648,16 @@ "name": "stdout", "output_type": "stream", "text": [ - "backend.name = \"ibm_fez\"\n" + "backend.name = \"ibm_boston\"\n" ] }, { "data": { "text/plain": [ - "\"ibm_fez\"" + "\"ibm_boston\"" ] }, - "execution_count": 10, + "execution_count": 50, "metadata": {}, "output_type": "execute_result" } @@ -670,7 +671,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 51, "id": "14205fe7", "metadata": {}, "outputs": [ @@ -681,7 +682,7 @@ " instructions: 8" ] }, - "execution_count": 11, + "execution_count": 51, "metadata": {}, "output_type": "execute_result" } @@ -692,7 +693,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 52, "id": "8828900e", "metadata": {}, "outputs": [ @@ -702,18 +703,18 @@ "11-element Vector{QuantumCircuit}:\n", " QuantumCircuit(156, 20; 30 instructions)\n", " QuantumCircuit(156, 20; 211 instructions)\n", - " QuantumCircuit(156, 20; 344 instructions)\n", - " QuantumCircuit(156, 20; 475 instructions)\n", - " QuantumCircuit(156, 20; 606 instructions)\n", - " QuantumCircuit(156, 20; 737 instructions)\n", - " QuantumCircuit(156, 20; 868 instructions)\n", - " QuantumCircuit(156, 20; 999 instructions)\n", - " QuantumCircuit(156, 20; 1130 instructions)\n", - " QuantumCircuit(156, 20; 1261 instructions)\n", - " QuantumCircuit(156, 20; 1392 instructions)" + " QuantumCircuit(156, 20; 345 instructions)\n", + " QuantumCircuit(156, 20; 476 instructions)\n", + " QuantumCircuit(156, 20; 607 instructions)\n", + " QuantumCircuit(156, 20; 738 instructions)\n", + " QuantumCircuit(156, 20; 869 instructions)\n", + " QuantumCircuit(156, 20; 1000 instructions)\n", + " QuantumCircuit(156, 20; 1131 instructions)\n", + " QuantumCircuit(156, 20; 1262 instructions)\n", + " QuantumCircuit(156, 20; 1393 instructions)" ] }, - "execution_count": 12, + "execution_count": 52, "metadata": {}, "output_type": "execute_result" } @@ -732,7 +733,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 53, "id": "bf4c910c", "metadata": {}, "outputs": [ @@ -740,29 +741,29 @@ "data": { "text/plain": [ "Set{Int64} with 20 elements:\n", - " 137\n", - " 148\n", - " 145\n", - " 98\n", - " 85\n", - " 146\n", - " 118\n", - " 125\n", - " 106\n", - " 138\n", - " 126\n", - " 107\n", - " 108\n", - " 128\n", - " 86\n", - " 124\n", - " 88\n", - " 147\n", - " 87\n", - " 144" + " 5\n", + " 24\n", + " 8\n", + " 17\n", + " 83\n", + " 6\n", + " 45\n", + " 44\n", + " 82\n", + " 64\n", + " 77\n", + " 7\n", + " 25\n", + " 46\n", + " 57\n", + " 4\n", + " 63\n", + " 38\n", + " 26\n", + " 62" ] }, - "execution_count": 13, + "execution_count": 53, "metadata": {}, "output_type": "execute_result" } @@ -777,7 +778,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 54, "id": "5fa03372", "metadata": {}, "outputs": [ @@ -829,7 +830,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 55, "id": "7bcdead5", "metadata": {}, "outputs": [ @@ -837,20 +838,20 @@ "data": { "text/plain": [ "11-element Vector{QiskitIBMRuntime.Job}:\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000049c154af0)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000001297807a0)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000001050cc920)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000049d899290)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000049deb2b70)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000049dedfc90)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000049c16fee0)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000010610f5f0)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000105711290)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000049d8ad2e0)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000049a4b7670)" + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000049dddda90)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000004a63d0240)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000049f2e48e0)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000105722d30)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000105713880)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000105711650)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000004a63d20b0)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000105714870)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000010571bd00)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000105723090)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000049dd8a7b0)" ] }, - "execution_count": 15, + "execution_count": 55, "metadata": {}, "output_type": "execute_result" } @@ -862,7 +863,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 60, "id": "9bca942a", "metadata": {}, "outputs": [ @@ -901,7 +902,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 61, "id": "e8f81320", "metadata": {}, "outputs": [ @@ -909,20 +910,20 @@ "data": { "text/plain": [ "11-element Vector{QiskitIBMRuntime.Samples}:\n", - " [\"0x45555\", \"0x55555\", \"0x55555\", \"0x15551\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\" … \"0x55555\", \"0x455d5\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55554\", \"0x55555\"]\n", - " [\"0x11cb8\", \"0x68154\", \"0x82b0\", \"0x6650c\", \"0x3445e\", \"0x1b3e6\", \"0x8ba8\", \"0x6599c\", \"0x4ec18\", \"0x4d832\" … \"0xdb6c\", \"0x2ee52\", \"0x654f2\", \"0x70b42\", \"0x6e9fa\", \"0x69682\", \"0x2a290\", \"0x776e0\", \"0x14cc0\", \"0x21f40\"]\n", - " [\"0x65cc8\", \"0x28238\", \"0x3be92\", \"0x3c9ec\", \"0x37910\", \"0x28a2\", \"0x6c734\", \"0x33af6\", \"0x5b4a2\", \"0x692e8\" … \"0x22364\", \"0x2ec76\", \"0x1bdf0\", \"0x3f26\", \"0x50a60\", \"0xae7c\", \"0x5cc80\", \"0x1fa02\", \"0x72904\", \"0x3897a\"]\n", - " [\"0x35f70\", \"0x13510\", \"0x68a6c\", \"0x40b2a\", \"0x134d4\", \"0x69df0\", \"0x2a588\", \"0x60d78\", \"0xf2\", \"0x7ac42\" … \"0x7d38c\", \"0xd0c2\", \"0x208aa\", \"0x4862\", \"0x72c9e\", \"0x64c12\", \"0x4e3c6\", \"0x52618\", \"0x66f72\", \"0xe6aa\"]\n", - " [\"0x1bf42\", \"0x2683e\", \"0x7b482\", \"0x3ee48\", \"0x36918\", \"0x4a5f0\", \"0x15828\", \"0x14248\", \"0x72412\", \"0x5dce6\" … \"0x4632\", \"0x206c8\", \"0x78066\", \"0xb350\", \"0x66c80\", \"0x58868\", \"0x70bf2\", \"0x22a1e\", \"0x33bb0\", \"0x7162a\"]\n", - " [\"0x6540c\", \"0x98b4\", \"0x5b308\", \"0x4167e\", \"0x6cf5e\", \"0x7bbf8\", \"0x7ef2c\", \"0x21250\", \"0x5cda0\", \"0x64d08\" … \"0x19a78\", \"0x243c2\", \"0x66416\", \"0x69898\", \"0x14b08\", \"0x753a0\", \"0x3421a\", \"0x52022\", \"0x535c2\", \"0x16824\"]\n", - " [\"0x706e2\", \"0xf36c\", \"0x350c6\", \"0x2960a\", \"0x19600\", \"0x5c014\", \"0x58c10\", \"0x68c24\", \"0x27280\", \"0x3cd12\" … \"0x5cb44\", \"0x72f8\", \"0x43130\", \"0x342c6\", \"0x1b4e4\", \"0x1b982\", \"0x1fc38\", \"0x23904\", \"0x507c4\", \"0x748c6\"]\n", - " [\"0x6fdd0\", \"0x5963a\", \"0x2b52a\", \"0x3a20c\", \"0x1f574\", \"0x19512\", \"0x4b366\", \"0x6da74\", \"0x8c46\", \"0x75da0\" … \"0x31f60\", \"0x7c476\", \"0x3cf70\", \"0x52bec\", \"0x440c0\", \"0xc7aa\", \"0x49dba\", \"0x5e00c\", \"0x6f3c0\", \"0x186e0\"]\n", - " [\"0x1866a\", \"0x2ed9e\", \"0x1802\", \"0x154f4\", \"0x6b026\", \"0x5c5aa\", \"0x5a52c\", \"0xd638\", \"0x3cd4\", \"0x3efec\" … \"0x1b94e\", \"0xd6e\", \"0x27696\", \"0x2a78a\", \"0x79cc4\", \"0x6630c\", \"0x14062\", \"0x31b40\", \"0x7d2ec\", \"0x58894\"]\n", - " [\"0x200de\", \"0x7aeae\", \"0x19354\", \"0x40b14\", \"0x7e84c\", \"0x41864\", \"0x7c412\", \"0x53fb8\", \"0x5e0bc\", \"0x75156\" … \"0x5b436\", \"0x3fba6\", \"0x7bb26\", \"0x3a3d0\", \"0x74578\", \"0x5ade6\", \"0x5cb8\", \"0x778e6\", \"0xb1ba\", \"0x2441a\"]\n", - " [\"0x283aa\", \"0x13ad6\", \"0x42886\", \"0x54808\", \"0x6221a\", \"0x1e844\", \"0x1a26c\", \"0x44960\", \"0x234b4\", \"0x1d8b4\" … \"0x13b16\", \"0x1c6fa\", \"0x27e86\", \"0x188b8\", \"0x5bf1a\", \"0x3f976\", \"0x35728\", \"0x19290\", \"0x60e7e\", \"0x717bc\"]" + " [\"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\" … \"0x55555\", \"0x55555\", \"0x55455\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55545\", \"0x55555\", \"0x55555\", \"0x51555\"]\n", + " [\"0x12db6\", \"0x72964\", \"0x38a64\", \"0x1b45c\", \"0x26288\", \"0x156c2\", \"0x78534\", \"0x129da\", \"0x38ec8\", \"0x27dca\" … \"0x15c12\", \"0x4ec02\", \"0x28f56\", \"0x50894\", \"0x7e062\", \"0x24370\", \"0x5570e\", \"0x2d41a\", \"0x45b2\", \"0x16b04\"]\n", + " [\"0x1696c\", \"0x70740\", \"0x629ce\", \"0x31a0e\", \"0x22b82\", \"0x3276a\", \"0x4d104\", \"0x1ff92\", \"0x89e0\", \"0x77228\" … \"0x1746\", \"0x3364c\", \"0x12f2a\", \"0x3616a\", \"0x64978\", \"0x2a55e\", \"0x521f8\", \"0x72334\", \"0x66456\", \"0x1cdb6\"]\n", + " [\"0x3c8ba\", \"0x5f034\", \"0x1a686\", \"0x26d30\", \"0x14d8c\", \"0x7304e\", \"0x6434c\", \"0x4c7a8\", \"0x37866\", \"0x2d88\" … \"0x46c52\", \"0x4ccbe\", \"0x3f9e8\", \"0x674ca\", \"0x91aa\", \"0x51080\", \"0x5968e\", \"0x483de\", \"0x61a86\", \"0x286de\"]\n", + " [\"0x5f152\", \"0x3bf0\", \"0xd2ae\", \"0x3c286\", \"0x1a39a\", \"0x34954\", \"0x4dc52\", \"0x20414\", \"0x52d9e\", \"0x724f2\" … \"0x7c4c2\", \"0x541ca\", \"0x77280\", \"0x42644\", \"0x5e9ee\", \"0x2d306\", \"0x5f7a8\", \"0x1a3dc\", \"0x8b07a\", \"0x7cf82\"]\n", + " [\"0x48b4e\", \"0x2d2e2\", \"0x173d2\", \"0x7aa22\", \"0x41b5c\", \"0x47166\", \"0x324a4\", \"0x2c3c0\", \"0x390ea\", \"0x57b70\" … \"0x3d9c4\", \"0x7ce34\", \"0x243e4\", \"0x7a51c\", \"0x2af08\", \"0x4b2ba\", \"0x71686\", \"0x532f2\", \"0x72872\", \"0x65180\"]\n", + " [\"0x2fdf2\", \"0x7c036\", \"0x53326\", \"0x34248\", \"0x166a2\", \"0x16d36\", \"0x13d96\", \"0x5c404\", \"0x237f6\", \"0x4c252\" … \"0x3a232\", \"0x75c20\", \"0x50be6\", \"0x1a812\", \"0x20612\", \"0x65184\", \"0x5815e\", \"0x1cb9a\", \"0x72816\", \"0x2e6e8\"]\n", + " [\"0x2a6ac\", \"0x2fe16\", \"0x617d6\", \"0x8804\", \"0xfd6a\", \"0x6f0d4\", \"0x524c2\", \"0x28484\", \"0x71fd8\", \"0x704f4\" … \"0x6729a\", \"0x4b026\", \"0x23334\", \"0x61ed4\", \"0x2df3e\", \"0x29dea\", \"0x7a070\", \"0x54052\", \"0x1842a\", \"0x3737a\"]\n", + " [\"0x66b0\", \"0x405a4\", \"0x1a02c\", \"0x67d10\", \"0x71f54\", \"0xa450\", \"0x5b582\", \"0x7cf58\", \"0xe588\", \"0x6a24c\" … \"0x7a406\", \"0x3f996\", \"0x4a41e\", \"0x3cf1c\", \"0x359c6\", \"0x4a038\", \"0x54388\", \"0x58882\", \"0x333ec\", \"0x22aa8\"]\n", + " [\"0xf2\", \"0x4f7c4\", \"0x3dd3a\", \"0x3502c\", \"0x6279c\", \"0x45ff2\", \"0x43eae\", \"0x1210c\", \"0x3b084\", \"0x75682\" … \"0x396a4\", \"0x2b6f2\", \"0x6c56e\", \"0x2ac86\", \"0x5226e\", \"0x588c4\", \"0x71040\", \"0x5acf4\", \"0x4d466\", \"0x3ad2e\"]\n", + " [\"0x712d6\", \"0x4f2c2\", \"0x7acf0\", \"0xc9c8\", \"0x4eba4\", \"0x43aa6\", \"0x4462c\", \"0x4b002\", \"0x5a1a0\", \"0x3daf4\" … \"0x64388\", \"0x1c39c\", \"0xbbe2\", \"0x649e2\", \"0x608c0\", \"0x59534\", \"0x17b42\", \"0x67ba2\", \"0x49f26\", \"0x6c99e\"]" ] }, - "execution_count": 18, + "execution_count": 61, "metadata": {}, "output_type": "execute_result" } @@ -943,7 +944,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 62, "id": "e9dd9a79", "metadata": {}, "outputs": [ @@ -953,7 +954,7 @@ "\"0001\"" ] }, - "execution_count": 19, + "execution_count": 62, "metadata": {}, "output_type": "execute_result" } @@ -970,7 +971,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 63, "id": "8ad39f14", "metadata": {}, "outputs": [ @@ -978,7 +979,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Saved to results/counts_N=20_2026-08-08_184823.json\n" + "Saved to results/counts_N=20_2026-08-09_095539.json\n" ] } ], @@ -1008,7 +1009,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 64, "id": "c74b479d", "metadata": {}, "outputs": [ @@ -1016,20 +1017,20 @@ "data": { "text/plain": [ "11×20 Matrix{Float64}:\n", - " -0.972656 1.0 -0.921875 … 0.992188 -0.982422 0.998047\n", - " 0.996094 0.078125 0.0761719 0.0214844 0.0546875 0.998047\n", - " 1.0 0.0605469 0.146484 0.0449219 0.0429688 0.996094\n", - " 0.996094 0.0488281 0.107422 0.00585938 0.0253906 0.994141\n", - " 0.996094 0.101562 0.173828 -0.0117188 0.0136719 0.996094\n", - " 1.0 0.0722656 0.15625 … 0.0644531 0.0234375 0.994141\n", - " 0.998047 0.0644531 0.138672 0.0664062 0.0332031 0.998047\n", - " 0.998047 0.0859375 0.148438 0.0195312 0.0351562 1.0\n", - " 0.998047 0.0332031 0.142578 0.0273438 0.0351562 0.994141\n", - " 1.0 0.0546875 0.132812 -0.0117188 0.0527344 0.990234\n", - " 1.0 0.09375 0.167969 … 0.00585938 0.0410156 0.996094" + " -0.990234 1.0 -0.984375 … 0.994141 -0.988281 1.0\n", + " 0.994141 0.0605469 0.0195312 0.0566406 0.0175781 0.998047\n", + " 0.992188 0.0957031 0.0507812 -0.00195312 0.00585938 0.996094\n", + " 0.996094 -0.0253906 0.0507812 -0.00390625 0.03125 0.990234\n", + " 1.0 0.0214844 0.0917969 0.0390625 -0.00195312 0.990234\n", + " 0.992188 0.0214844 0.015625 … -0.0292969 0.0117188 0.990234\n", + " 0.994141 0.0214844 0.0800781 0.0410156 0.0351562 0.998047\n", + " 0.996094 0.0273438 0.0351562 0.03125 0.0195312 1.0\n", + " 0.998047 0.0742188 0.0390625 0.0585938 -0.0175781 0.994141\n", + " 0.996094 0.0683594 0.0214844 0.0195312 0.0292969 0.984375\n", + " 0.990234 0.00390625 0.0703125 … -0.0078125 -0.0625 0.988281" ] }, - "execution_count": 21, + "execution_count": 64, "metadata": {}, "output_type": "execute_result" } @@ -1054,54 +1055,54 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 47, "id": "cc5496cc", "metadata": {}, "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAA4QAAAEsCAIAAAAU/OrGAAAABmJLR0QA/wD/AP+gvaeTAAAgAElEQVR4nOzdd1xT1/8w8HMz2FOmyBIQUUBkOOqqMpy4xaKIIqKoddTWVbXWXbd1lmrFVeukDtwCKsqSJaKIKMjUyAo7O3n+uM83zS9wQ8ALCfh5v/gjOfeeez4Jubkn556BiUQiBAAAAAAAgCJQFB0AAAAAAAD4ekFltG3V19e/fv06Li4uIyODxWJJbT137ty8efPevHnTzlFdv3593rx5z58/J/3If/3117x583Jzc0k/MgDgS+zevTs0NLSqqkrRgYDOaeXKlcuXL1d0FKCjgspoW3n27NmYMWMMDAycnJyGDBnSt29fXV3dMWPG3L9/X3Kf8PDwkpKSdo4tJSUlPDy8LaqMjx8/Dg8P//z5M+lHBoqlo6Oj0hw3NzdFh9l6ycnJGIZhGObh4dG485KnpyeGYU+fPm3RMfl8/vHjx69cuUJemK138+bN48ePNzQ0KDoQQL7hw4erqKhERUU13nT37l0VFRVvb++2juHs2bOnT59u61JAZ0VTdACd0/bt23/55ReRSOTu7u7l5dWlS5e6urrnz5/HxMTcu3fv1q1b48aNU2B4NjY2w4cPNzExUWAMoGP55ptvuFyu+Onbt28/ffpka2trYWEhTrSxsVFEaCRLTU2NiIiYNm3alx+Kw+GEhoY6Ojr6+fl9+dEAIMLj8Xg8nlAobLxJKBTiW9s/KgDkB5VR8p08eXLDhg2amprnzp2bPHmy5KYPHz4sW7aMzWYrKjZccHBwcHCwYmMAHYtkiz5CaMGCBSdOnFi4cOHKlSsVFVJb0NfXZzKZGzZsmDRpEo0GX48AANAe4NuWZDU1NT/99BNC6NSpU1I1UYRQ9+7db968yWQyZRyhqqoqISGhsLCwrq7O3Nzc09PTyMio8W7p6emvX79mMBj6+vrdunUbMmSIlpaWeKtAIIiLi8vNza2srDQwMLCxsRk4cKCKigq+9ePHj58+fbKxsdHX15c8JpvNjo2NzcnJEQgEFhYWw4YNMzQ0FG8ViUQvX77EC1VXV3d1dR0wYACGYS18h0BnVl9fHx0d/eHDBwqF0qdPn6FDh1Io//UF4nK5mZmZ2tra9vb2TCbz9u3bDAbD0tJyzJgx2traUofKy8tLTU0tLi5WVVXt2rXroEGDGrflp6enJyUl1dfXm5ube3t7GxgYSG5lMBglJSVWVlaGhoaZmZnx8fH19fXBwcF6enpE8Ts4OBgbG9+4ceP06dMhISHNvl4WixUdHZ2bm4thmJOT07fffkulUvFNZWVlb9++xfdJTU3FE/X19W1sbF68eIFhmIuLi1SoWlpaPXv2FCfm5+dXVFT07NlT8tTOy8t78uRJWVmZiYnJiBEjLC0tJeOprq5+//69sbGxhYVFYWFhdHR0eXn51KlTiRqtP3/+XFxcTKPRJIMBX4M3b968fPny48ePdDq9T58+Q4YMkTxVEUIFBQXl5eX29vZaWlqJiYmpqakCgWDp0qX4blVVVXfv3v348aO5ufmYMWN0dHQk89bU1Lx7987IyEjy85mVlcVisSwsLIyNjcWJaWlpdDrd2dmZrMBEIlFycnJqampDQ4OVlZWPj4+uri6p7xxoGyJAqrCwMIRQ37595dl5wYIFCKGHDx+KU5YvXy7VHqOurr5v3z7JXEwm08vLS+r/SKfTGQwGvsPbt28dHBykdrC2thYfYf369Qihf/75R/Kwly5dMjU1lcxCo9EuXryIb83KyurWrZvUMQcMGFBYWCh5kICAAIRQXFxcS94z0PHMnz8fIbRnzx7JxDNnzkhVB11cXN6/fy/eoaCgACH07bff/vvvv5K1T1NT0/T0dPFuAoFgyZIlUr9zMAyLjIwU71NWVubj4yO5g6am5qFDhyTj2b59O0LoyJEj/v7+4t2ysrKafEX4eL5vvvnmzZs3NBrNzMysvr5evHXEiBEIodjYWMksFy9elLysIoQcHR2zs7PxrceOHUON+Pn5iUQi/Fec+IQViUSzZs1CCBkYGAgEAnFiv379MAwrLS3Fn3I4nJCQEMkLM5VKXb58OY/HE2eJjIxECC1duvTXX38V74mfxYMHD0YIlZSUiHdOSkoyNjbW1NSUfGNBRzRo0CCE0P379xtvunXrFkJo2LBh4pRPnz51795d6pPZu3fvN2/eSGbE755dvXoV//DjuFyuSCS6e/eu5JluYGAQHR1tZGSko6OD58XP9BEjRoiPxuPx8FN+0aJF4sT8/HyEkLe3N1mBvXnzxt3dXTK7np7ehQsXvvDtBe0ABjCR7NGjRwghX1/f1mWvqKhYsmTJnTt3Xr9+nZGRERYWpqen99NPP+FfKLgNGzZER0f7+fnFx8cXFhZmZmZevnx5woQJ4h2CgoKys7NXrVr14sWLwsJCfLhS//79ZZR7+fJlf3//2traHTt2ZGRkvHnz5tatW0FBQRwOB9+hqqrKzs7ur7/+iouLe/fuXUxMjJ+fX1JSEnSGA7hz584FBQXR6fSwsLCMjIzk5OQVK1ZkZmaOGjWqrq5Ocs93794FBgYuWbIkNjY2NjbW39+fwWDMnj1bvMOFCxeOHDni5uZ2586dgoKCN2/e3Lt3LzQ0VNy0z+PxfH19Hz58OHr06GfPnr179y48PFxNTW3ZsmUnT56UCmz37t0JCQlHjx599uxZRESEZGN/kxwcHAICAj5+/PjHH3/I2O3q1aszZswQiURHjx5NT09PSUlZvXp1dnb2yJEj8RHr48ePx6uGVlZWD//nl19+QQh5eXmJRCL8uwIXExNDoVAqKioyMjLwlKqqqrS0NBcXF/GNkdDQ0L/++svJyenu3bu5ubk3btywtbU9ePAgfitG0o0bN37//fft27fjndQlm50k9xkxYoRAIHjw4EGrv69AR9TQ0GBkZHT06NGnT5++f/8+NjY2JCQkKytr/Pjxkv3CcT/++GNlZWV4eHh8fPy5c+cwDHv79u2UKVNqamp2796dl5f36tWr6dOnT5s2rb6+XpzL0tKyR48e8fHx4gFziYmJtbW1FApFcpQV/tjT07NxYO/evWtpYMXFxcOGDcvIyFi+fPmzZ8+ysrJOnjxJp9MDAgIeP35M9rsIyKbo2nBn069fP4TQ+fPn5dm5cctoY/gNPvFvR5FI1KtXLxUVFQ6H0+T++Mnv6uoq45hSLaMNDQ3GxsYUCiU6OlqesMXGjh2LEEpISBCnQMvoV0KqZbS2tlZfX19TUzMnJ0dyN7yetH//fvwp3l6CEAoLCxPvIxAI8HvT4jZFvOVDxqfo3LlzCCFnZ2e8OQT38OFDhJCRkRGLxcJT8JZRFRWV3NzcZl+RuGVUJBLl5+erqqrq6+tXVlbiW6VaRlkslomJiZqa2qtXryQPgtc1t2/fjj/Fa+GOjo5SZUVHRyOEQkJC8KdZWVkIIbz5VvyWXrt2DSH0008/4U/xSqqOjk5ZWZn4OIWFhWpqahQKRdz8jFd/EUJ37tyRKlSyZfTEiRM0Gs3W1lbq/wU6KLxltFevXgMbwe+SSbaMNgk/6a5duyaVYmxsXF1dLbnnjBkzEEI7duyQTJw6dSr++RSnhIaGIoQePHiAP920aZP4Q56fn48n4k+fP39OSmAzZ85ECP3++++SiYmJiRQKBT+vgTKDllGSVVdXI4Qad4BrNTc3N3Nzc8k5QfX19Xk8nrgXmhRVVVUNDY2ioqLi4mI5i3j48GFpaam3t7f4F6qcJk6ciBBqi/lKQcdy69YtJpP53Xff9ejRQzJ98eLFCKG7d+9KJurr60t2x6RQKPi8Mx8+fBDvgBBKSEggKg6vqK1cuZJOp4sTvb29+/XrV1ZWJjUB0/Tp01s6zN/Kyio0NJTJZB44cKDJHR48ePD58+fJkyc7OjpKpi9atAg1er2NDRo0SF1dHa89I4Twuuny5ctNTU3xx+JEcYcc/CXPnz9fsmXXwsIiICBAKBTeuHFD8vh9+vQZM2ZMk0WLRKJNmzbNnz/f3d09ISFB6v8FOrSCgoLXjYh/AcpG9GW+aNEiyf6gAoHg5s2b6urq+Kkt1rh5Hr+aSH6erays8PaXmJgYhJBIJHr8+LGurq7sKeHkDIzFYkVEROjq6i5dulRytwEDBri5uSUmJlZWVsooBSgcDGAimaamJkKo1ZP5sVisQ4cOXbt2rbCw8PPnz5JTdfB4PPzSGxwcHB8fP2TIkOHDh3t5eXl7e3t4eIj7h1EolKCgoGPHjtnb248aNcrT03PkyJGSoyIawxtd+vbtKzu2pKSkffv2vXz5sqioSPIFlpeXt+7Fgk4jPT0dIZSfn7927VrJdKFQiGEY3jNMzM7OTjzKB4ePTBJPTxsYGHjo0KGVK1eeO3duzJgxw4cPHz58uKqqqnh/vCnR1dVVKgx3d/fk5OSsrCzJ7qS9e/duxSvasGHDqVOn9u/fv3jxYqm+1OLXW1JSIvV6EUJUKlXq9TampqY2aNCg6OjovLw8Gxub6OhoXV3dfv36DR8+/ObNmxwOR1VVNTo6mkajDRkyBM8i4yWfPHny9evXkokyXvLcuXMfPnw4efLk8+fPq6ury44TdCzXrl0bOXKkVOLt27cbd8N49erV7t27U1JSioqKJHvRNP4yl/osFRQU1NfXOzg4SI0KcnFxkerk7eXlhd9tQwg1NDQ8f/581qxZgwcP1tDQiI6Onjt37qtXrxgMxsSJEyW/DVod2OvXrzkcjoGBwbp166T2rK2tFYlEhYWFXbp0QUBZQWWUZObm5unp6Xl5ea3Iy+fzR44c+ezZM1tb26lTpxoaGqqpqSGEDhw48PnzZz6fj1dG582bp6Ojs3///sePH8fExKxfv97MzGznzp2BgYH4cQ4ePGhra/vXX39dv379+vXrCCFnZ+cjR44MGzasyXJramoQQmZmZjJiu3nz5tSpU2k0mo+Pz+TJk/HxyBkZGRcuXBAIBK14saAzwXtJJiUl4bU0SXp6epLtlwghDQ0NqX3wy5j4p5eLi0t8fPyvv/4aHR2dkZGxc+dOLS2tFStWbNiwAe82il+lGg+ux1Nqa2slE5vtJNokIyOjFStWbNmyZceOHYcOHZLaik+IkZqampmZKbUJXx2g2eN7eXlFR0dHRUXNmzfvyZMnI0aMoFKpXl5eFy9eTEpKsrOzy87OHjx4sPgeC1kv+cWLFwihIUOGQE30qxUXF+fj48Pn80eMGDF+/Hi8ipaXl3f8+PHGX+ZSnyX8cyg1bg8hpKGhITnnA0LIwMDA2dk5LS2tvLw8OTmZw+F4eXmpqKgMHjw4KipK9L/OKpKDcb8kMPwrqLy8/Pjx441fsr6+fuNep0CpQGWUZEOGDImMjIyKivr5559bmvfGjRv4uk2RkZGSPxb37t0rtaefn5+fn19ZWdnjx49v3bp18eLF2bNn6+vr47+AaTTajz/++OOPP+bn58fExERERNy9e3f06NEvX760s7NrXC7+G1f2QlBr1qwRCoWPHz8eMGCAOPHQoUMXLlxo6csEnQ9eZ9q6deuKFStIOaCHh8ft27fr6+vj4uIePHgQHh6+detWgUCAdwPFi/v8+bPURZHBYCCEpGaZabVVq1aFhYX9+eefP/zwg9QmPICff/4Z737dCvg1ODo62tXVVTw/Bt6gGx0dXVBQIBKJJK/T4pcsdZwmX7KMCdciIyMDAwN/+umn2traX3/9tXXBgw5tw4YNLBbrxo0bksNeL1++3GQ1Tgpe42z8OWxoaKitrZX6HHp5eWVkZMTGxsbHx2MYhne89vLyevjwYVZWVuPK6JcEhp8gbm5uMrr3AGUGfUZJFhAQoKKi8ujRo8TERKJ9+Hx+k+l4o4Wfn59kTbSwsJDoPriRkZGfn9+ZM2cOHz6MEIqIiJDawdraOjg4+Pbt2wsXLmSxWHfu3GnyOHiXnbS0NKKAORxOdnZ29+7dJWuiCCGifqvga4PfPo6Pjyf3sJqamiNHjty7d++TJ08QQlevXsXT8Z6aKSkpUvsnJycjhJycnEgpXUtLa/Xq1Vwud/PmzVKb8Nfb7GWPTqdjGNbk+e7u7q6vrx8dHY33HMUvyVZWVvhd+8bXafwlNz7jWvqSLSwsnj596uzsvGnTpsZ9DMDXICMjQ0tLa/z48ZKJcn6ZW1lZaWtr5+fnS82W3eTlQ/yLKzo62snJCe/ugifeu3cvNjbWxMSkV69epATm6OiooqLy4sULyUH9oAOByijJunXrhg+A9ff3z87OltrKZrPXr18vHvEqBZ/DpbCwUDJx48aNUrtJTZSD/neHHZ+GicvlNr4f0bVrV/EOjXl5eZmZmeGzwDS5g4qKiq6ubllZmWRX0ezsbGgWBbgJEyYYGBhcv369yfpZ40+sbE1+wjEME3+A8bU69+/fL/lRv3fvXlpaWteuXcX9LL/c999/b2Fhcf78+Xfv3kmmjxkzxtTU9O7du01OGSOOX0VFxdDQkMFgNF6MkUqlDhs2rKKi4o8//jAzMxNfkr29vZ8/f37//n1NTU3J335Tp07FMOzkyZOlpaXixPz8/AsXLlCp1Mbra8hgYmLy5MmT/v3779q1a8mSJSKRSP68oBMwNDRsaGiQbOP49OmT7InMxKhU6qRJkzgczpEjRyTTG9++QwgNGzaMTqffuHHj5cuX4l9Wrq6uXbp0+f3332tqary9vSVb8Y2MjBoaGsrKyloRmJaWlp+fH5vNbvzTEbX8Kwi0P6iMkm/Lli1+fn4FBQV9+/YNCQk5f/58VFRURETEmjVrevTosWPHjiZXEEYIffvttxiG7dmz5+jRo1lZWQkJCUFBQf/++6/UCky2trbz5s27evVqWlpaVlbWxYsXly1bhhCaPn06Qig/P9/CwmLVqlU3b9589epVZmbm0aNH9+zZo6qqig9LbExVVfWPP/7AMGzy5MkbN25MSEjIzMy8du3a7NmzT506hRDCMGz48OE1NTVTpkyJjY19+/bt6dOnvby8JNclB18zbW3tsLAwoVDo7e39yy+/PHjwIDMz8+7du/v27XNxcZHzciI2depUX1/fM2fOxMfH5+Tk3L9/f8qUKSKRCP+EI4SmTZs2ZMiQV69ejR07Nioq6vXr18eOHcNnnNm9e7c8XTblpKam9uuvvwoEAqm5KdTV1U+cOIFh2JgxY37++ef79+9nZmbev3//wIED7u7u+/fvF+/p4eFRXV09bdq033///fjx45KTLOKX5+LiYskWUE9PTx6Px2Awhg4dKvlCevfuHRoaWlNTM2LEiOvXr79+/fry5cuenp4cDufHH3+0srJq0evS19e/f//+N998c/To0UWLFhF9I4FOacSIEUKhcNKkSVFRUTk5OZcuXRo2bFiT6/w16ddff9XS0tqyZcuWLVtevXqVnJw8d+7cuLi4xn3BtbS0+vfvX1JSgn8z4IlUKnX48OH4CSW1essXBrZ3715zc/M9e/ZMnTo1IiIiIyPj6dOnp0+fnjx5cuNxXUDpKG5Wqc5MKBQePXq08ZJFFhYW+/btE08R2nie0QMHDkiuwGRsbIzf4EAINTQ04Ps0HvaupaV14MABfGtRUVHjcrt27Sq5yEqTKzDdvHlTqnKprq7+77//4luLi4ulps4ODAw8e/YsQmjdunXig8A8o1+JJldgun37tq2trdRnz8bG5tatW/gO4hWYpI62detWhFB4eLj44FLD7alU6oIFC9hstjgLk8mcNGmS5D66uronTpyQPCzewfT48ePyvCLJeUYl8fl8cbOl1ApMDx48aDxPhZWVlfisEYlE79+/HzJkiPjl4Csw4cRD4E+fPi1OLC8vx2fGkHpvRSIRj8dbtmyZ5PeDiorKunXrJBdtEq/A1PgFNl6Bqa6uDq8NBAQESC7jBDqcFq3AVFlZie8v5uvri39ygoODxbvh03k2Ofn0o0ePJKeYMDY2fvr0qeQKTGL4nT0ajSY5J+jRo0fxjB8+fJDc+csDKyoqwme/lqSjoyOerxeQq6ampnEii8UimgddBkwE92jajFAofPHixZs3b2prazU1NZ2cnPr06SN5lS0tLa2urjY3N5cc2VpSUpKUlFRWVmZlZTV8+HA1NbXi4mIul9u9e3fxHY1Pnz6lp6d//vwZwzBLS8t+/fpJzWyak5OTnZ3NYDA0NDRsbGz69esnOaK5oqKisrKya9euUuMfeTxeQkLCu3fvMAzr1q3b4MGDpda7j4+Pf/fuHZ1OHzhwYI8ePerq6kpLS/X09MRTZnz+/LmmpsbCwgKfBwB0VvhH18jISGqdd4FAkJqampWVxeFwunbtamtrKzkTJ5/Px+dpl5q6oaqqqrKy0sjISPwxrqmpSU5O/vjxI5vN7tatm6urK97VREpOTo54bfpvv/1W6ixofFgZOBxOSUlJ49gQQhUVFfj8wWZmZlIfbIFAkJ6e/vr1azabbWpqamNj0+RyR3w+n8FgcLlcTU1N8Yh4kUiET60qddiCggKBQGBqatq4qQkh9PHjx6dPnzKZTAMDg2+//VZqCFdDQwODwdDR0Wk8oB5/M62srCS/gvBXjRDq1q2b5ORZoGMpLi5msVjdunVr/JlpaGgoKSnR0NCQbKQQiUTPnz/PysqiUqmurq7Ozs5sNvvjx4/a2trilsiysrLa2tquXbs2OfFCfX19VFQUg8Ho2rWrt7e3hoYGPurO2tpacjf8GkGj0SQXqWexWJ8+fcIwrPHin18eGEIoPz8/KSmJyWTq6elZWFh4eHjAZ7tFkpOTd+7cmZaWZmBg0LhrPu7GjRuhoaECgcDExOTSpUv49zybzQ4KCrp3755IJAoODt6/f7+MwZRSoDIKAAAAAAAQQigtLe3FixdMJvPPP//MyclpvENtba25ufnVq1d9fHx27NgRGRmJjxbYs2fP9evXo6Oj6+vrBwwYsHv37ilTpshZKPQZBQAAAAAACCHk5uYWHBxsb29PtMO1a9fs7OzwqeiWLVuWnp6O11nPnj27bNkyNTU1AwOD4ODgM2fOyF8oVEYBAAAAAIBccnNzxStgaWlpWVhY5ObmIoTy8vLEPex79erVotV/Ovak958+fWqyJxkAQE7l5eW6urpSiyQBAFoELkZAydXU1KSkpEit4ypmbW1tYGAg56Gqqqokeydra2szmUwOh9PQ0CBO19LSkpqMVrYOXBktKCg4Om/mD1PGE+1w0GgM0ab5b6Tnhxc73msq0aYFErnwRbfFnXNl5JLK2LriZOTCR6KJ16aXkYuU4mTnEggE4uER7fyeXBgwkyiSX0Y5yIjkK/fryhVzLboQLQZ70Gg0UUYZJ9EJ4v/gfOIPTIsytq44GRmlImnr4mRkJOU9aXXGi/3/O48EAgGFQhF/y22A84hATk6O5/Sl/YePI9rhr+0LiDY18Ajn1VKhEt66VKX+/38KPi2X+PsfIUSnEA4ZYfFbM4cXjfiAVIktUp9bAfFoFBkR8oSE2dRphLkkX5ZUGDLQWnVjmPjfhWb//CdRGBEHlrairIVbTpVW1ja/n3zeJN4pz00lmgYuKChoyZIlch7KyMjo1atX4qdVVVXGxsaqqqo6Ojr46uJ4ovzTcqEOXRnl8/m2Wqp1L5OJdnhq2Y9ok18S4VIxT2nfEm2a3qpcrc5Ieq52Lq6d35MkE8LfHkAGqkCgU15SV970YrBPLT2IMrbuJJKRq9UZoTgSM8J51Ap8Pr9BpH7ryQuiHdg86aXVxeo4hJvUiatLGP3/bhJKHIRKWGmTEYYMMurEUkUJ+P8dX0ZlVEaEXOJsKhTCMHj/N5dQYiF7GWO5KcQRiojHgPP4hNlkfABaJyrpTRGjkqyjCSsaAsePDw8P//JDOTo64hM7IoTKysqKi4sdHBzw9NTUVPGajpJTqTQL+owCAAAAACgXjEIl8Q9h8tb3ampqoqKiMjIyGhoaoqKixLM7+fv7x8TEIIR8fX1ZLNa+ffuKiopWr149ZswYc3NzhFBoaOju3btfvXoVFxf3119/hYaGyv9iO3DLKAAAAABAp/T/K5FkHU3uyuinT5927dqFEOrVq9euXbucnJw8PDwQQqqqqniHEDqdfvv27dWrV4eFhQ0cOPDkyZN4xtmzZzMYjBkzZqioqOzdu3fo0KHyhweVUQAAAAAA5YJhFDIro8T9HKT07Nnz4cOHjdMlp2rq06fPvXv3pIvAsDVr1qxZs6YV4UFlFAAAAABAuZDbMir/bXqFgMooAAAAAIByUdRteoWAyigAAAAAgHLBKGTepkdyLxOvEFAZBQAAAABQMhipLaNy9xlVCKiMAgAAAAAoFyqdTqWrkHU0AVWp63tKHRwAAAAAwFcI+owCAAAAAACFIXdqJxhNDwAAAAAAWgBaRgEAAAAAgMKQPM8oDGACAAAAAADyI3dqJwymdgIAAAAAAC1A7tROcJseAAAAAADID5YDBQAAAAAACkOh0yh0OllHw2jk1WvbAFRGAQAAAACUCwa36QEAAAAAgKKQPYCJgpCIrKORDiqjAAAAAADKhUKhUkiujArIOhrpOnZllF3FrhPVEm415BFuYrKJNnEaSM7VzsXJyNXOxbXze1JVxZJRHCAiEgjrP9UQbWUbtOZ/wa5v5eezdRmhOBIzMmUeE7SOGpVwVh0O8SY68SahiLCJSw0TEm3i0whv1BIfD9EohGHImixISHhEjoBwkxa9NbeSucQH1JbR5ZL4NWPE74ZQRPyaSRxs9L8Dkt0yCpVRAAAAAAAgH5KXAyX+UaEMoDIKAAAAAKBcFLgcqEgkunLlSnJycvfu3YODg9XU1KR2+Oeff+rq6sRPu3fv7uPjw+fzw8PDxYnOzs7ffPONnCUq9egqAAAAAICvEEahkPjXonlGN27cuGnTJktLy+vXr0+ePLnxDoWFhXn/s3HjxtjYWIQQj8cLDQ19+/Ytnl5ZWSl/idAyCgAAAACgXKg0CpW4m29LUYi7IEupra09dOhQbGysi4tLSEiImZlZSkqKh4eH5D5r167FH5SUlOzfvz8oKOwdxgoAACAASURBVEi8aevWrRoaGi0NT4kqoywWi0aj0cmb4hWAr41IJKqtrdXR0VF0IAB0YA0NDXQ6HS5GQLEwDGHkdfSUf2n69PR0dXV1FxcXhJC6uvqwYcOePHkiVRkVO3PmzNChQ21tbcUpf/75J51OHzJkSN++feUPr11v0zOZzDlz5jg6Onbp0uXjx4/i9Lq6ugkTJpiZmRkaGq5fv749QwKgwzl37pyPj4+JiclPP/0kmX7lyhUTExNbW1sXF5e3b98qKjwAlF9ZWdns2bN79+7dpUuX8vJycXp1dfXYsWO7detmaGi4efNmBUYIAEY2OctlMBhGRkbipyYmJpIVNkkikejUqVPBwcHigD09PRkMRmZm5rBhw/bv3y//i23vllE3N7eZM2eOHj1aKPxv+omdO3ey2ezS0tKKigoPD48RI0Z4e3u3c2AAdBRaWloLFiy4ceNGQ0ODOJHJZAYHB9+5c2fo0KGbNm0KDQ19/Pix4mIEQNn169dv+vTp48ePF0lM8bNt2zYKhVJWVsZgMDw8PDw9PYcOHarAIMHXDKNgFPJaRvl15Y8eJUyfPr3JrRMnTgwICMAf02g0geC/SaB4PJ6KikqTuZ48eVJWVibuVKqmphYdHY0/9vf3Hz169MKFC+W8Zd+ulVF9ff3ly5fX1krPDHru3LmwsDA6nW5qahoYGHj27FmojAJABD/z4+Pj2ez/poS8cuVKnz598AvnihUrduzYkZ+fb21traggAVBmRkZGS5culWwTxZ07d+6ff/6h0Wjm5uYzZ848e/YsVEaBomAtG3TUDJqGTvfu3f38/JrcKnkX3szMjMFgCIVCCoWCECopKXFzc2syV3h4eEBAQJPVzUGDBvF4vOLiYnt7e7nCk2enNsXlcouKinr16oU/dXBwePr0qZx5JZtXAfia5ebmik8iXV1dU1PTvLw8eSqjkr+AAfia1dXVff78WfJidOnSJTnzimTMGg9Aq2AYRmKfUQpd1drMmqgyKsnd3R1v4/Tx8WEwGHFxcWFhYQih0tLSDx8+DBgwAN+turo6IiICH0ePY7PZ4kmgbt++rampKX+DiOKndqqpqRGJROKatZaWFpPJlCdjXV0diwWL7oDmNW6M73yqq6slf55qa2vLeR7l5ua2WVCgU+n037dVVVUIoVZcjKqqqurr69swMtDB8fn8VuSiYBiJf/L3GaXT6Tt27Jg1a1ZISMjQoUNDQkJsbGwQQlFRUTNmzBDvduHCBVtbW3d3d3HK2bNn+/TpM3v2bF9f36CgoD/++IPo/n5jim8Z1dfXp1Kp1dXVxsbGCKGqqirJnrMyaGlpaWpqtnF0oDPQ1tZWdAhtzsjIqLCwUPy0qqoKP6GaZW9vjxpaMBsc+Gqpq6srOoS2ZWhoiGFYdXW1rq4uasnFSE9PT0tLq675HcFXikZrTV0Lr0WSFYP8lVGEUFBQ0MCBA1NTU+fNmyeeuH7UqFG9e/cW7zNq1KixY8dK5sJHqOfn5+vq6p48edLExET+EhVfGaVSqQ4ODmlpaT169EAIpaamOjk5KTooADoYR0fH69ev448/fvxYVlbWs2dPxYYEQMeipqZma2ublpZmaWmJ4GIEFI2ioHlGcQ4ODg4ODpIpBgYGBgYG4qfdu3eXyqKqqjp48ODBgwe3Irz2row+evQIX0Lq2bNnhoaGXl5eGIaFhoZu27bNxcWlpKTkwoULjx49aueoAOhA8vPz379/X1hYyOVyo6KibGxsbGxsJk2atGLFisOHD0+cOHHt2rWTJk2Ss2UUgK9TdHQ0fl8+NjZWT0/Py8sLIRQaGrp58+bevXt/+PDh6tWrCQkJig4TfL3InWcUKfXS9O1eGd23bx+Hw/H29j558iRCaPjw4TQa7fvvv6+oqJg6daqmpubx48dbNFEqAF+bxMRE/PRBCO3atSswMNDGxkZNTe3OnTtr1qw5fPjw4MGDjx49qtggAVByu3fvFgqF3t7eYWFhFAoFr4yuWLGiqqpq0qRJ2trap0+flrwpCUA7a9HkoM0fTblro+1dGb1161bjRAqFsmnTpk2bNrVzMAB0RP7+/v7+/o3TXV1dHzx40P7xANAR3b9/v3EilUrdtm3btm3b2j8eAKRQSJ1nlMxG1jag+D6jAAAAAABAEtkDmMg6UpuAyigAAAAAgHKhUBCFvOk3oTIKAAAAAABahNQ+o8pdG4XKKAAAAACAciH3Nr1yj1+CyigAAAAAgJKhkjzPqOJX3JShY1dG2dXsOuIF6tg2XKJNLCabMFc9ybnauTgZudq5uHZ+T+qqOTKKA0SEfFEdg3AlQ7YNj3CTjP9gQ2tytTojFEdixvoaWccEMhE2PdGI27eErVrTnisgzFYpIiyLihHmkhGhjOoQjzj6Wq6QaJOuKrUVB5QRhgadcBuH+IBcAeEB1WjE76GMGp2I8CW3DtlTOym1jl0ZBQAAAADofCgYInNqJ+gzCgAAAAAAWoDcqZ1gnlEAAAAAACA/GMAEAAAAAAAUhoJhFPLurVOUuzYKlVEAAAAAAOVCpWBUMm/Tk3WkNgGVUQAAAAAA5ULByKyMktjI2hagMgoAAAAAoFxUaBQV8uYZlTF7lzKAyigAAAAAgHKhUBCZLaNQGQUAAAAAAPKjkn6bvoUrLNTW1mpra7eirFZkVO4erQAAAAAAXx98ABNZfy2q1r569crR0dHGxsbU1DQyMrLxDmvWrOkigc/n4+lRUVHm5uY2Njb29vYpKSnylwiVUQAAAAAA5UIhtTLaohWY5s2bFxAQUFZWdu7cuVmzZtXW1krtwGKxQkNDc/+HRqMhhDgcTkBAwMGDB8vKyn744YfAwECRSN7GWKiMAgAAAAAoF5JbRuWu7mVnZ2dkZCxbtgwh5OPjY2dnd/369ca7qamp6f8PnnLv3j1tbe2pU6cihObPn89gMJKTk+UsFCqjAAAAAADKhYphNAppf1S5W0Zzc3MtLS21tLTwp7169crNzW2824EDBzQ0NBwdHc+ePSvO2KtXL/wxnU63s7NrMmOTYAATAAAAAIByIXfSeyQUVFRUpKamNrnR2trawMAAf1xdXa2hoSHepK2tzWQypfafN2/ezz//3KVLl/v378+cOdPMzMzb21uejESgMgoAAAAAoFzopM4z2lDByIqLCw0NbXJrUFDQkiVL8MdGRkbV1dXiTVVVVU5OTlL7u7i44A8mTJgwc+bMmzdvent7GxkZJSUlSWY0NjaWMzyojAIAAAAAKBcqqfOM6ptZ9JkwITw8vNk9HRwcSkpKysrKjIyMEEKpqanfffedjP05HA4+kZOjo+O2bduEQiGFQqmvr8/OznZ0dJQzPOgzCgAAAACgXPB5Rsmb2kneeq2FhcWoUaNWr15dVFS0b98+Nps9btw4hFB0dPTMmTPxfQ4cOPDixYv379+HhYVdvnzZz88PITR8+HB9ff0tW7YUFxf//PPP/fr1E3chbRZURgEAAAAAlAuFQqGS99eitenDw8N5PJ6np2dUVNSdO3fodDpCiEqlqqqq4jvk5OQEBQX5+vpGRkZGRkYOHDgQIYRh2I0bN9LS0oYPH/758+d//vlH/hLhNj0AAAAAgHIhdwBTi5YDNTIy+vvvv6UShw8fPnz4cPzxH3/80WRGe3v7mzdvtiI8qIwCAAAAACgXkiujLWkZbX8trozeuXOnoKBgxIgRDg4ObRFQi3CqufUiIdFWdgOPcFMVu91ytXNxMnK1c3Ht/J401HBkFKdUioqKbt++bWJiMn78eHzhCgUSCoT1pfVEW9n1XKJNLCbxf7BVuaA4ZSiuvoOcRyKR6Pbt20VFRd7e3j169FB0OM1o4BFep2QsUEMjrojIqFbIyEUn7pfHJwwQcQSEMaoRj/XWUiE8oBqF+KotJAy+nvh6QiF+FzWIX7MaJiDaxENUwsKIiYTEb2KrUEhdm16566LN9Rnlcrna2tri1tr169ePGzdu8eLFbm5uT548afvwAOgMtm3b1rNnT/xxSUlJ3759Fy1aNGXKlClTpig2MAA6ChaLpaGhceXKFfzpqlWrxo8fv3jxYldX1/j4eMXGBkBbIHHG+xZNeq8QzVRGMzMz6+rqJkyYgBCqra3dt2/fokWLGAzG2LFjN27c2C4RAtDhxcfHT5w4EX98+PBhgUDw8uXLmJiYu3fvxsbGKjY2ADqE9PR0Dofj6+uLEGIymQcPHly+fPmnT588PT03bdqk6OgAIB+FQuaKoCROn98WmrlFWFpaqqenp6OjgxB69OgRh8NZs2aNiYnJwoULJ0+e3C4RAtDhlZaWWlpa4o/v3r3r5+fn7OyMEOrXr19qauqwYcMUGh0AHUBpaamRkZG6ujpCKCoqSiAQrF271tTUNDQ0dM6cOYqODgDyqVDJnPSeRlXq2ZOaCU5TU7OhoYHH4yGEIiMjbW1traysEELq6uoNDQ0CAWGXCwCAmKamJr6gxYcPHzIzMz09PfF0NTW12tpahYYGQMegqalZV1eHX3QiIyN79+5tamqKEFJXV4eTCHRKFPKaRakUTLnv0jfXMuro6EilUrdv3+7t7X316lXxD9Dc3FxDQ0MqtTWdfBsTCoURERHPnj2j0+kTJ04cOnQoKYcFQEm4u7ufOXPG29s7PDycRqONGjUKT8/NzZ0xYwZZpRQWFp46derz58/29vbz5s3Dl8QAoHNwdnbm8Xi7du0aMmTI9evXFy1ahKfn5ubitVJSCIXCy5cvx8fHq6qqTp48edCgQWQdGYCW+qpG0zfTMmpgYLB9+/YtW7YMHTpUU1Nz1apVePq///47YMAAsoLYvHnz+vXrXV1draysJkyY0LpJqgBQWitXrsQwbODAgSdOnPjll1+6dOmCEEpOTi4sLOzfvz8pRTAYDHd395qammHDhsXExHh7e5NyWACUhKmp6ebNmzds2PDtt9/q6+uvWLECT4+IiCDxYrRu3botW7a4u7ubm5uPHTv2/v37ZB0ZgJaiYhiJf0peGW1+WpkVK1ZMmzatoKDA1dVVU1MTT5wzZ46dnR1ZQdy8eXPjxo2zZs1CCH348OHGjRv4kCkAOgczM7OMjIyMjIwuXbqIp6HR1ta+fPky3nn0y8XFxRkaGu7btw8hNHLkSAMDg0+fPnXt2pWUgwOgDNauXTtz5szCwkI3NzcNDQ2EkEgkmj9/vvxLDjbr5s2bmzdvxtc2zMnJuXnzpvg+BgDtDCO1BqncdVH55hm1sLCwsLCQTCF39FLfvn0TExMDAgI4HE5qaur06dNJPDgAykBNTU2q/cbBwYHEyXodHR1LS0sLCgqsrKzi4uIsLCwMDQ3JOjgASsLS0lI8FhAhhGHY1KlTSTx+3759ExISpk2bxmaz09PTg4ODSTw4AC1CxRCJg4469mh6XEpKyp9//vnmzZvy8nILCwsPD4/ly5eT2E3n0KFD3t7eJiYmXC4XnzpOnlwsFovFYiE16BgHmtHQ0IC3oygQi8U6duzYo0ePPnz4oKGhYWtrGxAQMH78eLKO7+DgsH//fkdHxy5durDZbPFqws0qLi4mKwbQuXE4HPHK1IqSlJR0/Pjx7OzsiooKS0vL/v37L1++3MjIiKzjHzt2zMvLy9TUlM1m+/n5hYSEyJOrtraWxWIhTbKiAJ2NQCBoxRgbCskto0pdG22+1n3ixImBAwdeuXJFTU3Nycmpvr5+z549zs7OL1++JCuIxYsXW1paJiYmPnnyJCsr6/fff5cnl4qKipyXW/CVU/gVtKKiYsCAAStXriwsLLS3tzc2No6NjZ0wYYJ4EMaXS09PX7169aVLlxISEtatW+fn5yfnEGNdXV2yYgCdm8K/b48ePTpo0KB///1XQ0PDycmppqbmt99+c3Z2zsrKIquIBQsW9OzZMzEx8dGjR8nJyceOHZMnl4aGhsKXUgPKjEJpTQsnyX1GSX9VpGomvNLS0qVLl06dOrWwsDAqKurq1avx8fHZ2dn6+vpkXUe5XO4///yzefNmGxsbFxeXFStWnDlzRp6MVCoVzn8gD7KmfWi1zZs35+fnx8TEvHz58tq1a7dv3y4oKNiyZUtYWFhMTAwpRVy5csXT03PcuHHdunX74YcfMAx7/PixPBlh0D2QU+suqGQpKSlZsWLFjBkzCgsLHz58ePXq1cTExKysLA0NjSVLlpBSRH19/ZUrV7Zu3dq9e3c3N7dly5bJfzFSeE0dKLPWtUrSqIhOxcj6I3Fgflto5sslNTWVz+efOHECn/ceZ2dnt2PHjsTERFLmGVVRUdHX18/OzsafZmdnm5iYfPlhAVAe8fHxixcvHjFihDiFTqf/8ssvvXr1evbsGSlFGBsb5+TkCIVChFBFRUVpaSmcR6AzSU5ORggdP35c8udTz549t27dGhcXR0oR6urq2tracDECSgK/TU/in6JfkCzNtCzq6urS6XR80QtJOjo6WlpaZDU47d27NyQk5OrVq7W1tUlJSTC1E+hkdHV1JX/Oieno6Ojp6ZFSRHBw8NmzZ/v169enT59Hjx5NmTKFrEmjAFAGurq6qqqqjbvc6OjokNXVhEKh7N27NzAwcMyYMVVVVSkpKXfu3CHlyAC0AgUjc0F5pa6KNlsZ7d+/v7W19bFjx5YvXy5OFAgEhw8fDgwMJCuIoKCgUaNGvXjxQlVV1d3dHTqxgU5mzpw527dvX7hwIT7DKC42NjYnJ2fSpEmkFKGjo5OSkvL8+fPS0tJVq1b17t2blMMCoCQGDx5sYmJy4sSJhQsXihP5fP6RI0dIvBgtWLDA19f3xYsX6urqHh4e0IkFKBAFI3MIvHLfpW+uMsrlcqdMmbJq1arIyMgRI0Z06dKlpKTk8uXLtbW1I0eOPH78OL7blClTvnAema5du8KciKCzsrKy0tDQcHBwmDlzpp2dHZvNTk1NjYiICAgIuHfvHr6PtbX1yJEjv6QUCoUycOBAMuIFQOlwOJxp06YtXbr02rVr+Lz3xcXFly5dYrPZ48ePF1+Mpk2bJvmTrxXMzMzMzMzICBmAL0LFvqIVmJqpjFZVVe3YsQMhFB0dHR0dLblp2bJl4sfu7u4wqSEARM6ePfvixQuE0MGDByXTT58+ffr0afzx5MmTv7AyCkAnVl5evmvXLoTQgwcPHjx4ILlp6dKl4seDBg36wsooAEriq5raqZnKqKmpaWVlZbNHabI/HAAAd/jw4b1798reB0bjAiCDlZUVXIzAVwUj9TZ9i44kEomuXLmSnJzcvXv34OBgNTU1qR3ev39/586d4uJiS0vLWbNm4YMf+Hx+eHi4eB9nZ+dvvvlGzhKbqYxSKBR9ff2WvAQAgDQNDQ2Fz7oPQIcGFyPwtaGSOoCpRfXajRs3RkRELFq06Pr165GRkXfv3pXaYfTo0d7e3j179oyKitqzZ09aWpqBgQGPxwsNDf3xxx/xtpVu3brJX6Jc83TW1tbeuXMnJyfHwsIiKCgIIZSWlmZpaQm35gGQX0pKSlJSUnFx8dKlS83MzD59+lReXk7W2vQAfA1qamrwi5GNjc2sWbNEIlFaWpq1tbWBgYGiQwOAZDQqRheSVhmVv/tpbW3toUOHYmNjXVxcQkJCzMzMUlJSPDw8JPfJzMzE51n64YcfnJycbt26NWfOHHzT1q1bW9H40nxlNDk5ecKECQwGQ1VV1cfHB6+Mrly5snfv3keOHGlpeeRq4PCruEKirZw6JtEmJpdwhlTSc7VzcTJytXNx7fyesGqqZRSnWAKBYP78+adOnVJRUeHxeN99952ZmdmbN29GjhzJYDAU+6NOKBQxa7lEW7ky/hc8wv9F63JBccpQHLumRsYxFSshIWHixIllZWWqqqq+vr6zZs3CMGzp0qXffPPNvn37FB2dLDTieoCMGgJfICLaJKO9jC8kzKVNJ8zGJ46jhkN4kUWIcJOMMJiyPraEuWRQpRPOmM4jDqNeIGOedcJcqlQZVTqSO2VSEKl9RuXeMz09XV1d3cXFBSGkrq4+bNiwJ0+eSFVGJWf85HA4mpr/LYb7559/0un0IUOG9O3bV/7wmpn0nsfjTZs2zcHBIT8//7fffhOnT58+/f79+/IXA8DX7M8///z777/PnTtXX18v/sk4YsQIAwODqKgoxcYGQIfAZrOnTZvWt2/fwsLCTZs2idO/++47uBiBTomKkbkiqPz1WgaDYWRkJH5qYmLy8eNHop0PHjyooqIyfvx4hBCGYZ6engwGIzMzc9iwYfv375f/xTbTMpqSklJYWJiQkGBmZiY5FMvOzq6oqEgkEin5+CwAlEFERERISMisWbOQxJBGDMNsbW0LCgoUGhoAHUNiYiKDwcjIyDA0NJS6GMFJBDolCgWjkDeCqfRTyZNHj6ZPn97k1okTJwYEBOCPaTSa5PqaPB5PRUWlyVzXrl3btWtXdHQ0vhqFmpqaeNolf3//0aNHL1y4UM5b9s1URisrK9XV1RvPAMrn83k8nlAoVPiq3wAov8rKShsbm8bpfD6fw+G0fzwAdDiVlZXa2tqN+7Tw+Xwul7CfCQAdFwVDsjoFtFAXA4Pu3bv7+fk1uVXyLryZmRmDwRAKhRQKBSFUUlLi5ubWOEtkZOSiRYvu3bvX5BorgwYN4vF4xcXF9vb28oTXTGXU2tqaxWK9fPnSxcVF8sdoVFSUnZ0d1EQBkIe1tfXz58+lEj99+vTq1auVK1cqJCQAOhZra+vq6uq3b9/27NlT6mLUs2dPBQYGQBshd55RNXV1a2trosqoJHd3d7yN08fHh8FgxMXFhYWFIYRKS0s/fPgwYMAAhNCDBw9CQkJu3bol2TGUzWaLJ4G6ffu2pqamtbW1nOE102fU0dGxf//+s2fPzszMxFO4XG5YWNjhw4fnzZsnZxkAfOXmzp179erVffv2sVgs/Dr69u1bPz8/HR2dcePGKTo6ADoAV1fXvn37zpw5MysrC0/hcDiHDx8OCwuDixHolEjsMErFMIrcQ5jodPqOHTtmzZoVEhIydOjQkJAQ/M5eVFTUjBkz8H2mTJmioaGxbt06Hx8fHx+fs2fPIoTOnj3bp0+f2bNn+/r6BgUF/fHHH0T39xtrfjT9hQsXRo8e3adPHzU1NQqFoqOjw+FwpkyZ8uOPP8pZBgBfuQkTJmzYsGHVqlXr16/n8Xienp5MJlNPT+/GjRuSgxABAEQwDLt8+fLo0aMdHR3V1NSoVKqOjg6Xy/X391+yZImiowOAfBgFUZppMGyBFvU+DQoKGjhwYGpq6rx588QT148aNUp8Rz42NlYk+m/OAbwz55w5cxwdHfPz83V1dU+ePGliYiJ/ic1XRm1sbDIyMi5evPj06dO6ujojI6Nx48aNGTMGhi4BIL8tW7ZMmTLlypUr79+/p9Foffr0mTt3rrGxsaLjAqDD6NGjR2Zm5oULF+Li4urq6oyNjX19fUePHq3ouABoE3SMIiKvMtrSZe4dHBwcHBwkUwwMDMQT+jbZi1RVVXXw4MGDBw9uRXhyTXqvrq4+d+7cuXPntqIAAACub9++LZp3DQAgRUNDY968eXBfHnwNyB3ApOTNh83Uuj9+/IhhGIvFkko/evRok/ViAEBj8+bN27BhQ+N0AwODW7dutX88AHQ4Hz58wDBMKJSeZX3//v3yr38NQAeCkU3RL0gWuVpGGxMIBDRaK/MCAHB8Ph/OIwC+hEAggHldQKdEwVrW0VM25a6LtqoyWl1dHRsb23jyUQCAnPh8fmJiYk1NDZxHALQak8l8+vSpmZmZogMBgHwYRmYNUrnrosSV0Tlz5uBj9RFCjSfQxzDs4sWLbRgXAB1fTk6O5AyI27dvl9qhb9++zs7O7RsUAB2Mv7//pUuX8MeNG0EpFMq///7b7kEB0OYoqAXzMTWro1ZGp0+f3rt375qamh07dmzdupVOp4s36enpDRw40MXFpV0iBKCjMjQ03LlzJ0Lo6tWr2trao0aNEm+i0+kWFhbjx4+nkDh1BwCd0YwZM1xdXSsrK3fv3v3bb79Jdn3T19f/5ptv4Bcd6JRIbhlV7tooYWV03Lhx48aNq6mpEQgEa9askayMAgDk0aVLlzVr1iCEbG1tpSqjAAA5TZw4ceLEiZWVlRiGrVmzRsnHYQBAFozcPqOkHalNNNNnVEdHB2/aEWMymQwGw97eHvqMAyCnadOmST4VCATv3r0zMjISz9kGAJCtS5cuUhejysrKz58/w8UIdFZUhInI++lF4sqibaGZW4QikWjy5Mni2WeuXr1qZmbWu3dvBweHDx8+tH14AHQGV65cEa+ixmKxhgwZ0qtXLyMjo99++02xgQHQUQiFwvHjx9+/fx9/euHCBfxi5OTkVFRUpNjYAGgL+G16Ev+UWTOV0ezs7OvXr+MzdfP5/O+//75///6XLl3S1NRct25du0QIQId3+fJlHR0d/HFYWFhKSsqRI0d++eWXDRs25OTkKDY2ADqEly9f3rp1y9XVFSHE4XC+//77wYMHX7p0iUKh/PLLL4qODgDy4VM7kfWn3HXR5m7TFxcXa2pqmpubI4Ti4+NLS0vv3r3r5uZGp9MXLFjQLhEC0OEVFRWJ5+W+ceOGr6/v999/jxCKiIiIjo62t7dXaHQAdADFxcVdunTBV9CNjY1lMpmHDh1ydHQUCoUrV65UdHQAkA9DiNQ6pFJXR1swkvfevXuGhob4D1MzM7Py8nI+n99mgQHQqeCjLphMZkJCwsiRI/FEMzOzz58/KzQuADqee/fumZmZOTo6IoS6du0KJxHonOA2vViPHj0aGhoePHjAYrEuXLgwcuRI/JpaXFysq6sLi8cAIA97e/ubN28KBIJ//vmHy+WKh9UXFxfDGCYA5GFvb19ZWfnkyZP6+vpLly6NHj0aT8dbTBUbGwBtAW7T/8fa2trf33/MmDEaGhosFmvZsmV4elRUVJ8+fdo+vGbU84WVXBHRVl5dFdGmKp70Asdtl6udi5ORq52La+f3hhCq1wAAIABJREFUhFtbKaM4xVq+fPnQoUP19PTq6+snTpxoY2ODECosLMzJyVH4eSQQoUqugGgrV8b/gkv8v2hVLihOGYrj1FTIOKYC2dvbT5kyxdPTU0NDg81m4x1dEEJRUVFKM+k14cVIxv+JT7xNRYWw/kAlbkeqJ/6SrGQT5hIRx0glblJTpxHGUd5AeOPUSJOw4lFL/MmkEVemuALCd54vJNwkItyCVKiEhcmYawkjcR4m/ICk3lnv2JVRhNDZs2fHjh1bUFAwatQoDw8PPFFLS2vp0qVtHBsAnYS7u3tycnJkZKShoeGsWbPwxNzc3JCQkIEDByo2NgA6iosXL164cKGoqGjs2LF4hzGRSKSnpzdhwgRFhwYA+SgYJoJJ7//bg0YTXz7F9uzZ0zbxANA5OTo64l3cxEaMGDFixAhFxQNAh0On02fPni2ZgmHYgQMHFBUPAG2K3OX5yG63JRl0+gQAAAAAUC5wmx4AAAAAACgMBSNz2FEr1tGtra3V1tYmLQKZSG0F/jJ1dXV5eXl1dXWKDgSADqywsLC4uFjRUQDQgdXW1ubl5dXX1ys6EPBVw0hdhKlF9dpXr145Ojra2NiYmppGRka22Uv8j1JURkUi0YYNG7p27Tp69GgLC4vo6GhFRwRAx5OZmenk5NSvX78hQ4aIpzIFAMhPJBKtXr3azMxs9OjR5ubmz549U3RE4OtFIftPfvPmzQsICCgrKzt37tysWbNqa2vb6kX+TzO36UtLS588eeLt7a2vr992QYSFhf37779v3741MzPjcrlsNvH8EwB0QDExMWpqaoMGDWq7Iurr6319fVeuXIlPc1FWVtZ2ZQHQ/j59+vTs2bORI0fq6uq2XSkHDx68f//++/fvTUxMOBwOl8ttu7IAkA1rxZ11MmRnZ798+RJvFvTx8bGzs7t+/XpgYGCbFtpMXTk5OXn69OlqamptGsSRI0c2btxoYmLC5XJVVFTEq3gD0DmsXLnyzp07bVrEjRs3dHR0li5dymKxEEJGRkZtWhwA7SwhIWHGjBkaGhptWsqRI0c2b95saGjI5XJVVVXbrcMcAI1hpE56L/9o+tzcXAsLCy0tLfxpr169cnNz2+pF/k8zlVFbW1uEUEVFG06DzOfz3717l5iYaGdn161bt0mTJlVXV8uZVyAgnKwbAOVha2tbXl7epkVkZ2d37dp1yJAhPXv2NDc3v3btmpwZoe0HdAg2NjYCgaCqStZSGl+IzWZ/+PDhyZMn+MVo2rRp8t+dhIsRIB25a4Hy+fyKiopUApLVvOrqaslffdra2kwms61fbDOVUQcHh0mTJq1fv77trlg1NTU8Hi83NzcnJ6e4uLi+vn7Tpk3yZKyrq+NwOG0UFehMFD4q7scff7xy5cqLFy/arojy8vKYmJi9e/cWFhaePHkyMDCwtLRUnoww2gnISbEdqPr27Tt69Oh169bxeLw2KoLJZAqFwsLCwnfv3hUWFpaVlW3fvl2ejNXV1dC7DMjA5xOuRyUDldS/osLCuLi4UAIXLlwQl2tkZCTZJlhVVWVsbEzCuyBTM31Gq6qq9PT0Lly48OjRowEDBkguAWxhYbFhw4Yvj0BfX19FRSUoKIhOpyOE5syZI+ckxlpaWhoaGgi+AUBzxLcbFOXdu3fdu3f38PD49ttvrays8I86bsmSJc7Ozl9ehImJibOzM76e06hRowwNDVNSUsaOHdtsRhsbG1SQ+eUBgE6vrftryVZeXm5sbHz27NmHDx/2799fchhD9+7d165d++VFGBkZUSiU4OBgGo1Go9Fmz5598uRJeTLq6upqamrCRDCACI3Wqmk0RUJZi5a2kK1N9wkTJoSHhze7p4ODQ0lJSVlZGd7dKzU19bvvviMrDCLNvEFcLjc2NrZbt24IobS0NMlNvXv3JiUCDMNcXV1ramrwp9XV1QqvOgBArqysLCaTaWVllZ+fn5+fL7mJrJPczc3t3Llz+GOBQFBfXw/nEehM2Gz2s2fPzM3NEUKpqamSm/r27UtKETQarU+fPnAxAspCJEIiIZlHk4+FhcWoUaNWr169ZcuWy5cvs9nscePGkRYGgWYqo8bGxu3QcfWHH37YuHGjra2tQCDYs2fPxo0b27pEANrTzp07d+7c2aZFjB07dtWqVZs2bZo2bdqpU6cMDQ0HDBjQpiUC0J7Mzc3b52K0detWCwsLNpt94MCBtj5tAZBFJCSzMopa0MgaHh6+YsUKT09POzu7O3fuSN7NayNKsQKTv78/m83esmWLmpratm3bZs2apeiIAOhgqFTqgwcPNm3atGjRIhcXl5iYGFVVVUUHBUAHM2fOHB6P9+uvv2poaOzZs8ff31/REYGvF4bIrIxiLTmUkZHR33//TVbR8pCrMvrixYu///777du3dnZ2eIfO33//fdiwYW5ubmTFERQUFBQURNbRAFA2LBbr1KlTSUlJ79+/P3XqlL29fVJSUkpKyvfff09WEZaWlvL0BwKg40pNTT1//vzbt28dHR13794tFAoPHDjg4+PTp08fsooICQkJCQkh62gAtB65LaPkdT9tC81XRs+fPx8UFGRqaio51D8hISE5Ofn8+fNtGRsAnURNTY2np+fLly89PDySk5MbGhoQQhoaGkuWLBk9ejQ+gRoAQLZTp07Nnz/fzMxMTU1NXV0dIUShUJ4+ffr69Wv4GQY6IaEQCb+WymgzUzvV1tYuXrw4JCQkLy9v4cKF4vRx48Y9efKkjWMDoJPYs2dPfn5+enp6fHy8+O65s7OzlZVVbGysYmMDoENgMplLly5dsmRJXl5ecHCwOB0uRqDTwgcwkfan1JXRZlpGk5OT6+rq9uzZQ6fTJRemsra2ZjAYAoGASqW2cYQAdHgxMTGhoaGOjo4IIcnzyMrKqqSkRHFxAdBhJCYmcrncXbt20Wg0qYvRx48fFRgYAG0EE4lIrUF25Mooh8Oh0+n4DRFJlZWVFAqFQmmmYRUAgBDicDhNzhFTWVkJP+cAkAeHw1FVVVVRUZFKh5MIdFpCPhKSt7IXmQPzyddMbdLR0ZHL5T58+BD93xadixcvurq6SqYAAIg4OjreuXNH9H9/42ZkZLx584bEUYAAdGJOTk51dXWPHz9GjS5GcBKBzonk2/RKXRltpmXU0tLSz88vMDDwt99+Ky0t5XK5z58//+OPPy5dunTp0qX2CVGGeoGoikfY8sxtqCHaVMMn/K+Qnqudi5ORq52La+/3pL4NF63+QsuXLx84cOCMGTOWL1+OECopKXn58uW6deucnJy8vb0VG5tQJKrifY2fTyiu6VzKeh7Z2dlNnDjR399/586dZWVlHA4nKSnpyJEj169fv379uqKjw5f/Jmyd4QkI33CBsDU3T4mPh1QoxI1ExBFiiHCTjOOxiT9IqjTCbLUc4tY+4gjrib+mtFUIm8bViMNQEREu0SnCCNvpBMSb2qBTJoyml/DXX38FBQXNnz8ff/rgwQMVFZWdO3dOnz69jWMDoJNwc3O7dOlSSEgI/hPO19cXT4yIiIA7jADI6cyZM4GBgeLRS7du3VJTU9u/f//EiRMVGxgAbQEjtTkT69B9RhFC2traERERr1+/jouLYzKZZmZmXl5eZmZm7RAcAJ3G5MmTfXx8oqKicnNzaTSai4vLsGHDoNc1APLT1dW9efNmZmZmfHx8VVVVt27dvL29TU1NFR0XAG0D5hkV4/F4L1++dHV1dXR0xMcC48rKysrLy3v16tXG4QHQGRQUFNDpdDMzs0mTJkmmZ2RkWFtb6+rqKiowADoKDofz6tUrd3d3Z2dnZ2dncfrnz5+ZTKaDg4MCYwOgTZDc0VOp+4w20zBTVlbm4eHB4XCk0i9fvhwQENBmUQHQqWzZsuXYsWON0z09PZ8+fdr+8QDQ4Xz8+NHDw0PYaA7w8+fPz507VyEhAdC2hKL/P+89OX8duWWUCJfLhZWvAfhCHA5HTU1N0VEA0IHBxQh0WiIRRt69dSWf/IiwMpqfn19RUVFWVoYQSk9PlzzbKyoqLl261L179/YIEIAOi81mv379GiFUXl6OEEpNTRVv4nA4iYmJ9fX11tbWigoPgA4hLy+PyWTiM9unpqZK9rQuKyu7cuWK5F17ADoPER8JCYf8txiJU5a2AcLK6K+//nr27Fn88eDBg6W2GhgYHDx4sA3jAqDjKyws9PDwED9tvHz2nDlz7Ozs2jcoADqYdevWiWcS7N+/v9RWIyOjEydOtHtQALQ9fJ5R8g5H3qHIR1gZXb16dWBgYEVFhb+//61btyRbRg0NDXv06KGpqdkuEQLQUZmbm+MLRuzbt69Lly6SPdtUVVUtLS2trKwUFx0AHcP69etDQkIYDEZgYOCDBw8kp/M0MjLq0aOHhoaGAsMDoI2QO7VTRx1Njw+fZ7FYly9fHj16NMyGCEBLaWho4HPa6+npqampOTk5KToiADoefPh8fX395cuXvb29YeU/8LWA0fRitbW1a9eu5fF4Uul///33+PHj2ywqADqVq1ev3r9/v3G6u7t7TExM+8cDQIfDZDLXrl0ratS6Ex4ePnXqVIWEBEDbInct0A7aMorj8/l5eXmNz/+qqiq8OzkAoFllZWU0WhPnWl5eHpvNbv94AOhweDxeXl5e43Qmk/np06f2jweANge36ZuVnZ1tYmJCbigAfFU+fvxYXV1tbGys6EAA6MCys7PhJAKdk7IOYMrLyzt37hyXy/3uu+/69OkjtZXFYt27dy8tLY1KpY4cOXLQoEF4elxcHD69DG7+/PmSXW5kjaa/ffs2foN+8ODBkrNplJaWFhUVHThwgJRXBUBnVVhYOGXKFPS/FZju3bsn3sRms/Pz883MzKAjKQCy/fzzzw8fPsTXXpEaTf/58+fi4uImV5QAoMMTCpGAvMpoowUjWqegoMDDwyMkJERXV3fo0KExMTHu7u6SO/z+++8PHjzw8vLi8/m+vr7btm1bvHgxQujixYsvXrwQz84kEon+X3v3HRbFuf4N/Fl6R6QjCoigiCioYAkS9Qh21ECMLRGNSGKJGJMYQn4aTWxAEo+xxIrGliAkObGhiAiKgoAYURQLikgJHRZ2YcvM+8ecM9e+wCLqbEG/n8s/Zp9p9647zL3PPKVTyailpWXv3r2FQuGtW7ecnJxkOzCNGDFi+PDhs2fP5uSNAbyutLW1e/fuTQipqanR09Njlhl6enpBQUELFizAoPcAHbO2tu7du3dTU9Pt27ednJxkb2AjR44cOXLkzJkzVRgegILQEjGRiDg7nJSbcUZ37tw5efLkqKgoQkhzc3NMTMzx48dlNwgPD4+IiGCWe/bs+eOPPzLJKCHE399/zZo17R5WbjK6bNmyZcuWMUM7HTt2DFNcALwoW1vbuLg40t7QTgDQSeHh4eHh4czQTnFxcehND28KZhpPrnD0xD81NXXp0qXMckBAwL59+1ptoK+vzy6LRCIjIyP2ZW5ubnR0tIODw7Rp01pllc9pM2pubs4MlAgAL23VqlWqDgGga7OxscHNCN4stJTLaZM46sBUVlbGttK2srKqrKyUSCTt9tCtqKj47rvvfvrpJ+alnZ2dSCSqqqqKi4v75ptvrl27Zmpqym7cqQ5MqampO3bsuHv3bmlpqZWV1dixY1evXt2rV69XflMAbwo+nx8TE5OSkvLo0SNDQ0MXF5e5c+fOmTNH1XEBdCXJyck///wzczOytbUdO3bsl19+2aNHD1XHBaAAFEVzl4wWlZanpKTLa9Mybdq0uXPnMsuHDh368MMP227D5/P19fW1tLQkkv9OUiqRSDQ0NGT7FLHq6+unTJkyc+ZMpuMEIYR9dk9R1IgRI3bt2vXll1+y2z8/Gd23b9/ixYu7des2cuRILy+v4uLiPXv2HD9+/PLly+7u7s/dHQDq6ureeuut/Pz8IUOGjBkzpqmpKTc3d+7cuZcvX961a5eqowPoGnbs2LF8+XIzM7ORI0cOHjz46dOnu3bt+vXXX69cudK3b19VRwfANYrLmlHLbsZOTk7vvvtuu2tlZ66eP3/+/Pnz5R3Hzs6OHdmzpKTE1ta2bTLK5/MnTpw4fPjwH374oe0RNDQ0RowY0Wqktucko3w+f+XKlUFBQQcOHDA2NmYKCwsLAwICPvvss7Nnz3a8OwAQQmJiYp4+fZqSkjJ69GimRCKRbNy4ce3atQsXLvT29lZpdABdQG1t7eeffz5r1qw9e/awrdAePHjg7++/evXqP//8U7XhAXCP0zaj+jo6jo6O8pLRzps6dWp8fPyiRYt4PF58fDw7/9G1a9dcXFwsLCwEAkFgYKCbm9u///1v2Rbezc3NTIddoVB44cKF0NBQ2cM+ZwamrKyspqam3bt3s5koIaR3797fffddSkpK28HwAaCtlJSUxYsXs5koIURLS2vNmjXOzs4pKSmqiwugy8jIyBCJRLt375btD+Hi4rJu3TpMYwavJZqiaKmUs38c5bWhoaHFxcUTJkx49913T58+/dlnnzHlQUFBqamphJCoqKjLly8/efIkICDA39+fzVb79u0bGBg4f/78fv36WVpahoWFyR72OTWjLS0t2trahoaGrcpNTU3FYjFFUaqds75FSjdK5CbEkuZGeasaJXL/VzjfS8mn62AvJZ9OyZ+JWMjv4HSq1dLS0q1bt7blZmZmKp+BiXpTv584XbvEwo4uWxVqaWnR1dWV7ajLMDU1ZYYgVWcG2nLrfTqo0tGSX1lEyd9LU0PuaAMa8gci6CAMSv46ffnvS0/+AcXyo+8oDPnvSyR/ME5tIncvCZGbvehpyn1fVAcfPefjPHD6mJ6r3vRmZmY5OTlJSUkikWjfvn1sJ6RTp045OjoSQkJDQ2Wni2cf4qempubm5goEgmXLlrV9HvicZNTDw0MsFu/du3fZsmVsIUVRu3fvdnd3V20mCtBVeHh4HD16dPny5bIp6bVr127evBkZGanCwAC6Cg8PD4FAEBsbK/t0TyqV7tmzp+0cMACvAVoipiVizg7HXV6rr68fGBjYqnDw4MHMQo8ePdrtU+jo6Mhkq+16TjJqb2+/YMGCFStWJCcn+/v7d+/evaSk5OjRozdv3vztt99eLHyAN9Vnn33m4+Pj4eHx4Ycfuri4tLS0XL9+/fDhwwMHDpwyZYqqowPoApydnefOnfvRRx+dO3fuX//6l5mZWXFx8ZEjR/Ly8tBgFF5PNMVlzSiHQ5YqwPN70+/atcvKymrHjh3sBe/k5HTs2LFXbwYL8IZwd3dPTk5evnz5unXrmBJtbe333nvvhx9+aHd4NgBoa9++fba2tj///HNCQgJT0qdPn7i4uLaVNACvA44HvVfrTj7P701///79r7/+ev369QUFBc3Nzd27d5ed1RAAnqugoMDCwiIrK6u8vPzZs2daWlouLi5tm2IDgDwNDQ0PHjxYt27dxo0b792719LSYm5u7uTkpOq4ABSFpqQcjjNKc9RmVEGe05s+LS1t6NChUqlUW1t7wIABQ4cOVVwm2tzc/PXXXzPTJwK8TmbNmrV3715CiI2NzdChQz09PRWXiZ45c+bLL7+sq6tT0PEBVOLChQs+Pj48Hk9bW9vDw2Po0KGKy0SbmpoiIyN///13BR0foFMo6r99mDj516WTUXt7e0KIcjr8rlu3bv/+/adPn1bCuQCUyd7eXigUKuFEJSUln3766ZYtWxoaGpRwOgCl6dGjB03Tyuk4//XXXx84cCAxMVEJ5wKQi8NMlJKqeZvR5ySjgwYN8vX1jYmJUXQcubm5qamp8+bNU/SJAJRvyZIlcXFxz549U/SJli5dunbtWkWfBUD5vL29hw4d2u6ELtzKyMi4fv26vFkTAZSGpihayt2/Lt1mtLGx0dfXd+vWrZcuXfL19bW2tmZXWVtbh4SEcBKERCIJCwvbvXs3ntHD68rZ2dnNzS0oKKh37966urpseXBwsLOzMyenOHz4sKGhITpzwGuJz+ePHj06KioqKSlp5MiRVlZW7Co7O7v333+fk7O0tLR8/PHHR48e3bdvHycHBHh51Bvfm762ttbW1vbkyZPu7u6bN28mhGRlZWVlZclu4+XlxVUy+t133/n7+3t5eb1QMtrU1CQUCgnR4yQGeI01NjbKztqiNCtWrMjLy7t48WJ8fPzVq1cJIYcOHWq1jbu7OyfJaGVl5YYNG9LS0l50xydPnti++unhDcDO5qdM5eXljo6O58+f79mzZ3R0NCEkIyMjIyNDdpvhw4dzlYyuXbt2xowZ/fv3f6G9GhoaBAIBMTLnJAZ4/UgkkpcYOIWWquk4o4rQ/qfDNM2RSqV2dnaKrtrNy8uLj49vlel2hoGBgba2NlH3qTdA9VSSiRJCxGIx08Rt//79+/fvV+i5lixZEhERYWVl1dTU9EI7WllZkbvo7QTPp/xMlMjcjJycnBR9M8rJyUlMTLx+/fqL7mhsbKyjo6PiudRAjb3kEH7c1oyqdwcm1Y9xmJKS8ujRI2a8fqFQSFHU7du3c3Jynrsjj8fT0tIiLWrdDAJAOc6fP3/hwoWVK1cyN+yBAwfu27cvODj4uTsaGBgoPjqALiA5ObmgoMDGxoYQIhQKaZrOy8u7du3ac3f8780IgFMcD+3UFR/TK1NYWBj7hGX9+vVlZWW7d+9WbUgAXU5RURGThgoEAnt7+8uXL/ft21fVQQF0JZ988gk712hkZGRTU9NPP/2k2pDgjYZB7xlffPEF02C0XS4uLszQia9IV1eX7c+hp6enq6tramr66ocFUAe3b98ePXp0Bxts2rRpxIgRr34idtZ7HR0dQoipqSmzAPAaWLlyJfsNb6t///47d+589bPo6emxTRH09PQkEomJicmrHxbgJeExPaOqqqqD9meKuErXrFlDqXdNMsALEYlExcXFHWzA+SC+BgYGNTU1+EUHr5PKyko+ny9vrYWFBedn3LBhg5oPhQOvPWZoJ84OR6n197mjZPTAgQMTJkxQWiiEEH19fWWeDkDRBg8enJ6erswz8ng8MzMzZZ4RQNGOHDkyZswYZZ4RNyNQPamUlqLNKAAAAACoAk1RHGaQal7Tj2QUAAAAQL1IxVJKJOHqaJRESjS5Ohj3kIwCAAAAqBdua0a7ZG96MzOzioqKDnovAsBzRUVFSSSc/a4FeANZW1vjZgRvJm47MNGcdmASiUQURb3ERBhCoVBTU7PtYC/tJ6M8Hs/S0vJlAlSuFooSSOV+vtIWobxVQvn/wZzvpeTTdbCXkk+nPp+Jqqhq5qcXQtFE8EZ+P3E6OXsJOjim8mloaHSJmxFNd9Qmr4M0oFn+LUxX/n9vs0TuOkt9DXmralvk7tUkkrvKUEfuATV4coMXy3/PWnKPRzR5PHmrTHTlPmPu4Fxi+R+vjqbcc7XI/3gJkbsX51WPtJRWw970NE2vWLHi4MGDPB5v0qRJBw8eZEfnZDx79mzgwIHsyzVr1oSHhxNChELhvHnzkpOTaZpevHhxVFQUT+a/G4/pAQAAANQLLeW2ZpSbQ8XHx585c+bJkycGBgZjx47dvn37qlWrZDegKEp2TEN2YIrvv/++qqrqn3/+aWho8Pb29vPzmzp1KruX/F8oAAAAAKAKNE1xiKve9IcPH160aFH37t319PSWL1/+yy+/tN2GGWGQwT7KP3z48IoVK3R1dS0tLUNCQlrtiGQUAAAAQL0wNaOc/ePoMf3Dhw/d3NyYZTc3t0ePHrXdRiAQdO/e3dra+v3336+oqCCEUBT1+PFj2R0LCwtld8FjegAAAAD1wm2bUYlEWl1dnZOT0+5aR0dHc3NzZvnvv//+66+/2m4TERGhpaVVX19vaGjIlBgZGTU1NYnFYm1tbXaz7t27X7t2bdCgQeXl5R9//PEHH3yQmJgoEAjEYrGBgQG7Y21trezBkYwCAAAAqBdKIqbEYq6O9rS6Lj0/LywsrN21ISEhy5YtY5Zpmu5gYnZLS8v6+npmua6urlu3brKZKCHEyMjIx8eHEOLg4LB161Y3NzeBQGBkZKSvr9/Q0MDu2KpjIpJRAAAAAPVCSSmKu5pRh27GgYGBBw4ceO6Wnp6enp6e8ta6u7vn5OQEBQURQnJyctzd3Ts4VEtLi4aGhqamJiGkf//+OTk5Hh4ehJAbN2602hHJKAAAAICaobh8TM9VB6bFixcHBwdPmTLFxMQkOjr6m2++YcqDg4M/+eQTPz+/pKQksVjs6upaUVGxatWqd955hxn7KSwsbPPmzT4+PlVVVQcPHjxz5ozsYZGMAgAAAKgXjmdg4qgD09tvvx0VFbV8+XKRSBQWFjZv3jymXFdXl6kBpSgqJiamuLi4e/fuAQEBq1evZjZYtGhRRUXFzJkz9fT0tm3bNmzYMNnDIhkFAAAAUC9cjzPK2Zj8CxYsWLBgQavCo0ePMgvjx48fP3582714PF5kZGRkZGS7x0QyCgAAAKBeuJ0OlNDcHUoBkIwCAAAAqBeaojl8TM/t3PScQzIKAAAAoF647U3PVQcmBUEyCgAAAKBeuH1Mj5pRAAAAAHgBtFhCiSWcHU0q5epQioBkFAAAAEC9cDsdKGpGAQAAAOAFUBSnbUaRjAIAAABA53E76D2NoZ0AAAAAoPNoKU1LuavOVOtcFMkoAAAAgJqhKJriLhml8JgeAAAAAF4Apx2YuJqbXkG6djIqJUQsfxxXSiKWt0qZeyn5dB3speTTqc9nAh17M7+fON2L7gUd4PEIj8eTt1YiPw8w0dGQt6pZIjcRsTSQe++uEsodDMhAS+659Aw05a2SHwXR1pT7ll+OQCz3ZDryz2WoIXfQIj2e3FXNRFfeKi0NuecSya+q5HxQeUrKZc0oOjABAAAAwAugJFJKzNngoBzmtYqAZBQAAABAvaBmFAAAAABUhqa47U2PZBQAAAAAOo2W0hwOek9x3qaVU+qSjDY0NNy7d09fX9/NzU1LS12iAuhaHjxJovFWAAAgAElEQVR4UFlZ6eLiYmlpqepYALqk+vr6e/fuGRoaurm5aWrK7dYDoGhcjzOKZPR5tm7dum7dOhcXFz6fT1HUqVOnXFxcVB0UQFfS0NAwaNAgQoi9vX1eXl54ePg333yj6qAAupioqKhNmza5urrW1dVpamqePn3ayclJ1UHBG4qmaQ4beqr3BEzqkYy+9dZbhYWFZmZmNE2HhIRERkbGxcWpOiiArkRbW/vw4cO+vr6EkPz8/EGDBs2aNatfv36qjgugKxk9enRYWJipqSlN07Nnz16zZs3hw4dVHRS8oSgpp3PTc/eYvrCw8JdffhGJRLNmzRo4cGCrtXfu3ElPT5ctmTVrlomJSXp6+p07d9jC0NBQ2dHQ5I46pkze3t5mZmaEEB6PN2TIkIqKClVHBNDF6OvrM5koIaRfv36GhoaVlZWqDQmgy/Hx8TE1NSX/uxnhIgIVYh7Tc/aPo0rWoqIib29voVBoZGQ0atSonJycVhvU19cX/s+pU6dWr16tra1NCPn1118PHz7MrmqVHKtFzSirubl5//79ixYt6szGNE1LJBI1yadBnVEUpaHxBn1Pjh49amZmNnTo0M5sLBAIjBQdELwWaJruYFz314xAIDh48GB4eHhnNqYoSiKREB1FBwVvFkpMSUXcjTPawewFL2Lnzp2TJk3asmULIUQoFMbExBw/flx2g5EjR44cOZJZ/uCDD+bMmaOvr8+89Pf3X7NmTbuHVaM7NEVRixYt6tGjx5IlSzqzvUAgEIsxWQg8n0AgUHUIypOZmblq1apDhw6x13/HUPcDndTS0qLqEJREKpWGhIS4uLh0smakqalJJBIpOirouiQSudNidYAZZ5Srf1zVjKampgYEBDDLAQEBly5dkrdlfX19QkLChx9+yJbk5uZGR0fHxcW1/WOiLskoTdMfffRRSUlJfHx8JzswGhoadvJ2C284I6M3pe4vNzd32rRpsbGxfn5+ndzFwcFBoSHBa0NPT0/VISgDRVELFy6sq6v79ddfO1kTbGxsbGBgoOjAoOt6uTGCmA5MnP3jqMloWVmZlZUVs2xlZVVZWSkv1T5+/Lizs/PgwYOZl3Z2dlZWVlVVVdHR0V5eXvX19bIbq8Vjepqmly9ffufOncTERFzSAC/n1q1bEydO3LZt2+TJk1UdC0CXRNP00qVLCwsLExMT35DkG9QWLaVo7jowVbQ0p6WkzJw5s92106ZNmzt3LrN86NAh2epMFp/P19fX19LSYrNPiUSioaEhrxXc/v37Q0ND2ZcRERHMAkVRI0aM2LVr15dffsmuVYtkdMuWLXv27Pn888937txJCOnWrVtYWJiqgwLoSmpqasaNG+fm5vb48WOmNc/UqVP79++v6rgAupL169fHxsZ+8cUX27dvJ4RYWFi0e1cGUAJupwM10dBycnJ69913210r28dg/vz58+fPl3ccOzu70tJSZrmkpMTW1rbdZPT27dt5eXmzZ89uu0pDQ2PEiBGFhYWyhWqRjPbp0+fTTz+VSqW1tbWEkDeqrwkAJ2iaXrhwISGEuYgIIWjEBvCi+vbtGx4eLhKJmMuH6QUMoBLcTgeqQ/McHR3lJaOdN3Xq1Pj4+EWLFvF4vPj4+KlTpzLl165dc3FxsbCwYF7u27dvxowZ7EtCSHNzM/O0QSgUXrhwQbbSlKhJMhocHBwcHKzqKAC6MHNz882bN6s6CoCubdasWbNmzVJ1FACEEEJzO84oRx2YQkNDDx48OGHCBBMTk6tXr169epUpDwoK+umnn4KCggghIpHo2LFjR48eld2xb9++gwYNMjMzu3TpUu/evVs9AFeLZBQAAAAAWDTFWQZJuBv03szMLCcnJykpSSQS7du3jxmXlxBy6tQpR0dHZlkqlZ49e9bLy0t2x7S0tBs3bggEgmXLlnl7e7c6LJJRAAAAAPUiFUs5HWeUs7xWX18/MDCwVSHba57ZYMiQIa02cHBw6GDwFiSjAAAAAOqFomhK/WpGFQTJKAAAAIB6oWjCXf8lwlnjU8VAMgoAAACgXqSElnJXnUmhZlRxaJp0UIdN03J/CShzLyWfruNK/TfzM4EO0G/q9xOne9G9oAPji+7Y8OU27+s5erm8VWsLLstbta7vKHmrFv+dIm/VnkFj5a1aflvuXruGTpG3KvT6SXmrdnv5y1sVlpskb9XP8vcKvSF3rw7e1+K/L8rfa4z8veR+Gnu9xslb9dHNC/JWkYFyI3w5Um5rRtU6F+3iySgAAADA64eiuawZVe9cFMkoAAAAgJpBzSgAAAAAqAzHyShnR1IIJKMAAAAA6kVC0WLu6jOlFK3OM60jGQUAAABQL1JCpNw19aQIQTIKAAAAAJ2FcUYBAAAAQGWknPamxzijAAAAAPACpAS96QEAAABARbgeZ1Sts1EkowAAAADqBeOMAgAAAIDKcNxmlKsDKQaSUQAAAAD1IqZoEXf1mRL1rhpFMgoAAACgXjC0EwAAAACoTJce2ommaT6fb2Ji0qpcKBRqamrq6Oi0KlfnAfkBAAAA3kTS//Vh4uQfV0/pMzIyZsyY4eDgMHLkSHnbJCQkWFtbOzs7Dxw48N69e0yhUCgMCgqytbW1tLT8/PPP6f8/OUYyCgAAAKBemKGduPrHVb2opqZmYGDgkiVLGhoa2t2grq4uJCTkxIkTlZWVQUFBYWFhTPn3339fXV1dUVHx8OHDEydOnDp1SnYvJKMAAAAA6oXDalEOa0a9vb0XLFjQp08feRvEx8cPGDDg7bffJoSEh4dfu3bt8ePHhJDDhw9/8sknOjo6lpaWISEhv/zyi+xeSEYBAAAA1AvHyaiywn706FH//v2ZZVNTU1tb28LCQoqiHj9+7ObmxpS7ubkVFhbK7tW1OzBJpVJCeKqOAtRdTk5O3759jYyMVB2IOhKJRIaqjgG6hAcPHri4uKg6CjUllUpVHQKor+rqanNz8xfdi9sZmCSErq6uzsnJaXeto6MjG+Hff//9119/td0mIiJCS+v5SWNdXZ2BgQH70tjYuLa2ViAQiMVittzIyKi2tlZ2Lx53DQmU7enTp97e3j179lTJ2SsqKvT09Nr2FFO++vp6kUhkaWmp6kCIUCisqanp0aOHqgMhUqm0uLjY0dGRLYmMjJwxY4bqIlJfgYGBDx48MDRUQUYqlUqfPn3q5OSk/FO3VVhY6OTkxOOp/sdtcXGxtbV1296myldeXm5kZMT+irOxsWnVzAsY9+/fHzVqlEpuRjU1NYSQ7t27K//UsoRCYW1trZ2dnWrDoCiqqKhIHf6kPH782MHBQUPjvw+fQ0JCli1bptqQdu7cuXnzZisrq3bXykZ48+bN//znP223iYyMZJPRhISEtWvX3r59u+1ma9asefLkCfsU3t7e/tixY35+fgYGBpmZmR4eHoSQo0ePbtu2LTMzk92rC9eM9urV659//lF1FABdW7u/gAGg81xdXXEzAjW3ZMmSJUuWdGZLT09PT0/Plz6Ru7t7QkICs1xWVlZRUdG3b19CSP/+/XNycphk9MaNG+7u7rJ7oc0oAAAAADxfXV3dhQsXbt261djYeOHChRs3bjDlwcHBaWlphJDp06fX1NRs27bt6dOnn3/++bRp06ytrQkhYWFhmzdvzs/PT0tLO3jwINvLntGFa0YBAAAAQGmePXu2ZcsWQoiLi8uWLVs8PT0HDx5MCNHV1dXU1GQWzp49+8UXX2zfvn3kyJHbtm1jdly0aFFFRcXMmTP19PS2bds2bNgw2cN24TajAAAAANDV4TE9AAAAAKgMklEAAAAAUBkkowAAAACgMkhGAQAAAEBl0Jv+hd2+ffvu3bvsy+nTp2trayszgJKSkps3b+rq6o4bN062PDk5OScnx9XVNTAwkB1rV6EaGhpyc3MrKioCAwN1dXWZwuvXrxcVFTHLWlpayhlq/s6dO1euXBEKhcOHDx8+fDhbXl1dHR8f39zcPHXq1N69eyshEugMqVT6+++/sy9dXV0HDRqkzABaWlpu3br15MmTUaNG2djYsOWVlZUnTpyQSCTTp0/v1auXEiKhKOrBgwf5+flOTk7s2H58Pj8xMZHdxtPTUwlTHzEDtTx69MjKymratGmyM3qkpKRkZWX16dNn+vTpyvnbAs/18OHD3Nxc9mVAQICpqanSzs7M5dPU1NTqL3x2dvalS5dsbGzeffdd9qagOM3Nzbdu3SoqKvLz82PGDyKE3L9//++//2a3mThxoqKn3ystLU1OTq6oqHB1dZ08eTJ7jYjF4hMnTpSUlIwaNUr2xgRtoTf9C4uMjExISBg4cCDzMjY2Vpmz1+zcuXP16tVWVlZmZmbZ2dls+YYNGw4cODB37txTp055enoeOHBA0ZE8fPjQ3d29T58++fn5FRUV7BRQH3zwQV5eHnPv1NPTY6dhUJykpKQFCxZMmjTJyMjo2LFjCxcu3LhxIyGkurp68ODBvr6+VlZWBw8eTElJeZWBfIFDAoHA0NDwnXfeYYYCmTJlygcffKDMAMzNzc3NzZ89e5aQkDBx4kSmsLy8fPDgwQEBASYmJkeOHElPT2dnUlacOXPmJCcna2hovPfee1u3bmUK79+/P3DgwMDAQOZlSEjIpEmTFB3JW2+9ZWxs7OHhkZ+fn5ubm5mZyUwptGXLlp9//nnevHlnzpxxd3dXwhUNnbFjx46oqCh2fJzvv/9eaVNAJSUlTZ061dHRsbS0tKGhgS3/7bffli9fHhoampGRIZFIUlJSFP3TxdTU1Nra+unTpydPnvT392cKv//+++3bt3t7ezMvt23bJvuDk3N8Pt/e3n7SpEm9evU6e/aslZVVYmIiM1PR+PHjhUKhn5/f/v37N23aFBISorgwujwaXtBXX3312WefqersjY2NUqn0yJEjQ4YMYQsbGhpMTExyc3Npmq6srNTX13/48KGiIxGJRAKBoKqqihBSUVHBlr///vtbt25V9Nll1dXVtbS0MMtXrlzR0dFpbm6maXrz5s0TJkxgyiMjI9977z1lRgUdaGpqIoQIhUJVBVBfX0/TtJOT05kzZ9jCNWvWBAUFMcvh4eELFy5UWiQff/zxihUr2MKCggILCwslnF1WZWUluzxmzJh169bRNN3Y2NitW7esrCyapmtqagwNDe/du6fkwKBd27dvnz17tkpOLRAIRCJRZmamsbExW0hRVL9+/X777TeapltaWhwdHRMTExUdCXP52Nvbnz9/ni2MiYlZsGCBok/NEovFtbW1bDzGxsZXrlyhaTotLc3a2logENA0ffr0aQcHB4lEorSouhw8cHkZhYWFsbGxycnJUqlUyac2NDRs+1szMzPTxMSEqfazsLAYPnx4UlKSoiPR1tbW19dvd9WdO3diY2OZC1LRYRBCTE1N2Ym89fX1eTweM8M48/OdKZ86der58+eVEAx0Xnx8fFxc3NOnT5V/atln0Kzz588r/wvTbiSEELFYfOzYsd9//11p80xaWFiwywYGBkyldVZWlr6+/tChQwkhZmZmI0eOVMLfFuiksrKy2NjYc+fONTc3K/O8+vr6bRunFRcXFxQUTJkyhRCio6MTEBBw7tw5RUci7/J59uxZbGzs+fPnRSKRomPQ0tLq1q0bs8zcE5l7dFJS0rhx45gSf3//8vLy+/fvKzqYrgvJ6AszMDCQSCRXrlxZtmyZj4+P7EMKVSktLbW1tWVf2tralpWVqSqYbt261dTUpKWlzZ07d/z48WKxWGmnpigqIiIiLCyMyU1LSkrYpzO2tra1tbUCgUBpwUDHPDw8kpOTjx8/3r9//0OHDqk6HELafGHKy8uV/2uTwePx+vbtm5ycvHfvXldX17Nnzyrz7KmpqVevXmUaTpSWlso+4lTt3xaQpaurq6urm56eHhER4eHhUVJSotp4SktLTU1NDQwMmJcq/Kro6elpaWmlp6d//vnnAwcOVNrPOULId9995+bm5uPjQwgpKSlh78va2toWFhalpaVKi6TLQQemFxYZGcksSCQSX1/frVu3rlmzRrUh8Xj/X9tfmqaZqkGVYOf+amxsHDRo0OHDhxcuXKiE89I0vXz5coFAsGnTJqZEQ0OD/ViYBRV+LCDLwMDg1q1bzPKff/45b968WbNmKaG7Q8dafWHYKnblc3FxyczMZJZ/+umnpUuXFhYWKufUeXl5s2bNio2NZRogqtXfFpC1aNGiRYsWEUJomn7nnXfWrVu3Z88eFcajPl+VpUuXLl26lBBCUdTkyZM3bNjA3pUU6pdffjlw4EBqairzVEH27wnBtfM8qBl9eVpaWv7+/rI961WFqcVhX5aXl8tWlKqKkZGRn5+f0j6fzz77LDs7+9SpU7I/zdmPpayszMzMTF67AlChiRMnNjU1qeRhfSutvjDW1tbq0HN84sSJjx8/Vs5z2Hv37k2YMOHHH3+cNm0aU6Kef1tAFo/HmzBhgsrvRLa2tg0NDezTJ3X4qmhoaCjtk4mLi4uIiDh//jw7bIts3bBYLK6urrazs1NCJF2U6v/UdjkURTELNE1fvny5T58+qo2HEDJ8+HBmlCVCSFVVVUZGBtuvUPnYz0ckEmVkZCjn84mMjLx48eLZs2dlBzcZP378yZMnmeWTJ0+OHz9eCZFAZ7BfEkJIWlqarq6u0joCd0B9vjCtPh97e3s9PT1Fn/Thw4fjxo1bt27drFmz2EIfH5/m5uasrCxCSE1NzdWrVwMCAhQdCXRGqy+Jyu9EPXv27NevH3MFiUSic+fOqeoKUv4n88cff4SHhycmJsqOvzF+/Pjk5GQmOz9//rydnZ2rq6uiI+m6MLTTC/Px8fHw8DAzM0tLS6uvr7969aq5ubnSzp6Xl/ftt98+ffr0/v3748aN8/LyioiIIIRs2rRpz549c+bMOXXqlI+Pz969e5UQzOzZs4VC4X/+85/AwEA9Pb3ffvuNEOLs7Ozv729gYHDu3DljY+NLly4p+j565syZyZMnjx07lv2P+Pe//21ra1tTUzN06FAfHx9ra+vDhw+npKQoeTBLkGffvn1xcXEDBgyoq6uLj4/fsGHD8uXLlRlAZGTkgwcPzpw5M3jwYBsbmy1btjg5Of3zzz9DhgwZM2aMiYnJr7/+mp6e3q9fP0VHcuLEiRMnTty4cUNDQ8PT03P27NkzZsxYv359dna2q6traWnpyZMnY2Njg4ODFR3J0KFDS0tLfX19mZd+fn7Lli0jhERHR2/fvp0Z2snT0zM2NlbRkUBnTJ482dzc3MbGJisrq6Cg4MqVK0obSrmqqmrJkiU1NTWpqakzZsywsbFhnoOfOHFi6dKlCxcuZBqZXLx4UdEPpiMiIh49enTq1Clvb29ra+vo6GgHBwd/f387OzsrK6vMzMzHjx9fvXpVob91Kysre/To0b9/fzbXXLJkyejRowkhkyZNqq+vf/vttw8cOBAVFaXkAey6FiSjL+zmzZtZWVl8Pt/Z2XnixIlsP27l+Oeff9LS0tiXtra27M0jNTU1Ozu7X79+kyZNUk7blPj4ePb7w+PxmPvl1atXb9261dzc3K9fv4CAACU86CwuLs7IyJAtmTBhgrGxMSGktrb2999/FwqFU6dOdXBwUHQk0El1dXUpKSlPnjwxMTHx9fXt27evkgO4ePFidXU1+3LcuHFmZmaEkKqqqj/++EMsFk+bNq1Hjx5KiOTOnTv5+fnsywEDBri5uVVUVKSkpDx79szCwmLs2LHKqTZOTEzk8/nsSwcHB6YfBiHk8uXL169fd3V1nTJlCtq9qYl79+5lZGRUVVU5ODhMmjRJmcNdCwSC06dPsy+NjIzYwXpv3ryZkpJiZ2c3Y8YMJdwcL1y4UFtby75kRv7Pz8/PyMiora1lPhm24ZaCtPo0CCHe3t6Ojo6EEIlE8ueffz59+tTPz48ZkgLkQTIKAAAAACqDNqMAAAAAoDJIRgEAAABAZZCMAgAAAIDKIBkFAAAAAJVBMgoAAAAAKoNkFAAAAABUBskoAAAAAKgMklEAAAAAUBkko+quoaHhJSYm4PP5J06cKCkpkbdBUlJSSkrKq4UG0DWIRCJmhugXde3atQsXLshbW1ZWduTIEdkJYABeS3w+X3bC904SCoUnTpwoKiqSt0FKSkpSUtKrhQavCSSjaiovLy84ONjQ0NDU1FRbW3vUqFGnTp3q/O4lJSUzZ87MysqSt8G3334bExPDLJeWlu7Zs6eiouJVgwZQJyKRKCYmpm/fvrq6uoaGhra2titXrqypqen8EX744Ycvv/xS3tq8vLz333//yZMnzMu//vorMTHxFWMGUB8FBQWzZ882NjY2MTHR1tYeMWJEfHx853evqamZOXNmamqqvA1iYmK+/fZbZrmysnLPnj0dVKDA6w3JqDo6f/78sGHDcnNzY2JikpKSjhw5oqmpOXXq1E2bNnF1ioULF86bN49ZLigoCAsLKyws5OrgAConEommTJmyevVqPz+/kydPJiYmhoaG7t27d9iwYVzd8Pr06fPNN9/Y2toyL6Oionbs2MHJkQFU7sqVK97e3unp6Rs3bkxKSvr1119NTEzefffdr776iqtTzJs3b+HChcxyUVFRWFhYfn4+VweHrkVL1QFAa9XV1XPmzOnVq9fVq1e7d+/OFM6cOfO99977+uuvfX19R40a9UIHFAqFzc3NZmZmsoUhISFcBQyghr777rukpKTdu3cvXryYKRk/fvzkyZP9/Pw+/PDDl6jCrK6uNjIy0tXVZUt69+69du1aziIGUBuNjY0zZ87s3r17ZmamtbU1UxgcHLxw4cJNmzaNGjVq4sSJL3TA5uZmgUDA3tEYs2fP5ixi6OJQM6p2Dhw4UF1dHR0dLXvdamhobN++XUtLi322vnbt2lZZaduSmpqad955x8jIqHv37l5eXjdv3mRXBQcHz58/nxBy9uzZuXPnMiXOzs7Ozs7Z2dmKe3cAStDc3Lxt27Zhw4axmShj2LBhoaGh586d+/vvvwkhFRUVzs7Of/zxB7tB2xJCyNGjR+3s7CwsLMzNzSMjI9k23Glpafb29nfu3CGEBAQE5OTkXLx4kbmIFixYoPA3CaAwR44cKSsr27hxI5uJEkJ4PN7WrVuNjIyio6OZkujo6MGDB8vu2LaEz+czz/rNzc0HDBiQmZnJrpo/f35wcDAh5PLly9OnT2dKmCuog4f78FpCMqp2kpOTNTQ0AgICWpVbW1t7eXmlpKQwDcmrq6ufPn0qu0HbktWrV1taWmZnZ589e7apqWn8+PFVVVXMqoqKCmZ5yJAhq1atYjbevXv37t27+/Tpo7h3B6AE2dnZ9fX1EyZMaLuKqdFJTk4mhEil0sLCQj6fz65tW1JYWPjVV1/t3Lnz5s2bS5cu3bhx4+bNm5lVzc3NJSUlIpGIELJu3TpnZ+eBAwcyF9Enn3yi0DcIoFDMBdK2+tPU1HTEiBHp6enNzc2EkJqaGrbNNKNtyTfffKOtrZ2RkZGUlKShoTFhwgS2nUxVVRXTV6F///7M0//w8HDmChowYICC3hqoJzymVztFRUV2dnayTwNZTk5OmZmZtbW15ubmnTlUv379du/ezSz/8ccfHh4ee/fujYiIkN3GysqK+SHr7e09fPjwVw4fQPWYX2WOjo5tVzGFxcXFnTxUbW1tQkLCmDFjCCGDBg16+PBhVFTUqlWrdHR0ZDcbMWJEt27dzMzMxo0b92qxA6heUVGRiYlJq8ZdDCcnp6SkpPLy8navr7Z69Ohx6NAhHo9HCPnrr79cXFx27NixceNG2W3Mzc19fHwIIV5eXriC3kyoGVU7FEVpa2u3u4q5/zFXdWcEBQWxy+7u7m5ubjdu3Hj1CAHUnFQqJf+7Xlppt7AD5ubmTCbKCA4OrqurQ28/eL1RFCXvSnnR29A777zDbuzo6DhkyBDchqAtJKNqx8bG5tmzZ8zdtJXHjx8bGBi0agPeAbafL8POzu7Zs2cchAig3phvfqvHhQym0N7evpOHsrGxkX1pZ2dHCMF1BK83GxubqqqqxsbGtqseP36soaHBXAidgdsQdAaSUbXj6+srFotlW3kzGhsbb9686efnx7zU1NSUSCSyGzQ0NLTahW0hyqisrJRtjQ7wuvL29tbV1U1PT2+76sqVK4QQ5jrS0tIihMheR7KtRRnV1dWyLysrK0mbDBXgNePr60sIaXsFiUSi69evjxgxgnl8h9sQcAXJqNoJDQ3V1dWNiIgQi8Wy5d9++y2fz//444+Zl/b29hUVFewvV7FYfPXq1VaHOn/+PLtcXFycn5/fbqtwIyMjQgjTIB3gNWBqajpv3ryzZ88y/TBYxcXFP/3009ChQ729vQkhFhYWenp6ss/c2/bhLS8vZ7reM86dO6evr9+7d++2JzUyMhIKhVy+DQAVWbBggaGh4ddff93qvhAdHV1ZWfnRRx8xL+3t7fl8PvMLjRBCURTzY0+W7G2oqqoqJycHtyFoBw3qZ+fOnTwe71//+ldaWlpVVVVeXt6SJUsIIR9//DG7zY0bN3g8XmhoaHl5+cOHD+fNm2dkZNSrVy9m7d27dwkhhoaG33//fUNDw8OHD/38/AwMDJ48ecJsMGrUqEmTJjHL1dXVurq6c+bMSU9Pz87O5vP5Sn6/AJyrqalxdXU1NjbeunVrUVFRWVlZXFycg4ODmZnZgwcP2M2mTJliaWmZlpZWXV2dkJDA9Mk4dOgQszY4OFhfX9/Ly+v27dtNTU379u3T1tZesWIFs/bcuXOEkBs3bjAvV65caWJikpCQkJ2dff/+fSW/XwBu/fLLLxoaGm+99VZKSkplZWV+fv6nn37K4/HmzZvHblNQUKCpqTl37tyysrLCwsLFixcbGRmZmZkxa5nH8fr6+uvXr6+rqysqKho/fryOjs7du3eZDSZNmjRq1ChmuampycjIaPr06VeuXMnOzq6rq1Py+wXVQjKqpn7//XcXFxf2N6zmyEYAAAI1SURBVIOmpuauXbsoipLdJiIiQkNDgxCioaGxaNGijz76qFUy+uOPP7q7uzNHsLCwOHPmDLuvbDJK03RsbKyTkxPz1PLy5cvKeY8AClVRUfHBBx/IDkzh6+vL/h5j3L1718HBgVnbs2fP//znP62S0SFDhqxfv565NAghM2fOFAqFzNpWyWhZWdnkyZNNTEwIIRMmTFDmOwVQhNOnT7N3EEIIj8f74YcfJBKJ7DYbNmzQ1NRk1s6dO/fTTz9tlYxu2rSJHXm0W7duCQkJ7L6yyShN08ePH3dxcWEaAMjereBNwKP/N4AzqKFHjx6VlpZeunRpzZo1//d//7d+/fpWG9TW1t6/f9/e3r5Hjx7tHoGm6fz8fD6f7+npqaenx5YzDX3YWyzA66qxsbGgoKCmpuajjz4Si8Xp6ek9e/aU3UAqlT548KCpqWnQoEHyrojq6ur79+/b2trKDmdD07RYLNbW1u58z2KALufJkyfPnj3LyMj44osvVqxY8eOPP7baoL6+vqCgwNbWttWVJevu3bt1dXWDBg0yMDBgC3EbAhaS0a4hMjJy48aNP/zww8qVK1UdC0CXVFhY6Ovra2RkdOXKFSsrK1WHA9DFbNq06auvvtqwYQOH09MDMJCMdg00TT958oTH43VynGEAaKumpqaurs7c3NzU1FTVsQB0PUwrFycnJ1UHAq8bJKMAAAAAoDIY2gkAAAAAVAbJKAAAAACoDJJRAAAAAFAZJKMAAAAAoDL/Dx+9/UruvIIWAAAAAElFTkSuQmCC", + "image/png": "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", "image/svg+xml": [ "\n", "\n", "\n", - " \n", + " \n", " \n", " \n", "\n", - "\n", + "\n", "\n", - " \n", - " \n", + " \n", + " \n", " \n", "\n", - "\n", + "\n", "\n", - " \n", + " \n", " \n", " \n", "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", - " \n", + " \n", " \n", " \n", "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "\n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", - " \n", + " \n", " \n", " \n", "\n", - "\n", + "\n", "\n", "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", "\n" ], "text/html": [ - "" + "" ] }, - "execution_count": 22, + "execution_count": 47, "metadata": {}, "output_type": "execute_result" } From 6baf49bca36f9f3b1975c56354368131a8411d55 Mon Sep 17 00:00:00 2001 From: Haimeng Zhang Date: Sun, 9 Aug 2026 11:05:25 -0700 Subject: [PATCH 31/40] add hardware data for large-scale example --- .../time-evolution/time-evolution.ipynb | 1001 ++++++++++++----- 1 file changed, 711 insertions(+), 290 deletions(-) diff --git a/docs/tutorials/time-evolution/time-evolution.ipynb b/docs/tutorials/time-evolution/time-evolution.ipynb index 3cbe56454903..bd7f4c34e133 100644 --- a/docs/tutorials/time-evolution/time-evolution.ipynb +++ b/docs/tutorials/time-evolution/time-evolution.ipynb @@ -106,7 +106,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 1, "id": "1454cc50", "metadata": {}, "outputs": [], @@ -116,7 +116,7 @@ "Pkg.activate(mktempdir(); io=devnull) # fresh temporary environment\n", "Pkg.add([\n", " PackageSpec(name=\"Qiskit\", version=\"0.4\"),\n", - " PackageSpec(name=\"QiskitIBMRuntime\"),\n", + " PackageSpec(name=\"QiskitIBMRuntime\", version=\"0.2\"),\n", " PackageSpec(name=\"OrdinaryDiffEq\"),\n", " PackageSpec(name=\"TensorNetworkQuantumSimulator\"),\n", " PackageSpec(name=\"JSON\"),\n", @@ -135,7 +135,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "940631f3", "metadata": {}, "outputs": [], @@ -164,7 +164,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 3, "id": "4ea0efac", "metadata": {}, "outputs": [], @@ -197,7 +197,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 4, "id": "143aecbe", "metadata": {}, "outputs": [ @@ -207,7 +207,7 @@ "bit_at" ] }, - "execution_count": 25, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" } @@ -236,7 +236,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 5, "id": "aa6b4db3", "metadata": {}, "outputs": [ @@ -266,7 +266,7 @@ "⎣⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢦⠀⠀⠀⠀⠀⠀⠀⠀⠙⢦⠀⠀⠀⠙⢦⠈⠳⡿⣿⣿⎦" ] }, - "execution_count": 26, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" } @@ -315,7 +315,7 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 6, "id": "959f77e9", "metadata": {}, "outputs": [ @@ -350,7 +350,7 @@ " [-2.6605994524636195e-5 + 1.666209451620879e-20im, 2.9532145628332023e-5 - 4.33387707648945e-5im, -5.793688435837023e-6 + 1.572023652812327e-5im, -2.990681972152743e-5 - 4.767746092973612e-6im, 5.937030373177227e-5 - 2.515848316039316e-5im, -2.1873141629015416e-5 + 0.0001274172040690093im, -2.3313208885217593e-5 - 2.288272975975103e-5im, 2.9955219745474598e-5 - 4.325274969426528e-5im, -6.580507052690052e-6 + 1.770923159800002e-5im, -2.1702668886267355e-5 - 3.0142728729320408e-5im … -8.927183090969314e-6 - 3.9211979641537305e-5im, 5.9798561396861214e-5 - 2.490365316124225e-5im, -2.927485304562953e-6 + 1.8356702741523676e-5im, -2.6711940545518363e-5 - 2.4883683143055815e-5im, 8.967724203429814e-6 + 5.238269352768291e-6im, -6.579046665900118e-6 + 1.770952822000895e-5im, -2.655319342322953e-5 - 1.812661956307728e-5im, 5.942741740138474e-5 - 2.5244572524328325e-5im, -2.9261511036959767e-6 + 1.63305727281216e-5im, -2.6605994524636147e-5 + 1.1156898237795673e-19im]" ] }, - "execution_count": 27, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } @@ -381,7 +381,7 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 7, "id": "27b209db", "metadata": {}, "outputs": [ @@ -402,7 +402,7 @@ " -0.580117 0.661272 -0.661841 0.661842 … 0.661841 -0.661272 0.580117" ] }, - "execution_count": 28, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } @@ -435,7 +435,7 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 8, "id": "47e7b661", "metadata": {}, "outputs": [ @@ -445,7 +445,7 @@ "make_trotter_circuit_tn (generic function with 1 method)" ] }, - "execution_count": 29, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } @@ -483,7 +483,7 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 9, "id": "5e3ea2c3", "metadata": {}, "outputs": [ @@ -536,18 +536,17 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "id": "6b680069", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "QuantumCircuit with 20 qubits, 20 clbits\n", - " instructions: 89" + "QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x00000001293a8e00, 1)" ] }, - "execution_count": 48, + "execution_count": 10, "metadata": {}, "output_type": "execute_result" } @@ -597,7 +596,7 @@ }, { "cell_type": "code", - "execution_count": 49, + "execution_count": 11, "id": "704485a7", "metadata": {}, "outputs": [ @@ -605,20 +604,20 @@ "data": { "text/plain": [ "11-element Vector{QuantumCircuit}:\n", - " QuantumCircuit(20, 20; 30 instructions)\n", - " QuantumCircuit(20, 20; 89 instructions)\n", - " QuantumCircuit(20, 20; 148 instructions)\n", - " QuantumCircuit(20, 20; 207 instructions)\n", - " QuantumCircuit(20, 20; 266 instructions)\n", - " QuantumCircuit(20, 20; 325 instructions)\n", - " QuantumCircuit(20, 20; 384 instructions)\n", - " QuantumCircuit(20, 20; 443 instructions)\n", - " QuantumCircuit(20, 20; 502 instructions)\n", - " QuantumCircuit(20, 20; 561 instructions)\n", - " QuantumCircuit(20, 20; 620 instructions)" + " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x00000004a663fa00, 1)\n", + " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000013908ac00, 1)\n", + " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x00000001390e8000, 1)\n", + " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x0000000139102e00, 1)\n", + " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x00000001395c7e00, 1)\n", + " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x0000000139693c00, 1)\n", + " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000013914de00, 1)\n", + " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x00000004a619ea00, 1)\n", + " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x00000004a6284800, 1)\n", + " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x00000004a609e800, 1)\n", + " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x00000004a60a0600, 1)" ] }, - "execution_count": 49, + "execution_count": 11, "metadata": {}, "output_type": "execute_result" } @@ -640,7 +639,7 @@ }, { "cell_type": "code", - "execution_count": 50, + "execution_count": 12, "id": "32354a49", "metadata": {}, "outputs": [ @@ -657,7 +656,7 @@ "\"ibm_boston\"" ] }, - "execution_count": 50, + "execution_count": 12, "metadata": {}, "output_type": "execute_result" } @@ -671,18 +670,17 @@ }, { "cell_type": "code", - "execution_count": 51, + "execution_count": 13, "id": "14205fe7", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "Target with 156 qubits\n", - " instructions: 8" + "Qiskit.Target(Ptr{Qiskit.C.LibQiskit.QkTarget} @0x00000004b65f0b50)" ] }, - "execution_count": 51, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" } @@ -693,7 +691,7 @@ }, { "cell_type": "code", - "execution_count": 52, + "execution_count": 14, "id": "8828900e", "metadata": {}, "outputs": [ @@ -701,20 +699,20 @@ "data": { "text/plain": [ "11-element Vector{QuantumCircuit}:\n", - " QuantumCircuit(156, 20; 30 instructions)\n", - " QuantumCircuit(156, 20; 211 instructions)\n", - " QuantumCircuit(156, 20; 345 instructions)\n", - " QuantumCircuit(156, 20; 476 instructions)\n", - " QuantumCircuit(156, 20; 607 instructions)\n", - " QuantumCircuit(156, 20; 738 instructions)\n", - " QuantumCircuit(156, 20; 869 instructions)\n", - " QuantumCircuit(156, 20; 1000 instructions)\n", - " QuantumCircuit(156, 20; 1131 instructions)\n", - " QuantumCircuit(156, 20; 1262 instructions)\n", - " QuantumCircuit(156, 20; 1393 instructions)" + " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000048e3d9600, 1)\n", + " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000048e6b1200, 1)\n", + " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x00000001293b6600, 1)\n", + " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000015af3ec00, 1)\n", + " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000014b99ac00, 1)\n", + " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x00000001594c7c00, 1)\n", + " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000015a7f7c00, 1)\n", + " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000015f0dc200, 1)\n", + " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000014bfffa00, 1)\n", + " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000035ef20400, 1)\n", + " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x0000000139793c00, 1)" ] }, - "execution_count": 52, + "execution_count": 14, "metadata": {}, "output_type": "execute_result" } @@ -733,7 +731,7 @@ }, { "cell_type": "code", - "execution_count": 53, + "execution_count": 15, "id": "bf4c910c", "metadata": {}, "outputs": [ @@ -763,7 +761,7 @@ " 62" ] }, - "execution_count": 53, + "execution_count": 15, "metadata": {}, "output_type": "execute_result" } @@ -778,7 +776,7 @@ }, { "cell_type": "code", - "execution_count": 54, + "execution_count": 16, "id": "5fa03372", "metadata": {}, "outputs": [ @@ -830,7 +828,7 @@ }, { "cell_type": "code", - "execution_count": 55, + "execution_count": 17, "id": "7bcdead5", "metadata": {}, "outputs": [ @@ -838,20 +836,20 @@ "data": { "text/plain": [ "11-element Vector{QiskitIBMRuntime.Job}:\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000049dddda90)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000004a63d0240)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000049f2e48e0)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000105722d30)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000105713880)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000105711650)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000004a63d20b0)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000105714870)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000010571bd00)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000105723090)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000049dd8a7b0)" + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000004b65f5d20)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000128f042b0)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000004b65a6f60)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000004b6f447a0)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000004b6f1ab80)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000128f04a20)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000128f06b90)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000128f06a10)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000128f0a9b0)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000128f04ca0)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000004b6f517a0)" ] }, - "execution_count": 55, + "execution_count": 17, "metadata": {}, "output_type": "execute_result" } @@ -863,7 +861,7 @@ }, { "cell_type": "code", - "execution_count": 60, + "execution_count": 27, "id": "9bca942a", "metadata": {}, "outputs": [ @@ -881,7 +879,7 @@ "Job 8: Completed\n", "Job 9: Completed\n", "Job 10: Completed\n", - "Job 11: Completed\n" + "Job 11: Running\n" ] } ], @@ -902,7 +900,7 @@ }, { "cell_type": "code", - "execution_count": 61, + "execution_count": 22, "id": "e8f81320", "metadata": {}, "outputs": [ @@ -910,20 +908,20 @@ "data": { "text/plain": [ "11-element Vector{QiskitIBMRuntime.Samples}:\n", - " [\"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\" … \"0x55555\", \"0x55555\", \"0x55455\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55545\", \"0x55555\", \"0x55555\", \"0x51555\"]\n", - " [\"0x12db6\", \"0x72964\", \"0x38a64\", \"0x1b45c\", \"0x26288\", \"0x156c2\", \"0x78534\", \"0x129da\", \"0x38ec8\", \"0x27dca\" … \"0x15c12\", \"0x4ec02\", \"0x28f56\", \"0x50894\", \"0x7e062\", \"0x24370\", \"0x5570e\", \"0x2d41a\", \"0x45b2\", \"0x16b04\"]\n", - " [\"0x1696c\", \"0x70740\", \"0x629ce\", \"0x31a0e\", \"0x22b82\", \"0x3276a\", \"0x4d104\", \"0x1ff92\", \"0x89e0\", \"0x77228\" … \"0x1746\", \"0x3364c\", \"0x12f2a\", \"0x3616a\", \"0x64978\", \"0x2a55e\", \"0x521f8\", \"0x72334\", \"0x66456\", \"0x1cdb6\"]\n", - " [\"0x3c8ba\", \"0x5f034\", \"0x1a686\", \"0x26d30\", \"0x14d8c\", \"0x7304e\", \"0x6434c\", \"0x4c7a8\", \"0x37866\", \"0x2d88\" … \"0x46c52\", \"0x4ccbe\", \"0x3f9e8\", \"0x674ca\", \"0x91aa\", \"0x51080\", \"0x5968e\", \"0x483de\", \"0x61a86\", \"0x286de\"]\n", - " [\"0x5f152\", \"0x3bf0\", \"0xd2ae\", \"0x3c286\", \"0x1a39a\", \"0x34954\", \"0x4dc52\", \"0x20414\", \"0x52d9e\", \"0x724f2\" … \"0x7c4c2\", \"0x541ca\", \"0x77280\", \"0x42644\", \"0x5e9ee\", \"0x2d306\", \"0x5f7a8\", \"0x1a3dc\", \"0x8b07a\", \"0x7cf82\"]\n", - " [\"0x48b4e\", \"0x2d2e2\", \"0x173d2\", \"0x7aa22\", \"0x41b5c\", \"0x47166\", \"0x324a4\", \"0x2c3c0\", \"0x390ea\", \"0x57b70\" … \"0x3d9c4\", \"0x7ce34\", \"0x243e4\", \"0x7a51c\", \"0x2af08\", \"0x4b2ba\", \"0x71686\", \"0x532f2\", \"0x72872\", \"0x65180\"]\n", - " [\"0x2fdf2\", \"0x7c036\", \"0x53326\", \"0x34248\", \"0x166a2\", \"0x16d36\", \"0x13d96\", \"0x5c404\", \"0x237f6\", \"0x4c252\" … \"0x3a232\", \"0x75c20\", \"0x50be6\", \"0x1a812\", \"0x20612\", \"0x65184\", \"0x5815e\", \"0x1cb9a\", \"0x72816\", \"0x2e6e8\"]\n", - " [\"0x2a6ac\", \"0x2fe16\", \"0x617d6\", \"0x8804\", \"0xfd6a\", \"0x6f0d4\", \"0x524c2\", \"0x28484\", \"0x71fd8\", \"0x704f4\" … \"0x6729a\", \"0x4b026\", \"0x23334\", \"0x61ed4\", \"0x2df3e\", \"0x29dea\", \"0x7a070\", \"0x54052\", \"0x1842a\", \"0x3737a\"]\n", - " [\"0x66b0\", \"0x405a4\", \"0x1a02c\", \"0x67d10\", \"0x71f54\", \"0xa450\", \"0x5b582\", \"0x7cf58\", \"0xe588\", \"0x6a24c\" … \"0x7a406\", \"0x3f996\", \"0x4a41e\", \"0x3cf1c\", \"0x359c6\", \"0x4a038\", \"0x54388\", \"0x58882\", \"0x333ec\", \"0x22aa8\"]\n", - " [\"0xf2\", \"0x4f7c4\", \"0x3dd3a\", \"0x3502c\", \"0x6279c\", \"0x45ff2\", \"0x43eae\", \"0x1210c\", \"0x3b084\", \"0x75682\" … \"0x396a4\", \"0x2b6f2\", \"0x6c56e\", \"0x2ac86\", \"0x5226e\", \"0x588c4\", \"0x71040\", \"0x5acf4\", \"0x4d466\", \"0x3ad2e\"]\n", - " [\"0x712d6\", \"0x4f2c2\", \"0x7acf0\", \"0xc9c8\", \"0x4eba4\", \"0x43aa6\", \"0x4462c\", \"0x4b002\", \"0x5a1a0\", \"0x3daf4\" … \"0x64388\", \"0x1c39c\", \"0xbbe2\", \"0x649e2\", \"0x608c0\", \"0x59534\", \"0x17b42\", \"0x67ba2\", \"0x49f26\", \"0x6c99e\"]" + " [\"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\" … \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\"]\n", + " [\"0x555c5\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55554\", \"0x55555\", \"0x55559\" … \"0x55555\", \"0x55455\", \"0x55559\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x554d5\"]\n", + " [\"0x55555\", \"0x55557\", \"0x55555\", \"0x54555\", \"0x55545\", \"0x55555\", \"0x55515\", \"0x55155\", \"0x5515d\", \"0x55557\" … \"0x55555\", \"0x55555\", \"0x55471\", \"0x57555\", \"0x55545\", \"0x55955\", \"0x54555\", \"0x51555\", \"0x55555\", \"0x55554\"]\n", + " [\"0x55495\", \"0x55555\", \"0x55555\", \"0x55755\", \"0x55155\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55515\" … \"0x55555\", \"0x55555\", \"0x55574\", \"0x55575\", \"0x45551\", \"0x55155\", \"0x45555\", \"0x55555\", \"0x55555\", \"0x55555\"]\n", + " [\"0x55555\", \"0x55555\", \"0x55555\", \"0x57455\", \"0x55555\", \"0xd55b5\", \"0x55d95\", \"0x55455\", \"0x56554\", \"0x55d55\" … \"0x4c155\", \"0x55555\", \"0x55714\", \"0x575e5\", \"0x55554\", \"0x5d65d\", \"0x55575\", \"0x55554\", \"0x5d415\", \"0x5551d\"]\n", + " [\"0x55556\", \"0x55555\", \"0x55511\", \"0x55515\", \"0x51555\", \"0x55559\", \"0x55455\", \"0x15775\", \"0x5d5cd\", \"0x45554\" … \"0x55414\", \"0x5555f\", \"0x55155\", \"0x55555\", \"0xd5d56\", \"0x5555f\", \"0x17555\", \"0x55554\", \"0x55555\", \"0x55051\"]\n", + " [\"0x5b55c\", \"0x55155\", \"0x57f54\", \"0x57777\", \"0x5555d\", \"0x55575\", \"0x57d55\", \"0x55514\", \"0x5d515\", \"0x55451\" … \"0x55514\", \"0x75555\", \"0x55557\", \"0x55554\", \"0x5547f\", \"0x15d45\", \"0x55545\", \"0x55115\", \"0x55575\", \"0x5d575\"]\n", + " [\"0x55515\", \"0x55555\", \"0x57545\", \"0x71f45\", \"0x56555\", \"0x55d55\", \"0x55154\", \"0x57755\", \"0x57155\", \"0x5d555\" … \"0x55d55\", \"0x55f55\", \"0x55515\", \"0x55557\", \"0x5555d\", \"0x5d555\", \"0x55155\", \"0x55155\", \"0x55555\", \"0x57555\"]\n", + " [\"0x55555\", \"0xd50d5\", \"0x57145\", \"0x75554\", \"0xd6d0d\", \"0x5f55c\", \"0x75552\", \"0x77155\", \"0x95595\", \"0x37d54\" … \"0x6b551\", \"0x55555\", \"0x57755\", \"0x5d554\", \"0x554c5\", \"0x77659\", \"0x5505d\", \"0x57595\", \"0x55315\", \"0x75559\"]\n", + " [\"0x55501\", \"0x55555\", \"0xf559d\", \"0x55454\", \"0x74d54\", \"0x5455d\", \"0x35555\", \"0x74754\", \"0x55d1d\", \"0x54554\" … \"0xd5155\", \"0x51115\", \"0x57555\", \"0x75555\", \"0x55d77\", \"0x54755\", \"0x57675\", \"0x59470\", \"0x5559c\", \"0x56556\"]\n", + " [\"0x561f5\", \"0x53735\", \"0x7f557\", \"0x5765d\", \"0x1712d\", \"0x55555\", \"0x46f55\", \"0x56535\", \"0x77737\", \"0x53455\" … \"0x55cd5\", \"0x5d5d1\", \"0x57475\", \"0x555d4\", \"0x7c5e5\", \"0x55945\", \"0xd5535\", \"0x7c556\", \"0x7dd55\", \"0x57555\"]" ] }, - "execution_count": 61, + "execution_count": 22, "metadata": {}, "output_type": "execute_result" } @@ -944,7 +942,7 @@ }, { "cell_type": "code", - "execution_count": 62, + "execution_count": 23, "id": "e9dd9a79", "metadata": {}, "outputs": [ @@ -954,7 +952,7 @@ "\"0001\"" ] }, - "execution_count": 62, + "execution_count": 23, "metadata": {}, "output_type": "execute_result" } @@ -971,7 +969,7 @@ }, { "cell_type": "code", - "execution_count": 63, + "execution_count": 24, "id": "8ad39f14", "metadata": {}, "outputs": [ @@ -979,7 +977,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Saved to results/counts_N=20_2026-08-09_095539.json\n" + "Saved to results/counts_N=20_2026-08-09_101726.json\n" ] } ], @@ -1009,7 +1007,7 @@ }, { "cell_type": "code", - "execution_count": 64, + "execution_count": 25, "id": "c74b479d", "metadata": {}, "outputs": [ @@ -1017,20 +1015,20 @@ "data": { "text/plain": [ "11×20 Matrix{Float64}:\n", - " -0.990234 1.0 -0.984375 … 0.994141 -0.988281 1.0\n", - " 0.994141 0.0605469 0.0195312 0.0566406 0.0175781 0.998047\n", - " 0.992188 0.0957031 0.0507812 -0.00195312 0.00585938 0.996094\n", - " 0.996094 -0.0253906 0.0507812 -0.00390625 0.03125 0.990234\n", - " 1.0 0.0214844 0.0917969 0.0390625 -0.00195312 0.990234\n", - " 0.992188 0.0214844 0.015625 … -0.0292969 0.0117188 0.990234\n", - " 0.994141 0.0214844 0.0800781 0.0410156 0.0351562 0.998047\n", - " 0.996094 0.0273438 0.0351562 0.03125 0.0195312 1.0\n", - " 0.998047 0.0742188 0.0390625 0.0585938 -0.0175781 0.994141\n", - " 0.996094 0.0683594 0.0214844 0.0195312 0.0292969 0.984375\n", - " 0.990234 0.00390625 0.0703125 … -0.0078125 -0.0625 0.988281" + " -0.984375 1.0 -0.980469 1.0 … 0.998047 -0.988281 0.998047\n", + " -0.925781 0.960938 -0.914062 0.978516 0.982422 -0.955078 0.974609\n", + " -0.869141 0.914062 -0.925781 0.949219 0.949219 -0.912109 0.933594\n", + " -0.84375 0.916016 -0.892578 0.902344 0.9375 -0.914062 0.921875\n", + " -0.792969 0.867188 -0.884766 0.880859 0.875 -0.894531 0.896484\n", + " -0.705078 0.830078 -0.841797 0.839844 … 0.851562 -0.878906 0.878906\n", + " -0.664062 0.777344 -0.873047 0.822266 0.818359 -0.908203 0.869141\n", + " -0.673828 0.736328 -0.835938 0.734375 0.779297 -0.914062 0.820312\n", + " -0.576172 0.708984 -0.787109 0.716797 0.746094 -0.851562 0.804688\n", + " -0.472656 0.642578 -0.736328 0.650391 0.675781 -0.816406 0.720703\n", + " -0.458984 0.626953 -0.746094 0.623047 … 0.658203 -0.767578 0.666016" ] }, - "execution_count": 64, + "execution_count": 25, "metadata": {}, "output_type": "execute_result" } @@ -1055,54 +1053,54 @@ }, { "cell_type": "code", - "execution_count": 47, + "execution_count": 26, "id": "cc5496cc", "metadata": {}, "outputs": [ { "data": { - "image/png": "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", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA4QAAAEsCAIAAAAU/OrGAAAABmJLR0QA/wD/AP+gvaeTAAAgAElEQVR4nOzdd1xT1/8w8HMz2FOmyBIQUUCmo64qQ3FPLIooIoq2jtq6qtY6qnVbZ6lWXLVO6sAtoKIsARFRRBRkaiBA2NnJ88f9fdM8gQsBLyTg5/3ij+See+75JOTmnpx7BiYWixEAAAAAAACKQFF0AAAAAAAA4MsFldH2VV9f//r16/j4+IyMDDabLZN69uzZ+fPnv3nzpoOjunbt2vz58589e0b6kf/666/58+fn5uaSfmQAwOfYtWtXWFhYVVWVogMBXdPKlSuXL1+u6ChAZwWV0fby9OnTMWPGGBgYODk5DR061NXVVVdXd8yYMffu3ZPeJyIioqSkpINjS01NjYiIaI8q46NHjyIiIkpLS0k/MlAsHR0dlZa4u7srOsy2S0lJwTAMwzBPT8/GnZe8vLwwDHvy5EmrjikQCI4dO3b58mXywmy7GzduHDt2rKGhQdGBAPKNGDFCRUUlOjq6cdKdO3dUVFR8fHzaO4YzZ86cOnWqvUsBXRVN0QF0Tdu2bfv555/FYrGHh4e3t3e3bt3q6uqePXsWGxt79+7dmzdvjhs3ToHh2djYjBgxwsTERIExgM7lq6++4vF4kqdv37799OmTra2thYWFZKONjY0iQiNZWlpaZGTk9OnTP/9QXC43LCzM0dHR39//848GABE+n8/n80UiUeMkkUiEp3Z8VADIDyqj5Dtx4sSGDRs0NTXPnj07ZcoU6aQPHz4sW7aMw+EoKjZcSEhISEiIYmMAnYt0iz5CaOHChcePH1+0aNHKlSsVFVJ70NfXZ7FYGzZsmDx5Mo0GX48AANAR4NuWZDU1NT/++CNC6OTJkzI1UYRQz549b9y4wWKxmjlCVVVVYmJiYWFhXV2dubm5l5eXkZFR493S09Nfv37NYDD09fV79OgxdOhQLS0tSapQKIyPj8/Nza2srDQwMLCxsRk0aJCKigqe+vHjx0+fPtnY2Ojr60sfk8PhxMXF5eTkCIVCCwuL4cOHGxoaSlLFYvHLly/xQtXV1d3c3AYOHIhhWCvfIdCV1dfXx8TEfPjwgUKh9OvXb9iwYRTKf32BeDxeZmamtra2vb09i8W6desWg8GwtLQcM2aMtra2zKHy8vLS0tKKi4tVVVW7d+8+ePDgxm356enpycnJ9fX15ubmPj4+BgYG0qkMBqOkpMTKysrQ0DAzMzMhIaG+vj4kJERPT48ofgcHB2Nj4+vXr586dSo0NLTF18tms2NiYnJzczEMc3Jy+vrrr6lUKp7EZDLfvn2L75OWloZv1NfXt7GxefHiBYZhLi4uMqFqaWn17t1bsjE/P7+ioqJ3797Sp3ZeXt7jx4+ZTKaJicnIkSMtLS2l46murn7//r2xsbGFhUVhYWFMTEx5efm0adOIGq1LS0uLi4tpNJp0MOBL8ObNm5cvX378+JFOp/fr12/o0KHSpypCqKCgoLy83N7eXktLKykpKS0tTSgULl26FN+tqqrqzp07Hz9+NDc3HzNmjI6OjnTempqad+/eGRkZSX8+s7Ky2Gy2hYWFsbGxZOPz58/pdLqzszNZgYnF4pSUlLS0tIaGBisrK19fX11dXVLfOdA+xIBU4eHhCCFXV1d5dl64cCFC6MGDB5Ity5cvl2mPUVdX37t3r3QuFovl7e0t83+k0+kMBgPf4e3btw4ODjI7WFtbS46wfv16hNA///wjfdiLFy+amppKZ6HRaBcuXMBTs7KyevToIXPMgQMHFhYWSh8kMDAQIRQfH9+a9wx0PgsWLEAI7d69W3rj6dOnZaqDLi4u79+/l+xQUFCAEPr666///fdf6dqnqalpenq6ZDehULhkyRKZ3zkYhkVFRUn2YTKZvr6+0jtoamoePHhQOp5t27YhhA4fPhwQECDZLSsrq8lXhI/n++qrr968eUOj0czMzOrr6yWpI0eORAjFxcVJZ7lw4YL0ZRUh5OjomJ2djacePXoUNeLv7y8Wi/FfcZITViwWz549GyFkYGAgFAolG/v3749hWFlZGf6Uy+WGhoZKX5ipVOry5cv5fL4kS1RUFEJo6dKlv/zyi2RP/CweMmQIQqikpESyc3JysrGxsaampvQbCzqjwYMHI4Tu3bvXOOnmzZsIoeHDh0u2fPr0qWfPnjKfzL59+75580Y6I3737MqVK/iHH8fj8cRi8Z07d6TPdAMDg5iYGCMjIx0dHTwvfqaPHDlScjQ+n4+f8osXL5ZszM/PRwj5+PiQFdibN288PDyks+vp6Z0/f/4z317QAWAAE8kePnyIEBo/fnzbsldUVCxZsuT27duvX7/OyMgIDw/X09P78ccf8S8U3IYNG2JiYvz9/RMSEgoLCzMzMy9dujRx4kTJDsHBwdnZ2atWrXrx4kVhYSE+XGnAgAHNlHvp0qWAgIDa2trt27dnZGS8efPm5s2bwcHBXC4X36GqqsrOzu6vv/6Kj49/9+5dbGysv79/cnIydIYDuLNnzwYHB9Pp9PDw8IyMjJSUlBUrVmRmZo4ePbqurk56z3fv3gUFBS1ZsiQuLi4uLi4gIIDBYMyZM0eyw/nz5w8fPuzu7n779u2CgoI3b97cvXs3LCxM0rTP5/PHjx//4MEDPz+/p0+fvnv3LiIiQk1NbdmyZSdOnJAJbNeuXYmJiUeOHHn69GlkZKR0Y3+THBwcAgMDP378+McffzSz25UrV2bOnCkWi48cOZKenp6amrp69ers7OxRo0bhI9YnTJiAVw2trKwe/M/PP/+MEPL29haLxfh3BS42NpZCoVRUVGRkZOBbqqqqnj9/7uLiIrkxEhYW9tdffzk5Od25cyc3N/f69eu2trYHDhzAb8VIu379+u+//75t2za8k7p0s5P0PiNHjhQKhffv32/z9xXojBoaGoyMjI4cOfLkyZP379/HxcWFhoZmZWVNmDBBul847ocffqisrIyIiEhISDh79iyGYW/fvp06dWpNTc2uXbvy8vJevXo1Y8aM6dOn19fXS3JZWlr26tUrISFBMmAuKSmptraWQqFIj7LCH3t5eTUO7N27d60NrLi4ePjw4RkZGcuXL3/69GlWVtaJEyfodHpgYOCjR4/IfhcB2RRdG+5q+vfvjxA6d+6cPDs3bhltDL/BJ/ntKBaL+/Tpo6KiwuVym9wfP/nd3NyaOaZMy2hDQ4OxsTGFQomJiZEnbImxY8cihBITEyVboGX0CyHTMlpbW6uvr6+pqZmTkyO9G15P2rdvH/4Uby9BCIWHh0v2EQqF+L1pSZsi3vLRzKfo7NmzCCFnZ2e8OQT34MEDhJCRkRGbzca34C2jKioqubm5Lb4iScuoWCzOz89XVVXV19evrKzEU2VaRtlstomJiZqa2qtXr6QPgtc1t23bhj/Fa+GOjo4yZcXExCCEQkND8adZWVkIIbz5VvKWXr16FSH0448/4k/xSqqOjg6TyZQcp7CwUE1NjUKhSJqf8eovQuj27dsyhUq3jB4/fpxGo9na2sr8v0AnhbeM9unTZ1Aj+F0y6ZbRJuEn3dWrV2W2GBsbV1dXS+85c+ZMhND27dulN06bNg3/fEq2hIWFIYTu37+PP920aZPkQ56fn49vxJ8+e/aMlMBmzZqFEPr999+lNyYlJVEoFPy8BsoMWkZJVl1djRBq3AGuzdzd3c3NzaXnBNXX1+fz+ZJeaDJUVVU1NDSKioqKi4vlLOLBgwdlZWU+Pj6SX6hymjRpEkKoPeYrBZ3LzZs3WSzWN99806tXL+nt3377LULozp070hv19fWlu2NSKBR83pkPHz5IdkAIJSYmEhWHV9RWrlxJp9MlG318fPr3789kMmUmYJoxY0Zrh/lbWVmFhYWxWKz9+/c3ucP9+/dLS0unTJni6OgovX3x4sWo0ettbPDgwerq6njtGSGE102XL19uamqKP5ZslHTIwV/yggULpFt2LSwsAgMDRSLR9evXpY/fr1+/MWPGNFm0WCzetGnTggULPDw8EhMTZf5foFMrKCh43YjkF2DziL7MFy9eLN0fVCgU3rhxQ11dHT+1JRo3z+NXE+nPs5WVFd7+EhsbixASi8WPHj3S1dVtfko4OQNjs9mRkZG6urpLly6V3m3gwIHu7u5JSUmVlZXNlAIUDgYwkUxTUxMh1ObJ/Nhs9sGDB69evVpYWFhaWio9VQefz8cvvSEhIQkJCUOHDh0xYoS3t7ePj4+np6ekfxiFQgkODj569Ki9vf3o0aO9vLxGjRolPSqiMbzRxdXVtfnYkpOT9+7d+/Lly6KiIukXWF5e3rYXC7qM9PR0hFB+fv7atWult4tEIgzD8J5hEnZ2dpJRPjh8ZJJketqgoKCDBw+uXLny7NmzY8aMGTFixIgRI1RVVSX7402Jbm5uMmF4eHikpKRkZWVJdyft27dvG17Rhg0bTp48uW/fvm+//VamL7Xk9ZaUlMi8XoQQlUqVeb2NqampDR48OCYmJi8vz8bGJiYmRldXt3///iNGjLhx4waXy1VVVY2JiaHRaEOHDsWzNPOST5w48fr1a+mNzbzkefPmPXjwYMqUKefOnVNXV28+TtC5XL16ddSoUTIbb9261bgbxqtXr3bt2pWamlpUVCTdi6bxl7nMZ6mgoKC+vt7BwUFmVJCLi4tMJ29vb2/8bhtCqKGh4dmzZ7Nnzx4yZIiGhkZMTMy8efNevXrFYDAmTZok/W3Q5sBev37N5XINDAzWrVsns2dtba1YLC4sLOzWrRsCygoqoyQzNzdPT0/Py8trQ16BQDBq1KinT5/a2tpOmzbN0NBQTU0NIbR///7S0lKBQIBXRufPn6+jo7Nv375Hjx7FxsauX7/ezMxsx44dQUFB+HEOHDhga2v7119/Xbt27dq1awghZ2fnw4cPDx8+vMlya2pqEEJmZmbNxHbjxo1p06bRaDRfX98pU6bg45EzMjLOnz8vFArb8GJBV4L3kkxOTsZradL09PSk2y8RQhoaGjL74JcxyU8vFxeXhISEX375JSYmJiMjY8eOHVpaWitWrNiwYQPebRS/SjUeXI9vqa2tld7YYifRJhkZGa1YsWLLli3bt28/ePCgTCo+IUZaWlpmZqZMEr46QIvH9/b2jomJiY6Onj9//uPHj0eOHEmlUr29vS9cuJCcnGxnZ5ednT1kyBDJPRayXvKLFy8QQkOHDoWa6BcrPj7e19dXIBCMHDlywoQJeBUtLy/v2LFjjb/MZT5L+OdQZtweQkhDQ0N6zgeEkIGBgbOz8/Pnz8vLy1NSUrhcrre3t4qKypAhQ6Kjo8X/66wiPRj3cwLDv4LKy8uPHTvW+CXr6+s37nUKlApURkk2dOjQqKio6Ojon376qbV5r1+/jq/bFBUVJf1jcc+ePTJ7+vv7+/v7M5nMR48e3bx588KFC3PmzNHX18d/AdNotB9++OGHH37Iz8+PjY2NjIy8c+eOn5/fy5cv7ezsGpeL/8ZtfiGoNWvWiESiR48eDRw4ULLx4MGD58+fb+3LBF0PXmfaunXrihUrSDmgp6fnrVu36uvr4+Pj79+/HxERsXXrVqFQiHcDxYsrLS2VuSgyGAyEkMwsM222atWq8PDwP//88/vvv5dJwgP46aef8O7XbYBfg2NiYtzc3CTzY+ANujExMQUFBWKxWPo6LXnJMsdp8iU3M+FaVFRUUFDQjz/+WFtb+8svv7QteNCpbdiwgc1mX79+XXrY66VLl5qsxsnAa5yNP4cNDQ21tbUyn0Nvb++MjIy4uLiEhAQMw/CO197e3g8ePMjKympcGf2cwPATxN3dvZnuPUCZQZ9RkgUGBqqoqDx8+DApKYloH4FA0OR2vNHC399fuiZaWFhIdB/cyMjI39//9OnThw4dQghFRkbK7GBtbR0SEnLr1q1Fixax2ezbt283eRy8y87z58+JAuZyudnZ2T179pSuiSKEiPqtgi8Nfvs4ISGB3MNqamqOGjVqz549jx8/RghduXIF34731ExNTZXZPyUlBSHk5ORESulaWlqrV6/m8XibN2+WScJfb4uXPTqdjmFYk+e7h4eHvr5+TEwM3nMUvyRbWVnhd+0bX6fxl9z4jGvtS7awsHjy5Imzs/OmTZsa9zEAX4KMjAwtLa0JEyZIb5Tzy9zKykpbWzs/P19mtuwmLx+SX1wxMTFOTk54dxd84927d+Pi4kxMTPr06UNKYI6OjioqKi9evJAe1A86EaiMkqxHjx74ANiAgIDs7GyZVA6Hs379esmIVxn4HC6FhYXSGzdu3Cizm8xEOeh/d9jxaZh4PF7j+xHdu3eX7NCYt7e3mZkZPgtMkzuoqKjo6uoymUzprqLZ2dnQLApwEydONDAwuHbtWpP1s8af2OY1+QnHMEzyAcbX6ty3b5/0R/3u3bvPnz/v3r27pJ/l5/vuu+8sLCzOnTv37t076e1jxowxNTW9c+dOk1PGSOJXUVExNDRkMBiNF2OkUqnDhw+vqKj4448/zMzMJJdkHx+fZ8+e3bt3T1NTU/q337Rp0zAMO3HiRFlZmWRjfn7++fPnqVRq4/U1mmFiYvL48eMBAwbs3LlzyZIlYrFY/rygCzA0NGxoaJBu4/j06VPzE5lJUKnUyZMnc7ncw4cPS29vfPsOITR8+HA6nX79+vWXL19Kflm5ubl169bt999/r6mp8fHxkW7FNzIyamhoYDKZbQhMS0vL39+fw+E0/umIWv8VBDoeVEbJt2XLFn9//4KCAldX19DQ0HPnzkVHR0dGRq5Zs6ZXr17bt29vcgVhhNDXX3+NYdju3buPHDmSlZWVmJgYHBz877//yqzAZGtrO3/+/CtXrjx//jwrK+vChQvLli1DCM2YMQMhlJ+fb2FhsWrVqhs3brx69SozM/PIkSO7d+9WVVXFhyU2pqqq+scff2AYNmXKlI0bNyYmJmZmZl69enXOnDknT55ECGEYNmLEiJqamqlTp8bFxb19+/bUqVPe3t7S65KDL5m2tnZ4eLhIJPLx8fn555/v37+fmZl5586dvXv3uri4yHk5kZg2bdr48eNPnz6dkJCQk5Nz7969qVOnisVi/BOOEJo+ffrQoUNfvXo1duzY6Ojo169fHz16FJ9xZteuXfJ02ZSTmpraL7/8IhQKZeamUFdXP378OIZhY8aM+emnn+7du5eZmXnv3r39+/d7eHjs27dPsqenp2d1dfX06dN///33Y8eOSU+yiF+ei4uLpVtAvby8+Hw+g8EYNmyY9Avp27dvWFhYTU3NyJEjr1279vr160uXLnl5eXG53B9++MHKyqpVr0tfX//evXtfffXVkSNHFi9eTPSNBLqkkSNHikSiyZMnR0dH5+TkXLx4cfjw4U2u89ekX375RUtLa8uWLVu2bHn16lVKSsq8efPi4+Mb9wXX0tIaMGBASUkJ/s2Ab6RSqSNGjMBPKJnVWz4zsD179pibm+/evXvatGmRkZEZGRlPnjw5derUlClTGo/rAkpHcbNKdWUikejIkSONlyyysLDYu3evZIrQxvOM7t+/X3oFJmNjY/wGB0KooaEB36fxsHctLa39+/fjqUVFRY3L7d69u/QiK02uwHTjxg2ZyqW6uvq///6LpxYXF8tMnR0UFHTmzBmE0Lp16yQHgXlGvxBNrsB069YtW1tbmc+ejY3NzZs38R0kKzDJHG3r1q0IoYiICMnBZYbbU6nUhQsXcjgcSRYWizV58mTpfXR1dY8fPy59WLyD6bFjx+R5RdLzjEoTCASSZkuZFZju37/feJ4KKysryVkjFovfv38/dOhQycvBV2DCSYbAnzp1SrKxvLwcnxlD5r0Vi8V8Pn/ZsmXS3w8qKirr1q2TXrRJsgJT4xfYeAWmuro6vDYQGBgovYwT6HRatQJTZWUlvr/E+PHj8U9OSEiIZDd8Os8mJ59++PCh9BQTxsbGT548kV6BSQK/s0ej0aTnBD1y5Aie8cOHD9I7f35gRUVF+OzX0nR0dCTz9QJy1dTUNN7IZrOJ5kFvBiaGezTtRiQSvXjx4s2bN7W1tZqamk5OTv369ZO+ypaVlVVXV5ubm0uPbC0pKUlOTmYymVZWViNGjFBTUysuLubxeD179pTc0fj06VN6enppaSmGYZaWlv3795eZ2TQnJyc7O5vBYGhoaNjY2PTv3196RHNFRUVlZWX37t1lxj/y+fzExMR3795hGNajR48hQ4bIrHefkJDw7t07Op0+aNCgXr161dXVlZWV6enpSabMKC0trampsbCwwOcBAF0V/tE1MjKSWeddKBSmpaVlZWVxudzu3bvb2tpKz8QpEAjwedplpm6oqqqqrKw0MjKSfIxrampSUlI+fvzI4XB69Ojh5uaGdzWRkZOTI1mb/uuvv5Y5CxofthlcLrekpKRxbAihiooKfP5gMzMzmQ+2UChMT09//fo1h8MxNTW1sbFpcrkjgUDAYDB4PJ6mpqZkRLxYLManVpU5bEFBgVAoNDU1bdzUhBD6+PHjkydPWCyWgYHB119/LTOEq6GhgcFg6OjoNB5Qj7+ZVlZW0l9B+KtGCPXo0UN68izQuRQXF7PZ7B49ejT+zDQ0NJSUlGhoaEg3UojF4mfPnmVlZVGpVDc3N2dnZw6H8/HjR21tbUlLJJPJrK2t7d69e5MTL9TX10dHRzMYjO7du/v4+GhoaOCj7qytraV3w68RNBpNepF6Npv96dMnDMMaL/75+YEhhPLz85OTk1kslp6enoWFhaenJ3y2WyUlJWXHjh3Pnz83MDBo3DUfd/369bCwMKFQaGJicvHiRfx7nsPhBAcH3717VywWh4SE7Nu3r5nBlDKgMgoAAAAAABBC6Pnz5y9evGCxWH/++WdOTk7jHWpra83Nza9cueLr67t9+/aoqCh8tMDu3buvXbsWExNTX18/cODAXbt2TZ06Vc5Coc8oAAAAAABACCF3d/eQkBB7e3uiHa5evWpnZ4dPRbds2bL09HS8znrmzJlly5apqakZGBiEhIScPn1a/kKhMgoAAAAAAOSSm5srWQFLS0vLwsIiNzcXIZSXlyfpYd+nT59Wrf7TuSe9//TpU5M9yQAAciovL9fV1ZVZJAkA0CpwMQJKrqamJjU1VWYdVwlra2sDAwM5D1VVVSXdO1lbW5vFYnG53IaGBsl2LS0tmclom9eJK6MFBQVH5s/6fuoEoh0OGI0hSlrwRnZ+eIljfaYRJS2UyoUvui3pnNtMLpmMbSuumVz4SDTJ2vTN5CKluOZzCYVCyfCIDn5Pzg+cRRTJz6MdmonkC/fLyhXzLLoRLQZ7wMiPKGMzJ9Fx4v/gAuIPTKsytq24ZjLKRNLexTWTkZT3pM0ZLwz47zwSCoUUCkXyLbcBziMCOTk5V7auXPLNZKIddggHECV9E32SKOmS7zyipAmR4fgDfFouyfc/Qqh0zQaiXF+lXiRK2qU6gihp+aemJ8ZGCO03Hid5LPO5XV0fQ5TrYm/CaXEnp5wjSiqdsZQoqXbtfy9ZJozkucuIcrme/J0o6fG0RURJAdGniJLOewcThbHL34UoVzMWbTlZVlnb8n7yeZN0uzw3jWgauODg4CVLlsh5KCMjo1evXkmeVlVVGRsbq6qq6ujo4KuL4xvln5YLderKqEAgsNVSrXuZQrTDE8v+REn+yYRLxTyhfU2UNKNNudqckfRcHVxcB78nySaEvz1AM6hCoU55SV1504vBPrH0JMrYtpOomVxtzgjFkZgRzqM2EAgE9gbavLzXRDvEC2SnPJPwfhhHmMtmIlGS572HREkfQgmX5HXNSidKeqLpSJQU8i6ZKCmuJ+FF9rsqwpWT0jW9iJK8nxOWxRizkCip4m4sUdKzEUFESXp3CHM96TedKMkr5jFhLotxREltE538pohRSdbRRBUNQRMmREREfP6hHB0d8YkdEUJMJrO4uNjBwQHfnpaWJlnTUXoqlRZBn1EAAAAAAOWCUagk/iFM3vpeTU1NdHR0RkZGQ0NDdHS0ZHangICA2NhYhND48ePZbPbevXuLiopWr149ZswYc3NzhFBYWNiuXbtevXoVHx//119/hYWFyf9iO3HLKAAAAABAl/R/lUiyjiZ3ZfTTp087d+5ECPXp02fnzp1OTk6enp4IIVVVVbxDCJ1Ov3Xr1urVq8PDwwcNGnTixAk845w5cxgMxsyZM1VUVPbs2TNs2DD5w4PKKAAAAACAcsEwCpmVUYq8ldHevXs/ePCg8XbpqZr69et39+5d2SIwbM2aNWvWrGlDeFAZBQAAAABQLuS2jMp/m14hoDIKAAAAAKBcFHWbXiGgMgoAAAAAoFwwCpm36ZHcy8QrBFRGAQAAAACUDEZqy6jcfUYVAiqjAAAAAADKhUqnU+kqZB1NSFXq+p5SBwcAAAAA8AWCPqMAAAAAAEBhyJ3aCUbTAwAAAACAVoCWUQAAAAAAoDAkzzMKA5gAAAAAAID8yJ3aCYOpnQAAAAAAQCuQO7UT3KYHAAAAAADyg+VAAQAAAACAwlDoNAqdTtbRMBp59dp2AJVRAAAAAADlgsFtegAAAAAAoChkD2CiICQm62ikg8ooAAAAAIByoVCoFJIro0Kyjka6zl0Z5VRx6sS1hKmGfMIkFocoidtAcq4OLq6ZXB1cXAe/J1VV7GaKA0TEQlH9pxqiVI5BW/4XnPo2fj7blhGKIzEjq9ljAiIigUjEJ7zSi4QioiSMRnjzlM8jPKCAuIXrcTaTKGlseTVRUr2A+Ku1gDAX24hHlCQmfsl5Hwm/cOqZDURJlWzCz7NARPh2MCsIDygmfg+FAsLg62q4REkNdYTvRhuRP+k9VEYBAAAAAIB8SF4OlALzjAIAAAAAALkpcDlQsVh8+fLllJSUnj17hoSEqKmpyezwzz//1NXVSZ727NnT19dXIBBERERINjo7O3/11VdylqjUo6sAAAAAAL5AGIVC4l+r5hnduHHjpk2bLC0tr127NmXKlMY7FBYW5v3Pxo0b4+LiEEJ8Pj8sLDC4GE0AACAASURBVOzt27f49srKSvlLhJZRAAAAAADlQqVRqMRdiluLQpX3Nn1tbe3Bgwfj4uJcXFxCQ0PNzMxSU1M9PT2l91m7di3+oKSkZN++fcHBwZKkrVu3amhotDY8JaqMstlsGo1GJ2+KVwC+NGKxuLa2VkdHR9GBANCJNTQ00Ol0uBgBxcIwhJHX0VP+penT09PV1dVdXFwQQurq6sOHD3/8+LFMZVTi9OnTw4YNs7W1lWz5888/6XT60KFDXV1d5Q+vQ2/Ts1isuXPnOjo6duvW7ePHj5LtdXV1EydONDMzMzQ0XL9+fUeGBECnc/bsWV9fXxMTkx9//FF6++XLl01MTGxtbV1cXN6+fauo8ABQfkwmc86cOX379u3WrVt5eblke3V19dixY3v06GFoaLh582YFRggARjY5y2UwGEZGRpKnJiYm0hU2aWKx+OTJkyEhIZKAvby8GAxGZmbm8OHD9+3bJ/+L7eiWUXd391mzZvn5+YlE/02dsGPHDg6HU1ZWVlFR4enpOXLkSB8fnw4ODIDOQktLa+HChdevX29o+G/WEhaLFRIScvv27WHDhm3atCksLOzRo0eKixEAZde/f/8ZM2ZMmDBBLDXHz6+//kqhUJhMJoPB8PT09PLyGjZsmAKDBF8yjIJRyGsZFdSVP3yYOGPGjCZTJ02aFBgYiD+m0WhC4X+TQPH5fBUVlSZzPX78mMlkSjqVqqmpxcTE4I8DAgL8/PwWLVok5y37Dq2M6uvrL1++vLZWdmbQs2fPhoeH0+l0U1PToKCgM2fOQGUUACL4mZ+QkMDh/Dc14OXLl/v164dfOFesWLF9+/b8/Hxra2tFBQmAMjMyMlq6dKl0myju7Nmz//zzD41GMzc3nzVr1pkzZ6AyChQFa92goxbQNHR69uzp7+/fZKr0XXgzMzMGgyESiSgUCkKopKTE3d29yVwRERGBgYFNVjcHDx7M5/OLi4vt7e3lCk+endoVj8crKirq06cP/tTBweHJkydy5pVuXgXgS5abmys5iXR1dU1NTfPy8uSpjEr/AgbgS1ZXV1daWip9Mbp48aKcecXNTKEOQJtgGEZin1EKXdXazJqoMirNw8MDb+P09fVlMBjx8fHh4eEIobKysg8fPgwcOBDfrbq6OjIyEh9Hj+NwOJJJoG7duqWpqSl/g4jiK6M1NTVisVhSs9bS0mKxWPJkrKurY7PZSB/GaoAW1NbWamtrKzqK9lVdXS3981RbW1vO8yg3NxeZG7ZbXKDrYLPZ6urqio6iHVVVVSGE2nAxqqqqqq+vb8fIQCcnEAhotFZXtygYRpF/2FFL5O8zSqfTt2/fPnv27AkTJjx+/Dg0NNTGxgYhFB0dvWHDhry8PHy38+fP29raenh4SDKeOXPm8OHDrq6ulZWVcXFxf/zxB9H9/cYUXxnV19enUqnV1dXGxsYIoaqqKumes83Q0tLS1NRs5+hAV9Dla6IIISMjo8LCQsnTqqoq/IRqkb29PWpoxWxw4IvVtWuiCCFDQ0MMw6qrq3V1dVFrLkZ6enpaWlrtHB3oxNpQE0UIYRQyW0blr4wihIKDgwcNGpSWljZ//nzJxPWjR4/u27evZJ/Ro0ePHTtWOhc+Qj0/P19XV/fEiRMmJibyl6j4yiiVSnVwcHj+/HmvXr0QQmlpaU5OTooOCoBOxtHR8dq1a/jjjx8/MpnM3r17KzYkADoXNTU1W1vb58+fW1paIrgYAUWjKGieUZyDg4ODg4P0FgMDAwMDA8nTnj17ymRRVVUdMmTIkCFD2hBeR1dGHz58iC8h9fTpU0NDQ29vbwzDwsLCfv31VxcXl5KSkvPnzz98+LCDowKgE8nPz3///n1hYSGPx4uOjraxsbGxsZk8efKKFSsOHTo0adKktWvXTp48Wc6WUQC+TDExMfh9+bi4OD09PW9vb4RQWFjY5s2b+/bt++HDhytXriQmJio6TPDlIneeUaTUS9N3eGV07969XC7Xx8fnxIkTCKERI0bQaLTvvvuuoqJi2rRpmpqax44da9VEqQB8aZKSkvDTByG0c+fOoKAgGxsbNTW127dvr1mz5tChQ0OGDDly5IhigwRAye3atUskEvn4+ISHh1MoFLwyumLFiqqqqsmTJ2tra586dUr6piQAHaxVk4O2fDTlro12dGX05s2bjTdSKJRNmzZt2rSpg4MBoDMKCAgICAhovN3Nze3+/fsdHw8AndG9e/cab6RSqb/++uuvv/7a8fEAIINC6jyjZDaytgPF9xkFAAAAAADSyB7ARNaR2gVURgEAAAAAlAuFgijkTXoPlVEAAAAAANAqpPYZVe7aKFRGAQAAAACUC7m36ZV7/BJURgEAAAAAlAyV5HlGybvl3w46d2WUU82pYxOn2vCIktgsDmGuepJzdXBxzeTq4OI6+D2pq+Y2UxwgIhKI6xiEKxlybPiESc38BxvakqvNGaE4EjPW1zR3TECkgVFRLSR8w+u6EX47sSsJr2H1xN9pVOJIKqsID8itJkwS6YiJkmhqhPUEAV9ElNRQXktYlgVhWfw6wvewnPi6YEzcfNjMaPR6IWEYdVWEZ0GtgPAl11SQvCQs2VM7KbXOXRkFAAAAAOh6KFhzlenWgj6jAAAAAACgNcid2gnmGQUAAAAAAPKDAUwAAAAAAEBhKBhGIe/eOkW5a6NQGQUAAAAAUC5UCkYl8zY9WUdqF1AZBQAAAABQLhSMzMooiY2s7QEqowAAAAAAykWFRlEhb55RGgxgAgAAAAAA8qNQEJkto1AZBQAAAAAA8qOSfpuecJr/ptXW1mpra7ehrDZkVO4erQAAAAAAXx58ABNZf62q1r569crR0dHGxsbU1DQqKqrxDmvWrOkmRSAQ4Nujo6PNzc1tbGzs7e1TU1PlLxEqowAAAAAAyoVCamW0VSswzZ8/PzAwkMlknj17dvbs2bW1sou7stnssLCw3P+h0WgIIS6XGxgYeODAASaT+f333wcFBYnF8jbGQmUUAAAAAEC5kNwyKnd1Lzs7OyMjY9myZQghX19fOzu7a9euNd5NTU1N/3/wLXfv3tXW1p42bRpCaMGCBQwGIyUlRc5CoTIKAAAAAKBcqBhGo5D2R5W7ZTQ3N9fS0lJLSwt/2qdPn9zc3Ma77d+/X0NDw9HR8cyZM5KMffr0wR/T6XQ7O7smMzYJBjABAAAAACgXcie9RyJhRUVFWlpak4nW1tYGBgb44+rqag0NDUmStrY2i8WS2X/+/Pk//fRTt27d7t27N2vWLDMzMx8fH3kyEoHKKAAAAACAcqGTOs9oQwUjKz4+LCysydTg4OAlS5bgj42MjKqrqyVJVVVVTk5OMvu7uLjgDyZOnDhr1qwbN274+PgYGRklJydLZzQ2NpYzPKiMAgAAAAAoFyqp84zqm1n0mzgxIiKixT0dHBxKSkqYTKaRkRFCKC0t7Ztvvmlmfy6Xi0/k5Ojo+Ouvv4pEIgqFUl9fn52d7ejoKGd40GcUAAAAAEC54POMkje1k7z1WgsLi9GjR69evbqoqGjv3r0cDmfcuHEIoZiYmFmzZuH77N+//8WLF+/fvw8PD7906ZK/vz9CaMSIEfr6+lu2bCkuLv7pp5/69+8v6ULaIqiMAgAAAAAoFwqFQiXvr1Vr00dERPD5fC8vr+jo6Nu3b9PpdIQQlUpVVVXFd8jJyQkODh4/fnxUVFRUVNSgQYMQQhiGXb9+/fnz5yNGjCgtLf3nn3/kLxFu0wMAAAAAKBdyBzC1ajlQIyOjv//+W2bjiBEjRowYgT/+448/msxob29/48aNNoQHlVEAAAAAAOVCcmW0NS2jHa/VldHbt28XFBSMHDnSwcGhPQJqFW41r14sIkrlNPAJk6o4HZarg4trJlcHF9fB70lDDbeZ4pRKUVHRrVu3TExMJkyYgC9coUAioai+rJ4olVPPI0pis4j/g23KBcUpQ3H1neQ8EovFt27dKioq8vHx6dWrl6LDQfWldawawi8ugZaAKKmaTZgkFBBe3YTEkYiEhGvecKoI/7lsfeJPYDVhLj6PMHgq8TBwHpcwVy2jjigphyG7CJCEOvEbVVlKeMBmqmY8LuEbzOAQBi8SEJ5xbUMhdW165a6LttRnlMfjaWtrS1pr169fP27cuG+//dbd3f3x48ftHx4AXcGvv/7au3dv/HFJSYmrq+vixYunTp06depUxQYGQGfBZrM1NDQuX76MP121atWECRO+/fZbNze3hIQExcYGQHsgccb7Vk16rxAtVEYzMzPr6uomTpyIEKqtrd27d+/ixYsZDMbYsWM3btzYIREC0OklJCRMmjQJf3zo0CGhUPjy5cvY2Ng7d+7ExcUpNjYAOoX09HQulzt+/HiEEIvFOnDgwPLlyz99+uTl5bVp0yZFRwcA+SgUMlcEJXH6/PbQwi3CsrIyPT09HR0dhNDDhw+5XO6aNWtMTEwWLVo0ZcqUDokQgE6vrKzM0tISf3znzh1/f39nZ2eEUP/+/dPS0oYPH67Q6ADoBMrKyoyMjNTV1RFC0dHRQqFw7dq1pqamYWFhc+fOVXR0AJBPhUrmpPc0qlLPntRCcJqamg0NDXw+HyEUFRVla2trZWWFEFJXV29oaBAKm+m4AgD4P5qamviCFh8+fMjMzPTy8sK3q6mp1dYSdoQCAEhoamrW1dXhF52oqKi+ffuampoihNTV1eEkAl0ShbxmUSoFU+679C21jDo6OlKp1G3btvn4+Fy5ckXyAzQ3N9fQ0JBKpZIShEgkioyMfPr0KZ1OnzRp0rBhw0g5LABKwsPD4/Tp0z4+PhERETQabfTo0fj23NzcmTNnklVKYWHhyZMnS0tL7e3t58+fjy+JAUDX4OzszOfzd+7cOXTo0GvXri1evBjfnpubi9dKSSESiS5dupSQkKCqqjplypTBgweTdWQAWuuLGk3fQsuogYHBtm3btmzZMmzYME1NzVWrVuHb//3334EDB5IVxObNm9evX+/m5mZlZTVx4sS2TVIFgNJauXIlhmGDBg06fvz4zz//3K1bN4RQSkpKYWHhgAEDSCmCwWB4eHjU1NQMHz48NjbWx8eHlMMCoCRMTU03b968YcOGr7/+Wl9ff8WKFfj2yMhIEi9G69at27Jli4eHh7m5+dixY+/du0fWkQFoLSqGkfin5JXRlqeVWbFixfTp0wsKCtzc3DQ1NfGNc+fOtbOzIyuIGzdubNy4cfbs2QihDx8+XL9+HR8yBUDXYGZmlpGRkZGR0a1bN8k0NNra2pcuXcI7j36++Ph4Q0PDvXv3IoRGjRplYGDw6dOn7t27k3JwAJTB2rVrZ82aVVhY6O7urqGhgRASi8ULFiyQf8nBFt24cWPz5s342oY5OTk3btyQ3McAoINhpNYglbsuKt88oxYWFhYWFtJbyB295OrqmpSUFBgYyOVy09LSZsyYQeLBAVAGampqMu03Dg4OJE7W6+joWFZWVlBQYGVlFR8fb2FhYWhoSNbBAVASlpaWkrGACCEMw6ZNm0bi8V1dXRMTE6dPn87hcNLT00NCQkg8OACtQsUQiYOOOvdoelxqauqff/755s2b8vJyCwsLT0/P5cuXk9hN5+DBgz4+PiYmJjweD586Tp5cbDabzWYjNegYB1rQ0NCAt6MoEJvNPnr06MOHDz98+KChoWFraxsYGDhhwgSyju/g4LBv3z5HR8du3bpxOBzJasItKi4uJisG0LVxuVzJytSKkpycfOzYsezs7IqKCktLywEDBixfvtzIyIis4x89etTb29vU1JTD4fj7+4eGhsqTq7a2ls1mI3UFvzlAaQmFwjaMsaGQ3DKq1LXRlmvdx48fHzRo0OXLl9XU1JycnOrr63fv3u3s7Pzy5Uuygvj2228tLS2TkpIeP36clZX1+++/y5NLRUVFzsst+MIp/ApaUVExcODAlStXFhYW2tvbGxsbx8XFTZw4UTII4/Olp6evXr364sWLiYmJ69at8/f3l3OIsa6uLlkxgK5N4d+3R44cGTx48L///quhoeHk5FRTU/Pbb785OztnZWWRVcTChQt79+6dlJT08OHDlJSUo0ePypNLQ0ND4UupAWVGobSlhZPkPqOkvypStRBeWVnZ0qVLp02bVlhYGB0dfeXKlYSEhOzsbH19fbKuozwe759//tm8ebONjY2Li8uKFStOnz4tT0YqlQrnP5AHWdM+tNnmzZvz8/NjY2Nfvnx59erVW7duFRQUbNmyJTw8PDY2lpQiLl++7OXlNW7cuB49enz//fcYhj169EiejDDoHsipbRdUspSUlKxYsWLmzJmFhYUPHjy4cuVKUlJSVlaWhobGkiVLSCmivr7+8uXLW7du7dmzp7u7+7Jly+S/GCm8pg6UWdtaJWlURKdiZP2RODC/PbTw5ZKWliYQCI4fP47Pe4+zs7Pbvn17UlISKfOMqqio6OvrZ2dn40+zs7NNTEw+/7AAKI+EhIRvv/125MiRki10Ov3nn3/u06fP06dPSSnC2Ng4JydHJBIhhCoqKsrKyuA8Al1JSkoKQujYsWPSP5969+69devW+Ph4UopQV1fX1taGixFQEvhtehL/FP2CmtNCy6Kuri6dTscXvZCmo6OjpaVFVoPTnj17QkNDr1y5Ultbm5ycDFM7gS5GV1dX+uechI6Ojp6eHilFhISEnDlzpn///v369Xv48OHUqVPJmjQKAGWgq6urqqrauMuNjo4OWV1NKBTKnj17goKCxowZU1VVlZqaevv2bVKODEAbUDAyF5RX6qpoi5XRAQMGWFtbHz16dPny5ZKNQqHw0KFDQUFBZAURHBw8evToFy9eqKqqenh4QCc20MXMnTt327ZtixYtwmcYxcXFxeXk5EyePJmUInR0dFJTU589e1ZWVrZq1aq+ffuSclgAlMSQIUNMTEyOHz++aNEiyUaBQHD48GESL0YLFy4cP378ixcv1NXVPT09oRMLUCAKRuYQeOW+S99SZZTH402dOnXVqlVRUVEjR47s1q1bSUnJpUuXamtrR40adezYMXy3qVOnfuY8Mt27d4c5EUFXZWVlpaGh4eDgMGvWLDs7Ow6Hk5aWFhkZGRgYePfuXXwfa2vrUaNGfU4pFApl0KBBZMQLgNLhcrnTp09funTp1atX8Xnvi4uLL168yOFwJkyYILkYTZ8+XfonXxuYmZmZmZmRETIAn4WKfUErMLVQGa2qqtq+fTtCKCYmJiYmRjpp2bJlksceHh4wqSEARM6cOfPixQuE0IEDB6S3nzp16tSpU/jjKVOmfGZlFIAurLy8fOfOnQih+/fv379/Xzpp6dKlkseDBw/+zMooAErii5raqYXKqKmpaWVlZYtHabI/HAAAd+jQoT179jS/D4zGBaAZVlZWcDECXxSM1Nv0rTqSWCy+fPlySkpKz549Q0JC1NTUZHZ4//797du3i4uLLS0tZ8+ejQ9+EAgEERERkn2cnZ2/+uorOUtsoTJKoVD09fVb8xIAALI0NDQUPus+AJ0aXIzAl4ZK6gCmVtVrN27cGBkZuXjx4mvXrkVFRd25c0dmBz8/Px8fn969e0dHR+/evfv58+cGBgZ8Pj8sLOyHH37A21Z69Oghf4lyzdNZW1t7+/btnJwcCwuL4OBghNDz588tLS3h1jwA8ktNTU1OTi4uLl66dKmZmdmnT5/Ky8vJWpsegC9BTU0NfjGysbGZPXu2WCx+/vy5tbW1gYGBokMDgGQ0KkYXkVYZlb/7aW1t7cGDB+Pi4lxcXEJDQ83MzFJTUz09PaX3yczMxOdZ+v77752cnG7evDl37lw8aevWrW1ofGm5MpqSkjJx4kQGg6Gqqurr64tXRleuXNm3b9/Dhw+3tjxyNXAFVTwRUSq3jkWUxOIRzpBKeq4OLq6ZXB1cXAe/J+ya6maKUyyhULhgwYKTJ0+qqKjw+fxvvvnGzMzszZs3o0aNYjAYiv1RJxKJWbU8olReM/8LPuH/om25oDhlKI5TU9PMMRUrMTFx0qRJTCZTVVV1/Pjxs2fPxjBs6dKlX3311d69exUbG0bFMBrhvN1ctoAoqYZPeAmrYVYRJTE4hAesLK0jSmJ9IDwgW/cTURISiYlSOCwmUVItkzAMTg/CL5wPlWyipKKKBqKkPsQRioSESVziXLwGwrKa6cTJrWm5G0mrUBCpfUbl3jM9PV1dXd3FxQUhpK6uPnz48MePH8tURqVn/ORyuZqampKnf/75J51OHzp0qKurq/zhtTDpPZ/Pnz59uoODQ35+/m+//SbZPmPGjHv37slfDABfsj///PPvv/8+e/ZsfX295CfjyJEjDQwMoqOjFRsbAJ0Ch8OZPn26q6trYWHhpk2bJNu/+eYbuBiBLomKkbkiqPz1WgaDYWRkJHlqYmLy8eNHop0PHDigoqIyYcIEhBCGYV5eXgwGIzMzc/jw4fv27ZP/xbbQMpqamlpYWJiYmGhmZiY9FMvOzq6oqEgsFiv5+CwAlEFkZGRoaOjs2bOR1JBGDMNsbW0LCgoUGhoAnUNSUhKDwcjIyDA0NJS5GMFJBLokCgWjkDeCqexTyeOHD2fMmNFk6qRJkwIDA/HHNBpNen1NPp+voqLSZK6rV6/u3LkzJiYGX41CTU1NMu1SQECAn5/fokWL5Lxl30JltLKyUl1dvfEMoAKBgM/ni0Qiha/6DYDyq6ystLGxabxdIBBwudyOjweATqeyslJbW7txnxaBQMDjEd72BaDzomCISl5zXzcDg549e/r7+zeZKn0X3szMjMFgiEQiCoWCECopKXF3d2+cJSoqavHixXfv3m1yjZXBgwfz+fzi4mJ7e3t5wmuhMmptbc1ms1++fOni4iL9YzQ6OtrOzg5qogDIw9ra+tmzZzIbP3369OrVq5UrVyokJAA6F2tr6+rq6rdv3/bu3VvmYtS7d28FBgZAOyF3nlE1dXVra2uiyqg0Dw8PvI3T19eXwWDEx8eHh4cjhMrKyj58+DBw4ECE0P3790NDQ2/evCndMZTD4Ugmgbp165ampqa1tbWc4bXQZ9TR0XHAgAFz5szJzMzEt/B4vPDw8EOHDs2fP1/OMgD4ws2bN+/KlSt79+5ls9n4dfTt27f+/v46Ojrjxo1TdHQAdAJubm6urq6zZs3KysrCt3C53EOHDoWHh8PFCHRJJHYYpWIYRe4hTHQ6ffv27bNnzw4NDR02bFhoaCh+Zy86OnrmzJn4PlOnTtXQ0Fi3bp2vr6+vr++ZM2cQQmfOnOnXr9+cOXPGjx8fHBz8xx9/EN3fb6zl0fTnz5/38/Pr16+fmpoahULR0dHhcrlTp0794Ycf5CwDgC/cxIkTN2zYsGrVqvXr1/P5fC8vLxaLpaend/36delBiAAAIhiGXbp0yc/Pz9HRUU1NjUql6ujo8Hi8gICAJUuWKDo6AMiHURClhQbDVmhV79Pg4OBBgwalpaXNnz9fMnH96NGjJXfk4+LixOL/piPAO3POnTvX0dExPz9fV1f3xIkTJiYm8pfYcmXUxsYmIyPjwoULT548qaurMzIyGjdu3JgxY2DoEgDy27Jly9SpUy9fvvz+/XsajdavX7958+YZGxsrOi4AOo1evXplZmaeP38+Pj6+rq7O2Nh4/Pjxfn5+io4LgHZBxyhi8iqjrV3m3sHBwcHBQXqLgYGBZELfJnuRqqqqDhkyZMiQIW0IT65J79XV1efNmzdv3rw2FAAAwLm6urZq3jUAgAwNDY358+fDfXnwJSB3AJOSNx+2UOv++PEjhmFstuw8tEeOHGmyXgwAaGz+/PkbNmxovN3AwODmzZsdHw8Anc6HDx8wDBOJZKeI37dvn/zrXwPQiWBkU/QLao5cLaONCYVCGq2NeQEAOIFAAOcRAJ9DKBTCvC6gS6Jgrevo2Tzlrou2qTJaXV0dFxfXePJRAICcBAJBUlJSTU0NnEcAtBmLxXry5ImZmZmiAwGAfBhGZg1SueuixJXRuXPn4mP1EUKNJ9DHMOzChQvtGBcAnV9OTo70DIjbtm2T2cHV1dXZ2bljgwKgkwkICLh48SL+uHEjKIVC+ffffzs8KADaHQW1Yj6mFnXWyuiMGTP69u1bU1Ozffv2rVu30ul0SZKent6gQYNcXFw6JEIAOitDQ8MdO3YghK5cuaKtrT169GhJEp1Ot7CwmDBhAoXEqTsA6Ipmzpzp5uZWWVm5a9eu3377Tbrrm76+/ldffQW/6ECXRHLLqHLXRgkro+PGjRs3blxNTY1QKFyzZo10ZRQAII9u3bqtWbMGIWRraytTGQUAyGnSpEmTJk2qrKzEMGzNmjVKPg4DALJg5PYZJe1I7aKFPqM6Ojp4044Ei8ViMBj29vbQZxwAOU2fPl36qVAofPfunZGRkWTONgBA87p16yZzMaqsrCwtLYWLEeiqqAgTk/fTi8SVRdtDC7cIxWLxlClTJLPPXLlyxczMrG/fvg4ODh8+fGj/8ADoCi5fvixZRY3NZg8dOrRPnz5GRka//fabYgMDoLMQiUQTJky4d+8e/vT8+fP4xcjJyamoqEixsQHQHvDb9CT+KbMWKqPZ2dnXrl3DZ+oWCATffffdgAEDLl68qKmpuW7dug6JEIBO79KlSzo6Ovjj8PDw1NTUw4cP//zzzxs2bMjJyVFsbAB0Ci9fvrx586abmxtCiMvlfvfdd0OGDLl48SKFQvn5558VHR0A5MOndiLrT7nroi3dpi8uLtbU1DQ3N0cIJSQklJWV3blzx93dnU6nL1y4sEMiBKDTKyoqkszLff369fHjx3/33XcIocjIyJiYGHt7e4VGB0AnUFxc3K1bN3wF3bi4OBaLdfDgQUdHR5FItHLlSkVHBwD5MIRIrUMqdXW0FSN57969a2hoiP8wNTMzKy8vFwgE7RYYAF0KPuqCxWIlJiaOGjUK32hmZlZaWqrQuADofO7evWtmZubo6IgQ6t69O5xEoGuC2/QSW1tPtgAAIABJREFUvXr1amhouH//PpvNPn/+/KhRo/BranFxsa6uLiweA4A87O3tb9y4IRQK//nnHx6PJxlWX1xcDGOYAJCHvb19ZWXl48eP6+vrL1686Ofnh2/HW0wVGxsA7QFu0//H2to6ICBgzJgxGhoabDZ72bJl+Pbo6Oh+/fq1f3gtqBeIKnliolR+XRVRUhVfdoHj9svVwcU1k6uDi+vg94RXW9lMcYq1fPnyYcOG6enp1dfXT5o0ycbGBiFUWFiYk5Oj8PNIKEaVPCFRKq+Z/wWP+H/RplxQnDIUx62paOaYCmRvbz916lQvLy8NDQ0Oh4N3dEEIRUdHK8Ok1/wGPpdPeLnn1NYQJWnSCJuEhHwuUZIenXACAbGI8JpIoRKWJRYRfglUFREGL+zBJkqqL28gSqqr5hAlcYSEwTMZtURJzbT5ceoJy+ITv1ECdh1RkiaNsDCxiOR7xRipd9Y7d2UUIXTmzJmxY8cWFBSMHj3a09MT36ilpbV06dJ2jg2ALsLDwyMlJSUqKsrQ0HD27Nn4xtzc3NDQ0EGDBik2NgA6iwsXLpw/f76oqGjs2LF4hzGxWKynpzdx4kRFhwYA+SgYJoZJ7//bg0aTXD4ldu/e3T7xANA1OTo64l3cJEaOHDly5EhFxQNAp0On0+fMmSO9BcOw/fv3KyoeANoVucvzkTh/fnuATp8AAAAAAMoFbtMDAAAAAACFoWBkDjtqwzq6tbW12trapEXQLFJbgT9PXV1dXl5eXR1hx2EAQIsKCwuLi4sVHQUAnVhtbW1eXl59fb2iAwFfNIzURZhaVa999eqVo6OjjY2NqalpVFRUu73E/yhFZVQsFm/YsKF79+5+fn4WFhYxMTGKjgiAziczM9PJyal///5Dhw6VTGUKAJCfWCxevXq1mZmZn5+fubn506dPFR0R+HJRyP6T3/z58wMDA5lM5tmzZ2fPnl1bSziVAVlauE1fVlb2+PFjHx8ffX399gsiPDz833//ffv2rZmZGY/H43AI52IAoDOKjY1VU1MbPHhw+xVRX18/fvz4lStX4tNcMJnM9isLgI736dOnp0+fjho1SldXt/1KOXDgwL17996/f29iYsLlcnk8XvuVBUDzsDbcWSdDdnb2y5cv8WZBX19fOzu7a9euBQUFtWuhLdSVU1JSZsyYoaam1q5BHD58eOPGjSYmJjweT0VFRbKKNwBdw8qVK2/fvt2uRVy/fl1HR2fp0qVsNhshZGRk1K7FAdDBEhMTZ86cqaGh0a6lHD58ePPmzYaGhjweT1VVtcM6zAHQGEbqpPfyj6bPzc21sLDQ0tLCn/bp0yc3N7e9XuT/tFAZtbW1RQhVVLTjNMgCgeDdu3dJSUl2dnY9evSYPHlydXW1nHmFQsJ5egFQHra2tuXl5e1aRHZ2dvfu3YcOHdq7d29zc/OrV6/KmRHafkCnYGNjIxQKq6qaW0rjM3E4nA8fPjx+/Bi/GE2fPl3+u5NwMQKkI3ctUIFAUFFRkUZAuppXXV0t/atPW1ubxWK194ttoTLq4OAwefLk9evXt98Vq6amhs/n5+bm5uTkFBcX19fXb9q0SZ6MdXV1XC7hAhUASCh8VNwPP/xw+fLlFy9etF8R5eXlsbGxe/bsKSwsPHHiRFBQUFlZmTwZYbQTkJNiO1C5urr6+fmtW7eOz+e3UxEsFkskEhUWFr57966wsJDJZG7btk2ejNXV1dC7DDRDIGjL4kxUUv+KCgvj4+PDCJw/f15SrpGRkXSbYFVVlbGxMQnvQrNa6DNaVVWlp6d3/vz5hw8fDhw4UHoJYAsLiw0bNnx+BPr6+ioqKsHBwXQ6HSE0d+5cOScx1tLS0tDQQPANAFoiud2gKO/evevZs6enp+fXX39tZWWFf9RxS5YscXZ2/vwiTExMnJ2d8fWcRo8ebWhomJqaOnbs2BYz2tjYoILMzw8AdHnt3V+reeXl5cbGxmfOnHnw4MGAAQOkhzH07Nlz7dq1n1+EkZERhUIJCQmh0Wg0Gm3OnDknTpyQJ6Ourq6mpubnBwC6KhqtTdNoikVITLhmaWvZ2vScOHFiREREi3s6ODiUlJQwmUy8u1daWto333xDVhhEWniDeDxeXFxcjx49EELPnz+XTurbty8pEWAY5ubmVlPzf6vfVldXK7zqAAC5srKyWCyWlZVVfn5+fn6+dBJZJ7m7u/vZs2fxx0KhsL6+Hs4j0JVwOJynT5+am5sjhNLS0qSTXF1dSSmCRqP169cPLkZAWYjFSCwi82jysbCwGD169OrVq7ds2XLp0iUOhzNu3DjSwiDQQmXU2Ni4Azqufv/99xs3brS1tRUKhbt37964cWN7lwhAR9qxY8eOHTvatYixY8euWrVq06ZN06dPP3nypKGh4cCBA9u1RAA6krm5ecdcjLZu3WphYcHhcPbv39/epy0AzRGLyKyMolY0skZERKxYscLLy8vOzu727dvSd/PaiVKswBQQEMDhcLZs2aKmpvbrr7/Onj1b0REB0MlQqdT79+9v2rRp8eLFLi4usbGxqqqqig4KgE5m7ty5fD7/l19+0dDQ2L17d0BAgKIjAl8uDJFZGcVacygjI6O///6brKLlIVdl9MWLF3///ffbt2/t7OzwDp2///778OHD3d3dyYojODg4ODiYrKMBoGzYbPbJkyeTk5Pfv39/8uRJe3v75OTk1NTU7777jqwiLC0t5ekPBEDnlZaWdu7cubdv3zo6Ou7atUskEu3fv9/X17dfv35kFREaGhoaGkrW0QBoO3JbRsnrftoeWq6Mnjt3Ljg42NTUVHqof2JiYkpKyrlz59ozNgC6iJqaGi8vr5cvX3p6eqakpDQ0NCCENDQ0lixZ4ufnh0+gBgBo3smTJxcsWGBmZqampqauro4QolAoT548ef36NfwMA12QSIREX0pltIWpnWpra7/99tvQ0NC8vLxFixZJto8bN+7x48ftHBsAXcTu3bvz8/PT09MTEhIkd8+dnZ2trKzi4uIUGxsAnQKLxVq6dOmSJUvy8vJCQkIk2+FiBLosfAATaX9KXRltoWU0JSWlrq5u9+7ddDpdemEqa2trBoMhFAqpVGo7RwhApxcbGxsWFubo6IgQkj6PrKysSkpKFBcXAJ1GUlISj8fbuXMnjUaTuRh9/PhRgYEB0E4wsZjUGmRnroxyuVw6nY7fEJFWWVlJoVAolBYaVgEACCEul9vkHDGVlZXwcw4AeXC5XFVVVRUVFZntcBKBLkskQCLyVvYic2A++VqoTTo6OvJ4vAcPHqD/v0XnwoULbm5u0lsAAEQcHR1v374t/v9/42ZkZLx584bEUYAAdGFOTk51dXWPHj1CjS5GcBKBronk2/RKXRltoWXU0tLS398/KCjot99+Kysr4/F4z549++OPPy5evHjx4sWOCbEZ9UJxFZ+w5ZnXUEOUVCMg/K+QnquDi2smVwcX19HvSX07Llr9mZYvXz5o0KCZM2cuX74cIVRSUvLy5ct169Y5OTn5+PgoNjaRWFzF/xI/n1Bc07mU9Tyys7ObNGlSQEDAjh07mEwml8tNTk4+fPjwtWvXrl27pujoUH1ZQxWfTZTKNyP8X1TxCZu++PXVREkVPMLlJdnVtURJRcwGoiQBu54oia5OWE8QcAlzNaO2hHC+WLaQ8IJeXU4YfA3xNxinikmU1ExjmoBH/K8UEUYo5JO+ajqMppfy119/BQcHL1iwAH96//59FRWVHTt2zJgxo51jA6CLcHd3v3jxYmhoKP4Tbvz48fjGyMhIuMMIgJxOnz4dFBQkGb108+ZNNTW1ffv2TZo0SbGBAdAeMFKbM7FO3WcUIaStrR0ZGfn69ev4+HgWi2VmZubt7W1mZtYBwQHQZUyZMsXX1zc6Ojo3N5dGo7m4uAwfPhx6XQMgP11d3Rs3bmRmZiYkJFRVVfXo0cPHx8fU1FTRcQHQPmCeUQk+n//y5Us3NzdHR0d8LDCOyWSWl5f36dOnncMDoCsoKCig0+lmZmaTJ0+W3p6RkWFtba2rq6uowADoLLhc7qtXrzw8PJydnZ2dnSXbS0tLWSyWg4ODAmMDoF2Q3NFTqfuMttAww2QyPT09uVyuzPZLly4FBga2W1QAdClbtmw5evRo4+1eXl5Pnjzp+HgA6HQ+fvzo6ekpajQH+Llz5+bNm6eQkABoXyLx/817T85fZ24ZJcLj8WDlawA+E5fLVVNTU3QUAHRicDECXZZYjJF3b13JJz8irIzm5+dXVFQwmUyEUHp6uvTZXlFRcfHixZ49e3ZEgAB0WhwO5/Xr1wih8vJyhFBaWpokicvlJiUl1dfXW1tbKyo8ADqFvLw8FouFz2yflpYm3dOayWRevnxZ+q49AF2HWIBEhNMmtBqJU5a2A8LK6C+//HLmzBn88ZAhQ2RSDQwMDhw40I5xAdD5FRYWenp6Sp42Xj577ty5dnZ2HRsUAJ3MunXrJDMJDhgwQCbVyMjo+PHjHR4UAO0Pn2eUvMORdyjyEVZGV69eHRQUVFFRERAQcPPmTemWUUNDw169emlqanZIhAB0Vubm5viCEXv37u3WrZt0zzZVVVVLS0srKyvFRQdA57B+/frQ0FAGgxEUFHT//n3pGe+NjIx69eqloaGhwPAAaCfkTu3UWUfT48Pn2Wz2pUuX/Pz8YDZEAFpLQ0MDn9NeT09PTU3NyclJ0REB0Pngw+fr6+svXbrk4+MDK/+BLwWMppeora1du3Ytn8+X2f73339PmDCh3aICoEu5cuXKvXv3Gm/38PCIjY3t+HgA6HRYLNbatWvFjVp3IiIipk2bppCQAGhf5K4F2klbRnECgSAvL6/x+V9VVYV3JwcAtIjJZNJoTZxreXl5HA6n4+MBoNPh8/l5eXmNt7NYrE+f/l979x0XxdX2DfwsRTqIdEQBERQRRQVUgqQpdiwQY0tEA5JYIsYkhpBHo7EiSbyNJVY02IKQZkMQERQFFTGi2FE6ocPCLmyZef+Y555nX2ARzWxBf9+Pf8yeM+XadYe59sycc8qUHw+AwuE2/XPdv3/fysqK21AAXiulpaX19fWWlpaqDgSgC7t//z5OIng1qWsHpvz8/NjYWJFI9P777w8aNKhVrVAoTExMvHnzpqampr+/v4+PD1OekZHBDC/DCA0NlX3kpqPe9KdPn2Zu0L/xxhuyo2lUVFQUFRX9+OOPnLwrgFdVYWHh9OnTyX9nYEpMTGSrmpubnz17ZmtriwdJAToWERGRnJzMzL3Sqjf9P//8U1xc3O6MEgBdHkURKXfJaJsJI15OQUGBp6dnSEiIiYnJqFGjLly4MGzYMNkVtm7dmpSU9O6770okkkmTJq1bt27RokWEkOPHj9+6dYsdnYmm6U4loxYWFn369BEKhbdv33Z0dJTtwDRy5MgRI0bMmjWLkzcG8KrS1tbu06cPIaSmpkZXV5dZZujq6gYGBs6fPx+D3gN0zMrKqk+fPk1NTXfu3HF0dJS9gPn4+Pj4+MyYMUOF4QEoCC0RE4mIs91JuRlndOfOnRMnToyKiiKENDc3R0dHHzt2THaF8PDwiIgIZrlXr14//vgjk4wSQsaMGbNq1ap2dys3GV2yZMmSJUuYoZ2OHj2KKS4AXpSNjU1cXBxpb2gnAOik8PDw8PBwZminuLg49KaH1wUzjSdXOLrjn5aWtnjxYmbZ399/3759rVbQ09Njl0UikaGhIfsyJydny5Yt9vb2U6ZMaZVVPueZUTMzM2agRAB4aStWrFB1CABdm7W1NS5G8HqhpVxOm8RRB6aysjL2KW1LS8vKykqJRNJuD92Kiop169b99NNPzEtbW1uRSFRVVRUXF/ftt99evXrVxMSEXblTHZjS0tJ27Nhx79690tJSS0vLd955Z+XKlb179/7XbwrgdcHn86Ojo1NTU588eWJgYODs7DxnzpzZs2erOi6AriQlJeXnn39mLkY2NjbvvPPOV1991bNnT1XHBaAAFEVzl4wWlJanpmbIe6ZlypQpc+bMYZYPHTr00UcftV2Hz+fr6elpaWlJJP87SalEItHQ0JDtU8Sqr6+fNGnSjBkzmI4ThBD23j1FUSNHjty1a9dXX33Frv/8ZHTfvn0LFy7s3r27j4/PkCFDioqK9uzZc+zYsUuXLrm5uT13cwCoq6t744038vLyhg0b9vbbbzc1NeXk5MyZM+fSpUu7du1SdXQAXcOOHTuWLl1qamrq4+MzdOjQwsLCXbt2HT9+/PLly/369VN1dABco7hsGbXobuTo6Pjee++1Wys7c/W8efPmzZsnbz+2trbsyJ4lJSU2NjZtk1E+nz9+/PgRI0b88MMPbfegoaExcuTIViO1PScZ5fP5y5cvDwwMPHDggJGREVOYn5/v7+//+eefnz17tuPNAYAQEh0dXVhYmJqa+tZbbzElEolkw4YNq1evXrBggZeXl0qjA+gCamtrv/jii5kzZ+7Zs4d9Cu3Ro0djxoxZuXLlH3/8odrwALjH6TOjet26OTg4yEtGO2/y5Mnx8fEhISE8Hi8+Pp6d/+jq1avOzs7m5uYCgSAgIMDV1fU///mP7BPezc3NTIddoVB4/vz50NBQ2d0+Zwam69evNzU17d69m81ECSF9+vRZt25dampq28HwAaCt1NTUhQsXspkoIURLS2vVqlVOTk6pqamqiwugy8jMzBSJRLt375btD+Hs7LxmzRpMYwavJJqiaKmUs38c5bWhoaFFRUXjxo177733Tp8+/fnnnzPlgYGBaWlphJCoqKhLly49e/bM399/zJgxbLbar1+/gICAefPm9e/f38LCIiwsTHa3z2kZbWlp0dbWNjAwaFVuYmIiFospilLtnPUtUrpRIjchljQ3yqtqlMj9X+F8KyUfroOtlHw4JX8mYiG/g8OpVktLS/fu3duWm5qaqnwGJup1/X7icO0SCzs6bVWopaVFR0dHtqMuw8TEhBmCVLWaJFRti9yLUQu/Wl6VVH6TjlQk94+Dja623K3E8rcy6iavSku39VWe1dDYej7w/zuW/AirypvkVfEc5baCCeUPqymsr5FXJZb/Gbbwq+QfS+5mzbXlcqvkbyVtEciN4+Vwepueq970pqam2dnZycnJIpFo3759bCekU6dOOTg4EEJCQ0Nlp4tnb+KnpaXl5OQIBIIlS5a0vR/4nGTU3d1dLBbv3bt3yZIlbCFFUbt373Zzc1NtJgrQVbi7ux85cmTp0qWyKenVq1dv3boVGRmpwsAAugp3d3eBQBATEyN7d08qle7Zs6ftHDAArwBaIqYlcn8JvDDu8lo9Pb2AgIBWhUOHDmUWevbs2W6fQgcHByZbbddzklE7O7v58+cvW7YsJSVlzJgxPXr0KCkpOXLkyK1bt3799dcXCx/gdfX55597e3u7u7t/9NFHzs7OLS0t165di42NHTRo0KRJk1QdHUAX4OTkNGfOnI8//vjcuXPvvvuuqalpUVHR4cOHc3Nz8cAovJpoisuWUQ6HLFWA5/em37Vrl6Wl5Y4dO9gT3tHR8ejRo//+MViA14Sbm1tKSsrSpUvXrFnDlGhra7///vs//PBDu8OzAUBb+/bts7Gx+fnnnxMSEpiSvn37xsXFtW2kAXgVcDzovVp38nl+b/qHDx9+8803a9euffDgQXNzc48ePWRnNQSA53rw4IG5ufn169fLy8uLi4u1tLScnZ3bPooNAPI0NDQ8evRozZo1GzZsuH//fktLi5mZmaOjo6rjAlAUmpJyOM4ozdEzowrynN706enpnp6eUqlUW1t74MCBnp6eistEm5ubv/nmG2b6RIBXycyZM/fu3UsIsba29vT09PDwUFwmeubMma+++qqurk5B+wdQifPnz3t7e/N4PG1tbXd3d09PT8Vlok1NTZGRkb/99puC9g/QKRT1v32YOPnXpZNROzs7QohyOvyuWbNm//79p0+fVsKxAJTJzs5OKBQq4UAlJSWfffbZ5s2bGxoalHA4AKXp2bMnTdPK6Tj/zTffHDhwIDExUQnHApCLw0yUkqr5M6PPSUYHDx7s6+sbHR2t6DhycnLS0tLmzp2r6AMBKN+iRYvi4uKKi4sVfaDFixevXr1a0UcBUD4vLy9PT892J3ThVmZm5rVr1+TNmgigNDRF0VLu/nXpZ0YbGxt9fX23bt168eJFX19fKysrtsrKyio4OJiTICQSSVhY2O7du3GPHl5VTk5Orq6ugYGBffr00dHRYcuDgoKcnJw4OURsbKyBgQE6c8Aric/nv/XWW1FRUcnJyT4+PpaWlmyVra3tBx98wMlRWlpaPvnkkyNHjuzbt4+THQK8POq1701fW1trY2Nz8uRJNze3TZs2EUKuX79+/fp12XWGDBnCVTK6bt26MWPGDBky5IWS0aamJqFQSIguJzHAK6yxsVF21halWbZsWW5u7oULF+Lj469cuUIIOXToUKt13NzcOElGKysr169fn56e/qIbPnv2zObfHx5eA+xsfspUXl7u4OCQlJTUq1evLVu2EEIyMzMzMzNl1xkxYgRXyejq1aunTZs2YMCAF9qqoaFBIBAQjdYD8gMwJBLJSwycQkvVdJxRRWj/02EezZFKpba2topu2s3NzY2Pj2+V6XaGvr6+trY2Uf3UG6DuVJKJEkLEYjHziNv+/fv379+v0GMtWrQoIiLC0tKyqUnuxCftsrS0JPfQ2wmeT/mZKJG5GDk6Oir6YpSdnZ2YmHjt2rUX3dDIyKhbt25Eooig4FXwkkP4cdsyqt4dmFQ/xmFqauqTJ0+Y8fqFQiFFUXfu3MnOzn7uhjweT0tLi8ifgQ3g9ZGUlHT+/Pnly5czF+xBgwbt27cvKCjouRvq6+srPjqALiAlJeXBgwfW1taEEKFQSNN0bm7u1atXn7vh/16M5M9NDfASOB7aqSveplemsLAw9g7L2rVry8rKdu/erdqQALqcgoICJg0VCAR2dnaXLl3q16+fqoMC6Eo+/fRTdq7RyMjIpqamn376SbUhwWsNg94zvvzyS+aB0XY5OzszQyf+Szo6Omx/Dl1dXR0dHRMTk3+/WwB1cOfOnbfeequDFTZu3Dhy5Mh/fyB21vtu3boRQkxMTJgFgFfA8uXL2W94WwMGDNi5c+e/P4quri77KIKurq5EIjE2Nv73uwV4SbhNz6iqqurg+TNFnKWrVq2i1LslGeCFiESioqKiDlbgfBBffX39mpoa/KKDV0llZSWfz5dXa25uzvkR169fr+ZD4cArjxnaibPdUWr9fe4oGT1w4MC4ceOUFgohRE8PvRHhlTJ06NCMjAxlHpHH45mamirziACKdvjw4bfffluZR8TFCFRPKqWleGYUAAAAAFSBpigOM0g1b+lHMgoAAACgXqRiKSXibMAwSiIlmlztjHtIRgEAAADUC7cto12yN72pqWlFRUUHvRcB4LmioqIkEgyEDfDyrKyscDGC1xO3HZhoTjswiUQiiqJeYiIMoVCoqanZdrCX9pNRHo9nYWHxMgEqVwtFCaRyP19pi1BelVD+fzDnWyn5cB1speTDqc9noiqqmvnphVA0EbyW308cTs5Wgg72qXwaGhpd5GJEd3AxIoQnr6JRIvf/oqWxRl7VkyaRvCpBTZncrerkjt0hqC6RVyWRn8RI5H9bNORVECIRyf1miuV/hM11FfJ3KXcz6qWm06SkchsReHL/Jzva6uXQUloNe9PTNL1s2bKDBw/yeLwJEyYcPHiQHZ2TUVxcPGjQIPblqlWrwsPDCSFCoXDu3LkpKSk0TS9cuDAqKoon82niNj0AAACAeqGl3LaMcrOr+Pj4M2fOPHv2TF9f/5133tm+ffuKFStkV6AoSnZMQ3Zgiu+//76qquqff/5paGjw8vLy8/ObPHkyu1UHv14AAAAAQAVomuIQV73pY2NjQ0JCevTooauru3Tp0l9++aXtOswIgwz2Vn5sbOyyZct0dHQsLCyCg4NbbYhkFAAAAEC9MC2jnP3j6Db948ePXV1dmWVXV9cnT560XUcgEPTo0cPKyuqDDz6oqKgghFAU9fTpU9kN8/PzZTfBbXoAAAAA9cLtM6MSibS6ujo7O7vdWgcHBzMzM2b577///uuvv9quExERoaWlVV9fb2BgwJQYGho2NTWJxWJtbW12tR49ely9enXw4MHl5eWffPLJhx9+mJiYKBAIxGKxvr4+u2Ftba3szpGMAgAAAKgXSiKmxC/TAatdhdV1GXm5YWFh7dYGBwcvWbKEWaZpuoOJ2S0sLOrr65nlurq67t27y2aihBBDQ0Nvb29CiL29/datW11dXQUCgaGhoZ6eXkNDA7thq46JSEYBAAAA1AslpSjuWkbtuxsFBAQcOHDguWt6eHh4eHjIq3Vzc8vOzg4MDCSEZGdnu7m5dbCrlpYWDQ0NTU1NQsiAAQOys7Pd3d0JITdv3my1IZJRAAAAADVDcXmbnqsOTAsXLgwKCpo0aZKxsfGWLVu+/fZbpjwoKOjTTz/18/NLTk4Wi8UuLi4VFRUrVqyYPn06M/ZTWFjYpk2bvL29q6qqDh48eObMGdndIhkFAAAAUC8cz8DEUQemN998MyoqaunSpSKRKCwsbO7cuUy5jo4O0wJKUVR0dHRRUVGPHj38/f1XrlzJrBASElJRUTFjxgxdXd1t27YNHz5cdrdIRgEAAADUC9fjjHI2A9P8+fPnz5/fqvDIkSPMwtixY8eOHdt2Kx6PFxkZGRkZ2e4+kYwCAAAAqBdupwMlNHe7UgAkowAAAADqhaZoDm/Tczs3PeeQjAIAAACoF25703PVgUlBkIwCAAAAqBdub9OjZRQAAAAAXgAtllBiCWd7k0q52pUiIBkFAAAAUC/cTgeKllEAAAAAeAEUxekzo0hGAQAAAKDzuB30nsbQTgAAAADQebSUpqXcNWeqdS6KZBQAAABAzVAUTXGXjFK4TQ8AAAAAL4DTDkxczU2vIF07GZXZOdvDAAAgAElEQVQSIpY/jislEcurUuZWSj5cB1sp+XDq85lAx17P7ycO96JbQQcaxFRli9y8QcSvlVelxZO7T0lzk7wqofwGs+a6SnlVVS1yB/eRilvkVVWK5I4uJG0RyqsqaZa7laixTl6VWH7C1FxXIa+KR+R+iGIBX16VhrwKQiTCRnlVdSK5/8viJrnv6+VQUi5bRtGBCQAAAABeACWRUmLOBgflMK9VBCSjAAAAAOoFLaMAAAAAoDI0xW1veiSjAAAAANBptJTmcNB7qsNHzFVOXZLRhoaG+/fv6+npubq6ammpS1QAXcujR48qKyudnZ0tLCxUHQtAl1RfX3///n0DAwNXV1dNTU1VhwOvL67HGUUy+jxbt25ds2aNs7Mzn8+nKOrUqVPOzs6qDgqgK2loaBg8eDAhxM7OLjc3Nzw8/Ntvv1V1UABdTFRU1MaNG11cXOrq6jQ1NU+fPu3o6KjqoOA1RdM0hw96qvcETOqRjL7xxhv5+fmmpqY0TQcHB0dGRsbFxak6KICuRFtbOzY21tfXlxCSl5c3ePDgmTNn9u/fX9VxAXQlb731VlhYmImJCU3Ts2bNWrVqVWxsrKqDgtcUJeV0bnrubtPn5+f/8ssvIpFo5syZgwYNalV79+7djIwM2ZKZM2caGxtnZGTcvXuXLQwNDeXx/m9Mrg5G2lIeLy8vU1NTQgiPxxs2bFhFhdzhxACgXXp6ekwmSgjp37+/gYFBZaXc4QYBoF3e3t4mJibkvxcjnESgQsxtes7+cdTIWlBQ4OXlJRQKDQ0NR40alZ2d3WqF+vr6/P86derUypUrtbW1CSHHjx+PjY1lq1olx2rRMspqbm7ev39/SEhIZ1amaVoikahJPg3qjKIoDY3X6Hty5MgRU1NTT0/PzqwsEAgMFR0QvBJompZtyXi1CQSCgwcPhoeHd2ZliqJwMQLOUWJKKuJunFEJN42sO3funDBhwubNmwkhQqEwOjr62LFjsiv4+Pj4+Pgwyx9++OHs2bP19PSYl2PGjFm1alW7u1Wjk4eiqJCQkJ49ey5atKgz6wsEArEYk4XA8wkEAlWHoDxZWVkrVqw4dOgQe/53DG0/0EktLXIn6XnFSKXS4OBgZ2fnTraMNDU1iUQiRUcFXZdEInc+qg4w44xy9Y+rltG0tDR/f39m2d/f/+LFi/LWrK+vT0hI+Oijj9iSnJycLVu2xMXFtf1joi7JKE3TH3/8cUlJSXx8fCc7MBoYGHTycguvOUPD16XtLycnZ8qUKTExMX5+fp3cxN7eXqEhwStDV1dX1SEoA0VRCxYsqKurO378eCdbgo2MjPT19RUdGHRdLzdGENOBibN/HD0yWlZWZmlpySxbWlpWVlbKS7WPHTvm5OQ0dOhQ5qWtra2lpWVVVdWWLVuGDBlSX18vu7Ja3KanaXrp0qV3795NTEzEKQ3wcm7fvj1+/Pht27ZNnDhR1bEAdEk0TS9evDg/Pz8xMfE1Sb5BbdFSiuauA1NFS3N6auqMGTParZ0yZcqcOXOY5UOHDsk2Z7L4fL6enp6WlhabfUokEg0NDXlPwe3fvz80NJR9GRERwSxQFDVy5Mhdu3Z99dVXbK1aJKObN2/es2fPF198sXPnTkJI9+7dw8LCVB0UQFdSU1MzevRoV1fXp0+fMk/zTJ48ecCAAaqOC6ArWbt2bUxMzJdffrl9+3ZCiLm5ebtXZQAl4HY6UGMNLUdHx/fee6/dWtk+BvPmzZs3b568/dja2paWljLLJSUlNjY27Sajd+7cyc3NnTVrVtsqDQ2NkSNH5ufnyxaqRTLat2/fzz77TCqV1tbWEkJeq74mAJygaXrBggWEEOYkIoTgITaAF9WvX7/w8HCRSMScPkwvYACV4HY60G40z8HBQV4y2nmTJ0+Oj48PCQnh8Xjx8fGTJ09myq9evers7Gxubs683Ldv37Rp09iXhJDm5mbmboNQKDx//rxsoylRk2Q0KCgoKChI1VEAdGFmZmabNm1SdRQAXdvMmTNnzpyp6igACCGE5nacUY46MIWGhh48eHDcuHHGxsZXrly5cuUKUx4YGPjTTz8FBgYSQkQi0dGjR48cOSK7Yb9+/QYPHmxqanrx4sU+ffq0ugGuFskoAAAAALBoirMMknA36L2pqWl2dnZycrJIJNq3bx8zLi8h5NSpUw4ODsyyVCo9e/bskCFDZDdMT0+/efOmQCBYsmSJl5dXq90iGQUAAABQL1KxlNNxRjnLa/X09AICAloVsr3mmRWGDRvWagV7e/sOBm9BMgoAAACgXiiKptSvZVRBkIwCAAAAqBeKJtz1XyKcPXyqGEhGAQAAANSLlNBS7pozKbSMKg5Nkw7asGla7i8BZW6l5MN13Kj/en4m0AH6df1+4nAvuhV0oEEsrWiR+3ifSFAvr6qsWe5EkVJRs7yqWvmPElJiuVvx5c9OLmluklf1sFHuIHFSsdyqR/K3kjQ3yqsSy0+YRE1yP8MO3pdYKPdY9RK5n2EH76ujz7BF7if/cqTctoyqdS7axZNRAAAAgFcPRXPZMqreuSiSUQAAAAA1g5ZRAAAAAFAZjpNRzvakEEhGAQAAANSLhKLF3LVnSilanWdaRzIKAAAAoF6khEi5e9STIgTJKAAAAAB0FsYZBQAAAACVkXLamx7jjAIAAADAC5AS9KYHAAAAABXhepxRtc5GkYwCAAAAqBeMMwoAAAAAKsPxM6Nc7UgxkIwCAAAAqBcxRYu4a8+UqHfTKJJRAAAAAPWCoZ0AAAAAQGW69NBONE3z+XxjY+NW5UKhUFNTs1u3bq3K1XlAfgAAAIDXkfS/fZg4+cfVXfrMzMxp06bZ29v7+PjIWychIcHKysrJyWnQoEH3799nCoVCYWBgoI2NjYWFxRdffEH//8kxklEAAAAA9cIM7cTVP67aRTU1NQMCAhYtWtTQ0NDuCnV1dcHBwSdOnKisrAwMDAwLC2PKv//+++rq6oqKisePH584ceLUqVOyWyEZBQAAAFAvHDaLctgy6uXlNX/+/L59+8pbIT4+fuDAgW+++SYhJDw8/OrVq0+fPiWExMbGfvrpp926dbOwsAgODv7ll19kt0IyCgAAAKBeOE5GlRX2kydPBgwYwCybmJjY2Njk5+dTFPX06VNXV1em3NXVNT8/X3arrt2BSSqVEsJTdRSg7rKzs/v162doaKjqQNSRSCQyUHUM0CU8evTI2dlZ1VGoKalUquoQQH1VV1ebmZm96FbczsAkIXR1dXV2dna7tQ4ODmyEf//9919//dV2nYiICC2t5yeNdXV1+vr67EsjI6Pa2lqBQCAWi9lyQ0PD2tpa2a143D1IoGyFhYVeXl69evVSydErKip0dXXb9hRTvvr6epFIZGFhoepAiFAorKmp6dmzp6oDIVKptKioyMHBgS2JjIycNm2a6iJSXwEBAY8ePTIwUEFGKpVKCwsLHR0dlX/otvLz8x0dHXk81f+4LSoqsrKyatvbVPnKy8sNDQ3ZX3HW1tatHvMCxsOHD0eNGqWSi1FNTQ0hpEePHso/tCyhUFhbW2tra6vaMCiKKigoUIc/KU+fPrW3t9fQ+N+bz8HBwUuWLFFtSDt37ty0aZOlpWW7tbIR3rp1688//2y7TmRkJJuMJiQkrF69+s6dO21XW7Vq1bNnz9i78HZ2dkePHvXz89PX18/KynJ3dyeEHDlyZNu2bVlZWexWXbhltHfv3v/884+qowDo2tr9BQwAnefi4oKLEai5RYsWLVq0qDNrenh4eHh4vPSB3NzcEhISmOWysrKKiop+/foRQgYMGJCdnc0kozdv3nRzc5PdCs+MAgAAAMDz1dXVnT9//vbt242NjefPn7958yZTHhQUlJ6eTgiZOnVqTU3Ntm3bCgsLv/jiiylTplhZWRFCwsLCNm3alJeXl56efvDgQbaXPaMLt4wCAAAAgNIUFxdv3ryZEOLs7Lx582YPD4+hQ4cSQnR0dDQ1NZmFs2fPfvnll9u3b/fx8dm2bRuzYUhISEVFxYwZM3R1dbdt2zZ8+HDZ3XbhZ0YBAAAAoKvDbXoAAAAAUBkkowAAAACgMkhGAQAAAEBlkIwCAAAAgMqgN/0Lu3Pnzr1799iXU6dO1dbWVmYAJSUlt27d0tHRGT16tGx5SkpKdna2i4tLQEAAO9auQjU0NOTk5FRUVAQEBOjo6DCF165dKygoYJa1tLSUM9T83bt3L1++LBQKR4wYMWLECLa8uro6Pj6+ubl58uTJffr0UUIk0BlSqfS3335jX7q4uAwePFiZAbS0tNy+ffvZs2ejRo2ytrZmyysrK0+cOCGRSKZOndq7d28lREJR1KNHj/Ly8hwdHdmx/fh8fmJiIruOh4eHEqY+YgZqefLkiaWl5ZQpU2Rn9EhNTb1+/Xrfvn2nTp2qnL8t8FyPHz/OyclhX/r7+5uYmCjt6MxcPk1NTa3+wt+4cePixYvW1tbvvfcee1FQnObm5tu3bxcUFPj5+THjBxFCHj58+Pfff7PrjB8/XtHT75WWlqakpFRUVLi4uEycOJE9R8Ri8YkTJ0pKSkaNGiV7YYK20Jv+hUVGRiYkJAwaNIh5GRMTo8zZa3bu3Lly5UpLS0tTU9MbN26w5evXrz9w4MCcOXNOnTrl4eFx4MABRUfy+PFjNze3vn375uXlVVRUsFNAffjhh7m5ucy1U1dXl52GQXGSk5Pnz58/YcIEQ0PDo0ePLliwYMOGDYSQ6urqoUOH+vr6WlpaHjx4MDU19d8M5AscEggEBgYG06dPZ4YCmTRp0ocffqjMAMzMzMzMzIqLixMSEsaPH88UlpeXDx061N/f39jY+PDhwxkZGexMyooze/bslJQUDQ2N999/f+vWrUzhw4cPBw0aFBAQwLwMDg6eMGGCoiN54403jIyM3N3d8/LycnJysrKymCmFNm/e/PPPP8+dO/fMmTNubm5KOKOhM3bs2BEVFcWOj/P9998rbQqo5OTkyZMnOzg4lJaWNjQ0sOW//vrr0qVLQ0NDMzMzJRJJamqqon+6mJiYWFlZFRYWnjx5csyYMUzh999/v337di8vL+bltm3bZH9wco7P59vZ2U2YMKF3795nz561tLRMTExkZioaO3asUCj08/Pbv3//xo0bg4ODFRdGl0fDC/r6668///xzVR29sbFRKpUePnx42LBhbGFDQ4OxsXFOTg5N05WVlXp6eo8fP1Z0JCKRSCAQVFVVEUIqKirY8g8++GDr1q2KPrqsurq6lpYWZvny5cvdunVrbm6maXrTpk3jxo1jyiMjI99//31lRgUdaGpqIoQIhUJVBVBfX0/TtKOj45kzZ9jCVatWBQYGMsvh4eELFixQWiSffPLJsmXL2MIHDx6Ym5sr4eiyKisr2eW33357zZo1NE03NjZ27979+vXrNE3X1NQYGBjcv39fyYFBu7Zv3z5r1iyVHFogEIhEoqysLCMjI7aQoqj+/fv/+uuvNE23tLQ4ODgkJiYqOhLm9LGzs0tKSmILo6Oj58+fr+hDs8RicW1tLRuPkZHR5cuXaZpOT0+3srISCAQ0TZ8+fdre3l4ikSgtqi4HN1xeRn5+fkxMTEpKilQqVfKhDQwM2v7WzMrKMjY2Zpr9zM3NR4wYkZycrOhItLW19fT02q26e/duTEwMc0IqOgxCiImJCTuRt56eHo/HY2YYZ36+M+WTJ09OSkpSQjDQefHx8XFxcYWFhco/tOw9aFZSUpLyvzDtRkIIEYvFR48e/e2335Q2z6S5uTm7rK+vzzRaX79+XU9Pz9PTkxBiamrq4+OjhL8t0EllZWUxMTHnzp1rbm5W5nH19PTaPpxWVFT04MGDSZMmEUK6devm7+9/7tw5RUci7/QpLi6OiYlJSkoSiUSKjkFLS6t79+7MMnNNZK7RycnJo0ePZkrGjBlTXl7+8OFDRQfTdSEZfWH6+voSieTy5ctLlizx9vaWvUmhKqWlpTY2NuxLGxubsrIyVQXTvXv3mpqa9PT0OXPmjB07ViwWK+3QFEVFRESEhYUxuWlJSQl7d8bGxqa2tlYgECgtGOiYu7t7SkrKsWPHBgwYcOjQIVWHQ0ibL0x5ebnyf20yeDxev379UlJS9u7d6+LicvbsWWUePS0t7cqVK8yDE6WlpbK3OFX7twVk6ejo6OjoZGRkREREuLu7l5SUqDae0tJSExMTfX195qUKvyq6urpaWloZGRlffPHFoEGDlPZzjhCybt06V1dXb29vQkhJSQl7XdbW1jY3Ny8tLVVaJF0OOjC9sMjISGZBIpH4+vpu3bp11apVqg2Jx/v/nv2laZppGlQJdu6vxsbGwYMHx8bGLliwQAnHpWl66dKlAoFg48aNTImGhgb7sTALKvxYQJa+vv7t27eZ5T/++GPu3LkzZ85UQneHjrX6wrBN7Mrn7OyclZXFLP/000+LFy/Oz89XzqFzc3NnzpwZExPDPICoVn9bQFZISEhISAghhKbp6dOnr1mzZs+ePSqMR32+KosXL168eDEhhKKoiRMnrl+/nr0qKdQvv/xy4MCBtLQ05q6C7N8TgnPnedAy+vK0tLTGjBkj27NeVZhWHPZleXm5bEOpqhgaGvr5+Snt8/n8889v3Lhx6tQp2Z/m7MdSVlZmamoq77kCUKHx48c3NTWp5GZ9K62+MFZWVurQc3z8+PFPnz5Vzn3Y+/fvjxs37scff5wyZQpTop5/W0AWj8cbN26cyq9ENjY2DQ0N7N0ndfiqaGhoKO2TiYuLi4iISEpKYodtkW0bFovF1dXVtra2Soiki1L9n9ouh6IoZoGm6UuXLvXt21e18RBCRowYwYyyRAipqqrKzMxk+xUqH/v5iESizMxM5Xw+kZGRFy5cOHv2rOzgJmPHjj158iSzfPLkybFjxyohEugM9ktCCElPT9fR0VFaR+AOqM8XptXnY2dnp6urq+iDPn78ePTo0WvWrJk5cyZb6O3t3dzcfP36dUJITU3NlStX/P39FR0JdEarL4nKr0S9evXq378/cwaJRKJz586p6gxS/ifz+++/h4eHJyYmyo6/MXbs2JSUFCY7T0pKsrW1dXFxUXQkXReGdnph3t7e7u7upqam6enp9fX1V65cMTMzU9rRc3Nzv/vuu8LCwocPH44ePXrIkCERERGEkI0bN+7Zs2f27NmnTp3y9vbeu3evEoKZNWuWUCj8888/AwICdHV1f/31V0KIk5PTmDFj9PX1z507Z2RkdPHiRUVfR8+cOTNx4sR33nmH/Y/4z3/+Y2NjU1NT4+np6e3tbWVlFRsbm5qaquTBLEGeffv2xcXFDRw4sK6uLj4+fv369UuXLlVmAJGRkY8ePTpz5szQoUOtra03b97s6Oj4zz//DBs27O233zY2Nj5+/HhGRkb//v0VHcmJEydOnDhx8+ZNDQ0NDw+PWbNmTZs2be3atTdu3HBxcSktLT158mRMTExQUJCiI/H09CwtLfX19WVe+vn5LVmyhBCyZcuW7du3M0M7eXh4xMTEKDoS6IyJEyeamZlZW1tfv379wYMHly9fVtpQylVVVYsWLaqpqUlLS5s2bZq1tTVzH/zEiROLFy9esGAB85DJhQsXFH1jOiIi4smTJ6dOnfLy8rKystqyZYu9vf2YMWNsbW0tLS2zsrKePn165coVhf7Wrays7Nmz54ABA9hcc9GiRW+99RYhZMKECfX19W+++eaBAweioqKUPIBd14Jk9IXdunXr+vXrfD7fyclp/PjxbD9u5fjnn3/S09PZlzY2NuzFIy0t7caNG/37958wYYJynk2Jj49nvz88Ho+5Xl65cuX27dvNzc39+/f39/dXwo3OoqKizMxM2ZJx48YZGRkRQmpra3/77TehUDh58mR7e3tFRwKdVFdXl5qa+uzZM2NjY19f3379+ik5gAsXLlRXV7MvR48ebWpqSgipqqr6/fffxWLxlClTevbsqYRI7t69m5eXx74cOHCgq6trRUVFampqcXGxubn5O++8o5xm48TERD6fz760t7dn+mEQQi5dunTt2jUXF5dJkybhuTc1cf/+/czMzKqqKnt7+wkTJihzuGuBQHD69Gn2paGhITtY761bt1JTU21tbadNm6aEi+P58+dra2vZl8zI/3l5eZmZmbW1tcwnwz64pSCtPg1CiJeXl4ODAyFEIpH88ccfhYWFfn5+zJAUIA+SUQAAAABQGTwzCgAAAAAqg2QUAAAAAFQGySgAAAAAqAySUQAAAABQGSSjAAAAAKAySEYBAAAAQGWQjAIAAACAyiAZBQAAAACVQTKq7hoaGl5iYgI+n3/ixImSkhJ5KyQnJ6empv670AC6BpFIxMwQ/aKuXr16/vx5ebVlZWWHDx+WnQAG4JXE5/NlJ3zvJKFQeOLEiYKCAnkrpKamJicn/7vQ4BWBZFRN5ebmBgUFGRgYmJiYaGtrjxo16tSpU53fvKSkZMaMGdevX5e3wnfffRcdHc0sl5aW7tmzp6Ki4t8GDaBORCJRdHR0v379dHR0DAwMbGxsli9fXlNT0/k9/PDDD1999ZW82tzc3A8++ODZs2fMy7/++isxMfFfxgygPh48eDBr1iwjIyNjY2Ntbe2RI0fGx8d3fvOampoZM2akpaXJWyE6Ovq7775jlisrK/fs2dNBAwq82pCMqqOkpKThw4fn5ORER0cnJycfPnxYU1Nz8uTJGzdu5OoQCxYsmDt3LrP84MGDsLCw/Px8rnYOoHIikWjSpEkrV6708/M7efJkYmJiaGjo3r17hw8fztUFr2/fvt9++62NjQ3zMioqaseOHZzsGUDlLl++7OXllZGRsWHDhuTk5OPHjxsbG7/33ntff/01V4eYO3fuggULmOWCgoKwsLC8vDyudg5di5aqA4DWqqurZ8+e3bt37ytXrvTo0YMpnDFjxvvvv//NN9/4+vqOGjXqhXYoFAqbm5tNTU1lC4ODg7kKGEANrVu3Ljk5effu3QsXLmRKxo4dO3HiRD8/v48++uglmjCrq6sNDQ11dHTYkj59+qxevZqziAHURmNj44wZM3r06JGVlWVlZcUUBgUFLViwYOPGjaNGjRo/fvwL7bC5uVkgELBXNMasWbM4ixi6OLSMqp0DBw5UV1dv2bJF9rzV0NDYvn27lpYWe2999erVrbLStiU1NTXTp083NDTs0aPHkCFDbt26xVYFBQXNmzePEHL27Nk5c+YwJU5OTk5OTjdu3FDcuwNQgubm5m3btg0fPpzNRBnDhw8PDQ09d+7c33//TQipqKhwcnL6/fff2RXalhBCjhw5Ymtra25ubmZmFhkZyT7DnZ6ebmdnd/fuXUKIv79/dnb2hQsXmJNo/vz5Cn+TAApz+PDhsrKyDRs2sJkoIYTH423dutXQ0HDLli1MyZYtW4YOHSq7YdsSPp/P3Os3MzMbOHBgVlYWWzVv3rygoCBCyKVLl6ZOncqUMGdQBzf34ZWEZFTtpKSkaGho+Pv7tyq3srIaMmRIamoq8yB5dXV1YWGh7AptS1auXGlhYXHjxo2zZ882NTWNHTu2qqqKqaqoqGCWhw0btmLFCmbl3bt37969u2/fvop7dwBKcOPGjfr6+nHjxrWtYlp0UlJSCCFSqTQ/P5/P57O1bUvy8/O//vrrnTt33rp1a/HixRs2bNi0aRNT1dzcXFJSIhKJCCFr1qxxcnIaNGgQcxJ9+umnCn2DAArFnCBtmz9NTExGjhyZkZHR3NxMCKmpqWGfmWa0Lfn222+1tbUzMzOTk5M1NDTGjRvHPidTVVXF9FUYMGAAc/c/PDycOYMGDhyooLcG6gm36dVOQUGBra2t7N1AlqOjY1ZWVm1trZmZWWd21b9//927dzPLv//+u7u7+969eyMiImTXsbS0ZH7Ienl5jRgx4l+HD6B6zK8yBweHtlVMYVFRUSd3VVtbm5CQ8PbbbxNCBg8e/Pjx46ioqBUrVnTr1k12tZEjR3bv3t3U1HT06NH/LnYA1SsoKDA2Nm71cBfD0dExOTm5vLy83fOrrZ49ex46dIjH4xFC/vrrL2dn5x07dmzYsEF2HTMzM29vb0LIkCFDcAa9ntAyqnYoitLW1m63irn+MWd1ZwQGBrLLbm5urq6uN2/e/PcRAqg5qVRK/nu+tNJuYQfMzMyYTJQRFBRUV1eH3n7waqMoSt6Z8qKXoenTp7MrOzg4DBs2DJchaAvJqNqxtrYuLi5mrqatPH36VF9fv9Uz4B1g+/kybG1ti4uLOQgRQL0x3/xWtwsZTKGdnV0nd2VtbS370tbWlhCC8whebdbW1lVVVY2NjW2rnj59qqGhwZwInYHLEHQGklG14+vrKxaLZZ/yZjQ2Nt66dcvPz495qampKZFIZFdoaGhotQn7hCijsrJS9ml0gFeVl5eXjo5ORkZG26rLly8TQpjzSEtLixAiex7JPi3KqK6uln1ZWVlJ2mSoAK8YX19fQkjbM0gkEl27dm3kyJHM7TtchoArSEbVTmhoqI6OTkREhFgsli3/7rvv+Hz+J598wry0s7OrqKhgf7mKxeIrV6602lVSUhK7XFRUlJeX1+5T4YaGhoQQ5oF0gFeAiYnJ3Llzz549y/TDYBUVFf3000+enp5eXl6EEHNzc11dXdl77m378JaXlzNd7xnnzp3T09Pr06dP24MaGhoKhUIu3waAisyfP9/AwOCbb75pdV3YsmVLZWXlxx9/zLy0s7Pj8/nMLzRCCEVRzI89WbKXoaqqquzsbFyGoB00qJ+dO3fyeLx33303PT29qqoqNzd30aJFhJBPPvmEXefmzZs8Hi80NLS8vPzx48dz5841NDTs3bs3U3vv3j1CiIGBwffff9/Q0PD48WM/Pz99ff1nz54xK4waNWrChAnMcnV1tY6OzuzZszMyMm7cuMHn85X8fgE4V1NT4+LiYmRktHXr1oKCgrKysri4OHt7e1NT00ePHrGrTZUTHH8AAAMJSURBVJo0ycLCIj09vbq6OiEhgemTcejQIaY2KChIT09vyJAhd+7caWpq2rdvn7a29rJly5jac+fOEUJu3rzJvFy+fLmxsXFCQsKNGzcePnyo5PcLwK1ffvlFQ0PjjTfeSE1NrayszMvL++yzz3g83ty5c9l1Hjx4oKmpOWfOnLKysvz8/IULFxoaGpqamjK1zO14PT29tWvX1tXVFRQUjB07tlu3bvfu3WNWmDBhwqhRo5jlpqYmQ0PDqVOnXr58+caNG3V1dUp+v6BaSEbV1G+//ebs7Mz+ZtDU1Ny1axdFUbLrREREaGhoEEI0NDRCQkI+/vjjVsnojz/+6ObmxuzB3Nz8zJkz7LayyShN0zExMY6Ojsxdy0uXLinnPQIoVEVFxYcffig7MIWvry/7e4xx7949e3t7prZXr15//vlnq2R02LBha9euZU4NQsiMGTOEQiFT2yoZLSsrmzhxorGxMSFk3LhxynynAIpw+vRp9gpCCOHxeD/88INEIpFdZ/369ZqamkztnDlzPvvss1bJ6MaNG9mRR7t3756QkMBuK5uM0jR97NgxZ2dn5gEA2asVvA549H8HcAY19OTJk9LS0osXL65atep//ud/1q5d22qF2trahw8f2tnZ9ezZs9090DSdl5fH5/M9PDx0dXXZcuZBH/YSC/CqamxsfPDgQU1NzccffywWizMyMnr16iW7glQqffToUVNT0+DBg+WdEdXV1Q8fPrSxsZEdzoamabFYrK2t3fmexQBdzrNnz4qLizMzM7/88stly5b9+OOPrVaor69/8OCBjY1NqzNL1r179+rq6gYPHqyvr88W4jIELCSjXUNkZOSGDRt++OGH5cuXqzoWgC4pPz/f19fX0NDw8uXLlpaWqg4HoIvZuHHj119/vX79eg6npwdgIBntGmiafvbsGY/H6+Q4wwDQVk1NTV1dnZmZmYmJiapjAeh6mKdcHB0dVR0IvGqQjAIAAACAymBoJwAAAABQGSSjAAAAAKAySEYBAAAAQGWQjAIAAACAyvw/vEENYEWVY8EAAAAASUVORK5CYII=", "image/svg+xml": [ "\n", "\n", "\n", - " \n", + " \n", " \n", " \n", "\n", - "\n", + "\n", "\n", - " \n", - " \n", + " \n", + " \n", " \n", "\n", - "\n", + "\n", "\n", - " \n", + " \n", " \n", " \n", "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", - " \n", + " \n", " \n", " \n", "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", - " \n", + " \n", " \n", " \n", "\n", - "\n", + "\n", "\n", "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", "\n" ], "text/html": [ - "" + "" ] }, - "execution_count": 47, + "execution_count": 26, "metadata": {}, "output_type": "execute_result" } @@ -1547,55 +1553,174 @@ "execution_count": null, "id": "f840b38f", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "24 circuits on 60 qubits, T = 1.5\n", + " δt = 0.5 → 4 time points, deepest circuit = 3 Trotter steps\n", + " δt = 0.25 → 7 time points, deepest circuit = 6 Trotter steps\n", + " δt = 0.125 → 13 time points, deepest circuit = 12 Trotter steps\n" + ] + }, + { + "data": { + "text/plain": [ + "24-element Vector{QiskitIBMRuntime.Job}:\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000128f0d190)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000048ddf01a0)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000004b653df90)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000004b6f8c790)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000004b6563090)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000128f0efd0)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000004b6f1c7b0)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000004b674f930)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000128f0acb0)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000004b6f4c360)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000128f0fc80)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000128f0c5b0)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000048ddb9170)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000128f06700)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000128f047f0)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000004b6783080)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000004b6f1e660)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000128f046a0)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000004b6f207e0)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000004b733f150)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000004b650e450)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000004b658af20)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000128f04860)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000004b5a7e4f0)" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# -------------------------Step 1-------------------------\n", "# Map classical inputs to a quantum problem.\n", "# At N = 60 the 2^60-dimensional state vector is far beyond the exact ODE\n", "N_large = 60\n", - "δt_large = 0.05 # Trotter step size, same as the small-scale example\n", - "r_max_large = 10 # total number of Trotter steps\n", + "T_total = 1.5 # fixed total evolution time\n", + "r_list = [3, 6, 12] # varying Trotter steps; δt = T_total/r\n", "\n", "h_large = fill(1.0, N_large) # transverse field on every site\n", "J_large = fill(1.0, N_large - 1) # nearest-neighbor ZZ couplings on the chain\n", "\n", - "# one circuit per Trotter step r = 0, 1, …, r_max_large\n", - "qc_list_large = [make_trotter_circuit(h_large, J_large, N_large, δt_large, r)\n", - " for r in 0:r_max_large]\n", + "# One circuit per (step size, elapsed steps) so each δt yields a full time\n", + "# trace t = 0, δt, 2δt, …, T_total rather than just the endpoint.\n", + "sweep = [(r, k) for r in r_list for k in 0:r]\n", "\n", - "println(\"Built $(length(qc_list_large)) circuits on $(N_large) qubits\")\n", - "println(\" evolution time τ = 0 … $(r_max_large * δt_large)\")\n", - "println(\" deepest circuit: $(qc_list_large[end].num_instructions) instructions\")\n", + "qc_list_large = [make_trotter_circuit(h_large, J_large, N_large, T_total/r, k)\n", + " for (r, k) in sweep]\n", + "\n", + "println(\"$(length(qc_list_large)) circuits on $(N_large) qubits, T = $(T_total)\")\n", + "for r in r_list\n", + " println(\" δt = $(round(T_total/r, digits=4)) → $(r+1) time points, \",\n", + " \"deepest circuit = $(r) Trotter steps\")\n", + "end\n", "\n", "# -------------------------Step 2-------------------------\n", "# Optimize the problem for quantum hardware execution.\n", "tqc_list_large = [transpile(qc, target)[1] for qc in qc_list_large]\n", "\n", - "for (i, tqc) in enumerate(tqc_list_large)\n", - " ops = tqc.count_ops()\n", - " n_2q = sum((v for (k, v) in ops if k in (\"cz\", \"cx\", \"ecr\", \"rzz\")); init = 0)\n", - " println(\"r=$(i-1): qubits used=$(length(get_circuit_layout(tqc))), \",\n", - " \"2q depth=$(two_qubit_depth(tqc)), 2q gates=$(n_2q)\")\n", - "end\n", - "\n", "# -------------------------Step 3-------------------------\n", "# Execute using Qiskit primitives.\n", "shots_large = 4096\n", "\n", - "job_list_large = [run_sampler_job(service, backend_large, tqc, shots_large)\n", - " for tqc in tqc_list_large]\n", - "\n", + "job_list_large = [run_sampler_job(service, backend, tqc, shots_large)\n", + " for tqc in tqc_list_large]" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "id": "10004db8", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Job 1 (δt=0.5, k=0): Completed\n", + "Job 2 (δt=0.5, k=1): Completed\n", + "Job 3 (δt=0.5, k=2): Completed\n", + "Job 4 (δt=0.5, k=3): Completed\n", + "Job 5 (δt=0.25, k=0): Completed\n", + "Job 6 (δt=0.25, k=1): Completed\n", + "Job 7 (δt=0.25, k=2): Completed\n", + "Job 8 (δt=0.25, k=3): Completed\n", + "Job 9 (δt=0.25, k=4): Completed\n", + "Job 10 (δt=0.25, k=5): Completed\n", + "Job 11 (δt=0.25, k=6): Completed\n", + "Job 12 (δt=0.125, k=0): Completed\n", + "Job 13 (δt=0.125, k=1): Completed\n", + "Job 14 (δt=0.125, k=2): Completed\n", + "Job 15 (δt=0.125, k=3): Completed\n", + "Job 16 (δt=0.125, k=4): Completed\n", + "Job 17 (δt=0.125, k=5): Completed\n", + "Job 18 (δt=0.125, k=6): Completed\n", + "Job 19 (δt=0.125, k=7): Completed\n", + "Job 20 (δt=0.125, k=8): Completed\n", + "Job 21 (δt=0.125, k=9): Completed\n", + "Job 22 (δt=0.125, k=10): Completed\n", + "Job 23 (δt=0.125, k=11): Completed\n", + "Job 24 (δt=0.125, k=12): Completed\n" + ] + } + ], + "source": [ "for (i, job) in enumerate(job_list_large)\n", - " println(\"Job $i (r=$(i-1)): \", get_job_status(job, service))\n", + " r, k = sweep[i]\n", + " println(\"Job $i (δt=$(round(T_total/r, digits=4)), k=$k): \",\n", + " get_job_status(job, service))\n", "end" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 40, "id": "c3e8fdb7", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "24-element Vector{QiskitIBMRuntime.Samples}:\n", + " [\"0x555555555555555\", \"0x555555555555555\", \"0x555555555554554\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\" … \"0x555555555555555\", \"0x555555555555555\", \"0x555555555455555\", \"0x551555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555d55\", \"0x555555555555555\"]\n", + " [\"0x555551555555755\", \"0x454514545555440\", \"0x5555255d494de51\", \"0x4155d5555545854\", \"0x555555541515151\", \"0x555555554155594\", \"0x555554555555455\", \"0x556555557d154d5\", \"0xd55555555151555\", \"0x155d56539151441\" … \"0x555505555585555\", \"0x555551d55544404\", \"0x554555554551557\", \"0xd51155547515555\", \"0x5555559511555d4\", \"0x5d9555655545745\", \"0xd5152555555f545\", \"0x3515555c1151855\", \"0x555515555541194\", \"0x5155d5554141555\"]\n", + " [\"0xd15b55945d57395\", \"0x4b1335155c95356\", \"0xd51551957555b2d\", \"0xbb76cd44e957454\", \"0x2da9d5495340b55\", \"0x2d555542d12db56\", \"0x5564534845764d4\", \"0x554259555c573d8\", \"0x955549555352234\", \"0xd555d6557d512a0\" … \"0x136d555d5c92545\", \"0x556d55595555885\", \"0xeacbc8b2b55553d\", \"0x551511156d55534\", \"0xe2b1a2555765515\", \"0x2d555b555456595\", \"0xed5159a55575a35\", \"0x94e1b1159c55704\", \"0x85ab69498bb5755\", \"0x559693355c15651\"]\n", + " [\"0x6aa9a94f4d56a54\", \"0x19549555d553766\", \"0x594249549589760\", \"0x554957552356a10\", \"0xb44556cd4954c54\", \"0x6ad55b5649d5244\", \"0xdb55451b428b5d0\", \"0x5d55595d2564650\", \"0x349c9c22a957ab0\", \"0xa51ad58b05a6c52\" … \"0xd4a35455504b4d2\", \"0x3b752aa54c56126\", \"0x9495255a5557535\", \"0xab44692555549c2\", \"0xb554f1952a2c8d4\", \"0x2b5a5aeb55216ce\", \"0x5552d0ed55155d2\", \"0xf9554554d253aa5\", \"0x55496bb55295452\", \"0xb6ad294dda9ad52\"]\n", + " [\"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\" … \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555155545555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\"]\n", + " [\"0x555c45355d55515\", \"0x555555544555145\", \"0x55555457d505515\", \"0x7f5555555595453\", \"0x55551d544545555\", \"0x155555554555555\", \"0x5554d19d5d5d514\", \"0xd5554554451e555\", \"0x555515555555155\", \"0x555555555555544\" … \"0x5d5547555555555\", \"0x455555540555555\", \"0x555755555575755\", \"0x555575555155555\", \"0xd55555d7455d551\", \"0x555515554555455\", \"0x555545557d55655\", \"0x5555115505550d5\", \"0x155511555555545\", \"0xd45551450555555\"]\n", + " [\"0x5055d3455155c55\", \"0xd15555c55d03454\", \"0x5555155515d5510\", \"0xcb30d5455755440\", \"0x5555d5155555450\", \"0x5517d50d5514555\", \"0x95d575d415f5456\", \"0x35c17d5751e4c58\", \"0x115555445555555\", \"0x655939551505554\" … \"0x55565d545155650\", \"0xd51175555557755\", \"0x515574551454634\", \"0xc55595c75554655\", \"0x515755e41555751\", \"0x557555055595c54\", \"0x361d5555d595755\", \"0xd55558755575650\", \"0x55567d7348f5600\", \"0xc54453cd1157144\"]\n", + " [\"0x90de55915514955\", \"0x84d559553e15155\", \"0xd536dad45d83520\", \"0x11554d955955534\", \"0xa65555435d52042\", \"0xd3d265639514554\", \"0xca67a6c5b587474\", \"0x954cb15641cd052\", \"0x58d551d6a945456\", \"0xb15956c99445844\" … \"0x575454547145719\", \"0x49b544b5b55d554\", \"0x357b0754554f834\", \"0x55756e550434555\", \"0x6575a5557d8fd16\", \"0xd95553870a57644\", \"0x455850d7b4cf444\", \"0x515cd9554d56525\", \"0xf529b750d517011\", \"0x953565546994754\"]\n", + " [\"0xd5ad5165a4d5403\", \"0xdb6d55555c4a466\", \"0x9a94b6455226056\", \"0xb55b928594c203a\", \"0xad95517dd574f12\", \"0xfd1551675149552\", \"0x5555759520e4826\", \"0xb235348854d7554\", \"0x494a94154515a51\", \"0x5493555556d5551\" … \"0xa5a45275dd47701\", \"0x551990b5655542c\", \"0xd515518d58c5554\", \"0x98e52a651555626\", \"0x532dcd2d5135404\", \"0x594d32555569814\", \"0x336c91bd44c5555\", \"0x558ed8c55168a50\", \"0xb30a554d5e4510c\", \"0x634d546d6c9554a\"]\n", + " [\"0xd55555456137236\", \"0x592d1554bb3be6d\", \"0x5552d5715d57454\", \"0xc9a5249251ed344\", \"0xa5554b1b4d44f04\", \"0x51555a86955aa4a\", \"0x5b3257a15d54952\", \"0xad551153d529224\", \"0x992b549e31b5054\", \"0xf554975483ba855\" … \"0x52f5d6aaa85b426\", \"0x955ba38ac15ad52\", \"0x955516543d25b15\", \"0xac92112d5a5ac50\", \"0xd756d145dd55524\", \"0x54b4a9555ed5215\", \"0xb5554a2692ca594\", \"0x65290cc5f6c9554\", \"0xb4854b66b699756\", \"0x4a27242a4d55b54\"]\n", + " [\"0xdc9555548a5aa2a\", \"0x92b7dbb6d89485a\", \"0x5551566ca9d455a\", \"0xd5115bdd2e97054\", \"0x9555574d5f45654\", \"0xaf5506b954235d2\", \"0xb528b5365455426\", \"0xa992ce296329474\", \"0xb1524d69dca5468\", \"0x555696d26b5a02c\" … \"0x5d555a8a4ce4448\", \"0xdaeb54555955196\", \"0x984da555eaca228\", \"0x551697554a4a316\", \"0x6351554426d6c0b\", \"0x5aecd68b5e55e48\", \"0xb290c0c42d3741c\", \"0xa554a9552b45454\", \"0xb6c951455152c54\", \"0x5ac356a49514954\"]\n", + " [\"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555455\", \"0x551555555555555\", \"0x555555555555555\", \"0x557555555555555\", \"0x555555555555555\" … \"0x555555555555555\", \"0x555555555555555\", \"0x555554545555555\", \"0x555555555555554\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\"]\n", + " [\"0xd55555554155415\", \"0x555155555555451\", \"0x551555554555555\", \"0x1515d1554545155\", \"0x555555555551551\", \"0x555551154555155\", \"0x555545550555555\", \"0x551559555555555\", \"0x559555555555555\", \"0x551555550555551\" … \"0x555445556555645\", \"0x555555d54555465\", \"0x565555554551555\", \"0x555515555454555\", \"0x561555555555455\", \"0x555517557d55555\", \"0x5d51555545551d5\", \"0x550555554556555\", \"0x570555554557555\", \"0x551755550555555\"]\n", + " [\"0xd55517415d17654\", \"0x555411155d54555\", \"0x55555555d455514\", \"0x555445554445515\", \"0x554555551557554\", \"0x55555515545569c\", \"0x551515d5455575d\", \"0x557555654555455\", \"0x555557454545754\", \"0x155556555155455\" … \"0xf55555494555555\", \"0x5515554150554d5\", \"0x555517517574d14\", \"0xd55551555545575\", \"0xd55555455d45554\", \"0x515155515d55554\", \"0x55444555555541c\", \"0x555455555555551\", \"0x555555954d55551\", \"0x557557555455555\"]\n", + " [\"0x570571445d15554\", \"0x755557751557554\", \"0x155515555555554\", \"0x5565574d4d35c30\", \"0x557395455555540\", \"0xb55553455d7553d\", \"0x555155555455544\", \"0x541544545555510\", \"0x555556544455252\", \"0x55f455455555554\" … \"0x115555414505514\", \"0x55555d4dd055454\", \"0x5455515d1555755\", \"0x555550553555445\", \"0x14d415c14c55414\", \"0x555df1d5751d455\", \"0x135571454155135\", \"0x157551435585525\", \"0x5757d254dd55455\", \"0xd15515455955150\"]\n", + " [\"0x575554455153612\", \"0x54d511004551644\", \"0x3d4d55555505764\", \"0x495514051305706\", \"0x5d117647cd6647\", \"0x555553554555717\", \"0xb55511554e44760\", \"0x791e09d15d54715\", \"0x5d5551554555741\", \"0x55d4d0519033654\" … \"0x555512474554515\", \"0x154554445dd5d95\", \"0x554f588d7977514\", \"0x659535551551404\", \"0x505545555d53174\", \"0x547756449454c9c\", \"0x55540f155d67076\", \"0x755d5555d155514\", \"0x516133c15572104\", \"0x477675555117416\"]\n", + " [\"0x455bddd7490d444\", \"0x45dd96d14557056\", \"0xd4e651052c17c70\", \"0x3955b145d455555\", \"0x953d55514123d50\", \"0x126d5144595e715\", \"0x54955bcc7543756\", \"0x557113504953657\", \"0x7c4913454455718\", \"0x551451554456724\" … \"0x75e155d54560a45\", \"0x555551009e15544\", \"0x355631c9154c345\", \"0x583552d35b4d10e\", \"0xc81551448535774\", \"0xd1115145edb4d65\", \"0x611515555555554\", \"0x15f115550554756\", \"0xc754713541c5f54\", \"0x75d456445d15c54\"]\n", + " [\"0x55355c5555a545d\", \"0xded5558b4e98e54\", \"0x161a15ed41d5550\", \"0x548954556905450\", \"0x591d53045586911\", \"0x4e5454e4b644455\", \"0xd419574505d5550\", \"0x145525438d28929\", \"0xd538d3055d6e554\", \"0x4715524d2269734\" … \"0x4b1673585d57546\", \"0xc55555dd5695410\", \"0x5527512d43d5534\", \"0x955555d54975424\", \"0xb51d4b553d56512\", \"0xb559552d5d91550\", \"0xd5915a498595555\", \"0x956575552487843\", \"0xd53552654d6f544\", \"0x954d32c51585940\"]\n", + " [\"0xfd5545424ac1554\", \"0x336cd3456253524\", \"0x92d68bc95dd5114\", \"0x5419514945ea122\", \"0x595557903d4994c\", \"0xd544555b6d5d324\", \"0x7526e9d55311422\", \"0x6b2d6b555289134\", \"0x553539b1548494c\", \"0x495552456d14175\" … \"0x555555856a3ba35\", \"0xd45172565515254\", \"0x94cb52cd6150552\", \"0x56950254d655114\", \"0xa59655813926254\", \"0xd4d955d55556816\", \"0xd52c22cd5592154\", \"0x55bad7469246544\", \"0x529e2c495622e90\", \"0xd59495c2ad55516\"]\n", + " [\"0xd31553752545454\", \"0x8b45520a8595546\", \"0xd1d159bcd14b528\", \"0x9b4954475d4c535\", \"0xd2c91345d5d5545\", \"0x555549296550462\", \"0x55fd533451ad52c\", \"0xb1556295469ea52\", \"0xc9994a4e5856a92\", \"0xa5c8594b5185046\" … \"0x52cd6d854931526\", \"0xd58942a62d5557d\", \"0x52b45afc656d704\", \"0x54ab6d54f355e14\", \"0xb67554955cad955\", \"0x9554d74b2d55536\", \"0x55a55a855447514\", \"0x5b4d4c95e652255\", \"0x4c8a634cd96d514\", \"0x52596cd17922454\"]\n", + " [\"0xd5b55075c995044\", \"0x5555515565b2556\", \"0x56d4b0554617556\", \"0xd4a5150d0b56bd0\", \"0xdd52505a8da5413\", \"0x55575484831b990\", \"0xd5941e95268f554\", \"0xd3816d5a5d4d520\", \"0xb169544d5995636\", \"0x39c15155295d8d5\" … \"0xbb544a951c8d51f\", \"0x55595547b2a7640\", \"0xd4d868c89853624\", \"0xacb555a57155550\", \"0xb395555548b0562\", \"0x50d565c9ad59954\", \"0xa2d20af54852450\", \"0xb48955565151456\", \"0x495953173557552\", \"0x11260cc35545650\"]\n", + " [\"0x975555a31cc8b14\", \"0x154ad5c47695752\", \"0xb25568356555449\", \"0x4d5432855260610\", \"0xd5cd3314c258314\", \"0x95f555a54556b14\", \"0xd5514d4a6456514\", \"0xba5555a22b4c8c2\", \"0x57483192cccd304\", \"0xd55552d25946050\" … \"0x55555b54ab55556\", \"0xa65051b552d5554\", \"0xd2dcfad13495552\", \"0xb5f595448294e54\", \"0x96b55b539c94920\", \"0xd5a66c425af3554\", \"0xb50bd69db2ad22a\", \"0xb25654565494952\", \"0xba2d63ad054a72a\", \"0xd32f52c55d54054\"]\n", + " [\"0xb6a55405cd65386\", \"0xd5554f55d851542\", \"0xbcb3224d544c6d8\", \"0xb55c146d2c88c56\", \"0x3542ad345b95229\", \"0xd4f1901a5a55a52\", \"0x95ab4c8521e9076\", \"0x16945a956b6e974\", \"0x915c25255d6d751\", \"0x56f40b46c56d226\" … \"0x5ac959456e15548\", \"0x55562a4c91d5b12\", \"0x570b5ad444b6412\", \"0xb55b56154ad4d52\", \"0x34ab555d3d55520\", \"0xc0ab15f44895c2e\", \"0xb5576a144b558ad\", \"0xacf2522cad56932\", \"0x92d532949855a24\", \"0xca5594d5a16b04a\"]\n", + " [\"0xaad552996d2c054\", \"0xd1254149b751220\", \"0x92d5d2ecfc35514\", \"0xb372ed0ebd15462\", \"0x59555fa40c55519\", \"0x6b51354c0956552\", \"0xc6b553559954455\", \"0xb55660255ed271a\", \"0xb5559755b2bdd50\", \"0xa55a555abeb6554\" … \"0x5429d2c54b64751\", \"0xe45232cdacd40ae\", \"0x1b9990e41d26644\", \"0x917157494e92656\", \"0xe22752df8568719\", \"0xdb52b54492d4f56\", \"0x526b59b555d4dca\", \"0x92aaae129415568\", \"0xdfbe5544d319558\", \"0x4a957e942495490\"]" + ] + }, + "execution_count": 40, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# blocks until every job has completed\n", "all_samples_large = [get_job_results(job, service) for job in job_list_large]" @@ -1603,10 +1728,99 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 44, "id": "6c99b8f6", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAvgAAAG4CAIAAAC/8ARFAAAABmJLR0QA/wD/AP+gvaeTAAAgAElEQVR4nOzdZ0ATydsA8NlUOiH03jtIV0AREBFsoIiKit0T9W85O6enYjnLnZ6eXex6FhDBgmJDRUVEpaj03nuvIW3fD3tvLhc6BAI6v0/ZyezsJEbyZHbmGQRFUQBBEARBEPQ9wgm6AxAEQRAEQQMFBjoQNITQ6fTk5OSYmJjs7Gw2m91hHRRFMzIyYmJi8vPzB7l7XVi6dKm/vz/n8MuXL35+fkFBQQLsUlBQkJ+f35cvXwTYBwiCBA4GOtAP6uzZswiCIAji5+fX/lkJCQkEQVpbWwetP83NzVu2bJGXlzcxMbG3t9fR0ZGXl7948SJPtWfPnunr6+vr69vb22toaNja2n79+nXQOtmFS5cuBQcHcw7z8vICAwNjYmIE2KWYmJjAwMBBCwdv374dGBgo8MkAXl5epB4oLy8f0G60trZevXp17dq19vb2IiIiCIJwx8Fdu3z5MtKRuXPnDmifoe8VQdAdgCABu3jx4vr16w0MDATYh8bGxgkTJnz48EFVVdXX11dGRqa4uPjNmzfp6enc1V6/fj1lyhQEQdatW2doaPj+/fvr1687Ozt//PhRW1tbUJ3HODk5KSkpCbYPgrV9+/acnJxly5YhCCLAbhgaGtbW1nIOKysrk5OTpaSkzMzMuKuRSKQB7UZ5efmiRYuwx0JCQn1oQUtLS0tLi7vExMSk/x2DfkAw0IF+aFJSUrW1tQEBAbdv3xZgN37++ecPHz7MmjXr6tWr3N8K3N9YLBZr1apVDAYjKCho1qxZAAA/Pz9tbe1du3Zt2rQpLCxMAP3m8urVK8F2AML89ttv3Id37tyZNWuWtbX1s2fPBrMb4uLie/bssbKysrKyCgwM3LlzZ29bWLBgwa5duwaib9CPBgY60A9t5syZkZGRwcHBW7ZssbS0FEgfMjIyLl++rKSkdOnSJZ7fvlJSUpzH0dHRqampZmZmWJSD2bx589GjRx88eFBeXi4vL9/1hWg02qtXrzIyMhAEMTIycnR0JBKJ3BVSU1NbWlrMzc1RFH3+/HlaWpqoqKirq6umpma3ryIuLo5MJnf4mzs9PT0qKqqlpWXEiBFOTk443L93zNva2pKSkiQkJHR1dcvLy58+fVpdXW1kZOTq6opVYzKZz549y8jIoFAokydPlpWV7bYn7aEo+u7du4SEBAKB4OTkZGRk1L4Ok8mMiopKSUlhs9k6OjouLi7txyFqa2ujo6Pz8vLYbLaMjIyFhYWhoSEAoKmpKT09va2tDXsfsJ4LCQkZGxtzzq2qqnr+/HlJSYmYmJitrS3P+AqTyfzy5YuoqKiBgUF9ff2jR49KSkpUVVXd3d0lJSX78JIFTlpaeseOHYLuBQQBAABAIeiHdObMGQDA6tWrr1+/DgBwd3fnflZcXBwA0NLSMgg9wX7sbtmypetq2NfG1q1becqnTZsGALh582bXp7969UpVVZX7/76uru6nT5+461hYWAAA4uLiTE1NOdUIBMKJEye6fRUAAE1NTc7hvXv3AABr167duHEj962c0aNHV1VVcaplZmYCAFxdXXmGshwdHRsbG9PS0vT09DiFFArl/fv33faEY926dQCAa9euOTk5cRpBEGT16tUsFou7Znx8PPeFAAAqKiovXrzgrnP9+nVRUVGev5/r169HUfTt27ft/7Tq6+tzzj18+LCwsDD3sxMnTqyuruZUwGbMjBw5Mjw8nEKhcKrJysp+/Pix5y+5PWzilKura38a6ac9e/Z0+NHtzKVLlwAAAQEBA9or6McBR3SgH93cuXOPHDny5MmTly9fjhs3rucntra2dvgNx0NUVHT06NFdVMBm7Jqbmz979uzMmTNZWVkSEhJjx45du3atoqIip1pqaioAgGfWAgAAm52DPduZ5OTkSZMm0en0nTt3zp49m8ViXb58+ejRo66uromJierq6tyVvb29DQ0NDx48KC8vHxkZuXPnzvXr17u6uurr63f7YnmEhIS0trZevnx53Lhx5eXlu3fvDg8Px0bRuKOflJSUVatWbd++3dXVtb6+/pdffomKivr1118fPXpkYmJy4sQJKSmpa9eunTx5cuHChWlpadxjQt3y9/eXkZF58eKFnp5ecnLyzz//fPLkSVlZWc7NlKKiovHjx9fU1Kxdu3bp0qUEAuHOnTt79+6dPHlybGwsNvRSUFCwdOlScXHx06dP29raksnkwsLCly9fYsGZiYnJ8+fPFyxYUFpa+uzZM+yliYiIYO2fPXt206ZNcnJyZ8+etbe3LysrCwgIiIiI8PDwiIqKwuPxnK7m5+f7+PisWLFi6tSpeDz+3Llz169f9/X1TU1N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", + "image/svg+xml": [ + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n" + ], + "text/html": [ + "" + ] + }, + "execution_count": 44, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# -------------------------Step 4-------------------------\n", "# Post-process and return the result in the desired classical format.\n", @@ -1614,17 +1828,224 @@ "# hex_to_bitstrings decodes into an Int64, so N must stay under 63 bits\n", "@assert N_large < 63\n", "\n", - "save_counts(all_samples_large, N_large)\n", + "# save_counts(all_samples_large, N_large)\n", + "\n", + "# Staggered magnetization m_s = (1/N) Σ_i (-1)^i ⟨Z_i⟩.\n", + "# The Néel state gives m_s = +1; the *unstaggered* average is identically 0\n", + "# for this initial state, so the staggering is what makes the signal visible.\n", + "# Single pass over the samples: decode each hex outcome once, not once per qubit.\n", + "function staggered_mag(samples, n::Int)\n", + " acc = 0.0\n", + " for s in samples\n", + " val = parse(Int, replace(s, \"0x\" => \"\"), base = 16)\n", + " acc += sum((-1)^q * (1 - 2 * bit_at(val, q)) for q in 1:n)\n", + " end\n", + " return acc / (n * length(samples))\n", + "end\n", + "\n", + "ms_hw = [staggered_mag(s, N_large) for s in all_samples_large]\n", + "\n", + "# keep the sweep metadata next to the raw counts so the figure is reproducible\n", + "mkpath(\"results\")\n", + "open(joinpath(\"results\", \"sweep_N=$(N_large).json\"), \"w\") do f\n", + " JSON.print(f, Dict(\"T_total\" => T_total, \"r_list\" => r_list,\n", + " \"shots\" => shots_large, \"backend\" => backend.name,\n", + " \"sweep\" => [[r, k] for (r, k) in sweep],\n", + " \"staggered_hw\" => ms_hw), 2)\n", + "end\n", + "\n", + "plt = plot(xlabel = \"Time t\", ylabel = \"Staggered magnetization (1/N) Σᵢ (-1)ⁱ ⟨Zᵢ⟩\",\n", + " title = \"N = $(N_large) on $(backend.name), T = $(T_total)\",\n", + " legend = :topright, ylims = (-0.05, 1.05), size = (760, 440),\n", + " bottom_margin = 5mm, left_margin = 5mm)\n", "\n", - "magnetizations_large = [z_expval_from_samples(all_samples_large[i], q, N_large)\n", - " for i in 1:length(all_samples_large), q in 1:N_large]\n", + "for r in r_list\n", + " idx = findall(p -> p[1] == r, sweep)\n", + " ts = [sweep[i][2] * T_total / r for i in idx]\n", + " plot!(plt, ts, ms_hw[idx], marker = :circle, markersize = 4, lw = 2,\n", + " label = \"δt = $(round(T_total/r, digits=4)) (r = $r)\")\n", + "end\n", + "plt" + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "id": "0b8dbf6d", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Noiseless TN curves at each δt:\n", + " δt=0.5, 3 steps: truncation fidelity ≈ 1.0\n", + " δt=0.25, 6 steps: truncation fidelity ≈ 1.0\n", + " δt=0.125, 12 steps: truncation fidelity ≈ 1.0\n", + "Converged reference:\n", + " δt=0.01562, 96 steps: truncation fidelity ≈ 1.0\n" + ] + }, + { + "data": { + "image/png": "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", + "image/svg+xml": [ + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n" + ], + "text/html": [ + "" + ] + }, + "execution_count": 45, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Noiseless tensor-network baselines at N = 60.\n", + "# Refining δt costs nothing in bond dimension — the entanglement is set by the\n", + "# physical time T, not by the number of steps — so a fine-δt run serves as a\n", + "# stand-in for exact evolution that exact diagonalization cannot provide here.\n", + "g_large = named_grid((N_large,))\n", + "\n", + "tn_staggered(ψ_bpc, n) =\n", + " sum((-1)^q * real(expect(ψ_bpc, [(\"Z\", [(q,)])])[1]) for q in 1:n) / n\n", + "\n", + "# one Trotter step of size δt, as a gate list\n", + "trotter_step_gates(δt) = vcat(\n", + " [(\"Rx\", [(i,)], h_large[i] * δt) for i in 1:N_large],\n", + " [(\"Rzz\", [(i,), (i+1,)], 2 * J_large[i] * δt) for i in 1:N_large-1],\n", + " [(\"Rx\", [(i,)], h_large[i] * δt) for i in 1:N_large])\n", + "\n", + "# Evolve incrementally, recording m_s every `record_every` steps. This is O(r)\n", + "# work instead of the O(r^2) of rebuilding each circuit from scratch.\n", + "function tn_trace(δt, nsteps; record_every = 1)\n", + " ψ = tensornetworkstate(ComplexF32, v -> \"↑\", g_large, \"S=1/2\")\n", + " ψ_bpc = BeliefPropagationCache(ψ)\n", + " ψ_bpc, _ = apply_gates([(\"X\", [(i,)]) for i in 1:2:N_large], ψ_bpc; apply_kwargs)\n", + " gates = trotter_step_gates(δt)\n", + " ts = [0.0]; ms = [tn_staggered(ψ_bpc, N_large)]; fid = 1.0\n", + " for k in 1:nsteps\n", + " ψ_bpc, errs = apply_gates(gates, ψ_bpc; apply_kwargs)\n", + " fid *= prod(1.0 .- errs)\n", + " if k % record_every == 0\n", + " push!(ts, k * δt); push!(ms, tn_staggered(ψ_bpc, N_large))\n", + " end\n", + " end\n", + " println(\" δt=$(round(δt, digits=5)), $(nsteps) steps: truncation fidelity ≈ $(round(fid, digits=5))\")\n", + " (ts, ms)\n", + "end\n", "\n", - "heatmap(magnetizations_large,\n", - " title = \"Hardware, N=$(N_large) ($(backend_large.name))\",\n", - " clims = (-1, 1), color = :RdBu,\n", - " xlabel = \"Qubit\", ylabel = \"Trotter steps\", colorbar = true,\n", - " size = (760, 320),\n", - " bottom_margin = 5mm, left_margin = 5mm, right_margin = 6mm)" + "println(\"Noiseless TN curves at each δt:\")\n", + "tn_curves = Dict(r => tn_trace(T_total/r, r) for r in r_list)\n", + "\n", + "# Converged reference. r=96 leaves a Trotter error ~50x below the finest\n", + "# curve in the sweep. Watch the fidelity print: if it drifts from 1, raise\n", + "# `maxdim` in apply_kwargs.\n", + "println(\"Converged reference:\")\n", + "r_ref = 96\n", + "ts_ref, ms_ref = tn_trace(T_total/r_ref, r_ref; record_every = r_ref ÷ 12)\n", + "\n", + "plt2 = plot(xlabel = \"Time t\", ylabel = \"Staggered magnetization (1/N) Σᵢ (-1)ⁱ ⟨Zᵢ⟩\",\n", + " title = \"N = $(N_large): Trotter error vs hardware noise\",\n", + " legend = :topright, ylims = (-0.05, 1.05), size = (820, 480),\n", + " bottom_margin = 5mm, left_margin = 5mm)\n", + "\n", + "plot!(plt2, ts_ref, ms_ref, lw = 3, ls = :dash, color = :black,\n", + " label = \"converged (δt → 0)\")\n", + "\n", + "for (n, r) in enumerate(r_list)\n", + " ts_tn, ms_tn = tn_curves[r]\n", + " lbl = \"δt = $(round(T_total/r, digits=4))\"\n", + " plot!(plt2, ts_tn, ms_tn, lw = 2, ls = :dot, color = n, label = \"$lbl, noiseless\")\n", + " idx = findall(p -> p[1] == r, sweep)\n", + " plot!(plt2, [sweep[i][2] * T_total / r for i in idx], ms_hw[idx],\n", + " marker = :circle, markersize = 4, lw = 2, color = n,\n", + " label = \"$lbl, hardware\")\n", + "end\n", + "plt2\n" ] }, { From de847b21793626da6fecadb310728437cbee8641 Mon Sep 17 00:00:00 2001 From: Haimeng Zhang Date: Sun, 9 Aug 2026 16:00:01 -0700 Subject: [PATCH 32/40] clean up large-scale example --- .../time-evolution/time-evolution.ipynb | 817 ++++++++---------- 1 file changed, 378 insertions(+), 439 deletions(-) diff --git a/docs/tutorials/time-evolution/time-evolution.ipynb b/docs/tutorials/time-evolution/time-evolution.ipynb index bd7f4c34e133..fa9a614ebad2 100644 --- a/docs/tutorials/time-evolution/time-evolution.ipynb +++ b/docs/tutorials/time-evolution/time-evolution.ipynb @@ -76,7 +76,7 @@ "\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", + "To get started, install Julia, following the instructions on the [Julia download page](https://julialang.org/downloads/). This tutorial was developed with Julia 1.11, one can install this version via `juliaup add 1.11`.\n", "\n", "Then, run the following command in a terminal to install the Julia package `IJulia` into the global environment, which lets you run Julia inside the Jupyter notebook.\n", "\n", @@ -135,7 +135,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 1, "id": "940631f3", "metadata": {}, "outputs": [], @@ -164,7 +164,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 2, "id": "4ea0efac", "metadata": {}, "outputs": [], @@ -197,7 +197,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 3, "id": "143aecbe", "metadata": {}, "outputs": [ @@ -207,7 +207,7 @@ "bit_at" ] }, - "execution_count": 4, + "execution_count": 3, "metadata": {}, "output_type": "execute_result" } @@ -236,7 +236,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 4, "id": "aa6b4db3", "metadata": {}, "outputs": [ @@ -266,7 +266,7 @@ "⎣⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢦⠀⠀⠀⠀⠀⠀⠀⠀⠙⢦⠀⠀⠀⠙⢦⠈⠳⡿⣿⣿⎦" ] }, - "execution_count": 5, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" } @@ -315,7 +315,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 5, "id": "959f77e9", "metadata": {}, "outputs": [ @@ -350,7 +350,7 @@ " [-2.6605994524636195e-5 + 1.666209451620879e-20im, 2.9532145628332023e-5 - 4.33387707648945e-5im, -5.793688435837023e-6 + 1.572023652812327e-5im, -2.990681972152743e-5 - 4.767746092973612e-6im, 5.937030373177227e-5 - 2.515848316039316e-5im, -2.1873141629015416e-5 + 0.0001274172040690093im, -2.3313208885217593e-5 - 2.288272975975103e-5im, 2.9955219745474598e-5 - 4.325274969426528e-5im, -6.580507052690052e-6 + 1.770923159800002e-5im, -2.1702668886267355e-5 - 3.0142728729320408e-5im … -8.927183090969314e-6 - 3.9211979641537305e-5im, 5.9798561396861214e-5 - 2.490365316124225e-5im, -2.927485304562953e-6 + 1.8356702741523676e-5im, -2.6711940545518363e-5 - 2.4883683143055815e-5im, 8.967724203429814e-6 + 5.238269352768291e-6im, -6.579046665900118e-6 + 1.770952822000895e-5im, -2.655319342322953e-5 - 1.812661956307728e-5im, 5.942741740138474e-5 - 2.5244572524328325e-5im, -2.9261511036959767e-6 + 1.63305727281216e-5im, -2.6605994524636147e-5 + 1.1156898237795673e-19im]" ] }, - "execution_count": 6, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" } @@ -381,7 +381,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 6, "id": "27b209db", "metadata": {}, "outputs": [ @@ -402,7 +402,7 @@ " -0.580117 0.661272 -0.661841 0.661842 … 0.661841 -0.661272 0.580117" ] }, - "execution_count": 7, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } @@ -435,7 +435,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 7, "id": "47e7b661", "metadata": {}, "outputs": [ @@ -445,7 +445,7 @@ "make_trotter_circuit_tn (generic function with 1 method)" ] }, - "execution_count": 8, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } @@ -454,19 +454,24 @@ "# 1D chain graph — vertices are named (1,), (2,), ..., (N,)\n", "g = named_grid((N,))\n", "\n", - "function make_trotter_circuit_tn(h::Vector, J::Vector, n::Int, δt::Float64, n_trotter_steps::Int)\n", + "# Néel state |0101…⟩: X on every other site\n", + "neel_gates_tn(n::Int) = [(\"X\", [(i,)]) for i in 1:2:n]\n", + "\n", + "# one second-order Trotter step of size δt\n", + "trotter_step_gates_tn(h::Vector, J::Vector, n::Int, δt::Float64) = vcat(\n", + " [(\"Rx\", [(i,)], h[i] * δt) for i in 1:n],\n", + " [(\"Rzz\", [(i,), (i+1,)], 2 * J[i] * δt) for i in 1:n-1],\n", + " [(\"Rx\", [(i,)], h[i] * δt) for i in 1:n])\n", + "\n", + "function make_trotter_circuit_tn(h::Vector, J::Vector, n::Int, δt::Float64,\n", + " n_trotter_steps::Int)\n", " circuit = []\n", "\n", " # Neel state initialization\n", - " append!(circuit, [(\"X\", [(i,)]) for i in 1:2:n])\n", + " append!(circuit, neel_gates_tn(n))\n", "\n", " for _ in 1:n_trotter_steps\n", - " # first half X rotation\n", - " append!(circuit, [(\"Rx\", [(i,)], h[i]* δt) 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) for i in 1:n])\n", + " append!(circuit, trotter_step_gates_tn(h, J, n, δt))\n", " end\n", "\n", " return circuit\n", @@ -483,7 +488,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 8, "id": "5e3ea2c3", "metadata": {}, "outputs": [ @@ -509,17 +514,25 @@ "apply_kwargs = (; maxdim=32, cutoff=1e-10, normalize_tensors=true)\n", "tn_magnetizations = zeros(r_max+1, N)\n", "\n", + "tn_initial_state(g) = BeliefPropagationCache(\n", + " tensornetworkstate(ComplexF32, v -> \"↑\", g, \"S=1/2\"))\n", + "\n", + "function tn_simulate(circuit, ψ_bpc; apply_kwargs)\n", + " ψ_bpc, errs = apply_gates(circuit, ψ_bpc; apply_kwargs)\n", + " return ψ_bpc, prod(1.0 .- errs)\n", + "end\n", + "\n", + "# ⟨Z_q⟩ on every site of a tensor-network state\n", + "tn_site_magnetization(ψ_bpc, n::Int) =\n", + " [real(expect(ψ_bpc, [(\"Z\", [(q,)])])[1]) for q in 1:n]\n", + "\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", + " ψ_bpc, fidelity = tn_simulate(circuit, tn_initial_state(g); apply_kwargs)\n", " println(\"fidelity at trotter step $(r) was $(fidelity)\")\n", "\n", " for q in 1:N\n", - " tn_magnetizations[r+1, q] = real(expect(ψ_bpc, [(\"Z\", [(q,)])])[1])\n", + " tn_magnetizations[r+1, :] = tn_site_magnetization(ψ_bpc, N)\n", " end\n", "end" ] @@ -536,17 +549,17 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 9, "id": "6b680069", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x00000001293a8e00, 1)" + "QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x0000000489d56000, 1)" ] }, - "execution_count": 10, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" } @@ -596,7 +609,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 10, "id": "704485a7", "metadata": {}, "outputs": [ @@ -604,20 +617,20 @@ "data": { "text/plain": [ "11-element Vector{QuantumCircuit}:\n", - " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x00000004a663fa00, 1)\n", - " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000013908ac00, 1)\n", - " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x00000001390e8000, 1)\n", - " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x0000000139102e00, 1)\n", - " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x00000001395c7e00, 1)\n", - " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x0000000139693c00, 1)\n", - " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000013914de00, 1)\n", - " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x00000004a619ea00, 1)\n", - " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x00000004a6284800, 1)\n", - " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x00000004a609e800, 1)\n", - " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x00000004a60a0600, 1)" + " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000010d867200, 1)\n", + " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000010d88ec00, 1)\n", + " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000010d889400, 1)\n", + " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000010d81e800, 1)\n", + " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000010d84ba00, 1)\n", + " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000010d8dda00, 1)\n", + " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000010d8bac00, 1)\n", + " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000010d862e00, 1)\n", + " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000010d847600, 1)\n", + " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000010d8c1c00, 1)\n", + " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000010d88ca00, 1)" ] }, - "execution_count": 11, + "execution_count": 10, "metadata": {}, "output_type": "execute_result" } @@ -639,7 +652,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 11, "id": "32354a49", "metadata": {}, "outputs": [ @@ -656,7 +669,7 @@ "\"ibm_boston\"" ] }, - "execution_count": 12, + "execution_count": 11, "metadata": {}, "output_type": "execute_result" } @@ -670,17 +683,17 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 12, "id": "14205fe7", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "Qiskit.Target(Ptr{Qiskit.C.LibQiskit.QkTarget} @0x00000004b65f0b50)" + "Qiskit.Target(Ptr{Qiskit.C.LibQiskit.QkTarget} @0x000000049a012270)" ] }, - "execution_count": 13, + "execution_count": 12, "metadata": {}, "output_type": "execute_result" } @@ -691,7 +704,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 13, "id": "8828900e", "metadata": {}, "outputs": [ @@ -699,20 +712,20 @@ "data": { "text/plain": [ "11-element Vector{QuantumCircuit}:\n", - " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000048e3d9600, 1)\n", - " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000048e6b1200, 1)\n", - " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x00000001293b6600, 1)\n", - " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000015af3ec00, 1)\n", - " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000014b99ac00, 1)\n", - " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x00000001594c7c00, 1)\n", - " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000015a7f7c00, 1)\n", - " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000015f0dc200, 1)\n", - " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000014bfffa00, 1)\n", - " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000035ef20400, 1)\n", - " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x0000000139793c00, 1)" + " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000035857da00, 1)\n", + " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000010d9d8400, 1)\n", + " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x00000004920d4800, 1)\n", + " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000016b46fa00, 1)\n", + " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000010d904400, 1)\n", + " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x00000004943c7e00, 1)\n", + " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000016b21ce00, 1)\n", + " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x0000000103b85e00, 1)\n", + " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x0000000103ccfc00, 1)\n", + " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x0000000103bec600, 1)\n", + " QuantumCircuit(Ptr{Qiskit.C.LibQiskit.QkCircuit} @0x000000011f8ba400, 1)" ] }, - "execution_count": 14, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" } @@ -731,7 +744,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 14, "id": "bf4c910c", "metadata": {}, "outputs": [ @@ -761,7 +774,7 @@ " 62" ] }, - "execution_count": 15, + "execution_count": 14, "metadata": {}, "output_type": "execute_result" } @@ -776,7 +789,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 15, "id": "5fa03372", "metadata": {}, "outputs": [ @@ -828,7 +841,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 16, "id": "7bcdead5", "metadata": {}, "outputs": [ @@ -836,20 +849,20 @@ "data": { "text/plain": [ "11-element Vector{QiskitIBMRuntime.Job}:\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000004b65f5d20)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000128f042b0)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000004b65a6f60)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000004b6f447a0)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000004b6f1ab80)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000128f04a20)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000128f06b90)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000128f06a10)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000128f0a9b0)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000128f04ca0)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000004b6f517a0)" + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000102e04c90)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000497640e80)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000102e04670)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000102d143c0)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000102d15bf0)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000102d05180)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000037182fae0)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000011ea7b350)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000102d0dc40)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000102e05850)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000049a542ab0)" ] }, - "execution_count": 17, + "execution_count": 16, "metadata": {}, "output_type": "execute_result" } @@ -861,7 +874,7 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 17, "id": "9bca942a", "metadata": {}, "outputs": [ @@ -869,17 +882,17 @@ "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: Running\n" + "Job 1: Queued\n", + "Job 2: Queued\n", + "Job 3: Queued\n", + "Job 4: Queued\n", + "Job 5: Queued\n", + "Job 6: Queued\n", + "Job 7: Queued\n", + "Job 8: Queued\n", + "Job 9: Queued\n", + "Job 10: Queued\n", + "Job 11: Queued\n" ] } ], @@ -900,7 +913,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 18, "id": "e8f81320", "metadata": {}, "outputs": [ @@ -908,20 +921,20 @@ "data": { "text/plain": [ "11-element Vector{QiskitIBMRuntime.Samples}:\n", - " [\"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\" … \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\"]\n", - " [\"0x555c5\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55554\", \"0x55555\", \"0x55559\" … \"0x55555\", \"0x55455\", \"0x55559\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x554d5\"]\n", - " [\"0x55555\", \"0x55557\", \"0x55555\", \"0x54555\", \"0x55545\", \"0x55555\", \"0x55515\", \"0x55155\", \"0x5515d\", \"0x55557\" … \"0x55555\", \"0x55555\", \"0x55471\", \"0x57555\", \"0x55545\", \"0x55955\", \"0x54555\", \"0x51555\", \"0x55555\", \"0x55554\"]\n", - " [\"0x55495\", \"0x55555\", \"0x55555\", \"0x55755\", \"0x55155\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55515\" … \"0x55555\", \"0x55555\", \"0x55574\", \"0x55575\", \"0x45551\", \"0x55155\", \"0x45555\", \"0x55555\", \"0x55555\", \"0x55555\"]\n", - " [\"0x55555\", \"0x55555\", \"0x55555\", \"0x57455\", \"0x55555\", \"0xd55b5\", \"0x55d95\", \"0x55455\", \"0x56554\", \"0x55d55\" … \"0x4c155\", \"0x55555\", \"0x55714\", \"0x575e5\", \"0x55554\", \"0x5d65d\", \"0x55575\", \"0x55554\", \"0x5d415\", \"0x5551d\"]\n", - " [\"0x55556\", \"0x55555\", \"0x55511\", \"0x55515\", \"0x51555\", \"0x55559\", \"0x55455\", \"0x15775\", \"0x5d5cd\", \"0x45554\" … \"0x55414\", \"0x5555f\", \"0x55155\", \"0x55555\", \"0xd5d56\", \"0x5555f\", \"0x17555\", \"0x55554\", \"0x55555\", \"0x55051\"]\n", - " [\"0x5b55c\", \"0x55155\", \"0x57f54\", \"0x57777\", \"0x5555d\", \"0x55575\", \"0x57d55\", \"0x55514\", \"0x5d515\", \"0x55451\" … \"0x55514\", \"0x75555\", \"0x55557\", \"0x55554\", \"0x5547f\", \"0x15d45\", \"0x55545\", \"0x55115\", \"0x55575\", \"0x5d575\"]\n", - " [\"0x55515\", \"0x55555\", \"0x57545\", \"0x71f45\", \"0x56555\", \"0x55d55\", \"0x55154\", \"0x57755\", \"0x57155\", \"0x5d555\" … \"0x55d55\", \"0x55f55\", \"0x55515\", \"0x55557\", \"0x5555d\", \"0x5d555\", \"0x55155\", \"0x55155\", \"0x55555\", \"0x57555\"]\n", - " [\"0x55555\", \"0xd50d5\", \"0x57145\", \"0x75554\", \"0xd6d0d\", \"0x5f55c\", \"0x75552\", \"0x77155\", \"0x95595\", \"0x37d54\" … \"0x6b551\", \"0x55555\", \"0x57755\", \"0x5d554\", \"0x554c5\", \"0x77659\", \"0x5505d\", \"0x57595\", \"0x55315\", \"0x75559\"]\n", - " [\"0x55501\", \"0x55555\", \"0xf559d\", \"0x55454\", \"0x74d54\", \"0x5455d\", \"0x35555\", \"0x74754\", \"0x55d1d\", \"0x54554\" … \"0xd5155\", \"0x51115\", \"0x57555\", \"0x75555\", \"0x55d77\", \"0x54755\", \"0x57675\", \"0x59470\", \"0x5559c\", \"0x56556\"]\n", - " [\"0x561f5\", \"0x53735\", \"0x7f557\", \"0x5765d\", \"0x1712d\", \"0x55555\", \"0x46f55\", \"0x56535\", \"0x77737\", \"0x53455\" … \"0x55cd5\", \"0x5d5d1\", \"0x57475\", \"0x555d4\", \"0x7c5e5\", \"0x55945\", \"0xd5535\", \"0x7c556\", \"0x7dd55\", \"0x57555\"]" + " [\"0x54555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\" … \"0x55554\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\"]\n", + " [\"0x55555\", \"0x55554\", \"0x55555\", \"0x55555\", \"0x55455\", \"0x55557\", \"0x55555\", \"0x15555\", \"0x55455\", \"0x55555\" … \"0x55555\", \"0x55555\", \"0x55415\", \"0x5555d\", \"0x55555\", \"0x55455\", \"0x55555\", \"0x51555\", \"0x55415\", \"0x55555\"]\n", + " [\"0x55555\", \"0x55555\", \"0x55545\", \"0x55555\", \"0x55475\", \"0x55445\", \"0x55515\", \"0x55455\", \"0x55555\", \"0x5d555\" … \"0x55555\", \"0x55555\", \"0x55555\", \"0x55555\", \"0x55595\", \"0xd5555\", \"0x75555\", \"0x55555\", \"0x55555\", \"0x55455\"]\n", + " [\"0x55555\", \"0x55445\", \"0x5d459\", \"0x55555\", \"0x55555\", \"0x55551\", \"0x55155\", \"0x55551\", \"0x55575\", \"0x47555\" … \"0x55455\", \"0x55455\", \"0x15055\", \"0x57555\", \"0x55955\", \"0x55555\", \"0x55454\", \"0x55445\", \"0x55155\", \"0x55555\"]\n", + " [\"0x55d53\", \"0x55555\", \"0x55455\", \"0xc5555\", \"0x55557\", \"0x55555\", \"0x55055\", \"0xdd575\", \"0x45255\", \"0x55557\" … \"0x554d5\", \"0x5d775\", \"0x55515\", \"0x75555\", \"0x55455\", \"0x55555\", \"0x55555\", \"0xdd455\", \"0x45455\", \"0x55555\"]\n", + " [\"0x55570\", \"0xd7855\", \"0x75551\", \"0x55555\", \"0x6755d\", \"0xdd555\", \"0x55455\", \"0x35c55\", \"0x55455\", \"0x15555\" … \"0x59415\", \"0x754d5\", \"0xd5571\", \"0x55551\", \"0x55555\", \"0x57555\", \"0x55455\", \"0x55551\", \"0xd751d\", \"0x55576\"]\n", + " [\"0x5557c\", \"0x57d54\", \"0x55545\", \"0x7d555\", \"0xd1547\", \"0x55954\", \"0xd5555\", \"0x57557\", \"0x15155\", \"0x57655\" … \"0x5d555\", \"0x55553\", \"0x5d554\", \"0x55455\", \"0xd5555\", \"0x55535\", \"0x551d5\", \"0x55655\", \"0xdf555\", \"0x5755e\"]\n", + " [\"0x57465\", \"0x55454\", \"0x55455\", \"0x57153\", \"0xd5955\", \"0x55515\", \"0x55575\", \"0xd7555\", \"0x5dcd5\", \"0x55555\" … \"0xdd0d5\", \"0x55d75\", \"0x55554\", \"0x5541d\", \"0xd5445\", \"0xd5c56\", \"0xf75dd\", \"0x55555\", \"0x75557\", \"0x55555\"]\n", + " [\"0x55515\", \"0x6f557\", \"0x55555\", \"0x5d615\", \"0x5d455\", \"0x15175\", \"0x55455\", \"0x55755\", \"0x555d5\", \"0x545d5\" … \"0x57446\", \"0x5dc35\", \"0x5d554\", \"0x55575\", \"0xd5474\", \"0x75d0d\", \"0x45551\", \"0x2f124\", \"0x5551e\", \"0x59295\"]\n", + " [\"0x55411\", \"0xdd475\", \"0x14554\", \"0x7557d\", \"0x76775\", \"0xd5e55\", \"0x55855\", \"0xddfd4\", \"0x57c75\", \"0x57459\" … \"0x56575\", \"0x52574\", \"0x17d55\", \"0x55405\", \"0xf545e\", \"0xf7575\", \"0x54455\", \"0x56416\", \"0xd5554\", \"0x5c554\"]\n", + " [\"0x55734\", \"0xd5951\", \"0x7d594\", \"0x55d28\", \"0xf4d75\", \"0x558f5\", \"0xd5555\", \"0x74595\", \"0x55555\", \"0x55555\" … \"0x75146\", \"0xb4955\", \"0x57055\", \"0x55549\", \"0x5e45c\", \"0x75555\", \"0x5d056\", \"0x5c145\", \"0x54555\", \"0xdf515\"]" ] }, - "execution_count": 22, + "execution_count": 18, "metadata": {}, "output_type": "execute_result" } @@ -942,7 +955,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 22, "id": "e9dd9a79", "metadata": {}, "outputs": [ @@ -952,7 +965,7 @@ "\"0001\"" ] }, - "execution_count": 23, + "execution_count": 22, "metadata": {}, "output_type": "execute_result" } @@ -969,7 +982,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 20, "id": "8ad39f14", "metadata": {}, "outputs": [ @@ -977,7 +990,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Saved to results/counts_N=20_2026-08-09_101726.json\n" + "Saved to results/counts_N=20_2026-08-09_145108.json\n" ] } ], @@ -1007,7 +1020,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 23, "id": "c74b479d", "metadata": {}, "outputs": [ @@ -1015,20 +1028,20 @@ "data": { "text/plain": [ "11×20 Matrix{Float64}:\n", - " -0.984375 1.0 -0.980469 1.0 … 0.998047 -0.988281 0.998047\n", - " -0.925781 0.960938 -0.914062 0.978516 0.982422 -0.955078 0.974609\n", - " -0.869141 0.914062 -0.925781 0.949219 0.949219 -0.912109 0.933594\n", - " -0.84375 0.916016 -0.892578 0.902344 0.9375 -0.914062 0.921875\n", - " -0.792969 0.867188 -0.884766 0.880859 0.875 -0.894531 0.896484\n", - " -0.705078 0.830078 -0.841797 0.839844 … 0.851562 -0.878906 0.878906\n", - " -0.664062 0.777344 -0.873047 0.822266 0.818359 -0.908203 0.869141\n", - " -0.673828 0.736328 -0.835938 0.734375 0.779297 -0.914062 0.820312\n", - " -0.576172 0.708984 -0.787109 0.716797 0.746094 -0.851562 0.804688\n", - " -0.472656 0.642578 -0.736328 0.650391 0.675781 -0.816406 0.720703\n", - " -0.458984 0.626953 -0.746094 0.623047 … 0.658203 -0.767578 0.666016" + " -0.986328 0.998047 -0.984375 1.0 … 1.0 -0.988281 0.998047\n", + " -0.929688 0.964844 -0.941406 0.978516 0.982422 -0.960938 0.974609\n", + " -0.892578 0.953125 -0.925781 0.962891 0.974609 -0.941406 0.9375\n", + " -0.882812 0.896484 -0.896484 0.921875 0.935547 -0.904297 0.939453\n", + " -0.839844 0.861328 -0.884766 0.90625 0.882812 -0.892578 0.853516\n", + " -0.736328 0.802734 -0.847656 0.855469 … 0.857422 -0.933594 0.794922\n", + " -0.671875 0.794922 -0.837891 0.814453 0.822266 -0.898438 0.792969\n", + " -0.652344 0.736328 -0.818359 0.712891 0.789062 -0.90625 0.728516\n", + " -0.601562 0.707031 -0.822266 0.701172 0.732422 -0.882812 0.648438\n", + " -0.498047 0.613281 -0.740234 0.666016 0.648438 -0.833984 0.570312\n", + " -0.529297 0.611328 -0.759766 0.6875 … 0.597656 -0.796875 0.445312" ] }, - "execution_count": 25, + "execution_count": 23, "metadata": {}, "output_type": "execute_result" } @@ -1544,13 +1557,20 @@ "source": [ "## Large-scale hardware example\n", "\n", - "### Steps 1-4 compress into single code block\n", - "Here we now put all of these details together into a singular workflow at a larger scale, which is then run on our real quantum hardware." + "### Steps 1–4 in a single workflow\n", + "We now combine all four steps above into a single workflow, at a scale beyond the reach of exact classical simulation. Instead of resolving the magnetization site by site, we track a single scalar measure of antiferromagnetic order, the staggered magnetization:\n", + "$$\n", + " \\langle M_s \\rangle = \\frac{1}{N} \\sum_{i=1}^{N} (-1)^i \\langle Z_i \\rangle\n", + "$$\n", + "\n", + "The alternating sign is what makes the signal visible: for the Néel initial state $|0101\\ldots01\\rangle$ every term contributes $+1$, so $\\langle M_s\\rangle = 1$, whereas the plain average $\\frac{1}{N}\\sum_i \\langle Z_i\\rangle$ vanishes identically for all $t$. As the transverse field scrambles the alternating pattern, $\\langle M_s\\rangle$ decays toward $0$, so the staggered magnetization tells us how much of the initial order survives the time evolution.\n", + "\n", + "We also use this example to see how the Trotter step size affects accuracy. We fix the total evolution time $T = 1.5$ and vary the number of Trotter steps $r \\in \\{3, 6, 12\\}$, so that $\\delta t = T/r$. On hardware, two error sources compete: a smaller $\\delta t$ reduces Trotter error, but requires a proportionally deeper circuit that accumulates more hardware noise." ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 25, "id": "f840b38f", "metadata": {}, "outputs": [ @@ -1568,33 +1588,33 @@ "data": { "text/plain": [ "24-element Vector{QiskitIBMRuntime.Job}:\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000128f0d190)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000048ddf01a0)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000004b653df90)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000004b6f8c790)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000004b6563090)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000128f0efd0)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000004b6f1c7b0)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000004b674f930)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000128f0acb0)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000004b6f4c360)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000128f0fc80)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000128f0c5b0)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000048ddb9170)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000128f06700)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000128f047f0)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000004b6783080)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000004b6f1e660)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000128f046a0)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000004b6f207e0)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000004b733f150)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000004b650e450)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000004b658af20)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000128f04860)\n", - " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x00000004b5a7e4f0)" + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000049a723700)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000049a7ce880)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000049a796dd0)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000049a797070)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000049a798b20)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000049a79fbf0)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000497b9cf80)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000102e0cce0)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000049a798bd0)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000102e0d790)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000102e04820)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000102e0fb90)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000102e0da50)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000499a0a930)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000102e0cd50)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x000000049a90faa0)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000102e18340)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000102d2f3a0)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000102d1b160)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000102e0e4d0)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000102d2f300)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000102d15b80)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000102d1b5d0)\n", + " QiskitIBMRuntime.Job(Ptr{QiskitIBMRuntime.LibQiskitIBMRuntime.Job} @0x0000000102e0f250)" ] }, - "execution_count": 28, + "execution_count": 25, "metadata": {}, "output_type": "execute_result" } @@ -1602,16 +1622,13 @@ "source": [ "# -------------------------Step 1-------------------------\n", "# Map classical inputs to a quantum problem.\n", - "# At N = 60 the 2^60-dimensional state vector is far beyond the exact ODE\n", "N_large = 60\n", - "T_total = 1.5 # fixed total evolution time\n", - "r_list = [3, 6, 12] # varying Trotter steps; δt = T_total/r\n", - "\n", + "g_large = named_grid((N_large,))\n", "h_large = fill(1.0, N_large) # transverse field on every site\n", "J_large = fill(1.0, N_large - 1) # nearest-neighbor ZZ couplings on the chain\n", "\n", - "# One circuit per (step size, elapsed steps) so each δt yields a full time\n", - "# trace t = 0, δt, 2δt, …, T_total rather than just the endpoint.\n", + "T_total = 1.5 # fixed total evolution time\n", + "r_list = [3, 6, 12] # varying Trotter steps; δt = T_total/r\n", "sweep = [(r, k) for r in r_list for k in 0:r]\n", "\n", "qc_list_large = [make_trotter_circuit(h_large, J_large, N_large, T_total/r, k)\n", @@ -1637,7 +1654,7 @@ }, { "cell_type": "code", - "execution_count": 39, + "execution_count": 27, "id": "10004db8", "metadata": {}, "outputs": [ @@ -1682,7 +1699,7 @@ }, { "cell_type": "code", - "execution_count": 40, + "execution_count": 28, "id": "c3e8fdb7", "metadata": {}, "outputs": [ @@ -1690,33 +1707,33 @@ "data": { "text/plain": [ "24-element Vector{QiskitIBMRuntime.Samples}:\n", - " [\"0x555555555555555\", \"0x555555555555555\", \"0x555555555554554\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\" … \"0x555555555555555\", \"0x555555555555555\", \"0x555555555455555\", \"0x551555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555d55\", \"0x555555555555555\"]\n", - " [\"0x555551555555755\", \"0x454514545555440\", \"0x5555255d494de51\", \"0x4155d5555545854\", \"0x555555541515151\", \"0x555555554155594\", \"0x555554555555455\", \"0x556555557d154d5\", \"0xd55555555151555\", \"0x155d56539151441\" … \"0x555505555585555\", \"0x555551d55544404\", \"0x554555554551557\", \"0xd51155547515555\", \"0x5555559511555d4\", \"0x5d9555655545745\", \"0xd5152555555f545\", \"0x3515555c1151855\", \"0x555515555541194\", \"0x5155d5554141555\"]\n", - " [\"0xd15b55945d57395\", \"0x4b1335155c95356\", \"0xd51551957555b2d\", \"0xbb76cd44e957454\", \"0x2da9d5495340b55\", \"0x2d555542d12db56\", \"0x5564534845764d4\", \"0x554259555c573d8\", \"0x955549555352234\", \"0xd555d6557d512a0\" … \"0x136d555d5c92545\", \"0x556d55595555885\", \"0xeacbc8b2b55553d\", \"0x551511156d55534\", \"0xe2b1a2555765515\", \"0x2d555b555456595\", \"0xed5159a55575a35\", \"0x94e1b1159c55704\", \"0x85ab69498bb5755\", \"0x559693355c15651\"]\n", - " [\"0x6aa9a94f4d56a54\", \"0x19549555d553766\", \"0x594249549589760\", \"0x554957552356a10\", \"0xb44556cd4954c54\", \"0x6ad55b5649d5244\", \"0xdb55451b428b5d0\", \"0x5d55595d2564650\", \"0x349c9c22a957ab0\", \"0xa51ad58b05a6c52\" … \"0xd4a35455504b4d2\", \"0x3b752aa54c56126\", \"0x9495255a5557535\", \"0xab44692555549c2\", \"0xb554f1952a2c8d4\", \"0x2b5a5aeb55216ce\", \"0x5552d0ed55155d2\", \"0xf9554554d253aa5\", \"0x55496bb55295452\", \"0xb6ad294dda9ad52\"]\n", - " [\"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\" … \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555155545555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\"]\n", - " [\"0x555c45355d55515\", \"0x555555544555145\", \"0x55555457d505515\", \"0x7f5555555595453\", \"0x55551d544545555\", \"0x155555554555555\", \"0x5554d19d5d5d514\", \"0xd5554554451e555\", \"0x555515555555155\", \"0x555555555555544\" … \"0x5d5547555555555\", \"0x455555540555555\", \"0x555755555575755\", \"0x555575555155555\", \"0xd55555d7455d551\", \"0x555515554555455\", \"0x555545557d55655\", \"0x5555115505550d5\", \"0x155511555555545\", \"0xd45551450555555\"]\n", - " [\"0x5055d3455155c55\", \"0xd15555c55d03454\", \"0x5555155515d5510\", \"0xcb30d5455755440\", \"0x5555d5155555450\", \"0x5517d50d5514555\", \"0x95d575d415f5456\", \"0x35c17d5751e4c58\", \"0x115555445555555\", \"0x655939551505554\" … \"0x55565d545155650\", \"0xd51175555557755\", \"0x515574551454634\", \"0xc55595c75554655\", \"0x515755e41555751\", \"0x557555055595c54\", \"0x361d5555d595755\", \"0xd55558755575650\", \"0x55567d7348f5600\", \"0xc54453cd1157144\"]\n", - " [\"0x90de55915514955\", \"0x84d559553e15155\", \"0xd536dad45d83520\", \"0x11554d955955534\", \"0xa65555435d52042\", \"0xd3d265639514554\", \"0xca67a6c5b587474\", \"0x954cb15641cd052\", \"0x58d551d6a945456\", \"0xb15956c99445844\" … \"0x575454547145719\", \"0x49b544b5b55d554\", \"0x357b0754554f834\", \"0x55756e550434555\", \"0x6575a5557d8fd16\", \"0xd95553870a57644\", \"0x455850d7b4cf444\", \"0x515cd9554d56525\", \"0xf529b750d517011\", \"0x953565546994754\"]\n", - " [\"0xd5ad5165a4d5403\", \"0xdb6d55555c4a466\", \"0x9a94b6455226056\", \"0xb55b928594c203a\", \"0xad95517dd574f12\", \"0xfd1551675149552\", \"0x5555759520e4826\", \"0xb235348854d7554\", \"0x494a94154515a51\", \"0x5493555556d5551\" … \"0xa5a45275dd47701\", \"0x551990b5655542c\", \"0xd515518d58c5554\", \"0x98e52a651555626\", \"0x532dcd2d5135404\", \"0x594d32555569814\", \"0x336c91bd44c5555\", \"0x558ed8c55168a50\", \"0xb30a554d5e4510c\", \"0x634d546d6c9554a\"]\n", - " [\"0xd55555456137236\", \"0x592d1554bb3be6d\", \"0x5552d5715d57454\", \"0xc9a5249251ed344\", \"0xa5554b1b4d44f04\", \"0x51555a86955aa4a\", \"0x5b3257a15d54952\", \"0xad551153d529224\", \"0x992b549e31b5054\", \"0xf554975483ba855\" … \"0x52f5d6aaa85b426\", \"0x955ba38ac15ad52\", \"0x955516543d25b15\", \"0xac92112d5a5ac50\", \"0xd756d145dd55524\", \"0x54b4a9555ed5215\", \"0xb5554a2692ca594\", \"0x65290cc5f6c9554\", \"0xb4854b66b699756\", \"0x4a27242a4d55b54\"]\n", - " [\"0xdc9555548a5aa2a\", \"0x92b7dbb6d89485a\", \"0x5551566ca9d455a\", \"0xd5115bdd2e97054\", \"0x9555574d5f45654\", \"0xaf5506b954235d2\", \"0xb528b5365455426\", \"0xa992ce296329474\", \"0xb1524d69dca5468\", \"0x555696d26b5a02c\" … \"0x5d555a8a4ce4448\", \"0xdaeb54555955196\", \"0x984da555eaca228\", \"0x551697554a4a316\", \"0x6351554426d6c0b\", \"0x5aecd68b5e55e48\", \"0xb290c0c42d3741c\", \"0xa554a9552b45454\", \"0xb6c951455152c54\", \"0x5ac356a49514954\"]\n", - " [\"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555455\", \"0x551555555555555\", \"0x555555555555555\", \"0x557555555555555\", \"0x555555555555555\" … \"0x555555555555555\", \"0x555555555555555\", \"0x555554545555555\", \"0x555555555555554\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\"]\n", - " [\"0xd55555554155415\", \"0x555155555555451\", \"0x551555554555555\", \"0x1515d1554545155\", \"0x555555555551551\", \"0x555551154555155\", \"0x555545550555555\", \"0x551559555555555\", \"0x559555555555555\", \"0x551555550555551\" … \"0x555445556555645\", \"0x555555d54555465\", \"0x565555554551555\", \"0x555515555454555\", \"0x561555555555455\", \"0x555517557d55555\", \"0x5d51555545551d5\", \"0x550555554556555\", \"0x570555554557555\", \"0x551755550555555\"]\n", - " [\"0xd55517415d17654\", \"0x555411155d54555\", \"0x55555555d455514\", \"0x555445554445515\", \"0x554555551557554\", \"0x55555515545569c\", \"0x551515d5455575d\", \"0x557555654555455\", \"0x555557454545754\", \"0x155556555155455\" … \"0xf55555494555555\", \"0x5515554150554d5\", \"0x555517517574d14\", \"0xd55551555545575\", \"0xd55555455d45554\", \"0x515155515d55554\", \"0x55444555555541c\", \"0x555455555555551\", \"0x555555954d55551\", \"0x557557555455555\"]\n", - " [\"0x570571445d15554\", \"0x755557751557554\", \"0x155515555555554\", \"0x5565574d4d35c30\", \"0x557395455555540\", \"0xb55553455d7553d\", \"0x555155555455544\", \"0x541544545555510\", \"0x555556544455252\", \"0x55f455455555554\" … \"0x115555414505514\", \"0x55555d4dd055454\", \"0x5455515d1555755\", \"0x555550553555445\", \"0x14d415c14c55414\", \"0x555df1d5751d455\", \"0x135571454155135\", \"0x157551435585525\", \"0x5757d254dd55455\", \"0xd15515455955150\"]\n", - " [\"0x575554455153612\", \"0x54d511004551644\", \"0x3d4d55555505764\", \"0x495514051305706\", \"0x5d117647cd6647\", \"0x555553554555717\", \"0xb55511554e44760\", \"0x791e09d15d54715\", \"0x5d5551554555741\", \"0x55d4d0519033654\" … \"0x555512474554515\", \"0x154554445dd5d95\", \"0x554f588d7977514\", \"0x659535551551404\", \"0x505545555d53174\", \"0x547756449454c9c\", \"0x55540f155d67076\", \"0x755d5555d155514\", \"0x516133c15572104\", \"0x477675555117416\"]\n", - " [\"0x455bddd7490d444\", \"0x45dd96d14557056\", \"0xd4e651052c17c70\", \"0x3955b145d455555\", \"0x953d55514123d50\", \"0x126d5144595e715\", \"0x54955bcc7543756\", \"0x557113504953657\", \"0x7c4913454455718\", \"0x551451554456724\" … \"0x75e155d54560a45\", \"0x555551009e15544\", \"0x355631c9154c345\", \"0x583552d35b4d10e\", \"0xc81551448535774\", \"0xd1115145edb4d65\", \"0x611515555555554\", \"0x15f115550554756\", \"0xc754713541c5f54\", \"0x75d456445d15c54\"]\n", - " [\"0x55355c5555a545d\", \"0xded5558b4e98e54\", \"0x161a15ed41d5550\", \"0x548954556905450\", \"0x591d53045586911\", \"0x4e5454e4b644455\", \"0xd419574505d5550\", \"0x145525438d28929\", \"0xd538d3055d6e554\", \"0x4715524d2269734\" … \"0x4b1673585d57546\", \"0xc55555dd5695410\", \"0x5527512d43d5534\", \"0x955555d54975424\", \"0xb51d4b553d56512\", \"0xb559552d5d91550\", \"0xd5915a498595555\", \"0x956575552487843\", \"0xd53552654d6f544\", \"0x954d32c51585940\"]\n", - " [\"0xfd5545424ac1554\", \"0x336cd3456253524\", \"0x92d68bc95dd5114\", \"0x5419514945ea122\", \"0x595557903d4994c\", \"0xd544555b6d5d324\", \"0x7526e9d55311422\", \"0x6b2d6b555289134\", \"0x553539b1548494c\", \"0x495552456d14175\" … \"0x555555856a3ba35\", \"0xd45172565515254\", \"0x94cb52cd6150552\", \"0x56950254d655114\", \"0xa59655813926254\", \"0xd4d955d55556816\", \"0xd52c22cd5592154\", \"0x55bad7469246544\", \"0x529e2c495622e90\", \"0xd59495c2ad55516\"]\n", - " [\"0xd31553752545454\", \"0x8b45520a8595546\", \"0xd1d159bcd14b528\", \"0x9b4954475d4c535\", \"0xd2c91345d5d5545\", \"0x555549296550462\", \"0x55fd533451ad52c\", \"0xb1556295469ea52\", \"0xc9994a4e5856a92\", \"0xa5c8594b5185046\" … \"0x52cd6d854931526\", \"0xd58942a62d5557d\", \"0x52b45afc656d704\", \"0x54ab6d54f355e14\", \"0xb67554955cad955\", \"0x9554d74b2d55536\", \"0x55a55a855447514\", \"0x5b4d4c95e652255\", \"0x4c8a634cd96d514\", \"0x52596cd17922454\"]\n", - " [\"0xd5b55075c995044\", \"0x5555515565b2556\", \"0x56d4b0554617556\", \"0xd4a5150d0b56bd0\", \"0xdd52505a8da5413\", \"0x55575484831b990\", \"0xd5941e95268f554\", \"0xd3816d5a5d4d520\", \"0xb169544d5995636\", \"0x39c15155295d8d5\" … \"0xbb544a951c8d51f\", \"0x55595547b2a7640\", \"0xd4d868c89853624\", \"0xacb555a57155550\", \"0xb395555548b0562\", \"0x50d565c9ad59954\", \"0xa2d20af54852450\", \"0xb48955565151456\", \"0x495953173557552\", \"0x11260cc35545650\"]\n", - " [\"0x975555a31cc8b14\", \"0x154ad5c47695752\", \"0xb25568356555449\", \"0x4d5432855260610\", \"0xd5cd3314c258314\", \"0x95f555a54556b14\", \"0xd5514d4a6456514\", \"0xba5555a22b4c8c2\", \"0x57483192cccd304\", \"0xd55552d25946050\" … \"0x55555b54ab55556\", \"0xa65051b552d5554\", \"0xd2dcfad13495552\", \"0xb5f595448294e54\", \"0x96b55b539c94920\", \"0xd5a66c425af3554\", \"0xb50bd69db2ad22a\", \"0xb25654565494952\", \"0xba2d63ad054a72a\", \"0xd32f52c55d54054\"]\n", - " [\"0xb6a55405cd65386\", \"0xd5554f55d851542\", \"0xbcb3224d544c6d8\", \"0xb55c146d2c88c56\", \"0x3542ad345b95229\", \"0xd4f1901a5a55a52\", \"0x95ab4c8521e9076\", \"0x16945a956b6e974\", \"0x915c25255d6d751\", \"0x56f40b46c56d226\" … \"0x5ac959456e15548\", \"0x55562a4c91d5b12\", \"0x570b5ad444b6412\", \"0xb55b56154ad4d52\", \"0x34ab555d3d55520\", \"0xc0ab15f44895c2e\", \"0xb5576a144b558ad\", \"0xacf2522cad56932\", \"0x92d532949855a24\", \"0xca5594d5a16b04a\"]\n", - " [\"0xaad552996d2c054\", \"0xd1254149b751220\", \"0x92d5d2ecfc35514\", \"0xb372ed0ebd15462\", \"0x59555fa40c55519\", \"0x6b51354c0956552\", \"0xc6b553559954455\", \"0xb55660255ed271a\", \"0xb5559755b2bdd50\", \"0xa55a555abeb6554\" … \"0x5429d2c54b64751\", \"0xe45232cdacd40ae\", \"0x1b9990e41d26644\", \"0x917157494e92656\", \"0xe22752df8568719\", \"0xdb52b54492d4f56\", \"0x526b59b555d4dca\", \"0x92aaae129415568\", \"0xdfbe5544d319558\", \"0x4a957e942495490\"]" + " [\"0x555555555455555\", \"0x555555545555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555455555555\", \"0x555555455555555\", \"0x555555555555555\", \"0x555555555554555\", \"0x545555555555555\", \"0x555555545555515\" … \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555545555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x551555555555555\"]\n", + " [\"0x554d52555155546\", \"0x555545c115555d1\", \"0x195145541555dc5\", \"0xd5475d541545147\", \"0x45151745c15d055\", \"0x5d555d517565550\", \"0x545945556555457\", \"0xd55545555515454\", \"0x515555545155552\", \"0x514d4fd51554651\" … \"0xd59554751554454\", \"0x145554d54555645\", \"0xd55515702155550\", \"0x555555555144855\", \"0x555555350105555\", \"0x545595551555555\", \"0x71555555451d750\", \"0x55565d555715455\", \"0x555155559500517\", \"0x9535d5641555148\"]\n", + " [\"0xd2c5555565554d0\", \"0xd6ec55355295415\", \"0x52555ca4552d455\", \"0x9564554655a5414\", \"0xb6953a56cd15451\", \"0xd55752295ad5585\", \"0xb5d248a544561d2\", \"0x754a2ed45567945\", \"0xd55545495495155\", \"0x54eb55449052d54\" … \"0xd25555497188d4c\", \"0xd4b515485d55455\", \"0x54d5b5445594e4c\", \"0xd55508945155252\", \"0x595529255157354\", \"0xe5b582b54235344\", \"0x9552115b151523c\", \"0x56d215455cd28d0\", \"0xa4b19552d6b5554\", \"0x49d355d53d55551\"]\n", + " [\"0xb43a66995155452\", \"0x52ed45555355554\", \"0xad154a541157424\", \"0x9b5585559529554\", \"0xaa89522a4956116\", \"0x554aad5d549da84\", \"0xa5155a2a5551540\", \"0xaad5ad289174d68\", \"0x5a5495455145415\", \"0x929568c3ad115a4\" … \"0xd15a95448117440\", \"0x9355555cab5505c\", \"0x67279545baa8c52\", \"0xda44954e4356501\", \"0x4d492cc39fc8544\", \"0x2e4955549159942\", \"0xb5a851255645552\", \"0x95ac565552d4044\", \"0xb55559554155156\", \"0x555a9292854a254\"]\n", + " [\"0x555555555555555\", \"0x555555555555555\", \"0x155555555555555\", \"0x555555555515555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\" … \"0x555555555555555\", \"0x555555545555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555545155\", \"0x555555515555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\"]\n", + " [\"0x55f15555509d545\", \"0x555551550555455\", \"0x515455577515555\", \"0x55454535456147d\", \"0x554455554d55544\", \"0x5555555551557c4\", \"0x555954551d55550\", \"0x55597555154555d\", \"0x555545551455d51\", \"0x5d551d45155555d\" … \"0x555555553155505\", \"0x555555155455514\", \"0x5545555e545d515\", \"0x4559404d5555545\", \"0x755555551555545\", \"0x5d55d5555555545\", \"0x555515551755554\", \"0x575561541501545\", \"0x455505555d55551\", \"0x554155511555054\"]\n", + " [\"0x468411555575631\", \"0x155503d55d55655\", \"0x554d55455557610\", \"0xf157354c5155535\", \"0x555755555515455\", \"0x55d15785dd55654\", \"0x451675575557314\", \"0x75551d55455d6d5\", \"0x54d965555d17754\", \"0x37554545d755944\" … \"0x141555459f55565\", \"0xd54d15595875553\", \"0x551545455355454\", \"0x555451d59375454\", \"0x757555155214455\", \"0x955154754515454\", \"0x4763157559d4410\", \"0x115615554557514\", \"0x47475155945430\", \"0x15515744d514452\"]\n", + " [\"0x9555556541d6d56\", \"0x97f455455cd5454\", \"0x54556174d536549\", \"0xd559d50d4954514\", \"0x5555408d1d71154\", \"0x65154855bd59548\", \"0xb71555c56ef5458\", \"0x7539559542d7554\", \"0x5fb51d4d4765555\", \"0x42d4d0450d53444\" … \"0x31550a485555450\", \"0x94c155565515851\", \"0xd1556d05951c451\", \"0x5d56635555c9545\", \"0xd534d396d662454\", \"0xe540b3515d25650\", \"0x552556c55d55550\", \"0x5565554545d36e0\", \"0x37515b4d43458c4\", \"0x351575544dd4c54\"]\n", + " [\"0xda253b5580d2954\", \"0x55ac9254935162a\", \"0x355d511505d4a55\", \"0x55566d555574a54\", \"0x555a954923514d0\", \"0x94d24b38153543b\", \"0x4c96d942d2d50c4\", \"0x4a9655189ea88d3\", \"0x45d95445534933a\", \"0x554951596492b54\" … \"0x54d5568a45ac524\", \"0x5716489b5d15454\", \"0x555a91f28b57754\", \"0x928e55a54287462\", \"0x55ab75852d55456\", \"0x4a4412059565551\", \"0x52d163958d55455\", \"0x6d55550d7e73644\", \"0x54595555b552554\", \"0xa735705d57b5555\"]\n", + " [\"0x7255529545b2a50\", \"0x55d52a52d528aa0\", \"0x526b45a90557246\", \"0xad55516a9372548\", \"0x22a93f2505b7454\", \"0x412ab2254a2a224\", \"0x116544cd492ab54\", \"0x95e555419410753\", \"0x54544b240ed9406\", \"0xb5aad89c0ca7044\" … \"0xd57525545657ed4\", \"0x54a8b55c8524454\", \"0xce5145465545cd6\", \"0xa5d55a8c9823a72\", \"0x9544d0b6b0955d4\", \"0x96d592441ded6f5\", \"0x15d551574159244\", \"0x575709449da5404\", \"0xaab562417d2d402\", \"0xd2d5b4902555656\"]\n", + " [\"0x5b0976454595352\", \"0xb5565551324a450\", \"0x55555552450b00c\", \"0xabab5245d5b522\", \"0x5551585048d6512\", \"0x54d5d448554b156\", \"0xc4ed42d55ad5552\", \"0xb34537174a10310\", \"0x59692c9054a6902\", \"0x52d452b4d0d6554\" … \"0x5a451c847295060\", \"0x33225454ccb5541\", \"0x555d55add554c01\", \"0x956ed34e116aad5\", \"0x555ba55a4555556\", \"0x554b51555e9240e\", \"0xac575a735d52992\", \"0xd5555174b354d6a\", \"0xb2ad58d2941ac54\", \"0xd53555345c95058\"]\n", + " [\"0x555555555555555\", \"0x555555555555555\", \"0x555555551555555\", \"0x555755555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\" … \"0x555554555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555515\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\"]\n", + " [\"0x555555545555145\", \"0x555555451555155\", \"0x555505555545115\", \"0x555555551555054\", \"0x555554545555455\", \"0x555505551555651\", \"0x555545550455015\", \"0x555555555555510\", \"0x555545555555555\", \"0x555545518555555\" … \"0x5555555505514c5\", \"0x555551550155444\", \"0x555d55554455455\", \"0x555555551555515\", \"0x515555550555545\", \"0x751545555554595\", \"0x155515510955105\", \"0x5d5555555155445\", \"0xd55765554155755\", \"0x55e525540555415\"]\n", + " [\"0x555541455555554\", \"0x55d555455455114\", \"0x555555555555454\", \"0x55d415555545454\", \"0x54147545d515555\", \"0x545555151551514\", \"0x5555d5555445545\", \"0x555541155d55555\", \"0x555155d55555555\", \"0xd5555575555dc54\" … \"0x575559655155554\", \"0x511555775655555\", \"0x555555455555551\", \"0x555517555455456\", \"0x557555555d54440\", \"0x7555d5450555154\", \"0x555455455051555\", \"0x55555575d551454\", \"0x5551550d4455544\", \"0x55159457555554\"]\n", + " [\"0xc55575055c55550\", \"0x5555555579c5554\", \"0x774d534d4555554\", \"0x954552414545125\", \"0xd5545545a754515\", \"0x517155d555d4554\", \"0x1d5151945454451\", \"0x955157145d45516\", \"0x5555c5415d54554\", \"0x5455d1545417554\" … \"0x1d5555555551795\", \"0xd55545554477745\", \"0x7555d54155d5354\", \"0x557055d54145755\", \"0x5555d8d15d56452\", \"0x155555475457256\", \"0x5595511c5551605\", \"0x755d715455d7504\", \"0x555455715145740\", \"0x5551d7757793334\"]\n", + " [\"0x5d5755455745544\", \"0x54555796675d554\", \"0x555c65514116414\", \"0xf55551554657515\", \"0x5555d151557d550\", \"0xf46df50c5555455\", \"0x555f71477172556\", \"0x5417555d5d55554\", \"0x557465154595555\", \"0x74b45744d415525\" … \"0x415151f54545455\", \"0x555715b145b5054\", \"0x555726545547594\", \"0x5505274c5555525\", \"0x5455f5445b51555\", \"0x125594575556465\", \"0xc75556755555441\", \"0x95d557549554104\", \"0x357fd1414557555\", \"0x151774554755540\"]\n", + " [\"0xd7d557455fde055\", \"0xe54635555550064\", \"0x117d11554df5555\", \"0xd465d1462555650\", \"0xd7df52c155544cd\", \"0xd5515f53553d555\", \"0x95d515417fe6c50\", \"0x74d91355dd46574\", \"0xd65535471555465\", \"0xb54d65453542551\" … \"0xd2f157452544757\", \"0x755177551472473\", \"0xf4cd57c75554651\", \"0x754d47c36d84851\", \"0xd5141e55d515135\", \"0x5ddd13752556110\", \"0x94545bd5514d155\", \"0x9554f55745d5342\", \"0x548411e95f15754\", \"0x155556b7dd5534e\"]\n", + " [\"0x16c933553255553\", \"0x554937570a554d4\", \"0x575ad3545147510\", \"0x66577b454431526\", \"0x97333b549d45554\", \"0xd5d457d558dd455\", \"0x955453956d5ca12\", \"0x154b734d5595054\", \"0x5495f325d15b404\", \"0xd52d1355b315431\" … \"0x573355538bc5534\", \"0x956559b56b54550\", \"0x79251a014495550\", \"0x65706374e157520\", \"0x555522815580550\", \"0xb549555adc92040\", \"0x167450c315c644d\", \"0x4cd176750755654\", \"0x4b4555550dd7216\", \"0x525272454f15552\"]\n", + " [\"0x539955551512575\", \"0x915656d48655554\", \"0xd5555484f59955a\", \"0x552565049205434\", \"0x994dd34cc520540\", \"0xf3b352544575432\", \"0xd3bb5c61945a192\", \"0x36ad4949491f810\", \"0xad826d455224446\", \"0xd45459935cad144\" … \"0x1555617d1c57452\", \"0x97d515491745944\", \"0x362c5b575c4c452\", \"0x5a55a6944695153\", \"0xd52320955d4d030\", \"0x556e46515693515\", \"0xc9705164d1d4412\", \"0xd55513c49695e40\", \"0x95b6e6d9444d453\", \"0x5548db54554c554\"]\n", + " [\"0xb4925285666cd62\", \"0xd3415842d5b6806\", \"0x953dcd4b4c96552\", \"0xd2555d449755649\", \"0x57ab62c5bccf452\", \"0x8559d5311106904\", \"0xd6d54a94af559d4\", \"0xdd545b56d551505\", \"0xcb45d25b6592754\", \"0xd6251b65566d417\" … \"0xde4ad2464505714\", \"0x5647554f4553454\", \"0x55556ca5d294415\", \"0x7556d1654556c29\", \"0x355b6a955565402\", \"0xd352747358d5444\", \"0x55521153e555344\", \"0xd56d536b7156550\", \"0x95fa33069d52224\", \"0x54d53a4d0c15434\"]\n", + " [\"0xf45570555d55054\", \"0x9996d5b34515153\", \"0x5d56d4f88d54c94\", \"0xccd613539755555\", \"0x94a953465555452\", \"0xb56d294a5257e44\", \"0x55555095125a554\", \"0x954a93553d6d6d0\", \"0xd2965111bd76226\", \"0xcc5752255a93953\" … \"0x5549a043552cd8e\", \"0x51a92a539190c04\", \"0x5fd48c4c4950d96\", \"0x906d5757416d526\", \"0x956d10e5532e454\", \"0x855557574982950\", \"0x5b5541554515054\", \"0xb55615c63554554\", \"0x95b55286aed2a54\", \"0x532a50654d2a802\"]\n", + " [\"0x6b5534450155466\", \"0xb65562d76e2d905\", \"0x5cf65a2d7a98a3c\", \"0xa5d215455558524\", \"0xd556138353d1548\", \"0x95954a524a52842\", \"0xd594b04d0cb4d50\", \"0xb5a5ba9500a2542\", \"0x9b5a6b7d534b604\", \"0x15a551154994950\" … \"0x552515550dad66c\", \"0xc695599598d0154\", \"0x1855ca4381d550c\", \"0x5696d0149685554\", \"0x252568d5751447c\", \"0x534554d55244c6f\", \"0xd55755dad0a5554\", \"0x92854a9ac5d5440\", \"0xd32b55055454b24\", \"0x958b3ac156e9b54\"]\n", + " [\"0xaa91317c9a224ac\", \"0x56a84ad4b65b42c\", \"0xd7484b155535724\", \"0xddaad1555d14b55\", \"0xb35a09c69094e52\", \"0x5d50aa9d4644541\", \"0x4b552a454155846\", \"0xd5364a556b43250\", \"0x95552355486b494\", \"0xb569565b5c55752\" … \"0x5557336aa86a354\", \"0xf692da64ad6d606\", \"0x92cc98544cb7654\", \"0x5195ba659754024\", \"0xb5ad926df470406\", \"0xd5a95261d2b5754\", \"0xaa5562d08376ad4\", \"0xb4b55b588b55752\", \"0x74b7dce65092052\", \"0xa1e54d154152e22\"]\n", + " [\"0xd55d3a852e2e965\", \"0xaaa551495026654\", \"0x52694951a558422\", \"0x55ad569a9cca8c1\", \"0x94a5569a02c5458\", \"0xd55573154d92510\", \"0x54aad21d1fdaf20\", \"0x15a5590a1576650\", \"0xa555a2869d6b354\", \"0x5ab8a4d40a11649\" … \"0x1541544743a4552\", \"0x926f52c73e8b440\", \"0xa14e4a634165404\", \"0x948502c58157d6c\", \"0xa941aaa5120833c\", \"0x55555ed6c795544\", \"0x1b3b424cc113f95\", \"0x53529261afc5552\", \"0x57a6415d55d576a\", \"0xb54a5955d55554d\"]" ] }, - "execution_count": 40, + "execution_count": 28, "metadata": {}, "output_type": "execute_result" } @@ -1728,95 +1745,41 @@ }, { "cell_type": "code", - "execution_count": 44, - "id": "6c99b8f6", + "execution_count": 32, + "id": "a3646d14", "metadata": {}, "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAvgAAAG4CAIAAAC/8ARFAAAABmJLR0QA/wD/AP+gvaeTAAAgAElEQVR4nOzdZ0ATydsA8NlUOiH03jtIV0AREBFsoIiKit0T9W85O6enYjnLnZ6eXex6FhDBgmJDRUVEpaj03nuvIW3fD3tvLhc6BAI6v0/ZyezsJEbyZHbmGQRFUQBBEARBEPQ9wgm6AxAEQRAEQQMFBjoQNITQ6fTk5OSYmJjs7Gw2m91hHRRFMzIyYmJi8vPzB7l7XVi6dKm/vz/n8MuXL35+fkFBQQLsUlBQkJ+f35cvXwTYBwiCBA4GOtAP6uzZswiCIAji5+fX/lkJCQkEQVpbWwetP83NzVu2bJGXlzcxMbG3t9fR0ZGXl7948SJPtWfPnunr6+vr69vb22toaNja2n79+nXQOtmFS5cuBQcHcw7z8vICAwNjYmIE2KWYmJjAwMBBCwdv374dGBgo8MkAXl5epB4oLy8f0G60trZevXp17dq19vb2IiIiCIJwx8Fdu3z5MtKRuXPnDmifoe8VQdAdgCABu3jx4vr16w0MDATYh8bGxgkTJnz48EFVVdXX11dGRqa4uPjNmzfp6enc1V6/fj1lyhQEQdatW2doaPj+/fvr1687Ozt//PhRW1tbUJ3HODk5KSkpCbYPgrV9+/acnJxly5YhCCLAbhgaGtbW1nIOKysrk5OTpaSkzMzMuKuRSKQB7UZ5efmiRYuwx0JCQn1oQUtLS0tLi7vExMSk/x2DfkAw0IF+aFJSUrW1tQEBAbdv3xZgN37++ecPHz7MmjXr6tWr3N8K3N9YLBZr1apVDAYjKCho1qxZAAA/Pz9tbe1du3Zt2rQpLCxMAP3m8urVK8F2AML89ttv3Id37tyZNWuWtbX1s2fPBrMb4uLie/bssbKysrKyCgwM3LlzZ29bWLBgwa5duwaib9CPBgY60A9t5syZkZGRwcHBW7ZssbS0FEgfMjIyLl++rKSkdOnSJZ7fvlJSUpzH0dHRqampZmZmWJSD2bx589GjRx88eFBeXi4vL9/1hWg02qtXrzIyMhAEMTIycnR0JBKJ3BVSU1NbWlrMzc1RFH3+/HlaWpqoqKirq6umpma3ryIuLo5MJnf4mzs9PT0qKqqlpWXEiBFOTk443L93zNva2pKSkiQkJHR1dcvLy58+fVpdXW1kZOTq6opVYzKZz549y8jIoFAokydPlpWV7bYn7aEo+u7du4SEBAKB4OTkZGRk1L4Ok8mMiopKSUlhs9k6OjouLi7txyFqa2ujo6Pz8vLYbLaMjIyFhYWhoSEAoKmpKT09va2tDXsfsJ4LCQkZGxtzzq2qqnr+/HlJSYmYmJitrS3P+AqTyfzy5YuoqKiBgUF9ff2jR49KSkpUVVXd3d0lJSX78JIFTlpaeseOHYLuBQQBAABAIeiHdObMGQDA6tWrr1+/DgBwd3fnflZcXBwA0NLSMgg9wX7sbtmypetq2NfG1q1becqnTZsGALh582bXp7969UpVVZX7/76uru6nT5+461hYWAAA4uLiTE1NOdUIBMKJEye6fRUAAE1NTc7hvXv3AABr167duHEj962c0aNHV1VVcaplZmYCAFxdXXmGshwdHRsbG9PS0vT09DiFFArl/fv33faEY926dQCAa9euOTk5cRpBEGT16tUsFou7Znx8PPeFAAAqKiovXrzgrnP9+nVRUVGev5/r169HUfTt27ft/7Tq6+tzzj18+LCwsDD3sxMnTqyuruZUwGbMjBw5Mjw8nEKhcKrJysp+/Pix5y+5PWzilKura38a6ac9e/Z0+NHtzKVLlwAAAQEBA9or6McBR3SgH93cuXOPHDny5MmTly9fjhs3rucntra2dvgNx0NUVHT06NFdVMBm7Jqbmz979uzMmTNZWVkSEhJjx45du3atoqIip1pqaioAgGfWAgAAm52DPduZ5OTkSZMm0en0nTt3zp49m8ViXb58+ejRo66uromJierq6tyVvb29DQ0NDx48KC8vHxkZuXPnzvXr17u6uurr63f7YnmEhIS0trZevnx53Lhx5eXlu3fvDg8Px0bRuKOflJSUVatWbd++3dXVtb6+/pdffomKivr1118fPXpkYmJy4sQJKSmpa9eunTx5cuHChWlpadxjQt3y9/eXkZF58eKFnp5ecnLyzz//fPLkSVlZWc7NlKKiovHjx9fU1Kxdu3bp0qUEAuHOnTt79+6dPHlybGwsNvRSUFCwdOlScXHx06dP29raksnkwsLCly9fYsGZiYnJ8+fPFyxYUFpa+uzZM+yliYiIYO2fPXt206ZNcnJyZ8+etbe3LysrCwgIiIiI8PDwiIqKwuPxnK7m5+f7+PisWLFi6tSpeDz+3Llz169f9/X1TU1N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", - "image/svg+xml": [ - "\n", - "\n", - "\n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n" - ], - "text/html": [ - "" + "text/plain": [ + "24-element Vector{Float64}:\n", + " 0.0002521950368850243\n", + " 0.0015258686477384606\n", + " 0.0024013625094719726\n", + " 0.0029022318812903605\n", + " 0.00025718132434380056\n", + " 0.0011987151250387757\n", + " 0.0016971862281068466\n", + " 0.002112505457521214\n", + " 0.0025037887032699256\n", + " 0.00272784429280929\n", + " 0.002848014563385285\n", + " 0.0002608633964472374\n", + " 0.0010210962659621225\n", + " 0.0011984934556250086\n", + " 0.0014704324139607349\n", + " 0.001659247485516926\n", + " 0.0019295928359049624\n", + " 0.002128025198562124\n", + " 0.0023167485411055284\n", + " 0.0024687121385826784\n", + " 0.0025555147191907213\n", + " 0.002584721755440042\n", + " 0.0026764014474838465\n", + " 0.002698296974560116" ] }, - "execution_count": 44, + "execution_count": 32, "metadata": {}, "output_type": "execute_result" } @@ -1825,191 +1788,73 @@ "# -------------------------Step 4-------------------------\n", "# Post-process and return the result in the desired classical format.\n", "\n", - "# hex_to_bitstrings decodes into an Int64, so N must stay under 63 bits\n", + "# the hex outcomes are decoded into an Int64, so N must stay under 63 bits\n", "@assert N_large < 63\n", "\n", - "# save_counts(all_samples_large, N_large)\n", - "\n", - "# Staggered magnetization m_s = (1/N) Σ_i (-1)^i ⟨Z_i⟩.\n", - "# The Néel state gives m_s = +1; the *unstaggered* average is identically 0\n", - "# for this initial state, so the staggering is what makes the signal visible.\n", - "# Single pass over the samples: decode each hex outcome once, not once per qubit.\n", - "function staggered_mag(samples, n::Int)\n", - " acc = 0.0\n", - " for s in samples\n", + "function staggered_mag_stats(samples, n::Int)\n", + " vals = Vector{Float64}(undef, length(samples))\n", + " for (j, s) in enumerate(samples)\n", " val = parse(Int, replace(s, \"0x\" => \"\"), base = 16)\n", - " acc += sum((-1)^q * (1 - 2 * bit_at(val, q)) for q in 1:n)\n", + " vals[j] = sum((-1)^q * (1 - 2 * bit_at(val, q)) for q in 1:n) / n\n", " end\n", - " return acc / (n * length(samples))\n", + " return (mean(vals), std(vals) / sqrt(length(vals)))\n", "end\n", "\n", - "ms_hw = [staggered_mag(s, N_large) for s in all_samples_large]\n", - "\n", - "# keep the sweep metadata next to the raw counts so the figure is reproducible\n", - "mkpath(\"results\")\n", - "open(joinpath(\"results\", \"sweep_N=$(N_large).json\"), \"w\") do f\n", - " JSON.print(f, Dict(\"T_total\" => T_total, \"r_list\" => r_list,\n", - " \"shots\" => shots_large, \"backend\" => backend.name,\n", - " \"sweep\" => [[r, k] for (r, k) in sweep],\n", - " \"staggered_hw\" => ms_hw), 2)\n", - "end\n", - "\n", - "plt = plot(xlabel = \"Time t\", ylabel = \"Staggered magnetization (1/N) Σᵢ (-1)ⁱ ⟨Zᵢ⟩\",\n", - " title = \"N = $(N_large) on $(backend.name), T = $(T_total)\",\n", - " legend = :topright, ylims = (-0.05, 1.05), size = (760, 440),\n", - " bottom_margin = 5mm, left_margin = 5mm)\n", - "\n", - "for r in r_list\n", - " idx = findall(p -> p[1] == r, sweep)\n", - " ts = [sweep[i][2] * T_total / r for i in idx]\n", - " plot!(plt, ts, ms_hw[idx], marker = :circle, markersize = 4, lw = 2,\n", - " label = \"δt = $(round(T_total/r, digits=4)) (r = $r)\")\n", - "end\n", - "plt" + "ms_stats = [staggered_mag_stats(s, N_large) for s in all_samples_large]\n", + "ms_hw = first.(ms_stats)\n", + "sem_hw = last.(ms_stats)" + ] + }, + { + "cell_type": "markdown", + "id": "89c310c8", + "metadata": {}, + "source": [ + "At $N=60$ the exact solution from the ODE solver used above is out of reach, because the state vector alone would need $2^{60} \\approx 10^{18}$ amplitudes. Instead we use a noiseless tensor network simulation of the same 1D chain with a much finer Trotter step ($r = 96$, $\\delta t \\approx 0.016$) as the reference, where the Trotter error is negligible compared with any $\\delta t$ we run on hardware. This reference is itself approximate: its dominant error is now the bond-dimension truncation discussed above, reported as a truncation fidelity for each run." ] }, { "cell_type": "code", - "execution_count": 45, - "id": "0b8dbf6d", + "execution_count": 30, + "id": "fbcc23a1", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Noiseless TN curves at each δt:\n", - " δt=0.5, 3 steps: truncation fidelity ≈ 1.0\n", - " δt=0.25, 6 steps: truncation fidelity ≈ 1.0\n", - " δt=0.125, 12 steps: truncation fidelity ≈ 1.0\n", - "Converged reference:\n", + "Converged tensor-network reference:\n", " δt=0.01562, 96 steps: truncation fidelity ≈ 1.0\n" ] }, { "data": { - "image/png": "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", - "image/svg+xml": [ - "\n", - "\n", - "\n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n" - ], - "text/html": [ - "" + "text/plain": [ + "([0.0, 0.125, 0.25, 0.375, 0.5, 0.625, 0.75, 0.875, 1.0, 1.125, 1.25, 1.375, 1.5], Float32[1.0, 0.96955144, 0.88692987, 0.77388746, 0.65495837, 0.5478493, 0.45952404, 0.38842973, 0.32962787, 0.27903682, 0.23493162, 0.1971867, 0.1658363])" ] }, - "execution_count": 45, + "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "# Noiseless tensor-network baselines at N = 60.\n", - "# Refining δt costs nothing in bond dimension — the entanglement is set by the\n", - "# physical time T, not by the number of steps — so a fine-δt run serves as a\n", - "# stand-in for exact evolution that exact diagonalization cannot provide here.\n", - "g_large = named_grid((N_large,))\n", - "\n", + "# Calculate the average magnetization given a tensor network state\n", "tn_staggered(ψ_bpc, n) =\n", - " sum((-1)^q * real(expect(ψ_bpc, [(\"Z\", [(q,)])])[1]) for q in 1:n) / n\n", + " sum((-1)^q * m for (q, m) in enumerate(tn_site_magnetization(ψ_bpc, n))) / n\n", "\n", - "# one Trotter step of size δt, as a gate list\n", - "trotter_step_gates(δt) = vcat(\n", - " [(\"Rx\", [(i,)], h_large[i] * δt) for i in 1:N_large],\n", - " [(\"Rzz\", [(i,), (i+1,)], 2 * J_large[i] * δt) for i in 1:N_large-1],\n", - " [(\"Rx\", [(i,)], h_large[i] * δt) for i in 1:N_large])\n", - "\n", - "# Evolve incrementally, recording m_s every `record_every` steps. This is O(r)\n", - "# work instead of the O(r^2) of rebuilding each circuit from scratch.\n", + "# Compute the tensor network trace of the average megnetization\n", + "# given the trotter step and the number of trotter steps\n", "function tn_trace(δt, nsteps; record_every = 1)\n", - " ψ = tensornetworkstate(ComplexF32, v -> \"↑\", g_large, \"S=1/2\")\n", - " ψ_bpc = BeliefPropagationCache(ψ)\n", - " ψ_bpc, _ = apply_gates([(\"X\", [(i,)]) for i in 1:2:N_large], ψ_bpc; apply_kwargs)\n", - " gates = trotter_step_gates(δt)\n", - " ts = [0.0]; ms = [tn_staggered(ψ_bpc, N_large)]; fid = 1.0\n", + " init = neel_gates_tn(N_large)\n", + " step = trotter_step_gates_tn(h_large, J_large, N_large, δt)\n", + "\n", + " ψ_bpc, fid = tn_simulate(init, tn_initial_state(g_large); apply_kwargs)\n", + " ts = [0.0] \n", + " ms = [tn_staggered(ψ_bpc, N_large)]\n", " for k in 1:nsteps\n", - " ψ_bpc, errs = apply_gates(gates, ψ_bpc; apply_kwargs)\n", - " fid *= prod(1.0 .- errs)\n", + " ψ_bpc, fid_step = tn_simulate(step, ψ_bpc; apply_kwargs)\n", + " fid *= fid_step\n", " if k % record_every == 0\n", " push!(ts, k * δt); push!(ms, tn_staggered(ψ_bpc, N_large))\n", " end\n", @@ -2018,34 +1863,128 @@ " (ts, ms)\n", "end\n", "\n", - "println(\"Noiseless TN curves at each δt:\")\n", - "tn_curves = Dict(r => tn_trace(T_total/r, r) for r in r_list)\n", + "ms_hw = [staggered_mag(s, N_large) for s in all_samples_large]\n", "\n", - "# Converged reference. r=96 leaves a Trotter error ~50x below the finest\n", - "# curve in the sweep. Watch the fidelity print: if it drifts from 1, raise\n", - "# `maxdim` in apply_kwargs.\n", - "println(\"Converged reference:\")\n", + "# Noiseless tensor-network reference in the δt → 0 limit: at r_ref = 96 the\n", + "# Trotter error is far below the coarsest δt on the hardware, so what is left\n", + "# between this curve and the hardware points is dominated by device noise.\n", + "# If the fidelity print — if it drifts from 1, raise `maxdim` in\n", + "# `apply_kwargs`.\n", + "println(\"Converged tensor-network reference:\")\n", "r_ref = 96\n", - "ts_ref, ms_ref = tn_trace(T_total/r_ref, r_ref; record_every = r_ref ÷ 12)\n", - "\n", - "plt2 = plot(xlabel = \"Time t\", ylabel = \"Staggered magnetization (1/N) Σᵢ (-1)ⁱ ⟨Zᵢ⟩\",\n", - " title = \"N = $(N_large): Trotter error vs hardware noise\",\n", + "ts_ref, ms_ref = tn_trace(T_total / r_ref, r_ref; record_every = r_ref ÷ 12)" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "id": "b6eb115f", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "image/svg+xml": [ + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n" + ], + "text/html": [ + "" + ] + }, + "execution_count": 44, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "plt = plot(xlabel = \"Time\", ylabel = \"Staggered magnetization\",\n", + " title = \"N = $(N_large) on $(backend.name), T = $(T_total)\",\n", " legend = :topright, ylims = (-0.05, 1.05), size = (820, 480),\n", " bottom_margin = 5mm, left_margin = 5mm)\n", "\n", - "plot!(plt2, ts_ref, ms_ref, lw = 3, ls = :dash, color = :black,\n", - " label = \"converged (δt → 0)\")\n", - "\n", - "for (n, r) in enumerate(r_list)\n", - " ts_tn, ms_tn = tn_curves[r]\n", - " lbl = \"δt = $(round(T_total/r, digits=4))\"\n", - " plot!(plt2, ts_tn, ms_tn, lw = 2, ls = :dot, color = n, label = \"$lbl, noiseless\")\n", - " idx = findall(p -> p[1] == r, sweep)\n", - " plot!(plt2, [sweep[i][2] * T_total / r for i in idx], ms_hw[idx],\n", - " marker = :circle, markersize = 4, lw = 2, color = n,\n", - " label = \"$lbl, hardware\")\n", + "# Plot tensor network reference \n", + "plot!(plt, ts_ref, ms_ref, lw = 2, ls = :dash, color = :black,\n", + " label = \"tensor network, δt → 0\")\n", + "\n", + "# Plot hardware result per Trotter step size; each r contributes r+1 points to\n", + "# the flat sweep, spanning t = 0 … T_total\n", + "for (r, stop) in zip(r_list, cumsum(r_list .+ 1))\n", + " plot!(plt, range(0, T_total, length = r + 1), ms_hw[(stop - r):stop],\n", + " marker = :circle, markersize = 4, lw = 2,\n", + " label = \"hardware, δt = $(round(T_total / r, digits = 4))\")\n", "end\n", - "plt2\n" + "plt" ] }, { From b1290157690d256f177a3c63f0901fb290c7a3cb Mon Sep 17 00:00:00 2001 From: Haimeng Zhang Date: Sun, 9 Aug 2026 19:42:58 -0700 Subject: [PATCH 33/40] add conclusion paragraph --- .../time-evolution/time-evolution.ipynb | 239 +++++++++--------- 1 file changed, 126 insertions(+), 113 deletions(-) diff --git a/docs/tutorials/time-evolution/time-evolution.ipynb b/docs/tutorials/time-evolution/time-evolution.ipynb index fa9a614ebad2..ebf5de7c0b65 100644 --- a/docs/tutorials/time-evolution/time-evolution.ipynb +++ b/docs/tutorials/time-evolution/time-evolution.ipynb @@ -488,7 +488,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "id": "5e3ea2c3", "metadata": {}, "outputs": [ @@ -1745,7 +1745,7 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 45, "id": "a3646d14", "metadata": {}, "outputs": [ @@ -1753,33 +1753,33 @@ "data": { "text/plain": [ "24-element Vector{Float64}:\n", - " 0.0002521950368850243\n", - " 0.0015258686477384606\n", - " 0.0024013625094719726\n", - " 0.0029022318812903605\n", - " 0.00025718132434380056\n", - " 0.0011987151250387757\n", - " 0.0016971862281068466\n", - " 0.002112505457521214\n", - " 0.0025037887032699256\n", - " 0.00272784429280929\n", - " 0.002848014563385285\n", - " 0.0002608633964472374\n", - " 0.0010210962659621225\n", - " 0.0011984934556250086\n", - " 0.0014704324139607349\n", - " 0.001659247485516926\n", - " 0.0019295928359049624\n", - " 0.002128025198562124\n", - " 0.0023167485411055284\n", - " 0.0024687121385826784\n", - " 0.0025555147191907213\n", - " 0.002584721755440042\n", - " 0.0026764014474838465\n", - " 0.002698296974560116" + " 0.9919840494791725\n", + " 0.7243001302083297\n", + " 0.4607421874999984\n", + " 0.2953776041666664\n", + " 0.991756184895839\n", + " 0.7933593750000187\n", + " 0.6308675130208249\n", + " 0.46848958333333285\n", + " 0.322981770833333\n", + " 0.2501302083333333\n", + " 0.20818684895833284\n", + " 0.9914143880208396\n", + " 0.8537027994792055\n", + " 0.8044677734375222\n", + " 0.6895019531249889\n", + " 0.6047932942708262\n", + " 0.49879557291666704\n", + " 0.4245442708333316\n", + " 0.37533365885416486\n", + " 0.3322916666666643\n", + " 0.28656412760416666\n", + " 0.25361328125000027\n", + " 0.22163085937500068\n", + " 0.1990478515624999" ] }, - "execution_count": 32, + "execution_count": 45, "metadata": {}, "output_type": "execute_result" } @@ -1791,18 +1791,16 @@ "# the hex outcomes are decoded into an Int64, so N must stay under 63 bits\n", "@assert N_large < 63\n", "\n", - "function staggered_mag_stats(samples, n::Int)\n", - " vals = Vector{Float64}(undef, length(samples))\n", - " for (j, s) in enumerate(samples)\n", - " val = parse(Int, replace(s, \"0x\" => \"\"), base = 16)\n", - " vals[j] = sum((-1)^q * (1 - 2 * bit_at(val, q)) for q in 1:n) / n\n", + "function staggered_mag(samples, n::Int)\n", + " s = 0.0\n", + " for sample in samples\n", + " val = parse(Int, replace(sample, \"0x\" => \"\"), base = 16)\n", + " s += sum((-1)^q * (1 - 2 * bit_at(val, q)) for q in 1:n) / n\n", " end\n", - " return (mean(vals), std(vals) / sqrt(length(vals)))\n", + " return s / length(samples)\n", "end\n", "\n", - "ms_stats = [staggered_mag_stats(s, N_large) for s in all_samples_large]\n", - "ms_hw = first.(ms_stats)\n", - "sem_hw = last.(ms_stats)" + "ms_hw = [staggered_mag(s, N_large) for s in all_samples_large]" ] }, { @@ -1815,7 +1813,7 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 47, "id": "fbcc23a1", "metadata": {}, "outputs": [ @@ -1833,18 +1831,19 @@ "([0.0, 0.125, 0.25, 0.375, 0.5, 0.625, 0.75, 0.875, 1.0, 1.125, 1.25, 1.375, 1.5], Float32[1.0, 0.96955144, 0.88692987, 0.77388746, 0.65495837, 0.5478493, 0.45952404, 0.38842973, 0.32962787, 0.27903682, 0.23493162, 0.1971867, 0.1658363])" ] }, - "execution_count": 30, + "execution_count": 47, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "# Calculate the average magnetization given a tensor network state\n", + "apply_kwargs = (; maxdim=64, cutoff=1e-10, normalize_tensors=true)\n", + "\n", + "# Calculate the staggered magnetization given a tensor network state\n", "tn_staggered(ψ_bpc, n) =\n", " sum((-1)^q * m for (q, m) in enumerate(tn_site_magnetization(ψ_bpc, n))) / n\n", "\n", - "# Compute the tensor network trace of the average megnetization\n", - "# given the trotter step and the number of trotter steps\n", + "# Compute the tensor network trace of the staggered megnetization\n", "function tn_trace(δt, nsteps; record_every = 1)\n", " init = neel_gates_tn(N_large)\n", " step = trotter_step_gates_tn(h_large, J_large, N_large, δt)\n", @@ -1865,19 +1864,23 @@ "\n", "ms_hw = [staggered_mag(s, N_large) for s in all_samples_large]\n", "\n", - "# Noiseless tensor-network reference in the δt → 0 limit: at r_ref = 96 the\n", - "# Trotter error is far below the coarsest δt on the hardware, so what is left\n", - "# between this curve and the hardware points is dominated by device noise.\n", - "# If the fidelity print — if it drifts from 1, raise `maxdim` in\n", - "# `apply_kwargs`.\n", - "println(\"Converged tensor-network reference:\")\n", + "# If the fidelity drifts from 1, raise `maxdim` in `apply_kwargs`.\n", + "println(\"Tensor-network reference:\")\n", "r_ref = 96\n", "ts_ref, ms_ref = tn_trace(T_total / r_ref, r_ref; record_every = r_ref ÷ 12)" ] }, + { + "cell_type": "markdown", + "id": "af333ad4", + "metadata": {}, + "source": [ + "The plot below shows the staggered magnetization over time for the three Trotter step sizes, against the noiseless tensor network reference (dasked black). " + ] + }, { "cell_type": "code", - "execution_count": 44, + "execution_count": 48, "id": "b6eb115f", "metadata": {}, "outputs": [ @@ -1888,81 +1891,81 @@ "\n", "\n", "\n", - " \n", + " \n", " \n", " \n", "\n", - "\n", + "\n", "\n", - " \n", + " \n", " \n", " \n", "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n" + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n" ], "text/html": [ "" ] }, - "execution_count": 44, + "execution_count": 48, "metadata": {}, "output_type": "execute_result" } @@ -1977,8 +1980,7 @@ "plot!(plt, ts_ref, ms_ref, lw = 2, ls = :dash, color = :black,\n", " label = \"tensor network, δt → 0\")\n", "\n", - "# Plot hardware result per Trotter step size; each r contributes r+1 points to\n", - "# the flat sweep, spanning t = 0 … T_total\n", + "# Plot hardware result per Trotter step size\n", "for (r, stop) in zip(r_list, cumsum(r_list .+ 1))\n", " plot!(plt, range(0, T_total, length = r + 1), ms_hw[(stop - r):stop],\n", " marker = :circle, markersize = 4, lw = 2,\n", @@ -1987,6 +1989,17 @@ "plt" ] }, + { + "cell_type": "markdown", + "id": "603fd062", + "metadata": {}, + "source": [ + "At the coarsest trotter step $\\delta t = 0.5$, the measured staggered magnetizations lie above the reference at every sampled time points. This suggest large trotterization error. On the other hand, hardware noise has the effect of driving the the staggered magnetization to zero. This effect can be seen clearly in cases of finer trotterization steps $\\delta t = 0.25$ and $0.125$ at short times, where the quantum solution lies below the reference. \n", + "\n", + "\n", + "Comparing $\\delta t = 0.25$ and $0.125$: halving the Trotter step doubles the circuit depth and in principle reduces the Trotter error, but the two hardware curves are similiar, so the coarser of the two reaches the same accuracy at half the depth. Choosing $\\delta t$ for a Trotterized circuit on hardware is therefore a trade-off between Trotter error and the noise accumulated in a deeper circuit." + ] + }, { "cell_type": "markdown", "id": "8defe5bb", From 0ed11beceb37de077292400406dcab35de9bf767 Mon Sep 17 00:00:00 2001 From: Haimeng Zhang Date: Mon, 17 Aug 2026 14:26:57 -0400 Subject: [PATCH 34/40] rename functions for readability --- .../time-evolution/time-evolution.ipynb | 86 ++++--------------- 1 file changed, 19 insertions(+), 67 deletions(-) diff --git a/docs/tutorials/time-evolution/time-evolution.ipynb b/docs/tutorials/time-evolution/time-evolution.ipynb index ebf5de7c0b65..336706b3e668 100644 --- a/docs/tutorials/time-evolution/time-evolution.ipynb +++ b/docs/tutorials/time-evolution/time-evolution.ipynb @@ -1570,7 +1570,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": null, "id": "f840b38f", "metadata": {}, "outputs": [ @@ -1622,7 +1622,8 @@ "source": [ "# -------------------------Step 1-------------------------\n", "# Map classical inputs to a quantum problem.\n", - "N_large = 60\n", + "N_large = 60 # the hex outcomes are decoded into an Int64, so N_large must stay under 63 bits\n", + "@assert N_large < 63\n", "g_large = named_grid((N_large,))\n", "h_large = fill(1.0, N_large) # transverse field on every site\n", "J_large = fill(1.0, N_large - 1) # nearest-neighbor ZZ couplings on the chain\n", @@ -1699,53 +1700,7 @@ }, { "cell_type": "code", - "execution_count": 28, - "id": "c3e8fdb7", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "24-element Vector{QiskitIBMRuntime.Samples}:\n", - " [\"0x555555555455555\", \"0x555555545555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555455555555\", \"0x555555455555555\", \"0x555555555555555\", \"0x555555555554555\", \"0x545555555555555\", \"0x555555545555515\" … \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555545555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x551555555555555\"]\n", - " [\"0x554d52555155546\", \"0x555545c115555d1\", \"0x195145541555dc5\", \"0xd5475d541545147\", \"0x45151745c15d055\", \"0x5d555d517565550\", \"0x545945556555457\", \"0xd55545555515454\", \"0x515555545155552\", \"0x514d4fd51554651\" … \"0xd59554751554454\", \"0x145554d54555645\", \"0xd55515702155550\", \"0x555555555144855\", \"0x555555350105555\", \"0x545595551555555\", \"0x71555555451d750\", \"0x55565d555715455\", \"0x555155559500517\", \"0x9535d5641555148\"]\n", - " [\"0xd2c5555565554d0\", \"0xd6ec55355295415\", \"0x52555ca4552d455\", \"0x9564554655a5414\", \"0xb6953a56cd15451\", \"0xd55752295ad5585\", \"0xb5d248a544561d2\", \"0x754a2ed45567945\", \"0xd55545495495155\", \"0x54eb55449052d54\" … \"0xd25555497188d4c\", \"0xd4b515485d55455\", \"0x54d5b5445594e4c\", \"0xd55508945155252\", \"0x595529255157354\", \"0xe5b582b54235344\", \"0x9552115b151523c\", \"0x56d215455cd28d0\", \"0xa4b19552d6b5554\", \"0x49d355d53d55551\"]\n", - " [\"0xb43a66995155452\", \"0x52ed45555355554\", \"0xad154a541157424\", \"0x9b5585559529554\", \"0xaa89522a4956116\", \"0x554aad5d549da84\", \"0xa5155a2a5551540\", \"0xaad5ad289174d68\", \"0x5a5495455145415\", \"0x929568c3ad115a4\" … \"0xd15a95448117440\", \"0x9355555cab5505c\", \"0x67279545baa8c52\", \"0xda44954e4356501\", \"0x4d492cc39fc8544\", \"0x2e4955549159942\", \"0xb5a851255645552\", \"0x95ac565552d4044\", \"0xb55559554155156\", \"0x555a9292854a254\"]\n", - " [\"0x555555555555555\", \"0x555555555555555\", \"0x155555555555555\", \"0x555555555515555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\" … \"0x555555555555555\", \"0x555555545555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555545155\", \"0x555555515555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\"]\n", - " [\"0x55f15555509d545\", \"0x555551550555455\", \"0x515455577515555\", \"0x55454535456147d\", \"0x554455554d55544\", \"0x5555555551557c4\", \"0x555954551d55550\", \"0x55597555154555d\", \"0x555545551455d51\", \"0x5d551d45155555d\" … \"0x555555553155505\", \"0x555555155455514\", \"0x5545555e545d515\", \"0x4559404d5555545\", \"0x755555551555545\", \"0x5d55d5555555545\", \"0x555515551755554\", \"0x575561541501545\", \"0x455505555d55551\", \"0x554155511555054\"]\n", - " [\"0x468411555575631\", \"0x155503d55d55655\", \"0x554d55455557610\", \"0xf157354c5155535\", \"0x555755555515455\", \"0x55d15785dd55654\", \"0x451675575557314\", \"0x75551d55455d6d5\", \"0x54d965555d17754\", \"0x37554545d755944\" … \"0x141555459f55565\", \"0xd54d15595875553\", \"0x551545455355454\", \"0x555451d59375454\", \"0x757555155214455\", \"0x955154754515454\", \"0x4763157559d4410\", \"0x115615554557514\", \"0x47475155945430\", \"0x15515744d514452\"]\n", - " [\"0x9555556541d6d56\", \"0x97f455455cd5454\", \"0x54556174d536549\", \"0xd559d50d4954514\", \"0x5555408d1d71154\", \"0x65154855bd59548\", \"0xb71555c56ef5458\", \"0x7539559542d7554\", \"0x5fb51d4d4765555\", \"0x42d4d0450d53444\" … \"0x31550a485555450\", \"0x94c155565515851\", \"0xd1556d05951c451\", \"0x5d56635555c9545\", \"0xd534d396d662454\", \"0xe540b3515d25650\", \"0x552556c55d55550\", \"0x5565554545d36e0\", \"0x37515b4d43458c4\", \"0x351575544dd4c54\"]\n", - " [\"0xda253b5580d2954\", \"0x55ac9254935162a\", \"0x355d511505d4a55\", \"0x55566d555574a54\", \"0x555a954923514d0\", \"0x94d24b38153543b\", \"0x4c96d942d2d50c4\", \"0x4a9655189ea88d3\", \"0x45d95445534933a\", \"0x554951596492b54\" … \"0x54d5568a45ac524\", \"0x5716489b5d15454\", \"0x555a91f28b57754\", \"0x928e55a54287462\", \"0x55ab75852d55456\", \"0x4a4412059565551\", \"0x52d163958d55455\", \"0x6d55550d7e73644\", \"0x54595555b552554\", \"0xa735705d57b5555\"]\n", - " [\"0x7255529545b2a50\", \"0x55d52a52d528aa0\", \"0x526b45a90557246\", \"0xad55516a9372548\", \"0x22a93f2505b7454\", \"0x412ab2254a2a224\", \"0x116544cd492ab54\", \"0x95e555419410753\", \"0x54544b240ed9406\", \"0xb5aad89c0ca7044\" … \"0xd57525545657ed4\", \"0x54a8b55c8524454\", \"0xce5145465545cd6\", \"0xa5d55a8c9823a72\", \"0x9544d0b6b0955d4\", \"0x96d592441ded6f5\", \"0x15d551574159244\", \"0x575709449da5404\", \"0xaab562417d2d402\", \"0xd2d5b4902555656\"]\n", - " [\"0x5b0976454595352\", \"0xb5565551324a450\", \"0x55555552450b00c\", \"0xabab5245d5b522\", \"0x5551585048d6512\", \"0x54d5d448554b156\", \"0xc4ed42d55ad5552\", \"0xb34537174a10310\", \"0x59692c9054a6902\", \"0x52d452b4d0d6554\" … \"0x5a451c847295060\", \"0x33225454ccb5541\", \"0x555d55add554c01\", \"0x956ed34e116aad5\", \"0x555ba55a4555556\", \"0x554b51555e9240e\", \"0xac575a735d52992\", \"0xd5555174b354d6a\", \"0xb2ad58d2941ac54\", \"0xd53555345c95058\"]\n", - " [\"0x555555555555555\", \"0x555555555555555\", \"0x555555551555555\", \"0x555755555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\" … \"0x555554555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555515\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\", \"0x555555555555555\"]\n", - " [\"0x555555545555145\", \"0x555555451555155\", \"0x555505555545115\", \"0x555555551555054\", \"0x555554545555455\", \"0x555505551555651\", \"0x555545550455015\", \"0x555555555555510\", \"0x555545555555555\", \"0x555545518555555\" … \"0x5555555505514c5\", \"0x555551550155444\", \"0x555d55554455455\", \"0x555555551555515\", \"0x515555550555545\", \"0x751545555554595\", \"0x155515510955105\", \"0x5d5555555155445\", \"0xd55765554155755\", \"0x55e525540555415\"]\n", - " [\"0x555541455555554\", \"0x55d555455455114\", \"0x555555555555454\", \"0x55d415555545454\", \"0x54147545d515555\", \"0x545555151551514\", \"0x5555d5555445545\", \"0x555541155d55555\", \"0x555155d55555555\", \"0xd5555575555dc54\" … \"0x575559655155554\", \"0x511555775655555\", \"0x555555455555551\", \"0x555517555455456\", \"0x557555555d54440\", \"0x7555d5450555154\", \"0x555455455051555\", \"0x55555575d551454\", \"0x5551550d4455544\", \"0x55159457555554\"]\n", - " [\"0xc55575055c55550\", \"0x5555555579c5554\", \"0x774d534d4555554\", \"0x954552414545125\", \"0xd5545545a754515\", \"0x517155d555d4554\", \"0x1d5151945454451\", \"0x955157145d45516\", \"0x5555c5415d54554\", \"0x5455d1545417554\" … \"0x1d5555555551795\", \"0xd55545554477745\", \"0x7555d54155d5354\", \"0x557055d54145755\", \"0x5555d8d15d56452\", \"0x155555475457256\", \"0x5595511c5551605\", \"0x755d715455d7504\", \"0x555455715145740\", \"0x5551d7757793334\"]\n", - " [\"0x5d5755455745544\", \"0x54555796675d554\", \"0x555c65514116414\", \"0xf55551554657515\", \"0x5555d151557d550\", \"0xf46df50c5555455\", \"0x555f71477172556\", \"0x5417555d5d55554\", \"0x557465154595555\", \"0x74b45744d415525\" … \"0x415151f54545455\", \"0x555715b145b5054\", \"0x555726545547594\", \"0x5505274c5555525\", \"0x5455f5445b51555\", \"0x125594575556465\", \"0xc75556755555441\", \"0x95d557549554104\", \"0x357fd1414557555\", \"0x151774554755540\"]\n", - " [\"0xd7d557455fde055\", \"0xe54635555550064\", \"0x117d11554df5555\", \"0xd465d1462555650\", \"0xd7df52c155544cd\", \"0xd5515f53553d555\", \"0x95d515417fe6c50\", \"0x74d91355dd46574\", \"0xd65535471555465\", \"0xb54d65453542551\" … \"0xd2f157452544757\", \"0x755177551472473\", \"0xf4cd57c75554651\", \"0x754d47c36d84851\", \"0xd5141e55d515135\", \"0x5ddd13752556110\", \"0x94545bd5514d155\", \"0x9554f55745d5342\", \"0x548411e95f15754\", \"0x155556b7dd5534e\"]\n", - " [\"0x16c933553255553\", \"0x554937570a554d4\", \"0x575ad3545147510\", \"0x66577b454431526\", \"0x97333b549d45554\", \"0xd5d457d558dd455\", \"0x955453956d5ca12\", \"0x154b734d5595054\", \"0x5495f325d15b404\", \"0xd52d1355b315431\" … \"0x573355538bc5534\", \"0x956559b56b54550\", \"0x79251a014495550\", \"0x65706374e157520\", \"0x555522815580550\", \"0xb549555adc92040\", \"0x167450c315c644d\", \"0x4cd176750755654\", \"0x4b4555550dd7216\", \"0x525272454f15552\"]\n", - " [\"0x539955551512575\", \"0x915656d48655554\", \"0xd5555484f59955a\", \"0x552565049205434\", \"0x994dd34cc520540\", \"0xf3b352544575432\", \"0xd3bb5c61945a192\", \"0x36ad4949491f810\", \"0xad826d455224446\", \"0xd45459935cad144\" … \"0x1555617d1c57452\", \"0x97d515491745944\", \"0x362c5b575c4c452\", \"0x5a55a6944695153\", \"0xd52320955d4d030\", \"0x556e46515693515\", \"0xc9705164d1d4412\", \"0xd55513c49695e40\", \"0x95b6e6d9444d453\", \"0x5548db54554c554\"]\n", - " [\"0xb4925285666cd62\", \"0xd3415842d5b6806\", \"0x953dcd4b4c96552\", \"0xd2555d449755649\", \"0x57ab62c5bccf452\", \"0x8559d5311106904\", \"0xd6d54a94af559d4\", \"0xdd545b56d551505\", \"0xcb45d25b6592754\", \"0xd6251b65566d417\" … \"0xde4ad2464505714\", \"0x5647554f4553454\", \"0x55556ca5d294415\", \"0x7556d1654556c29\", \"0x355b6a955565402\", \"0xd352747358d5444\", \"0x55521153e555344\", \"0xd56d536b7156550\", \"0x95fa33069d52224\", \"0x54d53a4d0c15434\"]\n", - " [\"0xf45570555d55054\", \"0x9996d5b34515153\", \"0x5d56d4f88d54c94\", \"0xccd613539755555\", \"0x94a953465555452\", \"0xb56d294a5257e44\", \"0x55555095125a554\", \"0x954a93553d6d6d0\", \"0xd2965111bd76226\", \"0xcc5752255a93953\" … \"0x5549a043552cd8e\", \"0x51a92a539190c04\", \"0x5fd48c4c4950d96\", \"0x906d5757416d526\", \"0x956d10e5532e454\", \"0x855557574982950\", \"0x5b5541554515054\", \"0xb55615c63554554\", \"0x95b55286aed2a54\", \"0x532a50654d2a802\"]\n", - " [\"0x6b5534450155466\", \"0xb65562d76e2d905\", \"0x5cf65a2d7a98a3c\", \"0xa5d215455558524\", \"0xd556138353d1548\", \"0x95954a524a52842\", \"0xd594b04d0cb4d50\", \"0xb5a5ba9500a2542\", \"0x9b5a6b7d534b604\", \"0x15a551154994950\" … \"0x552515550dad66c\", \"0xc695599598d0154\", \"0x1855ca4381d550c\", \"0x5696d0149685554\", \"0x252568d5751447c\", \"0x534554d55244c6f\", \"0xd55755dad0a5554\", \"0x92854a9ac5d5440\", \"0xd32b55055454b24\", \"0x958b3ac156e9b54\"]\n", - " [\"0xaa91317c9a224ac\", \"0x56a84ad4b65b42c\", \"0xd7484b155535724\", \"0xddaad1555d14b55\", \"0xb35a09c69094e52\", \"0x5d50aa9d4644541\", \"0x4b552a454155846\", \"0xd5364a556b43250\", \"0x95552355486b494\", \"0xb569565b5c55752\" … \"0x5557336aa86a354\", \"0xf692da64ad6d606\", \"0x92cc98544cb7654\", \"0x5195ba659754024\", \"0xb5ad926df470406\", \"0xd5a95261d2b5754\", \"0xaa5562d08376ad4\", \"0xb4b55b588b55752\", \"0x74b7dce65092052\", \"0xa1e54d154152e22\"]\n", - " [\"0xd55d3a852e2e965\", \"0xaaa551495026654\", \"0x52694951a558422\", \"0x55ad569a9cca8c1\", \"0x94a5569a02c5458\", \"0xd55573154d92510\", \"0x54aad21d1fdaf20\", \"0x15a5590a1576650\", \"0xa555a2869d6b354\", \"0x5ab8a4d40a11649\" … \"0x1541544743a4552\", \"0x926f52c73e8b440\", \"0xa14e4a634165404\", \"0x948502c58157d6c\", \"0xa941aaa5120833c\", \"0x55555ed6c795544\", \"0x1b3b424cc113f95\", \"0x53529261afc5552\", \"0x57a6415d55d576a\", \"0xb54a5955d55554d\"]" - ] - }, - "execution_count": 28, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# blocks until every job has completed\n", - "all_samples_large = [get_job_results(job, service) for job in job_list_large]" - ] - }, - { - "cell_type": "code", - "execution_count": 45, + "execution_count": null, "id": "a3646d14", "metadata": {}, "outputs": [ @@ -1787,11 +1742,9 @@ "source": [ "# -------------------------Step 4-------------------------\n", "# Post-process and return the result in the desired classical format.\n", + "# Run this cell after all jobs are completed\n", "\n", - "# the hex outcomes are decoded into an Int64, so N must stay under 63 bits\n", - "@assert N_large < 63\n", - "\n", - "function staggered_mag(samples, n::Int)\n", + "function get_staggered_mag(samples, n::Int)\n", " s = 0.0\n", " for sample in samples\n", " val = parse(Int, replace(sample, \"0x\" => \"\"), base = 16)\n", @@ -1800,7 +1753,8 @@ " return s / length(samples)\n", "end\n", "\n", - "ms_hw = [staggered_mag(s, N_large) for s in all_samples_large]" + "all_samples_large = [get_job_results(job, service) for job in job_list_large]\n", + "ms_hw = [get_staggered_mag(s, N_large) for s in all_samples_large]" ] }, { @@ -1813,7 +1767,7 @@ }, { "cell_type": "code", - "execution_count": 47, + "execution_count": null, "id": "fbcc23a1", "metadata": {}, "outputs": [ @@ -1840,34 +1794,32 @@ "apply_kwargs = (; maxdim=64, cutoff=1e-10, normalize_tensors=true)\n", "\n", "# Calculate the staggered magnetization given a tensor network state\n", - "tn_staggered(ψ_bpc, n) =\n", + "staggered_magnetization_from_tn_state(ψ_bpc, n) =\n", " sum((-1)^q * m for (q, m) in enumerate(tn_site_magnetization(ψ_bpc, n))) / n\n", "\n", "# Compute the tensor network trace of the staggered megnetization\n", - "function tn_trace(δt, nsteps; record_every = 1)\n", + "function compute_staggered_magnetization_tn(δt, nsteps; record_every = 1)\n", " init = neel_gates_tn(N_large)\n", " step = trotter_step_gates_tn(h_large, J_large, N_large, δt)\n", "\n", " ψ_bpc, fid = tn_simulate(init, tn_initial_state(g_large); apply_kwargs)\n", - " ts = [0.0] \n", - " ms = [tn_staggered(ψ_bpc, N_large)]\n", + " time = [0.0] \n", + " mag = [staggered_magnetization_from_tn_state(ψ_bpc, N_large)]\n", " for k in 1:nsteps\n", " ψ_bpc, fid_step = tn_simulate(step, ψ_bpc; apply_kwargs)\n", " fid *= fid_step\n", " if k % record_every == 0\n", - " push!(ts, k * δt); push!(ms, tn_staggered(ψ_bpc, N_large))\n", + " push!(time, k * δt); push!(mag, staggered_magnetization_from_tn_state(ψ_bpc, N_large))\n", " end\n", " end\n", " println(\" δt=$(round(δt, digits=5)), $(nsteps) steps: truncation fidelity ≈ $(round(fid, digits=5))\")\n", - " (ts, ms)\n", + " (time, mag)\n", "end\n", "\n", - "ms_hw = [staggered_mag(s, N_large) for s in all_samples_large]\n", - "\n", "# If the fidelity drifts from 1, raise `maxdim` in `apply_kwargs`.\n", "println(\"Tensor-network reference:\")\n", "r_ref = 96\n", - "ts_ref, ms_ref = tn_trace(T_total / r_ref, r_ref; record_every = r_ref ÷ 12)" + "time_ref, mag_ref = compute_staggered_magnetization_tn(T_total / r_ref, r_ref; record_every = r_ref ÷ 12)" ] }, { @@ -1977,7 +1929,7 @@ " bottom_margin = 5mm, left_margin = 5mm)\n", "\n", "# Plot tensor network reference \n", - "plot!(plt, ts_ref, ms_ref, lw = 2, ls = :dash, color = :black,\n", + "plot!(plt, time_ref, mag_ref, lw = 2, ls = :dash, color = :black,\n", " label = \"tensor network, δt → 0\")\n", "\n", "# Plot hardware result per Trotter step size\n", @@ -1994,10 +1946,10 @@ "id": "603fd062", "metadata": {}, "source": [ - "At the coarsest trotter step $\\delta t = 0.5$, the measured staggered magnetizations lie above the reference at every sampled time points. This suggest large trotterization error. On the other hand, hardware noise has the effect of driving the the staggered magnetization to zero. This effect can be seen clearly in cases of finer trotterization steps $\\delta t = 0.25$ and $0.125$ at short times, where the quantum solution lies below the reference. \n", + "At the coarsest trotter step $\\delta t = 0.5$ (orange circles), the measured staggered magnetizations lie above the reference at every sampled time points. This suggest large trotterization error. On the other hand, hardware noise has the effect of driving the the staggered magnetization to zero. This effect can be seen clearly in cases of finer trotterization steps $\\delta t = 0.25$ and $0.125$ at short times, where the quantum solution lies below the reference. \n", "\n", "\n", - "Comparing $\\delta t = 0.25$ and $0.125$: halving the Trotter step doubles the circuit depth and in principle reduces the Trotter error, but the two hardware curves are similiar, so the coarser of the two reaches the same accuracy at half the depth. Choosing $\\delta t$ for a Trotterized circuit on hardware is therefore a trade-off between Trotter error and the noise accumulated in a deeper circuit." + "Comparing $\\delta t = 0.25$ (green circles) and $0.125$ (purple circles): halving the Trotter step doubles the circuit depth and in principle reduces the Trotter error, but the two hardware curves are similiar, so the coarser of the two reaches the same accuracy at half the depth. Choosing $\\delta t$ for a Trotterized circuit on hardware is therefore a trade-off between Trotter error and the noise accumulated in a deeper circuit." ] }, { From 0227ffb79bbe1e1d0946065b249ff21f52ce2a4e Mon Sep 17 00:00:00 2001 From: Haimeng Zhang Date: Mon, 17 Aug 2026 15:16:49 -0400 Subject: [PATCH 35/40] rename functions for readability --- .../time-evolution/time-evolution.ipynb | 46 +++++++++---------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/docs/tutorials/time-evolution/time-evolution.ipynb b/docs/tutorials/time-evolution/time-evolution.ipynb index 336706b3e668..e3dee5d7e0b4 100644 --- a/docs/tutorials/time-evolution/time-evolution.ipynb +++ b/docs/tutorials/time-evolution/time-evolution.ipynb @@ -435,7 +435,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "id": "47e7b661", "metadata": {}, "outputs": [ @@ -454,11 +454,11 @@ "# 1D chain graph — vertices are named (1,), (2,), ..., (N,)\n", "g = named_grid((N,))\n", "\n", - "# Néel state |0101…⟩: X on every other site\n", - "neel_gates_tn(n::Int) = [(\"X\", [(i,)]) for i in 1:2:n]\n", + "# Gates to prepare Néel state |0101…⟩, X on every other site\n", + "neel_state_gates(n::Int) = [(\"X\", [(i,)]) for i in 1:2:n]\n", "\n", - "# one second-order Trotter step of size δt\n", - "trotter_step_gates_tn(h::Vector, J::Vector, n::Int, δt::Float64) = vcat(\n", + "# Gates for one second-order Trotter step of size δt\n", + "trotter_step_gates(h::Vector, J::Vector, n::Int, δt::Float64) = vcat(\n", " [(\"Rx\", [(i,)], h[i] * δt) for i in 1:n],\n", " [(\"Rzz\", [(i,), (i+1,)], 2 * J[i] * δt) for i in 1:n-1],\n", " [(\"Rx\", [(i,)], h[i] * δt) for i in 1:n])\n", @@ -468,10 +468,10 @@ " circuit = []\n", "\n", " # Neel state initialization\n", - " append!(circuit, neel_gates_tn(n))\n", + " append!(circuit, neel_state_gates(n))\n", "\n", " for _ in 1:n_trotter_steps\n", - " append!(circuit, trotter_step_gates_tn(h, J, n, δt))\n", + " append!(circuit, trotter_step_gates(h, J, n, δt))\n", " end\n", "\n", " return circuit\n", @@ -517,22 +517,22 @@ "tn_initial_state(g) = BeliefPropagationCache(\n", " tensornetworkstate(ComplexF32, v -> \"↑\", g, \"S=1/2\"))\n", "\n", - "function tn_simulate(circuit, ψ_bpc; apply_kwargs)\n", + "function apply_circuit(circuit, ψ_bpc; apply_kwargs)\n", " ψ_bpc, errs = apply_gates(circuit, ψ_bpc; apply_kwargs)\n", " return ψ_bpc, prod(1.0 .- errs)\n", "end\n", "\n", "# ⟨Z_q⟩ on every site of a tensor-network state\n", - "tn_site_magnetization(ψ_bpc, n::Int) =\n", + "z_expvals_from_tn_state(ψ_bpc, n::Int) =\n", " [real(expect(ψ_bpc, [(\"Z\", [(q,)])])[1]) for q in 1:n]\n", "\n", "for r in 0:r_max\n", " circuit = make_trotter_circuit_tn(h, J, N, δt, r)\n", - " ψ_bpc, fidelity = tn_simulate(circuit, tn_initial_state(g); apply_kwargs)\n", + " ψ_bpc, fidelity = apply_circuit(circuit, tn_initial_state(g); apply_kwargs)\n", " println(\"fidelity at trotter step $(r) was $(fidelity)\")\n", "\n", " for q in 1:N\n", - " tn_magnetizations[r+1, :] = tn_site_magnetization(ψ_bpc, N)\n", + " tn_magnetizations[r+1, :] = z_expvals_from_tn_state(ψ_bpc, N)\n", " end\n", "end" ] @@ -1744,7 +1744,7 @@ "# Post-process and return the result in the desired classical format.\n", "# Run this cell after all jobs are completed\n", "\n", - "function get_staggered_mag(samples, n::Int)\n", + "function staggered_magnetization(samples, n::Int)\n", " s = 0.0\n", " for sample in samples\n", " val = parse(Int, replace(sample, \"0x\" => \"\"), base = 16)\n", @@ -1754,7 +1754,7 @@ "end\n", "\n", "all_samples_large = [get_job_results(job, service) for job in job_list_large]\n", - "ms_hw = [get_staggered_mag(s, N_large) for s in all_samples_large]" + "mag_hardware = [staggered_magnetization(s, N_large) for s in all_samples_large]" ] }, { @@ -1794,22 +1794,22 @@ "apply_kwargs = (; maxdim=64, cutoff=1e-10, normalize_tensors=true)\n", "\n", "# Calculate the staggered magnetization given a tensor network state\n", - "staggered_magnetization_from_tn_state(ψ_bpc, n) =\n", - " sum((-1)^q * m for (q, m) in enumerate(tn_site_magnetization(ψ_bpc, n))) / n\n", + "staggered_magnetization(ψ_bpc, n) =\n", + " sum((-1)^q * m for (q, m) in enumerate(z_expvals_from_tn_state(ψ_bpc, n))) / n\n", "\n", "# Compute the tensor network trace of the staggered megnetization\n", "function compute_staggered_magnetization_tn(δt, nsteps; record_every = 1)\n", - " init = neel_gates_tn(N_large)\n", - " step = trotter_step_gates_tn(h_large, J_large, N_large, δt)\n", + " init = neel_state_gates(N_large)\n", + " step = trotter_step_gates(h_large, J_large, N_large, δt)\n", "\n", - " ψ_bpc, fid = tn_simulate(init, tn_initial_state(g_large); apply_kwargs)\n", + " ψ_bpc, fid = apply_circuit(init, tn_initial_state(g_large); apply_kwargs)\n", " time = [0.0] \n", - " mag = [staggered_magnetization_from_tn_state(ψ_bpc, N_large)]\n", + " mag = [staggered_magnetization(ψ_bpc, N_large)]\n", " for k in 1:nsteps\n", - " ψ_bpc, fid_step = tn_simulate(step, ψ_bpc; apply_kwargs)\n", + " ψ_bpc, fid_step = apply_circuit(step, ψ_bpc; apply_kwargs)\n", " fid *= fid_step\n", " if k % record_every == 0\n", - " push!(time, k * δt); push!(mag, staggered_magnetization_from_tn_state(ψ_bpc, N_large))\n", + " push!(time, k * δt); push!(mag, staggered_magnetization(ψ_bpc, N_large))\n", " end\n", " end\n", " println(\" δt=$(round(δt, digits=5)), $(nsteps) steps: truncation fidelity ≈ $(round(fid, digits=5))\")\n", @@ -1832,7 +1832,7 @@ }, { "cell_type": "code", - "execution_count": 48, + "execution_count": null, "id": "b6eb115f", "metadata": {}, "outputs": [ @@ -1934,7 +1934,7 @@ "\n", "# Plot hardware result per Trotter step size\n", "for (r, stop) in zip(r_list, cumsum(r_list .+ 1))\n", - " plot!(plt, range(0, T_total, length = r + 1), ms_hw[(stop - r):stop],\n", + " plot!(plt, range(0, T_total, length = r + 1), mag_hardware[(stop - r):stop],\n", " marker = :circle, markersize = 4, lw = 2,\n", " label = \"hardware, δt = $(round(T_total / r, digits = 4))\")\n", "end\n", From c4bcca0b7b90399108eb6dc8481dddd11b85a6eb Mon Sep 17 00:00:00 2001 From: Haimeng Zhang Date: Tue, 18 Aug 2026 15:39:58 -0400 Subject: [PATCH 36/40] add typing hints --- docs/tutorials/time-evolution/time-evolution.ipynb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/tutorials/time-evolution/time-evolution.ipynb b/docs/tutorials/time-evolution/time-evolution.ipynb index e3dee5d7e0b4..0861d16011fe 100644 --- a/docs/tutorials/time-evolution/time-evolution.ipynb +++ b/docs/tutorials/time-evolution/time-evolution.ipynb @@ -1744,7 +1744,7 @@ "# Post-process and return the result in the desired classical format.\n", "# Run this cell after all jobs are completed\n", "\n", - "function staggered_magnetization(samples, n::Int)\n", + "function staggered_magnetization(samples::AbstractVector{<:AbstractString}, n::Int)\n", " s = 0.0\n", " for sample in samples\n", " val = parse(Int, replace(sample, \"0x\" => \"\"), base = 16)\n", @@ -1794,7 +1794,7 @@ "apply_kwargs = (; maxdim=64, cutoff=1e-10, normalize_tensors=true)\n", "\n", "# Calculate the staggered magnetization given a tensor network state\n", - "staggered_magnetization(ψ_bpc, n) =\n", + "staggered_magnetization(ψ_bpc::BeliefPropagationCache, n::Int) =\n", " sum((-1)^q * m for (q, m) in enumerate(z_expvals_from_tn_state(ψ_bpc, n))) / n\n", "\n", "# Compute the tensor network trace of the staggered megnetization\n", From 9567b049d7f85b4205c2b6f1663dfd1dc9ea970a Mon Sep 17 00:00:00 2001 From: Haimeng Zhang Date: Tue, 18 Aug 2026 15:41:00 -0400 Subject: [PATCH 37/40] remove a redundant for loop --- docs/tutorials/time-evolution/time-evolution.ipynb | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/docs/tutorials/time-evolution/time-evolution.ipynb b/docs/tutorials/time-evolution/time-evolution.ipynb index 0861d16011fe..d5ecf7255d03 100644 --- a/docs/tutorials/time-evolution/time-evolution.ipynb +++ b/docs/tutorials/time-evolution/time-evolution.ipynb @@ -530,10 +530,7 @@ " circuit = make_trotter_circuit_tn(h, J, N, δt, r)\n", " ψ_bpc, fidelity = apply_circuit(circuit, tn_initial_state(g); apply_kwargs)\n", " println(\"fidelity at trotter step $(r) was $(fidelity)\")\n", - "\n", - " for q in 1:N\n", - " tn_magnetizations[r+1, :] = z_expvals_from_tn_state(ψ_bpc, N)\n", - " end\n", + " tn_magnetizations[r+1, :] = z_expvals_from_tn_state(ψ_bpc, N)\n", "end" ] }, From 2668c7fc5eecb12f511a9063e10f8bfb358d3951 Mon Sep 17 00:00:00 2001 From: Haimeng Zhang Date: Tue, 18 Aug 2026 15:42:26 -0400 Subject: [PATCH 38/40] update function comments --- docs/tutorials/time-evolution/time-evolution.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/tutorials/time-evolution/time-evolution.ipynb b/docs/tutorials/time-evolution/time-evolution.ipynb index d5ecf7255d03..044938822b1e 100644 --- a/docs/tutorials/time-evolution/time-evolution.ipynb +++ b/docs/tutorials/time-evolution/time-evolution.ipynb @@ -1794,7 +1794,7 @@ "staggered_magnetization(ψ_bpc::BeliefPropagationCache, n::Int) =\n", " sum((-1)^q * m for (q, m) in enumerate(z_expvals_from_tn_state(ψ_bpc, n))) / n\n", "\n", - "# Compute the tensor network trace of the staggered megnetization\n", + "# Evolve a TN state and record the staggered magnetization at each step.\n", "function compute_staggered_magnetization_tn(δt, nsteps; record_every = 1)\n", " init = neel_state_gates(N_large)\n", " step = trotter_step_gates(h_large, J_large, N_large, δt)\n", From 17c7cd8ac2f2c7e0d214469e2f433bae59b03b10 Mon Sep 17 00:00:00 2001 From: Haimeng Zhang Date: Tue, 18 Aug 2026 15:57:18 -0400 Subject: [PATCH 39/40] rename function --- docs/tutorials/time-evolution/time-evolution.ipynb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/tutorials/time-evolution/time-evolution.ipynb b/docs/tutorials/time-evolution/time-evolution.ipynb index 044938822b1e..fc1a9ac47edb 100644 --- a/docs/tutorials/time-evolution/time-evolution.ipynb +++ b/docs/tutorials/time-evolution/time-evolution.ipynb @@ -517,7 +517,7 @@ "tn_initial_state(g) = BeliefPropagationCache(\n", " tensornetworkstate(ComplexF32, v -> \"↑\", g, \"S=1/2\"))\n", "\n", - "function apply_circuit(circuit, ψ_bpc; apply_kwargs)\n", + "function apply_gates_to_tn_state(circuit, ψ_bpc; apply_kwargs)\n", " ψ_bpc, errs = apply_gates(circuit, ψ_bpc; apply_kwargs)\n", " return ψ_bpc, prod(1.0 .- errs)\n", "end\n", @@ -528,7 +528,7 @@ "\n", "for r in 0:r_max\n", " circuit = make_trotter_circuit_tn(h, J, N, δt, r)\n", - " ψ_bpc, fidelity = apply_circuit(circuit, tn_initial_state(g); apply_kwargs)\n", + " ψ_bpc, fidelity = apply_gates_to_tn_state(circuit, tn_initial_state(g); apply_kwargs)\n", " println(\"fidelity at trotter step $(r) was $(fidelity)\")\n", " tn_magnetizations[r+1, :] = z_expvals_from_tn_state(ψ_bpc, N)\n", "end" @@ -1799,11 +1799,11 @@ " init = neel_state_gates(N_large)\n", " step = trotter_step_gates(h_large, J_large, N_large, δt)\n", "\n", - " ψ_bpc, fid = apply_circuit(init, tn_initial_state(g_large); apply_kwargs)\n", + " ψ_bpc, fid = apply_gates_to_tn_state(init, tn_initial_state(g_large); apply_kwargs)\n", " time = [0.0] \n", " mag = [staggered_magnetization(ψ_bpc, N_large)]\n", " for k in 1:nsteps\n", - " ψ_bpc, fid_step = apply_circuit(step, ψ_bpc; apply_kwargs)\n", + " ψ_bpc, fid_step = apply_gates_to_tn_state(step, ψ_bpc; apply_kwargs)\n", " fid *= fid_step\n", " if k % record_every == 0\n", " push!(time, k * δt); push!(mag, staggered_magnetization(ψ_bpc, N_large))\n", From a104efa90d08eec7d3484e0a0d46800fb4971249 Mon Sep 17 00:00:00 2001 From: Haimeng Zhang Date: Tue, 18 Aug 2026 16:07:29 -0400 Subject: [PATCH 40/40] rename variables --- .../time-evolution/time-evolution.ipynb | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/docs/tutorials/time-evolution/time-evolution.ipynb b/docs/tutorials/time-evolution/time-evolution.ipynb index fc1a9ac47edb..86afb4b40b89 100644 --- a/docs/tutorials/time-evolution/time-evolution.ipynb +++ b/docs/tutorials/time-evolution/time-evolution.ipynb @@ -1751,7 +1751,7 @@ "end\n", "\n", "all_samples_large = [get_job_results(job, service) for job in job_list_large]\n", - "mag_hardware = [staggered_magnetization(s, N_large) for s in all_samples_large]" + "mags_hardware = [staggered_magnetization(s, N_large) for s in all_samples_large]" ] }, { @@ -1796,27 +1796,27 @@ "\n", "# Evolve a TN state and record the staggered magnetization at each step.\n", "function compute_staggered_magnetization_tn(δt, nsteps; record_every = 1)\n", - " init = neel_state_gates(N_large)\n", - " step = trotter_step_gates(h_large, J_large, N_large, δt)\n", + " init_gates = neel_state_gates(N_large)\n", + " step_gates = trotter_step_gates(h_large, J_large, N_large, δt)\n", "\n", - " ψ_bpc, fid = apply_gates_to_tn_state(init, tn_initial_state(g_large); apply_kwargs)\n", - " time = [0.0] \n", - " mag = [staggered_magnetization(ψ_bpc, N_large)]\n", + " ψ_bpc, fid = apply_gates_to_tn_state(init_gates, tn_initial_state(g_large); apply_kwargs)\n", + " times = [0.0]\n", + " mags = [staggered_magnetization(ψ_bpc, N_large)]\n", " for k in 1:nsteps\n", - " ψ_bpc, fid_step = apply_gates_to_tn_state(step, ψ_bpc; apply_kwargs)\n", + " ψ_bpc, fid_step = apply_gates_to_tn_state(step_gates, ψ_bpc; apply_kwargs)\n", " fid *= fid_step\n", " if k % record_every == 0\n", - " push!(time, k * δt); push!(mag, staggered_magnetization(ψ_bpc, N_large))\n", + " push!(time, k * δt); push!(mags, staggered_magnetization(ψ_bpc, N_large))\n", " end\n", " end\n", " println(\" δt=$(round(δt, digits=5)), $(nsteps) steps: truncation fidelity ≈ $(round(fid, digits=5))\")\n", - " (time, mag)\n", + " (times, mags)\n", "end\n", "\n", "# If the fidelity drifts from 1, raise `maxdim` in `apply_kwargs`.\n", "println(\"Tensor-network reference:\")\n", "r_ref = 96\n", - "time_ref, mag_ref = compute_staggered_magnetization_tn(T_total / r_ref, r_ref; record_every = r_ref ÷ 12)" + "times_ref, mags_ref = compute_staggered_magnetization_tn(T_total / r_ref, r_ref; record_every = r_ref ÷ 12)" ] }, { @@ -1926,12 +1926,12 @@ " bottom_margin = 5mm, left_margin = 5mm)\n", "\n", "# Plot tensor network reference \n", - "plot!(plt, time_ref, mag_ref, lw = 2, ls = :dash, color = :black,\n", + "plot!(plt, times_ref, mags_ref, lw = 2, ls = :dash, color = :black,\n", " label = \"tensor network, δt → 0\")\n", "\n", "# Plot hardware result per Trotter step size\n", "for (r, stop) in zip(r_list, cumsum(r_list .+ 1))\n", - " plot!(plt, range(0, T_total, length = r + 1), mag_hardware[(stop - r):stop],\n", + " plot!(plt, range(0, T_total, length = r + 1), mags_hardware[(stop - r):stop],\n", " marker = :circle, markersize = 4, lw = 2,\n", " label = \"hardware, δt = $(round(T_total / r, digits = 4))\")\n", "end\n",