diff --git a/Manifest.toml b/Manifest.toml new file mode 100644 index 0000000..7e77443 --- /dev/null +++ b/Manifest.toml @@ -0,0 +1,1434 @@ +# This file is machine-generated - editing it directly is not advised + +julia_version = "1.10.4" +manifest_format = "2.0" +project_hash = "762eec2d5558ba130761f6937af373c4115b07c1" + +[[deps.AbstractFFTs]] +deps = ["LinearAlgebra"] +git-tree-sha1 = "d92ad398961a3ed262d8bf04a1a2b8340f915fef" +uuid = "621f4979-c628-5d54-868e-fcf4e3e8185c" +version = "1.5.0" + + [deps.AbstractFFTs.extensions] + AbstractFFTsChainRulesCoreExt = "ChainRulesCore" + AbstractFFTsTestExt = "Test" + + [deps.AbstractFFTs.weakdeps] + ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" + Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" + +[[deps.ArgTools]] +uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f" +version = "1.1.1" + +[[deps.Artifacts]] +uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33" + +[[deps.AssetRegistry]] +deps = ["Distributed", "JSON", "Pidfile", "SHA", "Test"] +git-tree-sha1 = "b25e88db7944f98789130d7b503276bc34bc098e" +uuid = "bf4720bc-e11a-5d0c-854e-bdca1663c893" +version = "0.1.0" + +[[deps.Base64]] +uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" + +[[deps.BitFlags]] +git-tree-sha1 = "0691e34b3bb8be9307330f88d1a3c3f25466c24d" +uuid = "d1d4a3ce-64b1-5f1a-9ba4-7e7e69966f35" +version = "0.1.9" + +[[deps.Blink]] +deps = ["Base64", "Distributed", "HTTP", "JSExpr", "JSON", "Lazy", "Logging", "MacroTools", "Mustache", "Mux", "Pkg", "Reexport", "Sockets", "WebIO"] +git-tree-sha1 = "bc93511973d1f949d45b0ea17878e6cb0ad484a1" +uuid = "ad839575-38b3-5650-b840-f874b8c74a25" +version = "0.12.9" + +[[deps.Bzip2_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "9e2a6b69137e6969bab0152632dcb3bc108c8bdd" +uuid = "6e34b625-4abd-537c-b88f-471c36dfa7a0" +version = "1.0.8+1" + +[[deps.Cairo]] +deps = ["Cairo_jll", "Colors", "Glib_jll", "Graphics", "Libdl", "Pango_jll"] +git-tree-sha1 = "d0b3f8b4ad16cb0a2988c6788646a5e6a17b6b1b" +uuid = "159f3aea-2a34-519c-b102-8c37f9878175" +version = "1.0.5" + +[[deps.Cairo_jll]] +deps = ["Artifacts", "Bzip2_jll", "CompilerSupportLibraries_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "JLLWrappers", "LZO_jll", "Libdl", "Pixman_jll", "Xorg_libXext_jll", "Xorg_libXrender_jll", "Zlib_jll", "libpng_jll"] +git-tree-sha1 = "a2f1c8c668c8e3cb4cca4e57a8efdb09067bb3fd" +uuid = "83423d85-b0ee-5818-9007-b63ccbeb887a" +version = "1.18.0+2" + +[[deps.CodeTracking]] +deps = ["InteractiveUtils", "UUIDs"] +git-tree-sha1 = "c0216e792f518b39b22212127d4a84dc31e4e386" +uuid = "da1fd8a2-8d9e-5ec2-8556-3022fb5608a2" +version = "1.3.5" + +[[deps.CodecZlib]] +deps = ["TranscodingStreams", "Zlib_jll"] +git-tree-sha1 = "b8fe8546d52ca154ac556809e10c75e6e7430ac8" +uuid = "944b1d66-785c-5afd-91f1-9de20f533193" +version = "0.7.5" + +[[deps.ColorSchemes]] +deps = ["ColorTypes", "ColorVectorSpace", "Colors", "FixedPointNumbers", "PrecompileTools", "Random"] +git-tree-sha1 = "b5278586822443594ff615963b0c09755771b3e0" +uuid = "35d6a980-a343-548e-a6ea-1d62b119f2f4" +version = "3.26.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 = "362a287c3aa50601b0bc359053d5c2468f0e7ce0" +uuid = "5ae59095-9a9b-59fe-a467-6f913c188581" +version = "0.12.11" + +[[deps.Compat]] +deps = ["TOML", "UUIDs"] +git-tree-sha1 = "b1c55339b7c6c350ee89f2c1604299660525b248" +uuid = "34da2185-b29b-5c13-b0c7-acf172513d20" +version = "4.15.0" +weakdeps = ["Dates", "LinearAlgebra"] + + [deps.Compat.extensions] + CompatLinearAlgebraExt = "LinearAlgebra" + +[[deps.CompilerSupportLibraries_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae" +version = "1.1.1+0" + +[[deps.ConcurrentUtilities]] +deps = ["Serialization", "Sockets"] +git-tree-sha1 = "ea32b83ca4fefa1768dc84e504cc0a94fb1ab8d1" +uuid = "f0e56b4a-5159-44fe-b623-3e5288b988bb" +version = "2.4.2" + +[[deps.ConstructionBase]] +deps = ["LinearAlgebra"] +git-tree-sha1 = "d8a9c0b6ac2d9081bf76324b39c78ca3ce4f0c98" +uuid = "187b0558-2788-49d3-abe0-74a17ed4e7c9" +version = "1.5.6" + + [deps.ConstructionBase.extensions] + ConstructionBaseIntervalSetsExt = "IntervalSets" + ConstructionBaseStaticArraysExt = "StaticArrays" + + [deps.ConstructionBase.weakdeps] + IntervalSets = "8197267c-284f-5f27-9208-e0e47529a953" + StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" + +[[deps.Contour]] +git-tree-sha1 = "439e35b0b36e2e5881738abc8857bd92ad6ff9a8" +uuid = "d38c429a-6771-53c6-b99e-75d170b6e991" +version = "0.6.3" + +[[deps.DSP]] +deps = ["Compat", "FFTW", "IterTools", "LinearAlgebra", "Polynomials", "Random", "Reexport", "SpecialFunctions", "Statistics"] +git-tree-sha1 = "f7f4319567fe769debfcf7f8c03d8da1dd4e2fb0" +uuid = "717857b8-e6f2-59f4-9121-6e50c889abd2" +version = "0.7.9" + +[[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 = "1d0a14036acb104d9e89698bd408f63ab58cdc82" +uuid = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8" +version = "0.18.20" + +[[deps.DataValueInterfaces]] +git-tree-sha1 = "bfc1187b79289637fa0ef6d4436ebdfe6905cbd6" +uuid = "e2d170a0-9d28-54be-80f0-106bbe20a464" +version = "1.0.0" + +[[deps.Dates]] +deps = ["Printf"] +uuid = "ade2ca70-3891-5945-98fb-dc099432e06a" + +[[deps.Dbus_jll]] +deps = ["Artifacts", "Expat_jll", "JLLWrappers", "Libdl"] +git-tree-sha1 = "fc173b380865f70627d7dd1190dc2fce6cc105af" +uuid = "ee1fde0b-3d02-5ea6-8484-8dfef6360eab" +version = "1.14.10+0" + +[[deps.DelimitedFiles]] +deps = ["Mmap"] +git-tree-sha1 = "9e2f36d3c96a820c678f2f1f1782582fcf685bae" +uuid = "8bb1440f-4735-579b-a4ab-409b98df4dab" +version = "1.9.1" + +[[deps.Distributed]] +deps = ["Random", "Serialization", "Sockets"] +uuid = "8ba89e20-285c-5b6f-9357-94700520ee1b" + +[[deps.DocStringExtensions]] +deps = ["LibGit2"] +git-tree-sha1 = "2fb1e02f2b635d0845df5d7c167fec4dd739b00d" +uuid = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae" +version = "0.9.3" + +[[deps.Downloads]] +deps = ["ArgTools", "FileWatching", "LibCURL", "NetworkOptions"] +uuid = "f43a241f-c20a-4ad4-852c-f6b1247861c6" +version = "1.6.0" + +[[deps.EpollShim_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "8e9441ee83492030ace98f9789a654a6d0b1f643" +uuid = "2702e6a9-849d-5ed8-8c21-79e8b8f9ee43" +version = "0.0.20230411+0" + +[[deps.ExceptionUnwrapping]] +deps = ["Test"] +git-tree-sha1 = "dcb08a0d93ec0b1cdc4af184b26b591e9695423a" +uuid = "460bff9d-24e4-43bc-9d9f-a8973cb893f4" +version = "0.1.10" + +[[deps.Expat_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "1c6317308b9dc757616f0b5cb379db10494443a7" +uuid = "2e619515-83b5-522b-bb60-26c02a35a201" +version = "2.6.2+0" + +[[deps.FFMPEG]] +deps = ["FFMPEG_jll"] +git-tree-sha1 = "b57e3acbe22f8484b4b5ff66a7499717fe1a9cc8" +uuid = "c87230d0-a227-11e9-1b43-d7ebe4e7570a" +version = "0.4.1" + +[[deps.FFMPEG_jll]] +deps = ["Artifacts", "Bzip2_jll", "FreeType2_jll", "FriBidi_jll", "JLLWrappers", "LAME_jll", "Libdl", "Ogg_jll", "OpenSSL_jll", "Opus_jll", "PCRE2_jll", "Zlib_jll", "libaom_jll", "libass_jll", "libfdk_aac_jll", "libvorbis_jll", "x264_jll", "x265_jll"] +git-tree-sha1 = "466d45dc38e15794ec7d5d63ec03d776a9aff36e" +uuid = "b22a6f82-2f65-5046-a5b2-351ab43fb4e5" +version = "4.4.4+1" + +[[deps.FFTW]] +deps = ["AbstractFFTs", "FFTW_jll", "LinearAlgebra", "MKL_jll", "Preferences", "Reexport"] +git-tree-sha1 = "4820348781ae578893311153d69049a93d05f39d" +uuid = "7a1cc6ca-52ef-59f5-83cd-3a7055c09341" +version = "1.8.0" + +[[deps.FFTW_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "c6033cc3892d0ef5bb9cd29b7f2f0331ea5184ea" +uuid = "f5851436-0d7a-5f13-b9de-f02708fd171a" +version = "3.3.10+0" + +[[deps.FileWatching]] +uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee" + +[[deps.FixedPointNumbers]] +deps = ["Statistics"] +git-tree-sha1 = "05882d6995ae5c12bb5f36dd2ed3f61c98cbb172" +uuid = "53c48c17-4a7d-5ca2-90c5-79b7896eea93" +version = "0.8.5" + +[[deps.Fontconfig_jll]] +deps = ["Artifacts", "Bzip2_jll", "Expat_jll", "FreeType2_jll", "JLLWrappers", "Libdl", "Libuuid_jll", "Zlib_jll"] +git-tree-sha1 = "db16beca600632c95fc8aca29890d83788dd8b23" +uuid = "a3f928ae-7b40-5064-980b-68af3947d34b" +version = "2.13.96+0" + +[[deps.Format]] +git-tree-sha1 = "9c68794ef81b08086aeb32eeaf33531668d5f5fc" +uuid = "1fa38f19-a742-5d3f-a2b9-30dd87b9d5f8" +version = "1.3.7" + +[[deps.FreeType2_jll]] +deps = ["Artifacts", "Bzip2_jll", "JLLWrappers", "Libdl", "Zlib_jll"] +git-tree-sha1 = "5c1d8ae0efc6c2e7b1fc502cbe25def8f661b7bc" +uuid = "d7e528f0-a631-5988-bf34-fe36492bcfd7" +version = "2.13.2+0" + +[[deps.FriBidi_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "1ed150b39aebcc805c26b93a8d0122c940f64ce2" +uuid = "559328eb-81f9-559d-9380-de523a88c83c" +version = "1.0.14+0" + +[[deps.FunctionalCollections]] +deps = ["Test"] +git-tree-sha1 = "04cb9cfaa6ba5311973994fe3496ddec19b6292a" +uuid = "de31a74c-ac4f-5751-b3fd-e18cd04993ca" +version = "0.5.0" + +[[deps.Future]] +deps = ["Random"] +uuid = "9fa8497b-333b-5362-9e8d-4d0656e87820" + +[[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 = "3f74912a156096bd8fdbef211eff66ab446e7297" +uuid = "0656b61e-2033-5cc2-a64a-77c0f6c09b89" +version = "3.4.0+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 = "629693584cef594c3f6f99e76e7a7ad17e60e8d5" +uuid = "28b8d3ca-fb5f-59d9-8090-bfdbd6d07a71" +version = "0.73.7" + +[[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 = "a8863b69c2a0859f2c2c87ebdc4c6712e88bdf0d" +uuid = "d2c73de3-f751-5644-a686-071e5b155ba9" +version = "0.73.7+0" + +[[deps.Gettext_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Libiconv_jll", "Pkg", "XML2_jll"] +git-tree-sha1 = "9b02998aba7bf074d14de89f9d37ca24a1a0b046" +uuid = "78b55507-aeef-58d4-861c-77aaff3498b1" +version = "0.21.0+0" + +[[deps.Glib_jll]] +deps = ["Artifacts", "Gettext_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Libiconv_jll", "Libmount_jll", "PCRE2_jll", "Zlib_jll"] +git-tree-sha1 = "7c82e6a6cd34e9d935e9aa4051b66c6ff3af59ba" +uuid = "7746bdde-850d-59dc-9ae8-88ece973131d" +version = "2.80.2+0" + +[[deps.Graphics]] +deps = ["Colors", "LinearAlgebra", "NaNMath"] +git-tree-sha1 = "d61890399bc535850c4bf08e4e0d3a7ad0f21cbd" +uuid = "a2bd30eb-e257-5431-a919-1863eab51364" +version = "1.1.2" + +[[deps.Graphite2_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "344bf40dcab1073aca04aa0df4fb092f920e4011" +uuid = "3b182d85-2403-5c21-9c21-1e1f0cc25472" +version = "1.3.14+0" + +[[deps.Grisu]] +git-tree-sha1 = "53bb909d1151e57e2484c3d1b53e19552b887fb2" +uuid = "42e2da0e-8278-4e71-bc24-59509adca0fe" +version = "1.0.2" + +[[deps.HTTP]] +deps = ["Base64", "CodecZlib", "ConcurrentUtilities", "Dates", "ExceptionUnwrapping", "Logging", "LoggingExtras", "MbedTLS", "NetworkOptions", "OpenSSL", "Random", "SimpleBufferStream", "Sockets", "URIs", "UUIDs"] +git-tree-sha1 = "d1d712be3164d61d1fb98e7ce9bcbc6cc06b45ed" +uuid = "cd3eb016-35fb-5094-929b-558a96fad6f3" +version = "1.10.8" + +[[deps.HarfBuzz_jll]] +deps = ["Artifacts", "Cairo_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "Graphite2_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Pkg"] +git-tree-sha1 = "129acf094d168394e80ee1dc4bc06ec835e510a3" +uuid = "2e76f6c2-a576-52d4-95c1-20adfe4de566" +version = "2.8.1+1" + +[[deps.Hiccup]] +deps = ["MacroTools", "Test"] +git-tree-sha1 = "6187bb2d5fcbb2007c39e7ac53308b0d371124bd" +uuid = "9fb69e20-1954-56bb-a84f-559cc56a8ff7" +version = "0.2.2" + +[[deps.IntelOpenMP_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "14eb2b542e748570b56446f4c50fbfb2306ebc45" +uuid = "1d5cc7b8-4909-519e-a0f8-d0f5ad9712d0" +version = "2024.2.0+0" + +[[deps.InteractiveUtils]] +deps = ["Markdown"] +uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240" + +[[deps.IrrationalConstants]] +git-tree-sha1 = "630b497eafcc20001bba38a4651b327dcfc491d2" +uuid = "92d709cd-6900-40b7-9082-c6be49f344b6" +version = "0.2.2" + +[[deps.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 = ["Pipe", "REPL", "Random", "fzf_jll"] +git-tree-sha1 = "a53ebe394b71470c7f97c2e7e170d51df21b17af" +uuid = "1019f520-868f-41f5-a6de-eb00f4b6a39c" +version = "0.1.7" + +[[deps.JLLWrappers]] +deps = ["Artifacts", "Preferences"] +git-tree-sha1 = "7e5d6779a1e09a36db2a7b6cff50942a0a7d0fca" +uuid = "692b3bcd-3c85-4b1f-b108-f13ce0eb3210" +version = "1.5.0" + +[[deps.JSExpr]] +deps = ["JSON", "MacroTools", "Observables", "WebIO"] +git-tree-sha1 = "b413a73785b98474d8af24fd4c8a975e31df3658" +uuid = "97c1335a-c9c5-57fe-bc5d-ec35cebe8660" +version = "0.5.4" + +[[deps.JSON]] +deps = ["Dates", "Mmap", "Parsers", "Unicode"] +git-tree-sha1 = "31e996f0a15c7b280ba9f76636b3ff9e2ae58c9a" +uuid = "682c06a0-de6a-54ab-a142-c8b1cf79cde6" +version = "0.21.4" + +[[deps.JpegTurbo_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "c84a835e1a09b289ffcd2271bf2a337bbdda6637" +uuid = "aacddb02-875f-59d6-b918-886e6ef4fbf8" +version = "3.0.3+0" + +[[deps.JuliaInterpreter]] +deps = ["CodeTracking", "InteractiveUtils", "Random", "UUIDs"] +git-tree-sha1 = "5d3a5a206297af3868151bb4a2cf27ebce46f16d" +uuid = "aa1ae85d-cabe-5617-a682-6adf51b2e16a" +version = "0.9.33" + +[[deps.Kaleido_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "43032da5832754f58d14a91ffbe86d5f176acda9" +uuid = "f7e6163d-2fa5-5f23-b69c-1db539e41963" +version = "0.2.1+0" + +[[deps.LAME_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "170b660facf5df5de098d866564877e119141cbd" +uuid = "c1c5ebd0-6772-5130-a774-d5fcae4a789d" +version = "3.100.2+0" + +[[deps.LERC_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "bf36f528eec6634efc60d7ec062008f171071434" +uuid = "88015f11-f218-50d7-93a8-a6af411a945d" +version = "3.0.0+1" + +[[deps.LLVMOpenMP_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "d986ce2d884d49126836ea94ed5bfb0f12679713" +uuid = "1d63c593-3942-5779-bab2-d838dc0a180e" +version = "15.0.7+0" + +[[deps.LZO_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "70c5da094887fd2cae843b8db33920bac4b6f07d" +uuid = "dd4b983a-f0e5-5f8d-a1b7-129d4a5fb1ac" +version = "2.10.2+0" + +[[deps.LaTeXStrings]] +git-tree-sha1 = "50901ebc375ed41dbf8058da26f9de442febbbec" +uuid = "b964fa9f-0449-5b57-a5c2-d3ea65f4040f" +version = "1.3.1" + +[[deps.Latexify]] +deps = ["Format", "InteractiveUtils", "LaTeXStrings", "MacroTools", "Markdown", "OrderedCollections", "Requires"] +git-tree-sha1 = "5b0d630f3020b82c0775a51d05895852f8506f50" +uuid = "23fbe1c1-3f47-55db-b15f-69d7ec21a316" +version = "0.16.4" + + [deps.Latexify.extensions] + DataFramesExt = "DataFrames" + SymEngineExt = "SymEngine" + + [deps.Latexify.weakdeps] + DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0" + SymEngine = "123dc426-2d89-5057-bbad-38513e3affd8" + +[[deps.Lazy]] +deps = ["MacroTools"] +git-tree-sha1 = "1370f8202dac30758f3c345f9909b97f53d87d3f" +uuid = "50d2b5c4-7a5e-59d5-8109-a42b560f39c0" +version = "0.15.1" + +[[deps.LazyArtifacts]] +deps = ["Artifacts", "Pkg"] +uuid = "4af54fe1-eca0-43a8-85a7-787d91b784e3" + +[[deps.LibCURL]] +deps = ["LibCURL_jll", "MozillaCACerts_jll"] +uuid = "b27032c2-a3e7-50c8-80cd-2d36dbcbfd21" +version = "0.6.4" + +[[deps.LibCURL_jll]] +deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll", "Zlib_jll", "nghttp2_jll"] +uuid = "deac9b47-8bc7-5906-a0fe-35ac56dc84c0" +version = "8.4.0+0" + +[[deps.LibGit2]] +deps = ["Base64", "LibGit2_jll", "NetworkOptions", "Printf", "SHA"] +uuid = "76f85450-5226-5b5a-8eaa-529ad045b433" + +[[deps.LibGit2_jll]] +deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll"] +uuid = "e37daf67-58a4-590a-8e99-b0245dd2ffc5" +version = "1.6.4+0" + +[[deps.LibSSH2_jll]] +deps = ["Artifacts", "Libdl", "MbedTLS_jll"] +uuid = "29816b5a-b9ab-546f-933c-edad1886dfa8" +version = "1.11.0+1" + +[[deps.Libdl]] +uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb" + +[[deps.Libffi_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "0b4a5d71f3e5200a7dff793393e09dfc2d874290" +uuid = "e9f186c6-92d2-5b65-8a66-fee21dc1b490" +version = "3.2.2+1" + +[[deps.Libgcrypt_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Libgpg_error_jll"] +git-tree-sha1 = "9fd170c4bbfd8b935fdc5f8b7aa33532c991a673" +uuid = "d4300ac3-e22c-5743-9152-c294e39db1e4" +version = "1.8.11+0" + +[[deps.Libglvnd_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll", "Xorg_libXext_jll"] +git-tree-sha1 = "6f73d1dd803986947b2c750138528a999a6c7733" +uuid = "7e76a0d4-f3c7-5321-8279-8d96eeed0f29" +version = "1.6.0+0" + +[[deps.Libgpg_error_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "fbb1f2bef882392312feb1ede3615ddc1e9b99ed" +uuid = "7add5ba3-2f88-524e-9cd5-f83b8a55f7b8" +version = "1.49.0+0" + +[[deps.Libiconv_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "f9557a255370125b405568f9767d6d195822a175" +uuid = "94ce4f54-9a6c-5748-9c1c-f9c7231a4531" +version = "1.17.0+0" + +[[deps.Libmount_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "0c4f9c4f1a50d8f35048fa0532dabbadf702f81e" +uuid = "4b2f31a3-9ecc-558c-b454-b3730dcb73e9" +version = "2.40.1+0" + +[[deps.Librsvg_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pango_jll", "Pkg", "gdk_pixbuf_jll"] +git-tree-sha1 = "ae0923dab7324e6bc980834f709c4cd83dd797ed" +uuid = "925c91fb-5dd6-59dd-8e8c-345e74382d89" +version = "2.54.5+0" + +[[deps.Libtiff_jll]] +deps = ["Artifacts", "JLLWrappers", "JpegTurbo_jll", "LERC_jll", "Libdl", "XZ_jll", "Zlib_jll", "Zstd_jll"] +git-tree-sha1 = "2da088d113af58221c52828a80378e16be7d037a" +uuid = "89763e89-9b03-5906-acba-b20f662cd828" +version = "4.5.1+1" + +[[deps.Libuuid_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "5ee6203157c120d79034c748a2acba45b82b8807" +uuid = "38a345b3-de98-5d2b-a5d3-14cd9215e700" +version = "2.40.1+0" + +[[deps.LinearAlgebra]] +deps = ["Libdl", "OpenBLAS_jll", "libblastrampoline_jll"] +uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" + +[[deps.LogExpFunctions]] +deps = ["DocStringExtensions", "IrrationalConstants", "LinearAlgebra"] +git-tree-sha1 = "a2d09619db4e765091ee5c6ffe8872849de0feea" +uuid = "2ab3a3ac-af41-5b50-aa03-7779005ae688" +version = "0.3.28" + + [deps.LogExpFunctions.extensions] + LogExpFunctionsChainRulesCoreExt = "ChainRulesCore" + LogExpFunctionsChangesOfVariablesExt = "ChangesOfVariables" + LogExpFunctionsInverseFunctionsExt = "InverseFunctions" + + [deps.LogExpFunctions.weakdeps] + ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" + ChangesOfVariables = "9e997f8a-9a97-42d5-a9f1-ce6bfc15e2c0" + InverseFunctions = "3587e190-3f89-42d0-90ee-14403ec27112" + +[[deps.Logging]] +uuid = "56ddb016-857b-54e1-b83d-db4d58db5568" + +[[deps.LoggingExtras]] +deps = ["Dates", "Logging"] +git-tree-sha1 = "c1dd6d7978c12545b4179fb6153b9250c96b0075" +uuid = "e6f89c97-d47a-5376-807f-9c37f3926c36" +version = "1.0.3" + +[[deps.LoweredCodeUtils]] +deps = ["JuliaInterpreter"] +git-tree-sha1 = "0b898aba6cb0b01fb96245fa5375accb651a241a" +uuid = "6f1432cf-f94c-5a45-995e-cdbf5db27b0b" +version = "3.0.0" + +[[deps.MKL_jll]] +deps = ["Artifacts", "IntelOpenMP_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "oneTBB_jll"] +git-tree-sha1 = "f046ccd0c6db2832a9f639e2c669c6fe867e5f4f" +uuid = "856f044c-d86e-5d09-b602-aeab76dc8ba7" +version = "2024.2.0+0" + +[[deps.MacroTools]] +deps = ["Markdown", "Random"] +git-tree-sha1 = "2fa9ee3e63fd3a4f7a9a4f4744a52f4856de82df" +uuid = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09" +version = "0.5.13" + +[[deps.Markdown]] +deps = ["Base64"] +uuid = "d6f4376e-aef5-505a-96c1-9c027394607a" + +[[deps.MbedTLS]] +deps = ["Dates", "MbedTLS_jll", "MozillaCACerts_jll", "NetworkOptions", "Random", "Sockets"] +git-tree-sha1 = "c067a280ddc25f196b5e7df3877c6b226d390aaf" +uuid = "739be429-bea8-5141-9913-cc70e7f3736d" +version = "1.1.9" + +[[deps.MbedTLS_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "c8ffd9c3-330d-5841-b78e-0817d7145fa1" +version = "2.28.2+1" + +[[deps.Measures]] +git-tree-sha1 = "c13304c81eec1ed3af7fc20e75fb6b26092a1102" +uuid = "442fdcdd-2543-5da2-b0f3-8c86c306513e" +version = "0.3.2" + +[[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" + +[[deps.MozillaCACerts_jll]] +uuid = "14a3606d-f60d-562e-9121-12d972cd8159" +version = "2023.1.10" + +[[deps.Mustache]] +deps = ["Printf", "Tables"] +git-tree-sha1 = "a7cefa21a2ff993bff0456bf7521f46fc077ddf1" +uuid = "ffc61752-8dc7-55ee-8c37-f3e9cdd09e70" +version = "1.0.19" + +[[deps.Mux]] +deps = ["AssetRegistry", "Base64", "HTTP", "Hiccup", "MbedTLS", "Pkg", "Sockets"] +git-tree-sha1 = "7295d849103ac4fcbe3b2e439f229c5cc77b9b69" +uuid = "a975b10e-0019-58db-a62f-e48ff68538c9" +version = "1.0.2" + +[[deps.NaNMath]] +deps = ["OpenLibm_jll"] +git-tree-sha1 = "0877504529a3e5c3343c6f8b4c0381e57e4387e4" +uuid = "77ba4419-2d1f-58cd-9bb1-8ffee604a2e3" +version = "1.0.2" + +[[deps.NetworkOptions]] +uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" +version = "1.2.0" + +[[deps.Observables]] +git-tree-sha1 = "7438a59546cf62428fc9d1bc94729146d37a7225" +uuid = "510215fc-4207-5dde-b226-833fc4488ee2" +version = "0.5.5" + +[[deps.Ogg_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "887579a3eb005446d514ab7aeac5d1d027658b8f" +uuid = "e7412a2a-1a6e-54c0-be00-318e2571c051" +version = "1.3.5+1" + +[[deps.OpenBLAS_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"] +uuid = "4536629a-c528-5b80-bd46-f80d51c5b363" +version = "0.3.23+4" + +[[deps.OpenLibm_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "05823500-19ac-5b8b-9628-191a04bc5112" +version = "0.8.1+2" + +[[deps.OpenSSL]] +deps = ["BitFlags", "Dates", "MozillaCACerts_jll", "OpenSSL_jll", "Sockets"] +git-tree-sha1 = "38cb508d080d21dc1128f7fb04f20387ed4c0af4" +uuid = "4d8831e6-92b7-49fb-bdf8-b643e874388c" +version = "1.4.3" + +[[deps.OpenSSL_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "a028ee3cb5641cccc4c24e90c36b0a4f7707bdf5" +uuid = "458c3c95-2e84-50aa-8efc-19380b2a3a95" +version = "3.0.14+0" + +[[deps.OpenSpecFun_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "13652491f6856acfd2db29360e1bbcd4565d04f1" +uuid = "efe28fd5-8261-553b-a9e1-b2916fc3738e" +version = "0.5.5+0" + +[[deps.Opus_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "51a08fb14ec28da2ec7a927c4337e4332c2a4720" +uuid = "91d4177d-7536-5919-b921-800302f37372" +version = "1.3.2+0" + +[[deps.OrderedCollections]] +git-tree-sha1 = "dfdf5519f235516220579f949664f1bf44e741c5" +uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d" +version = "1.6.3" + +[[deps.PCRE2_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "efcefdf7-47ab-520b-bdef-62a2eaa19f15" +version = "10.42.0+1" + +[[deps.Pango_jll]] +deps = ["Artifacts", "Cairo_jll", "Fontconfig_jll", "FreeType2_jll", "FriBidi_jll", "Glib_jll", "HarfBuzz_jll", "JLLWrappers", "Libdl"] +git-tree-sha1 = "cb5a2ab6763464ae0f19c86c56c63d4a2b0f5bda" +uuid = "36c8627f-9965-5494-a995-c6b170f724f3" +version = "1.52.2+0" + +[[deps.Parameters]] +deps = ["OrderedCollections", "UnPack"] +git-tree-sha1 = "34c0e9ad262e5f7fc75b10a9952ca7692cfc5fbe" +uuid = "d96e819e-fc66-5662-9728-84c9c7592b0a" +version = "0.12.3" + +[[deps.Parsers]] +deps = ["Dates", "PrecompileTools", "UUIDs"] +git-tree-sha1 = "8489905bcdbcfac64d1daa51ca07c0d8f0283821" +uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0" +version = "2.8.1" + +[[deps.Pidfile]] +deps = ["FileWatching", "Test"] +git-tree-sha1 = "2d8aaf8ee10df53d0dfb9b8ee44ae7c04ced2b03" +uuid = "fa939f87-e72e-5be4-a000-7fc836dbe307" +version = "1.3.0" + +[[deps.Pipe]] +git-tree-sha1 = "6842804e7867b115ca9de748a0cf6b364523c16d" +uuid = "b98c9c47-44ae-5843-9183-064241ee97a0" +version = "1.3.0" + +[[deps.Pixman_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LLVMOpenMP_jll", "Libdl"] +git-tree-sha1 = "35621f10a7531bc8fa58f74610b1bfb70a3cfc6b" +uuid = "30392449-352a-5448-841d-b1acce4e97dc" +version = "0.43.4+0" + +[[deps.Pkg]] +deps = ["Artifacts", "Dates", "Downloads", "FileWatching", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "Serialization", "TOML", "Tar", "UUIDs", "p7zip_jll"] +uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" +version = "1.10.0" + +[[deps.PlotThemes]] +deps = ["PlotUtils", "Statistics"] +git-tree-sha1 = "6e55c6841ce3411ccb3457ee52fc48cb698d6fb0" +uuid = "ccf2f8ad-2431-5c83-bf29-c5338b663b6a" +version = "3.2.0" + +[[deps.PlotUtils]] +deps = ["ColorSchemes", "Colors", "Dates", "PrecompileTools", "Printf", "Random", "Reexport", "Statistics"] +git-tree-sha1 = "7b1a9df27f072ac4c9c7cbe5efb198489258d1f5" +uuid = "995b91a9-d308-5afd-9ec6-746e21dbc043" +version = "1.4.1" + +[[deps.PlotlyBase]] +deps = ["ColorSchemes", "Dates", "DelimitedFiles", "DocStringExtensions", "JSON", "LaTeXStrings", "Logging", "Parameters", "Pkg", "REPL", "Requires", "Statistics", "UUIDs"] +git-tree-sha1 = "56baf69781fc5e61607c3e46227ab17f7040ffa2" +uuid = "a03496cd-edff-5a9b-9e67-9cda94a718b5" +version = "0.8.19" + +[[deps.PlotlyJS]] +deps = ["Base64", "Blink", "DelimitedFiles", "JSExpr", "JSON", "Kaleido_jll", "Markdown", "Pkg", "PlotlyBase", "PlotlyKaleido", "REPL", "Reexport", "Requires", "WebIO"] +git-tree-sha1 = "e62d886d33b81c371c9d4e2f70663c0637f19459" +uuid = "f0f68f2c-4968-5e81-91da-67840de0976a" +version = "0.18.13" + + [deps.PlotlyJS.extensions] + CSVExt = "CSV" + DataFramesExt = ["DataFrames", "CSV"] + IJuliaExt = "IJulia" + JSON3Ext = "JSON3" + + [deps.PlotlyJS.weakdeps] + CSV = "336ed68f-0bac-5ca0-87d4-7b16caf5d00b" + DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0" + IJulia = "7073ff75-c697-5162-941a-fcdaad2a7d2a" + JSON3 = "0f8b85d8-7281-11e9-16c2-39a750bddbf1" + +[[deps.PlotlyKaleido]] +deps = ["Base64", "JSON", "Kaleido_jll"] +git-tree-sha1 = "2650cd8fb83f73394996d507b3411a7316f6f184" +uuid = "f2990250-8cf9-495f-b13a-cce12b45703c" +version = "2.2.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", "UnitfulLatexify", "Unzip"] +git-tree-sha1 = "082f0c4b70c202c37784ce4bfbc33c9f437685bf" +uuid = "91a5bcdd-55d7-5caf-9e0b-520d859cae80" +version = "1.40.5" + + [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.Polynomials]] +deps = ["LinearAlgebra", "RecipesBase", "Requires", "Setfield", "SparseArrays"] +git-tree-sha1 = "1a9cfb2dc2c2f1bd63f1906d72af39a79b49b736" +uuid = "f27b6e38-b328-58d1-80ce-0feddd5e7a45" +version = "4.0.11" + + [deps.Polynomials.extensions] + PolynomialsChainRulesCoreExt = "ChainRulesCore" + PolynomialsFFTWExt = "FFTW" + PolynomialsMakieCoreExt = "MakieCore" + PolynomialsMutableArithmeticsExt = "MutableArithmetics" + + [deps.Polynomials.weakdeps] + ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" + FFTW = "7a1cc6ca-52ef-59f5-83cd-3a7055c09341" + MakieCore = "20f20a25-4f0e-4fdf-b5d1-57303727442b" + MutableArithmetics = "d8a4904e-b15c-11e9-3269-09a3773c0cb0" + +[[deps.PrecompileTools]] +deps = ["Preferences"] +git-tree-sha1 = "5aa36f7049a63a1528fe8f7c3f2113413ffd4e1f" +uuid = "aea7be01-6a6a-4083-8856-8a6e6704d82a" +version = "1.2.1" + +[[deps.Preferences]] +deps = ["TOML"] +git-tree-sha1 = "9306f6085165d270f7e3db02af26a400d580f5c6" +uuid = "21216c6a-2e73-6563-6e65-726566657250" +version = "1.4.3" + +[[deps.Printf]] +deps = ["Unicode"] +uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7" + +[[deps.ProgressMeter]] +deps = ["Distributed", "Printf"] +git-tree-sha1 = "8f6bc219586aef8baf0ff9a5fe16ee9c70cb65e4" +uuid = "92933f4c-e287-5a05-a399-4b506db050ca" +version = "1.10.2" + +[[deps.Qt6Base_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "Fontconfig_jll", "Glib_jll", "JLLWrappers", "Libdl", "Libglvnd_jll", "OpenSSL_jll", "Vulkan_Loader_jll", "Xorg_libSM_jll", "Xorg_libXext_jll", "Xorg_libXrender_jll", "Xorg_libxcb_jll", "Xorg_xcb_util_cursor_jll", "Xorg_xcb_util_image_jll", "Xorg_xcb_util_keysyms_jll", "Xorg_xcb_util_renderutil_jll", "Xorg_xcb_util_wm_jll", "Zlib_jll", "libinput_jll", "xkbcommon_jll"] +git-tree-sha1 = "492601870742dcd38f233b23c3ec629628c1d724" +uuid = "c0090381-4147-56d7-9ebc-da0b1113ec56" +version = "6.7.1+1" + +[[deps.Qt6Declarative_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Qt6Base_jll", "Qt6ShaderTools_jll"] +git-tree-sha1 = "e5dd466bf2569fe08c91a2cc29c1003f4797ac3b" +uuid = "629bc702-f1f5-5709-abd5-49b8460ea067" +version = "6.7.1+2" + +[[deps.Qt6ShaderTools_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Qt6Base_jll"] +git-tree-sha1 = "1a180aeced866700d4bebc3120ea1451201f16bc" +uuid = "ce943373-25bb-56aa-8eca-768745ed7b5a" +version = "6.7.1+1" + +[[deps.Qt6Wayland_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Qt6Base_jll", "Qt6Declarative_jll"] +git-tree-sha1 = "729927532d48cf79f49070341e1d918a65aba6b0" +uuid = "e99dba38-086e-5de3-a5b1-6e4c66e897c3" +version = "6.7.1+1" + +[[deps.REPL]] +deps = ["InteractiveUtils", "Markdown", "Sockets", "Unicode"] +uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb" + +[[deps.Random]] +deps = ["SHA"] +uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" + +[[deps.RecipesBase]] +deps = ["PrecompileTools"] +git-tree-sha1 = "5c3d09cc4f31f5fc6af001c250bf1278733100ff" +uuid = "3cdcf5f2-1ef4-517c-9805-6587b60abb01" +version = "1.3.4" + +[[deps.RecipesPipeline]] +deps = ["Dates", "NaNMath", "PlotUtils", "PrecompileTools", "RecipesBase"] +git-tree-sha1 = "45cf9fd0ca5839d06ef333c8201714e888486342" +uuid = "01d81517-befc-4cb6-b9ec-a95719d0359c" +version = "0.6.12" + +[[deps.Reexport]] +git-tree-sha1 = "45e428421666073eab6f2da5c9d310d99bb12f9b" +uuid = "189a3867-3050-52da-a836-e630ba90ab69" +version = "1.2.2" + +[[deps.RelocatableFolders]] +deps = ["SHA", "Scratch"] +git-tree-sha1 = "ffdaf70d81cf6ff22c2b6e733c900c3321cab864" +uuid = "05181044-ff0b-4ac5-8273-598c1e38db00" +version = "1.0.1" + +[[deps.Requires]] +deps = ["UUIDs"] +git-tree-sha1 = "838a3a4188e2ded87a4f9f184b4b0d78a1e91cb7" +uuid = "ae029012-a4dd-5104-9daa-d747884805df" +version = "1.3.0" + +[[deps.Revise]] +deps = ["CodeTracking", "Distributed", "FileWatching", "JuliaInterpreter", "LibGit2", "LoweredCodeUtils", "OrderedCollections", "Pkg", "REPL", "Requires", "UUIDs", "Unicode"] +git-tree-sha1 = "677b65e17aeb6b4a0be1982e281ec03b0f55155c" +uuid = "295af30f-e4ad-537b-8983-00126c2a3abe" +version = "3.5.16" + +[[deps.Rsvg]] +deps = ["Cairo", "Glib_jll", "Librsvg_jll"] +git-tree-sha1 = "3d3dc66eb46568fb3a5259034bfc752a0eb0c686" +uuid = "c4c386cf-5103-5370-be45-f3a111cca3b8" +version = "1.0.0" + +[[deps.Runner]] +git-tree-sha1 = "c7cc10c58cab337ea0930fea2b5595adbffe6add" +uuid = "847b7089-1ebf-4e83-b33e-c3c97d2ccb04" +version = "0.2.0" + +[[deps.SHA]] +uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce" +version = "0.7.0" + +[[deps.Scratch]] +deps = ["Dates"] +git-tree-sha1 = "3bac05bc7e74a75fd9cba4295cde4045d9fe2386" +uuid = "6c6a2e73-6563-6170-7368-637461726353" +version = "1.2.1" + +[[deps.Serialization]] +uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b" + +[[deps.Setfield]] +deps = ["ConstructionBase", "Future", "MacroTools", "StaticArraysCore"] +git-tree-sha1 = "e2cc6d8c88613c05e1defb55170bf5ff211fbeac" +uuid = "efcf1570-3423-57d1-acb7-fd33fddbac46" +version = "1.1.1" + +[[deps.Showoff]] +deps = ["Dates", "Grisu"] +git-tree-sha1 = "91eddf657aca81df9ae6ceb20b959ae5653ad1de" +uuid = "992d4aef-0814-514b-bc4d-f2e9a6c4116f" +version = "1.0.3" + +[[deps.SimpleBufferStream]] +git-tree-sha1 = "874e8867b33a00e784c8a7e4b60afe9e037b74e1" +uuid = "777ac1f9-54b0-4bf8-805c-2214025038e7" +version = "1.1.0" + +[[deps.Sockets]] +uuid = "6462fe0b-24de-5631-8697-dd941f90decc" + +[[deps.SortingAlgorithms]] +deps = ["DataStructures"] +git-tree-sha1 = "66e0a8e672a0bdfca2c3f5937efb8538b9ddc085" +uuid = "a2af1166-a08f-5f64-846c-94a0d3cef48c" +version = "1.2.1" + +[[deps.SparseArrays]] +deps = ["Libdl", "LinearAlgebra", "Random", "Serialization", "SuiteSparse_jll"] +uuid = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" +version = "1.10.0" + +[[deps.SpecialFunctions]] +deps = ["IrrationalConstants", "LogExpFunctions", "OpenLibm_jll", "OpenSpecFun_jll"] +git-tree-sha1 = "2f5d4697f21388cbe1ff299430dd169ef97d7e14" +uuid = "276daf66-3868-5448-9aa4-cd146d93841b" +version = "2.4.0" + + [deps.SpecialFunctions.extensions] + SpecialFunctionsChainRulesCoreExt = "ChainRulesCore" + + [deps.SpecialFunctions.weakdeps] + ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" + +[[deps.StaticArraysCore]] +git-tree-sha1 = "192954ef1208c7019899fbf8049e717f92959682" +uuid = "1e83bf80-4336-4d27-bf5d-d5a4f845583c" +version = "1.4.3" + +[[deps.Statistics]] +deps = ["LinearAlgebra", "SparseArrays"] +uuid = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" +version = "1.10.0" + +[[deps.StatsAPI]] +deps = ["LinearAlgebra"] +git-tree-sha1 = "1ff449ad350c9c4cbc756624d6f8a8c3ef56d3ed" +uuid = "82ae8749-77ed-4fe6-ae5f-f523153014b0" +version = "1.7.0" + +[[deps.StatsBase]] +deps = ["DataAPI", "DataStructures", "LinearAlgebra", "LogExpFunctions", "Missings", "Printf", "Random", "SortingAlgorithms", "SparseArrays", "Statistics", "StatsAPI"] +git-tree-sha1 = "5cf7606d6cef84b543b483848d4ae08ad9832b21" +uuid = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91" +version = "0.34.3" + +[[deps.StringEncodings]] +deps = ["Libiconv_jll"] +git-tree-sha1 = "b765e46ba27ecf6b44faf70df40c57aa3a547dcb" +uuid = "69024149-9ee7-55f6-a4c4-859efe599b68" +version = "0.3.7" + +[[deps.SuiteSparse_jll]] +deps = ["Artifacts", "Libdl", "libblastrampoline_jll"] +uuid = "bea87d4a-7f5b-5778-9afe-8cc45184846c" +version = "7.2.1+1" + +[[deps.TOML]] +deps = ["Dates"] +uuid = "fa267f1f-6049-4f14-aa54-33bafae1ed76" +version = "1.0.3" + +[[deps.TableTraits]] +deps = ["IteratorInterfaceExtensions"] +git-tree-sha1 = "c06b2f539df1c6efa794486abfb6ed2022561a39" +uuid = "3783bdb8-4a98-5b6b-af9a-565f29a5fe9c" +version = "1.0.1" + +[[deps.Tables]] +deps = ["DataAPI", "DataValueInterfaces", "IteratorInterfaceExtensions", "OrderedCollections", "TableTraits"] +git-tree-sha1 = "598cd7c1f68d1e205689b1c2fe65a9f85846f297" +uuid = "bd369af6-aec1-5ad0-b16a-f7cc5008161c" +version = "1.12.0" + +[[deps.Tar]] +deps = ["ArgTools", "SHA"] +uuid = "a4e569a6-e804-4fa4-b0f3-eef7a1d5b13e" +version = "1.10.0" + +[[deps.TensorCore]] +deps = ["LinearAlgebra"] +git-tree-sha1 = "1feb45f88d133a655e001435632f019a9a1bcdb6" +uuid = "62fd8b95-f654-4bbd-a8a5-9c27f68ccd50" +version = "0.1.1" + +[[deps.Test]] +deps = ["InteractiveUtils", "Logging", "Random", "Serialization"] +uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40" + +[[deps.TranscodingStreams]] +git-tree-sha1 = "96612ac5365777520c3c5396314c8cf7408f436a" +uuid = "3bb67fe8-82b1-5028-8e26-92a6c54297fa" +version = "0.11.1" +weakdeps = ["Random", "Test"] + + [deps.TranscodingStreams.extensions] + TestExt = ["Test", "Random"] + +[[deps.URIs]] +git-tree-sha1 = "67db6cc7b3821e19ebe75791a9dd19c9b1188f2b" +uuid = "5c2747f8-b7ea-4ff2-ba2e-563bfd36b1d4" +version = "1.5.1" + +[[deps.UUIDs]] +deps = ["Random", "SHA"] +uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4" + +[[deps.UnPack]] +git-tree-sha1 = "387c1f73762231e86e0c9c5443ce3b4a0a9a0c2b" +uuid = "3a884ed6-31ef-47d7-9d2a-63182c4928ed" +version = "1.0.2" + +[[deps.Unicode]] +uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5" + +[[deps.UnicodeFun]] +deps = ["REPL"] +git-tree-sha1 = "53915e50200959667e78a92a418594b428dffddf" +uuid = "1cfade01-22cf-5700-b092-accc4b62d6e1" +version = "0.4.1" + +[[deps.Unitful]] +deps = ["Dates", "LinearAlgebra", "Random"] +git-tree-sha1 = "d95fe458f26209c66a187b1114df96fd70839efd" +uuid = "1986cc42-f94f-5a68-af5c-568840ba703d" +version = "1.21.0" + + [deps.Unitful.extensions] + ConstructionBaseUnitfulExt = "ConstructionBase" + InverseFunctionsUnitfulExt = "InverseFunctions" + + [deps.Unitful.weakdeps] + ConstructionBase = "187b0558-2788-49d3-abe0-74a17ed4e7c9" + InverseFunctions = "3587e190-3f89-42d0-90ee-14403ec27112" + +[[deps.UnitfulLatexify]] +deps = ["LaTeXStrings", "Latexify", "Unitful"] +git-tree-sha1 = "975c354fcd5f7e1ddcc1f1a23e6e091d99e99bc8" +uuid = "45397f5d-5981-4c77-b2b3-fc36d6e9b728" +version = "1.6.4" + +[[deps.Unzip]] +git-tree-sha1 = "ca0969166a028236229f63514992fc073799bb78" +uuid = "41fe7b60-77ed-43a1-b4f0-825fd5a5650d" +version = "0.2.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", "Pkg", "XML2_jll"] +git-tree-sha1 = "7558e29847e99bc3f04d6569e82d0f5c54460703" +uuid = "a2964d1f-97da-50d4-b82a-358c7fce9d89" +version = "1.21.0+1" + +[[deps.Wayland_protocols_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "93f43ab61b16ddfb2fd3bb13b3ce241cafb0e6c9" +uuid = "2381bf8a-dfd0-557d-9999-79630e7b1b91" +version = "1.31.0+0" + +[[deps.WebIO]] +deps = ["AssetRegistry", "Base64", "Distributed", "FunctionalCollections", "JSON", "Logging", "Observables", "Pkg", "Random", "Requires", "Sockets", "UUIDs", "WebSockets", "Widgets"] +git-tree-sha1 = "0eef0765186f7452e52236fa42ca8c9b3c11c6e3" +uuid = "0f1e0344-ec1d-5b48-a673-e5cf874b6c29" +version = "0.8.21" + +[[deps.WebSockets]] +deps = ["Base64", "Dates", "HTTP", "Logging", "Sockets"] +git-tree-sha1 = "4162e95e05e79922e44b9952ccbc262832e4ad07" +uuid = "104b5d7c-a370-577a-8038-80a2059c5097" +version = "1.6.0" + +[[deps.Widgets]] +deps = ["Colors", "Dates", "Observables", "OrderedCollections"] +git-tree-sha1 = "fcdae142c1cfc7d89de2d11e08721d0f2f86c98a" +uuid = "cc8bc4a8-27d6-5769-a93b-9d913e69aa62" +version = "0.6.6" + +[[deps.XML2_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Libiconv_jll", "Zlib_jll"] +git-tree-sha1 = "d9717ce3518dc68a99e6b96300813760d887a01d" +uuid = "02c8fc9c-b97f-50b9-bbe4-9be30ff0a78a" +version = "2.13.1+0" + +[[deps.XSLT_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Libgcrypt_jll", "Libgpg_error_jll", "Libiconv_jll", "XML2_jll", "Zlib_jll"] +git-tree-sha1 = "a54ee957f4c86b526460a720dbc882fa5edcbefc" +uuid = "aed1982a-8fda-507f-9586-7b0439959a61" +version = "1.1.41+0" + +[[deps.XZ_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "ac88fb95ae6447c8dda6a5503f3bafd496ae8632" +uuid = "ffd25f8a-64ca-5728-b0f7-c24cf3aae800" +version = "5.4.6+0" + +[[deps.Xorg_libICE_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "326b4fea307b0b39892b3e85fa451692eda8d46c" +uuid = "f67eecfb-183a-506d-b269-f58e52b52d7c" +version = "1.1.1+0" + +[[deps.Xorg_libSM_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libICE_jll"] +git-tree-sha1 = "3796722887072218eabafb494a13c963209754ce" +uuid = "c834827a-8449-5923-a945-d239c165b7dd" +version = "1.2.4+0" + +[[deps.Xorg_libX11_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libxcb_jll", "Xorg_xtrans_jll"] +git-tree-sha1 = "afead5aba5aa507ad5a3bf01f58f82c8d1403495" +uuid = "4f6342f7-b3d2-589e-9d20-edeb45f2b2bc" +version = "1.8.6+0" + +[[deps.Xorg_libXau_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "6035850dcc70518ca32f012e46015b9beeda49d8" +uuid = "0c0b7dd1-d40b-584c-a123-a41640f87eec" +version = "1.0.11+0" + +[[deps.Xorg_libXcursor_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXfixes_jll", "Xorg_libXrender_jll"] +git-tree-sha1 = "12e0eb3bc634fa2080c1c37fccf56f7c22989afd" +uuid = "935fb764-8cf2-53bf-bb30-45bb1f8bf724" +version = "1.2.0+4" + +[[deps.Xorg_libXdmcp_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "34d526d318358a859d7de23da945578e8e8727b7" +uuid = "a3789734-cfe1-5b06-b2d0-1dd0d9d62d05" +version = "1.1.4+0" + +[[deps.Xorg_libXext_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libX11_jll"] +git-tree-sha1 = "d2d1a5c49fae4ba39983f63de6afcbea47194e85" +uuid = "1082639a-0dae-5f34-9b06-72781eeb8cb3" +version = "1.3.6+0" + +[[deps.Xorg_libXfixes_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll"] +git-tree-sha1 = "0e0dc7431e7a0587559f9294aeec269471c991a4" +uuid = "d091e8ba-531a-589c-9de9-94069b037ed8" +version = "5.0.3+4" + +[[deps.Xorg_libXi_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXext_jll", "Xorg_libXfixes_jll"] +git-tree-sha1 = "89b52bc2160aadc84d707093930ef0bffa641246" +uuid = "a51aa0fd-4e3c-5386-b890-e753decda492" +version = "1.7.10+4" + +[[deps.Xorg_libXinerama_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXext_jll"] +git-tree-sha1 = "26be8b1c342929259317d8b9f7b53bf2bb73b123" +uuid = "d1454406-59df-5ea1-beac-c340f2130bc3" +version = "1.1.4+4" + +[[deps.Xorg_libXrandr_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXext_jll", "Xorg_libXrender_jll"] +git-tree-sha1 = "34cea83cb726fb58f325887bf0612c6b3fb17631" +uuid = "ec84b674-ba8e-5d96-8ba1-2a689ba10484" +version = "1.5.2+4" + +[[deps.Xorg_libXrender_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libX11_jll"] +git-tree-sha1 = "47e45cd78224c53109495b3e324df0c37bb61fbe" +uuid = "ea2f1a96-1ddc-540d-b46f-429655e07cfa" +version = "0.9.11+0" + +[[deps.Xorg_libpthread_stubs_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "8fdda4c692503d44d04a0603d9ac0982054635f9" +uuid = "14d82f49-176c-5ed1-bb49-ad3f5cbd8c74" +version = "0.1.1+0" + +[[deps.Xorg_libxcb_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "XSLT_jll", "Xorg_libXau_jll", "Xorg_libXdmcp_jll", "Xorg_libpthread_stubs_jll"] +git-tree-sha1 = "bcd466676fef0878338c61e655629fa7bbc69d8e" +uuid = "c7cfdc94-dc32-55de-ac96-5a1b8d977c5b" +version = "1.17.0+0" + +[[deps.Xorg_libxkbfile_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libX11_jll"] +git-tree-sha1 = "730eeca102434283c50ccf7d1ecdadf521a765a4" +uuid = "cc61e674-0454-545c-8b26-ed2c68acab7a" +version = "1.1.2+0" + +[[deps.Xorg_xcb_util_cursor_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_xcb_util_image_jll", "Xorg_xcb_util_jll", "Xorg_xcb_util_renderutil_jll"] +git-tree-sha1 = "04341cb870f29dcd5e39055f895c39d016e18ccd" +uuid = "e920d4aa-a673-5f3a-b3d7-f755a4d47c43" +version = "0.1.4+0" + +[[deps.Xorg_xcb_util_image_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_xcb_util_jll"] +git-tree-sha1 = "0fab0a40349ba1cba2c1da699243396ff8e94b97" +uuid = "12413925-8142-5f55-bb0e-6d7ca50bb09b" +version = "0.4.0+1" + +[[deps.Xorg_xcb_util_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libxcb_jll"] +git-tree-sha1 = "e7fd7b2881fa2eaa72717420894d3938177862d1" +uuid = "2def613f-5ad1-5310-b15b-b15d46f528f5" +version = "0.4.0+1" + +[[deps.Xorg_xcb_util_keysyms_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_xcb_util_jll"] +git-tree-sha1 = "d1151e2c45a544f32441a567d1690e701ec89b00" +uuid = "975044d2-76e6-5fbe-bf08-97ce7c6574c7" +version = "0.4.0+1" + +[[deps.Xorg_xcb_util_renderutil_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_xcb_util_jll"] +git-tree-sha1 = "dfd7a8f38d4613b6a575253b3174dd991ca6183e" +uuid = "0d47668e-0667-5a69-a72c-f761630bfb7e" +version = "0.3.9+1" + +[[deps.Xorg_xcb_util_wm_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_xcb_util_jll"] +git-tree-sha1 = "e78d10aab01a4a154142c5006ed44fd9e8e31b67" +uuid = "c22f9ab0-d5fe-5066-847c-f4bb1cd4e361" +version = "0.4.1+1" + +[[deps.Xorg_xkbcomp_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libxkbfile_jll"] +git-tree-sha1 = "330f955bc41bb8f5270a369c473fc4a5a4e4d3cb" +uuid = "35661453-b289-5fab-8a00-3d9160c6a3a4" +version = "1.4.6+0" + +[[deps.Xorg_xkeyboard_config_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_xkbcomp_jll"] +git-tree-sha1 = "691634e5453ad362044e2ad653e79f3ee3bb98c3" +uuid = "33bec58e-1273-512f-9401-5d533626f822" +version = "2.39.0+0" + +[[deps.Xorg_xtrans_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "e92a1a012a10506618f10b7047e478403a046c77" +uuid = "c5fb5394-a638-5e4d-96e5-b29de1b5cf10" +version = "1.5.0+0" + +[[deps.YAML]] +deps = ["Base64", "Dates", "Printf", "StringEncodings"] +git-tree-sha1 = "80c3218f29cbc47111ac87e7be5e69cc05c6dd36" +uuid = "ddb6d928-2868-570f-bddf-ab3f9cf99eb6" +version = "0.4.11" + +[[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 = "e678132f07ddb5bfa46857f0d7620fb9be675d3b" +uuid = "3161d3a3-bdf6-5164-811a-617609db77b4" +version = "1.5.6+0" + +[[deps.eudev_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "gperf_jll"] +git-tree-sha1 = "431b678a28ebb559d224c0b6b6d01afce87c51ba" +uuid = "35ca27e7-8b34-5b7f-bca9-bdc33f59eb06" +version = "3.2.9+0" + +[[deps.fzf_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "a68c9655fbe6dfcab3d972808f1aafec151ce3f8" +uuid = "214eeab7-80f7-51ab-84ad-2988db7cef09" +version = "0.43.0+0" + +[[deps.gdk_pixbuf_jll]] +deps = ["Artifacts", "Glib_jll", "JLLWrappers", "JpegTurbo_jll", "Libdl", "Libtiff_jll", "Xorg_libX11_jll", "libpng_jll"] +git-tree-sha1 = "86e7731be08b12fa5e741f719603ae740e16b666" +uuid = "da03df04-f53b-5353-a52f-6a8b0620ced0" +version = "2.42.10+0" + +[[deps.gperf_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "3516a5630f741c9eecb3720b1ec9d8edc3ecc033" +uuid = "1a1c6b14-54f6-533d-8383-74cd7377aa70" +version = "3.1.1+0" + +[[deps.libaom_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "1827acba325fdcdf1d2647fc8d5301dd9ba43a9d" +uuid = "a4ae2306-e953-59d6-aa16-d00cac43593b" +version = "3.9.0+0" + +[[deps.libass_jll]] +deps = ["Artifacts", "Bzip2_jll", "FreeType2_jll", "FriBidi_jll", "HarfBuzz_jll", "JLLWrappers", "Libdl", "Pkg", "Zlib_jll"] +git-tree-sha1 = "5982a94fcba20f02f42ace44b9894ee2b140fe47" +uuid = "0ac62f75-1d6f-5e53-bd7c-93b484bb37c0" +version = "0.15.1+0" + +[[deps.libblastrampoline_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "8e850b90-86db-534c-a0d3-1478176c7d93" +version = "5.8.0+1" + +[[deps.libdecor_jll]] +deps = ["Artifacts", "Dbus_jll", "JLLWrappers", "Libdl", "Libglvnd_jll", "Pango_jll", "Wayland_jll", "xkbcommon_jll"] +git-tree-sha1 = "9bf7903af251d2050b467f76bdbe57ce541f7f4f" +uuid = "1183f4f0-6f2a-5f1a-908b-139f9cdfea6f" +version = "0.2.2+0" + +[[deps.libevdev_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "141fe65dc3efabb0b1d5ba74e91f6ad26f84cc22" +uuid = "2db6ffa8-e38f-5e21-84af-90c45d0032cc" +version = "1.11.0+0" + +[[deps.libfdk_aac_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "daacc84a041563f965be61859a36e17c4e4fcd55" +uuid = "f638f0a6-7fb0-5443-88ba-1cc74229b280" +version = "2.0.2+0" + +[[deps.libinput_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "eudev_jll", "libevdev_jll", "mtdev_jll"] +git-tree-sha1 = "ad50e5b90f222cfe78aa3d5183a20a12de1322ce" +uuid = "36db933b-70db-51c0-b978-0f229ee0e533" +version = "1.18.0+0" + +[[deps.libpng_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Zlib_jll"] +git-tree-sha1 = "d7015d2e18a5fd9a4f47de711837e980519781a4" +uuid = "b53b4c65-9356-5827-b1ea-8c7a1a84506f" +version = "1.6.43+1" + +[[deps.libvorbis_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Ogg_jll", "Pkg"] +git-tree-sha1 = "b910cb81ef3fe6e78bf6acee440bda86fd6ae00c" +uuid = "f27f6e37-5d2b-51aa-960f-b287f2bc3b7a" +version = "1.3.7+1" + +[[deps.mtdev_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "814e154bdb7be91d78b6802843f76b6ece642f11" +uuid = "009596ad-96f7-51b1-9f1b-5ce2d5e8a71e" +version = "1.1.6+0" + +[[deps.nghttp2_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "8e850ede-7688-5339-a07c-302acd2aaf8d" +version = "1.52.0+1" + +[[deps.oneTBB_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "7d0ea0f4895ef2f5cb83645fa689e52cb55cf493" +uuid = "1317d2d5-d96f-522e-a858-c73665f53c3e" +version = "2021.12.0+0" + +[[deps.p7zip_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0" +version = "17.4.0+2" + +[[deps.x264_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "4fea590b89e6ec504593146bf8b988b2c00922b2" +uuid = "1270edf5-f2f9-52d2-97e9-ab00b5d0237a" +version = "2021.5.5+0" + +[[deps.x265_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "ee567a171cce03570d77ad3a43e90218e38937a9" +uuid = "dfaa095f-4041-5dcd-9319-2fabd8486b76" +version = "3.5.0+0" + +[[deps.xkbcommon_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Wayland_jll", "Wayland_protocols_jll", "Xorg_libxcb_jll", "Xorg_xkeyboard_config_jll"] +git-tree-sha1 = "9c304562909ab2bab0262639bd4f444d7bc2be37" +uuid = "d8fb68d0-12a3-5cfd-a85a-d49703b185fd" +version = "1.4.1+1" diff --git a/Project.toml b/Project.toml new file mode 100644 index 0000000..ed2a47d --- /dev/null +++ b/Project.toml @@ -0,0 +1,23 @@ +name = "Mbo" +uuid = "abb35812-7e48-465d-8fd2-5263f57cc2e0" +authors = ["Samuel Palato <>"] +version = "0.1.0" + +[deps] +DSP = "717857b8-e6f2-59f4-9121-6e50c889abd2" +DelimitedFiles = "8bb1440f-4735-579b-a4ab-409b98df4dab" +FFTW = "7a1cc6ca-52ef-59f5-83cd-3a7055c09341" +IterTools = "c8e1da08-722c-5040-9ed9-7db0dc04731e" +PlotlyJS = "f0f68f2c-4968-5e81-91da-67840de0976a" +Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80" +ProgressMeter = "92933f4c-e287-5a05-a399-4b506db050ca" +Revise = "295af30f-e4ad-537b-8983-00126c2a3abe" +Rsvg = "c4c386cf-5103-5370-be45-f3a111cca3b8" +Runner = "847b7089-1ebf-4e83-b33e-c3c97d2ccb04" +YAML = "ddb6d928-2868-570f-bddf-ab3f9cf99eb6" + +[compat] +julia = "1.10" + +[workspace] +projects = ["test", "src"] diff --git a/README.md b/README.md index e4d5a41..fe771fc 100644 --- a/README.md +++ b/README.md @@ -67,7 +67,22 @@ tell me if it breaks!) Once julia is installed, open `julia` and type: ```julia -julia> Pkg.clone("https://github.com/spalato/Mbo.jl") +julia> ] +``` + +Then +```julia +@v1.10 pkg> activate /path/to this repository/ +``` +Your terminal should then look like + +```julia +Mbo.jl pkg> +``` +Finally precompile the package with + +```julia +Mbo.jl pkg> precompile ``` Documentation diff --git a/REQUIRE b/REQUIRE deleted file mode 100644 index ad5a99a..0000000 --- a/REQUIRE +++ /dev/null @@ -1,4 +0,0 @@ -julia 0.6 -IterTools -DSP -YAML \ No newline at end of file diff --git a/examples/aimd_full/linear_xcf.jl b/examples/aimd_full/linear_xcf.jl index 3717f41..d5ad47c 100644 --- a/examples/aimd_full/linear_xcf.jl +++ b/examples/aimd_full/linear_xcf.jl @@ -16,7 +16,7 @@ end function run(args) t0 = now() cfgf = args[1] -info("Loading parameters from $(cfgf)") +@info("Loading parameters from $(cfgf)") cfg = open(YAML.load, cfgf) states_fn = cfg["states_fn"] cf_fn = cfg["cf_fn"] @@ -26,17 +26,17 @@ t2 = convert.(Float64, cfg["t2"]) t3 = convert.(Float64, cfg["t3"]) σ = cfg["sigma"] -info("Loading energies from $states_fn") +@info("Loading energies from $states_fn") states = readdlm(states_fn) energies = states[:,1] tdm = states[:,2] -info("States count: $(size(states)[1])") -info("Loading CF from $cf_fn") +@info("States count: $(size(states)[1])") +@info("Loading CF from $cf_fn") cfs = parse_cf(cf_fn) -info("CF count: $(length(cfs))") +@info("CF count: $(length(cfs))") # build system -info("Building system...") +@info("Building system...") t0_sys = now() s = System("G") #energy!(s, "G", 0) @@ -57,9 +57,9 @@ for (i, j) in keys(cfs) lut = LineshapeLUT(t->(GriddedCF(cfs[i,j], dt)(t)+g_inhomo(t, ev2angphz(σ))), lut_grid) lineshape!(s, ti, tj, lut) end -info(" Took $(now()-t0_sys)") -info("Number of order 1 Hilbert Paths: $(length(collect(hilbert_paths(s, 1))))") -info("Number of order 3 Hilbert Paths: $(length(collect(hilbert_paths(s, 3))))") +@info(" Took $(now()-t0_sys)") +@info("Number of order 1 Hilbert Paths: $(length(collect(hilbert_paths(s, 1))))") +@info("Number of order 3 Hilbert Paths: $(length(collect(hilbert_paths(s, 3))))") grd_lin = TimeGrid(t1) @@ -67,23 +67,23 @@ t0_calc = now() out_root = cfg["rootname"] # compute them separately -totlin = zeros(Complex128, size(grd_lin)) +totlin = zeros(ComplexF64, size(grd_lin)) for p in hilbert_paths(s, 1) rlin = linear(grd_lin, s, p) #writedlm(out_root*"_lin_$(p.p[2]).txt", [grid(grd_lin)[1] real(rlin) imag(rlin)]) totlin += rlin end -info("Saving to $(out_root)_rlin.txt") +@info("Saving to $(out_root)_rlin.txt") writedlm("$(out_root)_rlin.txt", [grid(grd_lin)[1] real(totlin) imag(totlin)]) totlin[1] *= 0.5 s_lin = fftshift(ifft(totlin)) f_lin = fftshift(fftfreq(size(grd_lin)[1], 1/(grd_lin.times[1][2]-grd_lin.times[1][1]))) -info("Saving linear spectrum to $(out_root)_slin.txt") +@info("Saving linear spectrum to $(out_root)_slin.txt") writedlm("$(out_root)_slin.txt", [f_lin real(s_lin) imag(s_lin)]) -info(" Took $(now()-t0_calc)") -info("Total runtime: $(now()-t0)") +@info(" Took $(now()-t0_calc)") +@info("Total runtime: $(now()-t0)") end # run run(ARGS) \ No newline at end of file diff --git a/examples/aimd_full/spec_abs.jl b/examples/aimd_full/spec_abs.jl index 2d98899..166ada2 100644 --- a/examples/aimd_full/spec_abs.jl +++ b/examples/aimd_full/spec_abs.jl @@ -10,13 +10,13 @@ function run(cfgf, root, outf) inf_n = root*"_sn.bin" in_r = open(inf_r, "r+") in_n = open(inf_n, "r+") - s_r = Mmap.mmap(in_r, Array{Complex128, 3}, sz) - s_n = Mmap.mmap(in_n, Array{Complex128, 3}, sz) + s_r = Mmap.mmap(in_r, Array{ComplexF64, 3}, sz) + s_n = Mmap.mmap(in_n, Array{ComplexF64, 3}, sz) out = open(outf, "w+") try - spec_abs = Mmap.mmap(out, Array{Complex128, 3}, sz) + spec_abs = Mmap.mmap(out, Array{ComplexF64, 3}, sz) spec_abs[:] = copy(s_n) - spec_abs[2:end,:,:] += flipdim(s_r[2:end,:,:], 1) + spec_abs[2:end,:,:] += reverse(s_r[2:end,:,:], dims=1) finally close(out) close(in_r) diff --git a/examples/aimd_full/spec_ft.jl b/examples/aimd_full/spec_ft.jl index fff8bbe..d5aa11e 100644 --- a/examples/aimd_full/spec_ft.jl +++ b/examples/aimd_full/spec_ft.jl @@ -7,11 +7,11 @@ function run(cfgf, infn, outf) cfg = open(YAML.load, cfgf) sz = tuple(map(length, cfg["t$i"] for i=1:3)...) inf = open(infn, "r+") - sig = Mmap.mmap(inf, Array{Complex128, 3}, sz) + sig = Mmap.mmap(inf, Array{ComplexF64, 3}, sz) sig[1,:,:] *= 0.5 sig[:,:,1] *= 0.5 out = open(outf, "w+") - spec2d = Mmap.mmap(out, Array{Complex128, 3}, sz) + spec2d = Mmap.mmap(out, Array{ComplexF64, 3}, sz) fill!(spec2d, 0) spec2d[:] = fftshift(ifft(sig, (1,3)), (1,3)) close(out) diff --git a/examples/aimd_full/third_order_xcf.jl b/examples/aimd_full/third_order_xcf.jl index 99754a4..43acf6a 100644 --- a/examples/aimd_full/third_order_xcf.jl +++ b/examples/aimd_full/third_order_xcf.jl @@ -15,7 +15,7 @@ end function run(args) t0 = now() cfgf = args[1] -info("Loading parameters from $(cfgf)") +@info("Loading parameters from $(cfgf)") cfg = open(YAML.load, cfgf) root = cfg["rootname"] states_fn = cfg["states_fn"] @@ -26,17 +26,17 @@ t2 = convert.(Float64, cfg["t2"]) t3 = convert.(Float64, cfg["t3"]) σ = cfg["sigma"] -info("Loading energies from $states_fn") +@info("Loading energies from $states_fn") states = readdlm(states_fn) energies = states[:,1] tdm = states[:,2] -info("States count: $(size(states)[1])") -info("Loading CF from $cf_fn") +@info("States count: $(size(states)[1])") +@info("Loading CF from $cf_fn") cfs = parse_cf(cf_fn) -info("CF count: $(length(cfs))") +@info("CF count: $(length(cfs))") # build system -info("Building system...") +@info("Building system...") t0_sys = now() s = System("G") frame = ev2angphz(cfg["e_frame"]) @@ -53,24 +53,24 @@ for (i, j) in keys(cfs) lut = LineshapeLUT(t->(GriddedCF(cfs[i,j], 1.0)(t)+g_inhomo(t, ev2angphz(σ))), lut_grid) lineshape!(s, ti, tj, lut) end -info(" Took $(now()-t0_sys)") -info("Number of order 1 Hilbert Paths: $(length(collect(hilbert_paths(s, 1))))") -info("Number of order 3 Hilbert Paths: $(length(collect(hilbert_paths(s, 3))))") +@info(" Took $(now()-t0_sys)") +@info("Number of order 1 Hilbert Paths: $(length(collect(hilbert_paths(s, 1))))") +@info("Number of order 3 Hilbert Paths: $(length(collect(hilbert_paths(s, 3))))") -info("Preparing calculation of third order response") +@info("Preparing calculation of third order response") grd_trd = TimeGrid(t1, t2, t3) -info("Grid size: $(size(grd_trd))") +@info("Grid size: $(size(grd_trd))") rr_fn = root*"_rr.bin" rn_fn = root*"_rn.bin" -info("Saving rephasing to: $rr_fn") -info("Saving nonrephasing to: $rr_fn") +@info("Saving rephasing to: $rr_fn") +@info("Saving nonrephasing to: $rr_fn") rr_out = open(rr_fn, "w+") rn_out = open(rn_fn, "w+") -rr = Mmap.mmap(rr_out, Array{Complex128, 3}, size(grd_trd)) -rn = Mmap.mmap(rn_out, Array{Complex128, 3}, size(grd_trd)) +rr = Mmap.mmap(rr_out, Array{ComplexF64, 3}, size(grd_trd)) +rn = Mmap.mmap(rn_out, Array{ComplexF64, 3}, size(grd_trd)) pm = Progress(4*length(collect(hilbert_paths(s, 3)))) -info("Computing third order response") +@info("Computing third order response") t0_third = now() rr .+= R2(grd_trd, s, pm) rr .+= R3(grd_trd, s, pm) diff --git a/examples/aimd_static/spec_abs.jl b/examples/aimd_static/spec_abs.jl index 2d98899..166ada2 100644 --- a/examples/aimd_static/spec_abs.jl +++ b/examples/aimd_static/spec_abs.jl @@ -10,13 +10,13 @@ function run(cfgf, root, outf) inf_n = root*"_sn.bin" in_r = open(inf_r, "r+") in_n = open(inf_n, "r+") - s_r = Mmap.mmap(in_r, Array{Complex128, 3}, sz) - s_n = Mmap.mmap(in_n, Array{Complex128, 3}, sz) + s_r = Mmap.mmap(in_r, Array{ComplexF64, 3}, sz) + s_n = Mmap.mmap(in_n, Array{ComplexF64, 3}, sz) out = open(outf, "w+") try - spec_abs = Mmap.mmap(out, Array{Complex128, 3}, sz) + spec_abs = Mmap.mmap(out, Array{ComplexF64, 3}, sz) spec_abs[:] = copy(s_n) - spec_abs[2:end,:,:] += flipdim(s_r[2:end,:,:], 1) + spec_abs[2:end,:,:] += reverse(s_r[2:end,:,:], dims=1) finally close(out) close(in_r) diff --git a/examples/aimd_static/spec_ft.jl b/examples/aimd_static/spec_ft.jl index fff8bbe..d5aa11e 100644 --- a/examples/aimd_static/spec_ft.jl +++ b/examples/aimd_static/spec_ft.jl @@ -7,11 +7,11 @@ function run(cfgf, infn, outf) cfg = open(YAML.load, cfgf) sz = tuple(map(length, cfg["t$i"] for i=1:3)...) inf = open(infn, "r+") - sig = Mmap.mmap(inf, Array{Complex128, 3}, sz) + sig = Mmap.mmap(inf, Array{ComplexF64, 3}, sz) sig[1,:,:] *= 0.5 sig[:,:,1] *= 0.5 out = open(outf, "w+") - spec2d = Mmap.mmap(out, Array{Complex128, 3}, sz) + spec2d = Mmap.mmap(out, Array{ComplexF64, 3}, sz) fill!(spec2d, 0) spec2d[:] = fftshift(ifft(sig, (1,3)), (1,3)) close(out) diff --git a/examples/aimd_static/third_order_xc.jl b/examples/aimd_static/third_order_xc.jl index 8deb680..c6c3d95 100644 --- a/examples/aimd_static/third_order_xc.jl +++ b/examples/aimd_static/third_order_xc.jl @@ -10,7 +10,7 @@ end function run(args) t0 = now() cfgf = args[1] -info("Loading parameters from $(cfgf)") +@info("Loading parameters from $(cfgf)") cfg = open(YAML.load, cfgf) states_fn = cfg["states_fn"] cf_fn = cfg["xcorr_fn"] @@ -20,17 +20,17 @@ t2 = convert.(Float64, cfg["t2"]) t3 = convert.(Float64, cfg["t3"]) sigma = cfg["sigma"] -info("Loading energies from $states_fn") +@info("Loading energies from $states_fn") states = readdlm(states_fn) energies = states[:,1] tdm = states[:,2] -info("States count: $(size(states)[1])") -info("Loading correlation matrix from $cf_fn") +@info("States count: $(size(states)[1])") +@info("Loading correlation matrix from $cf_fn") corrm = parse_corr(cf_fn) -info("Correlation count: $(length(corrm))") +@info("Correlation count: $(length(corrm))") # build system -info("Building system...") +@info("Building system...") t0_sys = now() s = System("G") frame = ev2angphz(cfg["e_frame"]) @@ -54,28 +54,28 @@ for i=1:size(corrm)[1], j=1:size(corrm)[2] #end lineshape!(s, ti, tj, lut) end -info(" Took $(now()-t0_sys)") -info("Number of order 1 Hilbert Paths: $(length(collect(hilbert_paths(s, 1))))") -info("Number of order 3 Hilbert Paths: $(length(collect(hilbert_paths(s, 3))))") +@info(" Took $(now()-t0_sys)") +@info("Number of order 1 Hilbert Paths: $(length(collect(hilbert_paths(s, 1))))") +@info("Number of order 3 Hilbert Paths: $(length(collect(hilbert_paths(s, 3))))") grd_lin = TimeGrid(t1) -info("Computing linear responses separately.") +@info("Computing linear responses separately.") t0_calc = now() out_root = "$(splitext(basename(states_fn))[1])_$(splitext(basename(cf_fn))[1])" # compute them separately -totlin = zeros(Complex128, size(grd_lin)) +totlin = zeros(ComplexF64, size(grd_lin)) for p in hilbert_paths(s, 1) rlin = linear(grd_lin, s, p) totlin += rlin out_lin = out_root*"_lin_"*join(p.p[2:end-1], "-")*".txt" - info("Saving linear to: $out_lin") + @info("Saving linear to: $out_lin") writedlm(out_lin, [grid(grd_lin)[1] real(rlin) imag(rlin)]) end writedlm(out_root*"_lin_tot.txt", [grid(grd_lin)[1] real(totlin) imag(totlin)]) -info(" Took $(now()-t0_calc)") -info("Preparing calculation of third order response") +@info(" Took $(now()-t0_calc)") +@info("Preparing calculation of third order response") grd_trd = TimeGrid(t1, t2, t3) info("Grid size: $(size(grd_trd))") @@ -85,8 +85,8 @@ info("Saving rephasing to: $rr_fn") info("Saving nonrephasing to: $rr_fn") rr_out = open(rr_fn, "w+") rn_out = open(rn_fn, "w+") -rr = Mmap.mmap(rr_out, Array{Complex128, 3}, size(grd_trd)) -rn = Mmap.mmap(rn_out, Array{Complex128, 3}, size(grd_trd)) +rr = Mmap.mmap(rr_out, Array{ComplexF64, 3}, size(grd_trd)) +rn = Mmap.mmap(rn_out, Array{ComplexF64, 3}, size(grd_trd)) pm = Progress(4*length(collect(hilbert_paths(s, 3)))) info("Computing third order response") t0_third = now() diff --git a/examples/basic/basic.jl b/examples/basic/basic.jl index b166a1c..677c1b7 100644 --- a/examples/basic/basic.jl +++ b/examples/basic/basic.jl @@ -4,12 +4,15 @@ using Mbo # using loads functions directly, ie: `ev2angphz` or `R1` import DSP: fftfreq # use a specific function -import YAML # import requires adding the module name, ie: `YAML.load` +import YAML # import requires adding the module name, ie: YAML.load +using IterTools +using FFTW +using DelimitedFiles function run(args) # Use a main 'run' function. This is not mandatory, but is required for performance. cfg_f = args[1] # index by 1, 1:2 translates to [1, 2], the first two elements -info("Loading parameters from $cfg_f") +@info("Loading parameters from $cfg_f") cfg = open(YAML.load, cfg_f) # load parameters # load parameters @@ -27,39 +30,39 @@ t2_max = cfg["t2_max"] t3_max = cfg["t3_max"] # setup system -info("Setting up system") +@info("Setting up system") s = System("g") energy!(s, "a", ω_a - ω_frame) # use a rotating frame dipole!(s, "g", "a", 1.0) lineshape!(s, "a", "a", t->g_homo(t, γ)+g_inhomo(t, σ)) # use an anonymous function for the lineshape tg = TimeGrid( - linspace(0, t1_max, t1_n), - linspace(0, t2_max, t2_n), - linspace(0, t3_max, t3_n), + range(0, stop=t1_max, length=t1_n), # TODO previously linspace + range(0, stop=t2_max, length=t2_n), + range(0, stop=t3_max, length=t3_n), ) -info("Computing linear response") +@info("Computing linear response") # compute linear r_lin = linear(tg, s) -info("Saving to $(root)_rlin.txt") +@info("Saving to $(root)_rlin.txt") writedlm("$(root)_rlin.txt", [tg.times[1] real(r_lin) imag(r_lin)]) r_lin[1] *= 0.5 # first interval is a half-interval s_lin = fftshift(ifft(r_lin)) f_lin = fftshift(fftfreq(size(tg)[1], 1/(tg.times[1][2]-tg.times[1][1]))) -info("Saving linear spectrum to $(root)_slin.txt") +@info("Saving linear spectrum to $(root)_slin.txt") writedlm("$(root)_slin.txt", [f_lin real(s_lin) imag(s_lin)]) # compute rephasing and non-rephasing separately: the spectra will overlap if # a fully rotating frame is used (ω_a == ω_frame) -info("Computing third order response") +@info("Computing third order response") rr = R2(tg, s) + R3(tg, s) rn = R1(tg, s) + R4(tg, s) # save multidimensional data in binary format. # Julia uses Fortran-contiguous arrays. -info("Saving to $(root)_rr.bin, $(root)_rn.bin") +@info("Saving to $(root)_rr.bin, $(root)_rn.bin") write("$(root)_rr.bin", rr) write("$(root)_rn.bin", rn) # first interval is a half-interval @@ -74,16 +77,16 @@ sn = fftshift(ifft(rn, (1,3)), (1,3)) # # you can do FFT and IFFT, but be careful with normalizations. sa = copy(sn) if iseven(size(sa, 1)) - sa[2:end,:,:] += flipdim(sr[2:end,:,:], 1) + sa[2:end,:,:] += reverse(sr[2:end,:,:], dims=1) else - sa += flipdim(sr, 1) + sa += reverse(sr, dims=1) end # if-else blocks terminated by 'end'. This is true of all code blocks. -info("Saving rephasing spectrum to $(root)_sr.bin") +@info("Saving rephasing spectrum to $(root)_sr.bin") write("$(root)_sr.bin", sr) -info("Saving non-rephasing spectrum to $(root)_sn.bin") +@info("Saving non-rephasing spectrum to $(root)_sn.bin") write("$(root)_sn.bin", sn) -info("Saving absorptive spectrum to $(root)_sa.bin") +@info("Saving absorptive spectrum to $(root)_sa.bin") write("$(root)_sa.bin", sa) end # terminating the `function run` code block diff --git a/examples/cohmap_electronic/diamond.jl b/examples/cohmap_electronic/diamond.jl index 1074177..dcbc5b4 100644 --- a/examples/cohmap_electronic/diamond.jl +++ b/examples/cohmap_electronic/diamond.jl @@ -9,10 +9,12 @@ using Mbo import DSP: fftfreq import YAML +using FFTW +using DelimitedFiles function run(args) cfg_f = args[1] -info("Loading parameters from $cfg_f") +@info("Loading parameters from $cfg_f") cfg = open(YAML.load, cfg_f) # load parameters root = cfg["rootname"] @@ -37,7 +39,7 @@ t1_max = cfg["t1_max"] t2_max = cfg["t2_max"] t3_max = cfg["t3_max"] -info("Setting up system") +@info("Setting up system") s = System("g") energy!(s, "a", ωa) energy!(s, "b", ωb) @@ -61,14 +63,15 @@ lineshape!(s, "f", "f", g_ff) # Everything is identical to 'basic_ia.jl' from now on. tg = TimeGrid( - linspace(0, t1_max, t1_n), - linspace(0, t2_max, t2_n), - linspace(0, t3_max, t3_n), + range(0, stop=t1_max, length=t1_n), + range(0, stop=t2_max, length=t2_n), + range(0, stop=t3_max, length=t3_n), ) -info("Computing linear response") -r_lin = linear(tg, s) -info("Saving to $(root)_rlin.txt") +@info("Computing linear response") +@info(s) +r_lin = linear(tg, s) # TODO this is where it bugs because System does not have a length ... +@info("Saving to $(root)_rlin.txt") writedlm("$(root)_rlin.txt", [tg.times[1] real(r_lin) imag(r_lin)]) r_lin[1] *= 0.5 @@ -78,10 +81,10 @@ info("Saving linear spectrum to $(root)_slin.txt") writedlm("$(root)_slin.txt", [f_lin real(s_lin) imag(s_lin)]) info("Computing third order response") -tic() +# tic() hpaths = collect(hilbert_paths(s, 3)) -rr = zeros(Complex128, size(tg)) -rn = zeros(Complex128, size(tg)) +rr = zeros(ComplexF64, size(tg)) +rn = zeros(ComplexF64, size(tg)) # Rephasing ESA is given by R1* # Nonrephasing ESA is given by R2* # Should be streamlined... @@ -96,7 +99,7 @@ for p in hpaths end end -dt = toq() +# dt = toq() info("Calulation took $(dt) s") info("Saving to $(root)_rr.bin, $(root)_rn.bin") write("$(root)_rr.bin", rr) @@ -110,9 +113,9 @@ sn = fftshift(ifft(rn, (1,3)), (1,3)) sa = copy(sn) if iseven(size(sa, 1)) - sa[2:end,:,:] += flipdim(sr[2:end,:,:], 1) + sa[2:end,:,:] += reverse(sr[2:end,:,:], dims=1) else - sa += flipdim(sr, 1) + sa += reverse(sr, dims=1) end info("Saving rephasing spectrum to $(root)_sr.bin") diff --git a/examples/cohmap_vibrational/vibrational_ia.jl b/examples/cohmap_vibrational/vibrational_ia.jl index e239c4b..f83f597 100644 --- a/examples/cohmap_vibrational/vibrational_ia.jl +++ b/examples/cohmap_vibrational/vibrational_ia.jl @@ -4,10 +4,12 @@ using Mbo import DSP: fftfreq import YAML +using FFTW +using DelimitedFiles function run(args) cfg_f = args[1] -info("Loading parameters from $cfg_f") +@info("Loading parameters from $cfg_f") cfg = open(YAML.load, cfg_f) # load parameters root = cfg["rootname"] @@ -48,9 +50,9 @@ for tag1 in ["e", "f"], tag2 in ["e", "f"] end tg = TimeGrid( - linspace(0, t1_max, t1_n), - linspace(0, t2_max, t2_n), - linspace(0, t3_max, t3_n), + range(0, stop=t1_max, length=t1_n), + range(0, stop=t2_max, length=t2_n), + range(0, stop=t3_max, length=t3_n), ) info("Computing linear response") @@ -65,10 +67,10 @@ info("Saving linear spectrum to $(root)_slin.txt") writedlm("$(root)_slin.txt", [f_lin real(s_lin) imag(s_lin)]) info("Computing third order response") -tic() +# tic() hpaths = collect(hilbert_paths(s, 3)) -rr = zeros(Complex128, size(tg)) -rn = zeros(Complex128, size(tg)) +rr = zeros(ComplexF64, size(tg)) +rn = zeros(ComplexF64, size(tg)) # Rephasing induced absorption is given by R1* # Nonrephasing IA is given by R2* # Should be streamlined... @@ -83,7 +85,7 @@ for p in hpaths end end -dt = toq() +# dt = toq() info("Calulation took $(dt) s") info("Saving to $(root)_rr.bin, $(root)_rn.bin") write("$(root)_rr.bin", rr) @@ -97,9 +99,9 @@ sn = fftshift(ifft(rn, (1,3)), (1,3)) sa = copy(sn) if iseven(size(sa, 1)) - sa[2:end,:,:] += flipdim(sr[2:end,:,:], 1) + sa[2:end,:,:] += reverse(sr[2:end,:,:], dims=1) else - sa += flipdim(sr, 1) + sa += reverse(sr, dims=1) end info("Saving rephasing spectrum to $(root)_sr.bin") diff --git a/examples/electronic/ecoh.jl b/examples/electronic/ecoh.jl index ce7bb22..ddf41da 100644 --- a/examples/electronic/ecoh.jl +++ b/examples/electronic/ecoh.jl @@ -3,10 +3,12 @@ using Mbo import DSP: fftfreq import YAML +using FFTW +using DelimitedFiles function run(args) cfg_f = args[1] -info("Loading parameters from $cfg_f") +@info("Loading parameters from $cfg_f") cfg = open(YAML.load, cfg_f) # load parameters root = cfg["rootname"] @@ -28,7 +30,7 @@ t1_max = cfg["t1_max"] t2_max = cfg["t2_max"] t3_max = cfg["t3_max"] -info("Setting up system") +@info("Setting up system") s = System("g") for tag1 in ["A", "B"], tag2 in ["A", "B"] energy!(s, tag1, ev2angphz(cfg["e_$(tag1)"]) - ω_frame) @@ -40,29 +42,29 @@ end # Nothing has changed past that point! tg = TimeGrid( - linspace(0, t1_max, t1_n), - linspace(0, t2_max, t2_n), - linspace(0, t3_max, t3_n), + range(0, stop=t1_max, length=t1_n), + range(0, stop=t2_max, length=t2_n), + range(0, stop=t3_max, length=t3_n), ) -info("Computing linear response") +@info("Computing linear response") r_lin = linear(tg, s) -info("Saving to $(root)_rlin.txt") +@info("Saving to $(root)_rlin.txt") writedlm("$(root)_rlin.txt", [tg.times[1] real(r_lin) imag(r_lin)]) r_lin[1] *= 0.5 s_lin = fftshift(ifft(r_lin)) f_lin = fftshift(fftfreq(size(tg)[1], 1/(tg.times[1][2]-tg.times[1][1]))) -info("Saving linear spectrum to $(root)_slin.txt") +@info("Saving linear spectrum to $(root)_slin.txt") writedlm("$(root)_slin.txt", [f_lin real(s_lin) imag(s_lin)]) -info("Computing third order response") -tic() +@info("Computing third order response") +# tic() rr = R2(tg, s) + R3(tg, s) rn = R1(tg, s) + R4(tg, s) -dt = toq() -info("Calulation took $(dt) s") -info("Saving to $(root)_rr.bin, $(root)_rn.bin") +# dt = toq() +#@info("Calulation took $(dt) s") +@info("Saving to $(root)_rr.bin, $(root)_rn.bin") write("$(root)_rr.bin", rr) write("$(root)_rn.bin", rn) rr[1,:,:] *= 0.5 @@ -74,16 +76,16 @@ sn = fftshift(ifft(rn, (1,3)), (1,3)) sa = copy(sn) if iseven(size(sa, 1)) - sa[2:end,:,:] += flipdim(sr[2:end,:,:], 1) + sa[2:end,:,:] += reverse(sr[2:end,:,:], dims=1) else - sa += flipdim(sr, 1) + sa += reverse(sr, dims=1) end -info("Saving rephasing spectrum to $(root)_sr.bin") +@info("Saving rephasing spectrum to $(root)_sr.bin") write("$(root)_sr.bin", sr) -info("Saving non-rephasing spectrum to $(root)_sn.bin") +@info("Saving non-rephasing spectrum to $(root)_sn.bin") write("$(root)_sn.bin", sn) -info("Saving absorptive spectrum to $(root)_sa.bin") +@info("Saving absorptive spectrum to $(root)_sa.bin") write("$(root)_sa.bin", sa) end # function main diff --git a/examples/esa/basic_ia.jl b/examples/esa/basic_ia.jl index 8d12105..4d308fc 100644 --- a/examples/esa/basic_ia.jl +++ b/examples/esa/basic_ia.jl @@ -3,10 +3,12 @@ using Mbo import DSP: fftfreq import YAML +using FFTW +using DelimitedFiles function run(args) cfg_f = args[1] -info("Loading parameters from $cfg_f") +@info("Loading parameters from $cfg_f") cfg = open(YAML.load, cfg_f) # load parameters root = cfg["rootname"] @@ -30,7 +32,7 @@ t3_max = cfg["t3_max"] e_e = ev2angphz(cfg["e_e"]) e_f = ev2angphz(cfg["e_f"]) -info("Setting up system") +@info("Setting up system") s = System("g") # rotating frame is a bit artisanal. It shows here. energy!(s, "e", e_e - ω_frame) @@ -43,27 +45,27 @@ for tag1 in ["e", "f"], tag2 in ["e", "f"] end tg = TimeGrid( - linspace(0, t1_max, t1_n), - linspace(0, t2_max, t2_n), - linspace(0, t3_max, t3_n), + range(0, stop=t1_max, length=t1_n), + range(0, stop=t2_max, length=t2_n), + range(0, stop=t3_max, length=t3_n), ) -info("Computing linear response") +@info("Computing linear response") r_lin = linear(tg, s) -info("Saving to $(root)_rlin.txt") +@info("Saving to $(root)_rlin.txt") writedlm("$(root)_rlin.txt", [tg.times[1] real(r_lin) imag(r_lin)]) r_lin[1] *= 0.5 s_lin = fftshift(ifft(r_lin)) f_lin = fftshift(fftfreq(size(tg)[1], 1/(tg.times[1][2]-tg.times[1][1]))) -info("Saving linear spectrum to $(root)_slin.txt") +@info("Saving linear spectrum to $(root)_slin.txt") writedlm("$(root)_slin.txt", [f_lin real(s_lin) imag(s_lin)]) -info("Computing third order response") -tic() +@info("Computing third order response") +# tic() hpaths = collect(hilbert_paths(s, 3)) -rr = zeros(Complex128, size(tg)) -rn = zeros(Complex128, size(tg)) +rr = zeros(ComplexF64, size(tg)) +rn = zeros(ComplexF64, size(tg)) # Rephasing induced absorption is given by R1* # Nonrephasing IA is given by R2* # Should be streamlined... @@ -76,9 +78,9 @@ for p in filter(hp->hp.p[3] == "f", hpaths) rn += -conj(R2(tg, s, p)) end -dt = toq() -info("Calulation took $(dt) s") -info("Saving to $(root)_rr.bin, $(root)_rn.bin") +# dt = toq() +#@info("Calulation took $(dt) s") +@info("Saving to $(root)_rr.bin, $(root)_rn.bin") write("$(root)_rr.bin", rr) write("$(root)_rn.bin", rn) rr[1,:,:] *= 0.5 @@ -90,16 +92,16 @@ sn = fftshift(ifft(rn, (1,3)), (1,3)) sa = copy(sn) if iseven(size(sa, 1)) - sa[2:end,:,:] += flipdim(sr[2:end,:,:], 1) + sa[2:end,:,:] += reverse(sr[2:end,:,:], dims=1) else - sa += flipdim(sr, 1) + sa += reverse(sr, dims=1) end -info("Saving rephasing spectrum to $(root)_sr.bin") +@info("Saving rephasing spectrum to $(root)_sr.bin") write("$(root)_sr.bin", sr) -info("Saving non-rephasing spectrum to $(root)_sn.bin") +@info("Saving non-rephasing spectrum to $(root)_sn.bin") write("$(root)_sn.bin", sn) -info("Saving absorptive spectrum to $(root)_sa.bin") +@info("Saving absorptive spectrum to $(root)_sa.bin") write("$(root)_sa.bin", sa) end # function main diff --git a/examples/plot_2d.jl b/examples/plot_2d.jl index f2fce15..8778cf6 100644 --- a/examples/plot_2d.jl +++ b/examples/plot_2d.jl @@ -31,15 +31,15 @@ rootname = cfg["rootname"] f1 = fftshift(fftfreq(length(tg.times[1]), 1/diff(tg.times[1])[1])) f3 = fftshift(fftfreq(length(tg.times[3]), 1/diff(tg.times[3])[1])) -rr = read(joinpath(dir, "$(rootname)_rr.bin"), Complex128, size(tg)) +rr = read(joinpath(dir, "$(rootname)_rr.bin"), ComplexF64, size(tg)) sym_heatmap(tg.times[1], tg.times[3], real(rr[:,1,:]), "$(rootname)_rr.png") -rn = read(joinpath(dir, "$(rootname)_rn.bin"), Complex128, size(tg)) +rn = read(joinpath(dir, "$(rootname)_rn.bin"), ComplexF64, size(tg)) sym_heatmap(tg.times[1], tg.times[3], real(rn[:,1,:]), "$(rootname)_rn.png") -sr = read(joinpath(dir, "$(rootname)_sr.bin"), Complex128, size(tg)) +sr = read(joinpath(dir, "$(rootname)_sr.bin"), ComplexF64, size(tg)) sym_heatmap(f1, f3, real(sr[:,1,:]), "$(rootname)_sr.png") -sn = read(joinpath(dir, "$(rootname)_sn.bin"), Complex128, size(tg)) +sn = read(joinpath(dir, "$(rootname)_sn.bin"), ComplexF64, size(tg)) sym_heatmap(f1, f3, real(sn[:,1,:]), "$(rootname)_sn.png") -sa = read(joinpath(dir, "$(rootname)_sa.bin"), Complex128, size(tg)) +sa = read(joinpath(dir, "$(rootname)_sa.bin"), ComplexF64, size(tg)) sym_heatmap(f1, f3, real(sa[:,1,:]), "$(rootname)_sa.png") end diff --git a/examples/qd_ema/ema_BX.jl b/examples/qd_ema/ema_BX.jl index eae4b01..d7e964c 100644 --- a/examples/qd_ema/ema_BX.jl +++ b/examples/qd_ema/ema_BX.jl @@ -3,10 +3,12 @@ using Mbo import DSP: fftfreq import YAML +using FFTW +using DelimitedFiles function run(args) cfg_f = args[1] -info("Loading parameters from $cfg_f") +@info("Loading parameters from $cfg_f") cfg = open(YAML.load, cfg_f) # load parameters root = cfg["rootname"] @@ -53,7 +55,7 @@ t1_max = cfg["t1_max"] t2_max = cfg["t2_max"] t3_max = cfg["t3_max"] -info("Setting up system") +@info("Setting up system") s = System("g") for tag1 in ["x1", "x2"], tag2 in ["x1", "x2"] energy!(s, tag1, ev2angphz(cfg["e_$(tag1)"]) - ω_frame) @@ -81,12 +83,12 @@ for tag1=["bx11", "bx12", "bx22"], tag2=["bx11", "bx12", "bx22"] end tg = TimeGrid( - linspace(0, t1_max, t1_n), - linspace(0, t2_max, t2_n), - linspace(0, t3_max, t3_n), + range(0, stop=t1_max, length=t1_n), + range(0, stop=t2_max, length=t2_n), + range(0, stop=t3_max, length=t3_n), ) steps = map(first ∘ diff, tg.times) -info("Grid steps: $(steps)") +@info("Grid steps: $(steps)") # We cache the value of the lineshape functions on a look-up table. lut_step = 1.0 @assert all([rem(s, lut_step)==0 for s in steps]) @@ -95,27 +97,27 @@ for (tag1, tag2) in keys(g) lineshape!(s, tag1, tag2, LineshapeLUT(g[tag1, tag2].(lut_grid), step(lut_grid))) end -info("Computing linear response") +@info("Computing linear response") r_lin = linear(tg, s) -info("Saving to $(root)_rlin.txt") +@info("Saving to $(root)_rlin.txt") writedlm("$(root)_rlin.txt", [tg.times[1] real(r_lin) imag(r_lin)]) r_lin[1] *= 0.5 s_lin = fftshift(ifft(r_lin)) f_lin = fftshift(fftfreq(size(tg)[1], 1/(tg.times[1][2]-tg.times[1][1]))) -info("Saving linear spectrum to $(root)_slin.txt") +@info("Saving linear spectrum to $(root)_slin.txt") writedlm("$(root)_slin.txt", [f_lin real(s_lin) imag(s_lin)]) -info("Computing third order response") -tic() +@info("Computing third order response") +# tic() # Rephasing induced absorption is given by R1* # Nonrephasing IA is given by R2* # Should be streamlined... -rr = zeros(Complex128, size(tg)) -rn = zeros(Complex128, size(tg)) +rr = zeros(ComplexF64, size(tg)) +rn = zeros(ComplexF64, size(tg)) for hp in hilbert_paths(s, 3) # setting mu_bx=0 in the config file will skip the paths automatically - info("Path: $hp") + @info("Path: $hp") if hp.p[3] in ["bx12", "bx11", "bx22"] # is ESA rr += -conj(R1(tg, s, hp)) rn += -conj(R2(tg, s, hp)) @@ -125,9 +127,9 @@ for hp in hilbert_paths(s, 3) rn += R1(tg, s, hp) + R4(tg, s, hp) end end -dt = toq() -info("Calulation took $(dt) s") -info("Saving to $(root)_rr.bin, $(root)_rn.bin") +# dt = toq() +#@info("Calulation took $(dt) s") +@info("Saving to $(root)_rr.bin, $(root)_rn.bin") write("$(root)_rr.bin", rr) write("$(root)_rn.bin", rn) rr[1,:,:] *= 0.5 @@ -139,16 +141,16 @@ sn = fftshift(ifft(rn, (1,3)), (1,3)) sa = copy(sn) if iseven(size(sa, 1)) - sa[2:end,:,:] += flipdim(sr[2:end,:,:], 1) + sa[2:end,:,:] += reverse(sr[2:end,:,:], dims=1) else - sa += flipdim(sr, 1) + sa += reverse(sr, dims=1) end -info("Saving rephasing spectrum to $(root)_sr.bin") +@info("Saving rephasing spectrum to $(root)_sr.bin") write("$(root)_sr.bin", sr) -info("Saving non-rephasing spectrum to $(root)_sn.bin") +@info("Saving non-rephasing spectrum to $(root)_sn.bin") write("$(root)_sn.bin", sn) -info("Saving absorptive spectrum to $(root)_sa.bin") +@info("Saving absorptive spectrum to $(root)_sa.bin") write("$(root)_sa.bin", sa) end # function main diff --git a/examples/vibrational/vibrational.jl b/examples/vibrational/vibrational.jl index b367dd4..f5c3d37 100644 --- a/examples/vibrational/vibrational.jl +++ b/examples/vibrational/vibrational.jl @@ -3,10 +3,12 @@ using Mbo import DSP: fftfreq import YAML +using FFTW +using DelimitedFiles function run(args) cfg_f = args[1] -info("Loading parameters from $cfg_f") +@info("Loading parameters from $cfg_f") cfg = open(YAML.load, cfg_f) # load parameters root = cfg["rootname"] @@ -25,7 +27,7 @@ t1_max = cfg["t1_max"] t2_max = cfg["t2_max"] t3_max = cfg["t3_max"] -info("Setting up system") +@info("Setting up system") s = System("g") energy!(s, "a", ω_a - ω_frame + s_hr*ω_vib) # maintain the 0-phonon line at \omega_a dipole!(s, "g", "a", 1.0) @@ -34,28 +36,28 @@ lineshape!(s, "a", "a", t->g_homo(t, γ)+g_inhomo(t, σ)+s_hr*g_huang_rhys(t, ω # Nothing has changed past that point! tg = TimeGrid( - linspace(0, t1_max, t1_n), - linspace(0, t2_max, t2_n), - linspace(0, t3_max, t3_n), + range(0, stop=t1_max, length=t1_n), + range(0, stop=t2_max, length=t2_n), + range(0, stop=t3_max, length=t3_n), ) -info("Computing linear response") +@info("Computing linear response") r_lin = linear(tg, s) -info("Saving to $(root)_rlin.txt") +@info("Saving to $(root)_rlin.txt") writedlm("$(root)_rlin.txt", [tg.times[1] real(r_lin) imag(r_lin)]) r_lin[1] *= 0.5 s_lin = fftshift(ifft(r_lin)) f_lin = fftshift(fftfreq(size(tg)[1], 1/(tg.times[1][2]-tg.times[1][1]))) -info("Saving linear spectrum to $(root)_slin.txt") +@info("Saving linear spectrum to $(root)_slin.txt") writedlm("$(root)_slin.txt", [f_lin real(s_lin) imag(s_lin)]) -info("Computing third order response") -tic() +@info("Computing third order response") +#tic() rr = R2(tg, s) + R3(tg, s) rn = R1(tg, s) + R4(tg, s) -info("Saving to $(root)_rr.bin, $(root)_rn.bin") +@info("Saving to $(root)_rr.bin, $(root)_rn.bin") write("$(root)_rr.bin", rr) write("$(root)_rn.bin", rn) rr[1,:,:] *= 0.5 @@ -67,17 +69,17 @@ sn = fftshift(ifft(rn, (1,3)), (1,3)) sa = copy(sn) if iseven(size(sa, 1)) - sa[2:end,:,:] += flipdim(sr[2:end,:,:], 1) + sa[2:end,:,:] += reverse(sr[2:end,:,:], dims=1) else - sa += flipdim(sr, 1) + sa += reverse(sr, dims=1) end -dt = toq() -info("Calulation took $(dt) s") -info("Saving rephasing spectrum to $(root)_sr.bin") +#dt = toq() +#@info("Calulation took $(dt) s") +@info("Saving rephasing spectrum to $(root)_sr.bin") write("$(root)_sr.bin", sr) -info("Saving non-rephasing spectrum to $(root)_sn.bin") +@info("Saving non-rephasing spectrum to $(root)_sn.bin") write("$(root)_sn.bin", sn) -info("Saving absorptive spectrum to $(root)_sa.bin") +@info("Saving absorptive spectrum to $(root)_sa.bin") write("$(root)_sa.bin", sa) end # function main diff --git a/src/core.jl b/src/core.jl index e5a36d1..77d23ca 100644 --- a/src/core.jl +++ b/src/core.jl @@ -5,8 +5,8 @@ linear(g::TimeGrid, s::System, p::HilbertPath{3}) = amplitude(s,p)*linear(g, ene linear(g::TimeGrid, s::System) = sum(p->linear(g, s, p), hilbert_paths(s, 1)) linear(t1::Real, ws::NTuple{1, Real}, ls::NTuple{1,Any}) = linear(t1, ws..., ls...) linear(g::TimeGrid{<:Real,1}, ws::NTuple{1, Real}, ls::NTuple{1,Any}) = linear(first(grid(g)), ws..., ls...) # could be fed to the @eval loop. -linear(g::TimeGrid, ws::NTuple{1, Real}, ls::NTuple{1,Any}) = linear(squeeze(first(grid(g))), ws..., ls...) # could be fed to the @eval loop. -linear(t1::Array{<:Real,1}, ws::Real, ls) = linear.(t1, ws, ls) +linear(g::TimeGrid, ws::NTuple{1, Real}, ls::NTuple{1,Any}) = linear(dropdims(first(grid(g))), ws..., ls...) # could be fed to the @eval loop. +linear(t1::Array{<:Real,1}, ws::Real, ls) = linear.(t1, ws, (ls,)) # Use the @eval macro to operate on R1 to R4. for R=(:R1, :R2, :R3, :R4) @@ -21,7 +21,15 @@ for R=(:R1, :R2, :R3, :R4) $(R)(g::TimeGrid{<:Real,3}, s::System, m::Progress) = sum(p->$(R)(g, s, p, m), hilbert_paths(s, 3)) # allow unpacking both ways. $(R)(t1, t2, t3, ws::NTuple{3,Real}, ls::NTuple{6,Any}) = $(R)(t1, t2, t3, ws..., ls...) - $(R)(g::TimeGrid{<:Real,3}, ws, ls) = $(R)(grid(g)..., ws..., ls...) + function $(R)(g::TimeGrid{<:Real,3}, ws, ls) + ls_protected = [] + # this was needed as ls is of a tuple of LineshapesLUT which should be protected from broadcasting + for l in ls + push!(ls_protected, (l,)) + end + return $(R)(grid(g)..., ws..., ls_protected...) + end + # here the problem is that some of the things in a do need not to be broadcasted ... $(R)(t1::Array{<:Real,3}, t2::Array{<:Real,3}, t3::Array{<:Real,3}, a...) = $(R).(t1, t2, t3, a...) #$(R)(g::TimeGrid{<:Real,3}, wa, wb, wc, gaa, gbb, gcc, gba, gca, gcb) = $(R).(grid(g)..., wa, wb, wc, gaa, gbb, gcc, gba, gca, gcb) end diff --git a/src/hilbert_path.jl b/src/hilbert_path.jl index a484d9c..d5b3760 100644 --- a/src/hilbert_path.jl +++ b/src/hilbert_path.jl @@ -11,7 +11,7 @@ True if any element is identical to the next. Naive implementation consecutive(a) = any(a[2:end] .== a[1:end-1]) """Hilbert Path of order N-2""" -immutable HilbertPath{N} +struct HilbertPath{N} p::NTuple{N,String} end HilbertPath(args::Vararg{String,N}) where {N} = HilbertPath{N}(args) diff --git a/src/lineshapes.jl b/src/lineshapes.jl index a3560ee..f85c5f0 100644 --- a/src/lineshapes.jl +++ b/src/lineshapes.jl @@ -38,7 +38,7 @@ end function LineshapeLUT(lut::Array{Tls,1}, dx::Tx) where {Tls, Tx} LineshapeLUT{Tx, Tls}(lut, dx) end -function LineshapeLUT(f, x::Range{Tx}) where {Tx}#, Tls} +function LineshapeLUT(f, x::AbstractRange{Tx}) where {Tx}#, Tls} gx = f.(x) LineshapeLUT{Tx,eltype(gx)}(gx, step(x)) end diff --git a/src/system.jl b/src/system.jl index 990293e..e2501bb 100644 --- a/src/system.jl +++ b/src/system.jl @@ -49,9 +49,11 @@ isground(s::System, tag) = tag == s.ground dipole(s::System, tag1, tag2) = s.dipoles[tag1, tag2] dipole!(s::System, tag1, tag2, v) = (s.dipoles[tag1,tag2]=v; s.dipoles[tag2,tag1]=v) isallowed(s::System, tag1, tag2) = dipole(s, tag1, tag2) > 0 -allallowed(s::System, tags) = all(isallowed.(s, tags[2:end], tags[1:end-1])) +# Note (s,) "protects" it from the broadcasting done by the . +allallowed(s::System, tags) = all(isallowed.((s,), tags[2:end], tags[1:end-1])) allallowed(s::System, p::HilbertPath) = allallowed(s, p.p) -dipole(s::System, p::HilbertPath) = dipole.(s, p.p[1:end-1], p.p[2:end]) +# Note (s,) "protects" it from the broadcasting done by the . +dipole(s::System, p::HilbertPath) = dipole.((s,), p.p[1:end-1], p.p[2:end]) amplitude(s::System, p::HilbertPath) = prod(dipole(s, p)) # lineshapes diff --git a/src/time_correlation.jl b/src/time_correlation.jl index 85c7e22..9b39200 100644 --- a/src/time_correlation.jl +++ b/src/time_correlation.jl @@ -2,7 +2,7 @@ export GriddedCF # externally computed on a constant grid. Allow specific points only. -immutable GriddedCF{Tg<:Real, Tcf<:Number} +struct GriddedCF{Tg<:Real, Tcf<:Number} lut::Array{Tcf,1} Im::Tcf dt::Tg diff --git a/src/time_grid.jl b/src/time_grid.jl index 9eba3bd..7b9a5fc 100644 --- a/src/time_grid.jl +++ b/src/time_grid.jl @@ -16,7 +16,7 @@ Base.size(tg::TimeGrid) = map(length, tg.times) # to find a greater common divisor (gcd) for floats: # https://www.geeksforgeeks.org/program-find-gcd-floating-point-numbers/ -t_to_f(t::Range) = fftshift(fftfreq(length(t), 1/step(t))) +t_to_f(t::AbstractRange) = fftshift(fftfreq(length(t), 1/step(t))) # use mean step. Hopefully doesn't matter. t_to_f(t::AbstractArray{<:Real, 1}) = fftshift(fftfreq(length(t), 1/mean(diff(t)))) """ diff --git a/src/utils.jl b/src/utils.jl index a4dddbb..697c07c 100644 --- a/src/utils.jl +++ b/src/utils.jl @@ -13,8 +13,9 @@ function simps(y, h::Number) s = sum(y[1:2:n] + 4y[2:2:n]+y[3:2:n+1]) h/3*s + tail end -#simps(y, h::Base.TwicePrecision{T}) where {T<:AbstractFloat} = simps(y, h.hi) -simps(y, x::Range{T}) where {T} = simps(y, step(x)) +#simps(y, h::Base.TwicePrecision{T}) where {T<:AbstractFloat} = simps(y, h.hi) + +simps(y, x::AbstractRange{T}) where {T} = simps(y, step(x)) """ Sum a series until convergence. @@ -36,4 +37,4 @@ end # convenience """Squeeze all dimensions of length 1""" -Base.squeeze(A::AbstractArray) = squeeze(A, tuple(find(size(A).==1)...)) \ No newline at end of file +Base.dropdims(A::AbstractArray) = dropdims(A, dims=tuple(findall(size(A).==1)...)) \ No newline at end of file