Created
February 10, 2025 04:53
-
-
Save alecloudenback/af4af222daceb6276ff3cab6d003976a to your computer and use it in GitHub Desktop.
autograd with scenario dependent cashflows
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
### A Pluto.jl notebook ### | |
# v0.20.4 | |
using Markdown | |
using InteractiveUtils | |
# ╔═╡ 93ebaa22-e762-11ef-066b-d73eee15ef42 | |
begin | |
using Accessors | |
using AccessorsExtra | |
using DifferentiationInterface | |
end | |
# ╔═╡ bd3a4aad-a6d5-434e-973e-017f6fdc13de | |
using FinanceCore | |
# ╔═╡ 9597e871-70fc-434e-bb31-72e666fefe84 | |
import Enzyme | |
# ╔═╡ 32206da1-e3de-40b5-85f2-796f912b1f33 | |
# ╔═╡ b9737e74-ad9a-4050-ba29-041524515934 | |
struct Scenario{T<:Rate} | |
rate::T | |
end | |
# ╔═╡ e76faea2-df2c-44ee-be0c-3781d0caf648 | |
u = Scenario(Continuous(0.05)) | |
# ╔═╡ fea3cec1-d225-4947-94df-e1a61e3798e9 | |
struct Liability{T<:Rate} | |
credit_rate::T | |
end | |
# ╔═╡ 27af473c-f66f-41d8-9907-001e9de8547b | |
b = Liability(Continuous(0.04)) | |
# ╔═╡ 533bb5bb-f827-4898-876f-9fdbce83b64b | |
function project(b::Liability,u::Scenario) | |
# emulate a projection | |
d = rate(u.rate)-rate(b.credit_rate) | |
[Cashflow(1/(1+exp(-d)),1)] | |
end | |
# ╔═╡ 0a31449b-f854-421f-a13e-ed892692acd3 | |
function value(u::Scenario,b::Liability) | |
cfs = project(b,u) | |
mapreduce(+,cfs) do cf | |
exp(-rate(u.rate) * cf.time) * cf.amount | |
end | |
end | |
# ╔═╡ 7a5ec046-8ad8-4aaa-8ebd-46fa65e9439a | |
value(u,b) | |
# ╔═╡ 89e41b8f-8ff6-49f5-a08e-f80c33f6dbad | |
g = gradient(u-> value(u,b), AutoEnzyme(), u) | |
# ╔═╡ bd97b052-1b3e-45fc-a39b-94eff70d4771 | |
md"It's okay that the gradient returns a `Rate`: this can be interpreted naturally as a way to adjust the price via $$\text{exp}(g * ∇\text{rate})$$" | |
# ╔═╡ ebd2d8d1-5c4a-4600-bf1f-a6ce5ad226ba | |
let u2 = @set u.rate += .0001 | |
value(u2,b)/value(u,b) | |
end | |
# ╔═╡ 7a0dc539-4a1a-45aa-9b8c-388657dfd878 | |
exp(rate(g.rate) * 0.0001) | |
# ╔═╡ 05d29aff-b566-4b35-aba1-01c9bf8f2a4e | |
@set u.rate += .0001 | |
# ╔═╡ 00000000-0000-0000-0000-000000000001 | |
PLUTO_PROJECT_TOML_CONTENTS = """ | |
[deps] | |
Accessors = "7d9f7c33-5ae7-4f3b-8dc6-eff91059b697" | |
AccessorsExtra = "33016aad-b69d-45be-9359-82a41f556fd4" | |
DifferentiationInterface = "a0c0ee7d-e4b9-4e03-894e-1c5f64a51d63" | |
Enzyme = "7da242da-08ed-463a-9acd-ee780be4f1d9" | |
FinanceCore = "b9b1ffdd-6612-4b69-8227-7663be06e089" | |
[compat] | |
Accessors = "~0.1.41" | |
AccessorsExtra = "~0.1.92" | |
DifferentiationInterface = "~0.6.39" | |
Enzyme = "~0.13.30" | |
FinanceCore = "~2.2.0" | |
""" | |
# ╔═╡ 00000000-0000-0000-0000-000000000002 | |
PLUTO_MANIFEST_TOML_CONTENTS = """ | |
# This file is machine-generated - editing it directly is not advised | |
julia_version = "1.11.3" | |
manifest_format = "2.0" | |
project_hash = "5a6841bee8918945a3f40ade5ab913a0d68b8674" | |
[[deps.ADTypes]] | |
git-tree-sha1 = "e1ce448a0d7f88168ffe2eeac4549c32d45a42d1" | |
uuid = "47edcb42-4c32-4615-8424-f2b9edc5f35b" | |
version = "1.12.1" | |
[deps.ADTypes.extensions] | |
ADTypesChainRulesCoreExt = "ChainRulesCore" | |
ADTypesConstructionBaseExt = "ConstructionBase" | |
ADTypesEnzymeCoreExt = "EnzymeCore" | |
[deps.ADTypes.weakdeps] | |
ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" | |
ConstructionBase = "187b0558-2788-49d3-abe0-74a17ed4e7c9" | |
EnzymeCore = "f151be2c-9106-41f4-ab19-57ee4f262869" | |
[[deps.Accessors]] | |
deps = ["CompositionsBase", "ConstructionBase", "Dates", "InverseFunctions", "MacroTools"] | |
git-tree-sha1 = "0ba8f4c1f06707985ffb4804fdad1bf97b233897" | |
uuid = "7d9f7c33-5ae7-4f3b-8dc6-eff91059b697" | |
version = "0.1.41" | |
[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" | |
Requires = "ae029012-a4dd-5104-9daa-d747884805df" | |
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.AccessorsExtra]] | |
deps = ["Accessors", "CompositionsBase", "ConstructionBase", "DataPipes", "InverseFunctions", "LinearAlgebra", "Reexport"] | |
git-tree-sha1 = "34a9e3505307b3c318ee5478a9177f83f604ad16" | |
uuid = "33016aad-b69d-45be-9359-82a41f556fd4" | |
version = "0.1.92" | |
[deps.AccessorsExtra.extensions] | |
ColorTypesExt = "ColorTypes" | |
DatesExt = "Dates" | |
DictArraysExt = "DictArrays" | |
DictionariesExt = "Dictionaries" | |
DistributionsExt = "Distributions" | |
DomainSetsExt = "DomainSets" | |
FlexiMapsExt = "FlexiMaps" | |
FlexiMapsStructArraysExt = ["FlexiMaps", "StructArrays"] | |
SkipperExt = "Skipper" | |
StaticArraysExt = "StaticArrays" | |
StructArraysExt = "StructArrays" | |
TablesExt = "Tables" | |
TestExt = "Test" | |
URIsExt = "URIs" | |
UnitfulExt = "Unitful" | |
[deps.AccessorsExtra.weakdeps] | |
ColorTypes = "3da002f7-5984-5a60-b8a6-cbb66c0b333f" | |
Dates = "ade2ca70-3891-5945-98fb-dc099432e06a" | |
DictArrays = "e9958f2c-b184-4647-9c5a-224a61f6a14b" | |
Dictionaries = "85a47980-9c8c-11e8-2b9f-f7ca1fa99fb4" | |
Distributions = "31c24e10-a181-5473-b8eb-7969acd0382f" | |
DomainSets = "5b8099bc-c8ec-5219-889f-1d9e522a28bf" | |
FlexiMaps = "6394faf6-06db-4fa8-b750-35ccc60383f7" | |
Skipper = "fc65d762-6112-4b1c-b428-ad0792653d81" | |
StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" | |
StructArrays = "09ab397b-f2b6-538f-b94a-2f83cf4a842a" | |
Tables = "bd369af6-aec1-5ad0-b16a-f7cc5008161c" | |
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" | |
URIs = "5c2747f8-b7ea-4ff2-ba2e-563bfd36b1d4" | |
Unitful = "1986cc42-f94f-5a68-af5c-568840ba703d" | |
[[deps.Adapt]] | |
deps = ["LinearAlgebra", "Requires"] | |
git-tree-sha1 = "50c3c56a52972d78e8be9fd135bfb91c9574c140" | |
uuid = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" | |
version = "4.1.1" | |
[deps.Adapt.extensions] | |
AdaptStaticArraysExt = "StaticArrays" | |
[deps.Adapt.weakdeps] | |
StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" | |
[[deps.ArgTools]] | |
uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f" | |
version = "1.1.2" | |
[[deps.ArrayInterface]] | |
deps = ["Adapt", "LinearAlgebra"] | |
git-tree-sha1 = "017fcb757f8e921fb44ee063a7aafe5f89b86dd1" | |
uuid = "4fba245c-0d91-5ea0-9b3e-6abc04ee57a9" | |
version = "7.18.0" | |
[deps.ArrayInterface.extensions] | |
ArrayInterfaceBandedMatricesExt = "BandedMatrices" | |
ArrayInterfaceBlockBandedMatricesExt = "BlockBandedMatrices" | |
ArrayInterfaceCUDAExt = "CUDA" | |
ArrayInterfaceCUDSSExt = "CUDSS" | |
ArrayInterfaceChainRulesCoreExt = "ChainRulesCore" | |
ArrayInterfaceChainRulesExt = "ChainRules" | |
ArrayInterfaceGPUArraysCoreExt = "GPUArraysCore" | |
ArrayInterfaceReverseDiffExt = "ReverseDiff" | |
ArrayInterfaceSparseArraysExt = "SparseArrays" | |
ArrayInterfaceStaticArraysCoreExt = "StaticArraysCore" | |
ArrayInterfaceTrackerExt = "Tracker" | |
[deps.ArrayInterface.weakdeps] | |
BandedMatrices = "aae01518-5342-5314-be14-df237901396f" | |
BlockBandedMatrices = "ffab5731-97b5-5995-9138-79e8c1846df0" | |
CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba" | |
CUDSS = "45b445bb-4962-46a0-9369-b4df9d0f772e" | |
ChainRules = "082447d4-558c-5d27-93f4-14fc19e9eca2" | |
ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" | |
GPUArraysCore = "46192b85-c4d5-4398-a991-12ede77f4527" | |
ReverseDiff = "37e2e3b7-166d-5795-8a7a-e32c996b4267" | |
SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" | |
StaticArraysCore = "1e83bf80-4336-4d27-bf5d-d5a4f845583c" | |
Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c" | |
[[deps.Artifacts]] | |
uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33" | |
version = "1.11.0" | |
[[deps.Base64]] | |
uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" | |
version = "1.11.0" | |
[[deps.BitTwiddlingConvenienceFunctions]] | |
deps = ["Static"] | |
git-tree-sha1 = "f21cfd4950cb9f0587d5067e69405ad2acd27b87" | |
uuid = "62783981-4cbd-42fc-bca8-16325de8dc4b" | |
version = "0.1.6" | |
[[deps.CEnum]] | |
git-tree-sha1 = "389ad5c84de1ae7cf0e28e381131c98ea87d54fc" | |
uuid = "fa961155-64e5-5f13-b03f-caf6b980ea82" | |
version = "0.5.0" | |
[[deps.CPUSummary]] | |
deps = ["CpuId", "IfElse", "PrecompileTools", "Static"] | |
git-tree-sha1 = "5a97e67919535d6841172016c9530fd69494e5ec" | |
uuid = "2a0fbf3d-bb9c-48f3-b0a9-814d99fd7ab9" | |
version = "0.2.6" | |
[[deps.CloseOpenIntervals]] | |
deps = ["Static", "StaticArrayInterface"] | |
git-tree-sha1 = "05ba0d07cd4fd8b7a39541e31a7b0254704ea581" | |
uuid = "fb6a15b2-703c-40df-9091-08a04967cfa9" | |
version = "0.1.13" | |
[[deps.CommonSolve]] | |
git-tree-sha1 = "0eee5eb66b1cf62cd6ad1b460238e60e4b09400c" | |
uuid = "38540f10-b2f7-11e9-35d8-d573e4eb0ff2" | |
version = "0.2.4" | |
[[deps.CommonWorldInvalidations]] | |
git-tree-sha1 = "ae52d1c52048455e85a387fbee9be553ec2b68d0" | |
uuid = "f70d9fcc-98c5-4d4a-abd7-e4cdeebd8ca8" | |
version = "1.0.0" | |
[[deps.Compat]] | |
deps = ["TOML", "UUIDs"] | |
git-tree-sha1 = "8ae8d32e09f0dcf42a36b90d4e17f5dd2e4c4215" | |
uuid = "34da2185-b29b-5c13-b0c7-acf172513d20" | |
version = "4.16.0" | |
weakdeps = ["Dates", "LinearAlgebra"] | |
[deps.Compat.extensions] | |
CompatLinearAlgebraExt = "LinearAlgebra" | |
[[deps.CompilerSupportLibraries_jll]] | |
deps = ["Artifacts", "Libdl"] | |
uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae" | |
version = "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.ConstructionBase]] | |
git-tree-sha1 = "76219f1ed5771adbb096743bff43fb5fdd4c1157" | |
uuid = "187b0558-2788-49d3-abe0-74a17ed4e7c9" | |
version = "1.5.8" | |
[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.CpuId]] | |
deps = ["Markdown"] | |
git-tree-sha1 = "fcbb72b032692610bfbdb15018ac16a36cf2e406" | |
uuid = "adafc99b-e345-5852-983c-f28acb93d879" | |
version = "0.3.1" | |
[[deps.DataPipes]] | |
git-tree-sha1 = "29077a8d5c093f4e0988e92c0d76f56c4c581900" | |
uuid = "02685ad9-2d12-40c3-9f73-c6aeda6a7ff5" | |
version = "0.3.18" | |
[[deps.Dates]] | |
deps = ["Printf"] | |
uuid = "ade2ca70-3891-5945-98fb-dc099432e06a" | |
version = "1.11.0" | |
[[deps.DifferentiationInterface]] | |
deps = ["ADTypes", "LinearAlgebra"] | |
git-tree-sha1 = "0c21d9ab346ae9eedb10bd33ea4520de6980a39b" | |
uuid = "a0c0ee7d-e4b9-4e03-894e-1c5f64a51d63" | |
version = "0.6.39" | |
[deps.DifferentiationInterface.extensions] | |
DifferentiationInterfaceChainRulesCoreExt = "ChainRulesCore" | |
DifferentiationInterfaceDiffractorExt = "Diffractor" | |
DifferentiationInterfaceEnzymeExt = ["EnzymeCore", "Enzyme"] | |
DifferentiationInterfaceFastDifferentiationExt = "FastDifferentiation" | |
DifferentiationInterfaceFiniteDiffExt = "FiniteDiff" | |
DifferentiationInterfaceFiniteDifferencesExt = "FiniteDifferences" | |
DifferentiationInterfaceForwardDiffExt = ["ForwardDiff", "DiffResults"] | |
DifferentiationInterfaceGTPSAExt = "GTPSA" | |
DifferentiationInterfaceMooncakeExt = "Mooncake" | |
DifferentiationInterfacePolyesterForwardDiffExt = "PolyesterForwardDiff" | |
DifferentiationInterfaceReverseDiffExt = ["ReverseDiff", "DiffResults"] | |
DifferentiationInterfaceSparseArraysExt = "SparseArrays" | |
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" | |
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" | |
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.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.Enzyme]] | |
deps = ["CEnum", "EnzymeCore", "Enzyme_jll", "GPUCompiler", "LLVM", "Libdl", "LinearAlgebra", "ObjectFile", "PrecompileTools", "Preferences", "Printf", "Random", "SparseArrays"] | |
git-tree-sha1 = "ff85c59fd11d0b3736685dca0007e64857cb176f" | |
uuid = "7da242da-08ed-463a-9acd-ee780be4f1d9" | |
version = "0.13.30" | |
[deps.Enzyme.extensions] | |
EnzymeBFloat16sExt = "BFloat16s" | |
EnzymeChainRulesCoreExt = "ChainRulesCore" | |
EnzymeGPUArraysCoreExt = "GPUArraysCore" | |
EnzymeLogExpFunctionsExt = "LogExpFunctions" | |
EnzymeSpecialFunctionsExt = "SpecialFunctions" | |
EnzymeStaticArraysExt = "StaticArrays" | |
[deps.Enzyme.weakdeps] | |
BFloat16s = "ab4f0b2a-ad5b-11e8-123f-65d77653426b" | |
ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" | |
GPUArraysCore = "46192b85-c4d5-4398-a991-12ede77f4527" | |
LogExpFunctions = "2ab3a3ac-af41-5b50-aa03-7779005ae688" | |
SpecialFunctions = "276daf66-3868-5448-9aa4-cd146d93841b" | |
StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" | |
[[deps.EnzymeCore]] | |
git-tree-sha1 = "0cdb7af5c39e92d78a0ee8d0a447d32f7593137e" | |
uuid = "f151be2c-9106-41f4-ab19-57ee4f262869" | |
version = "0.8.8" | |
weakdeps = ["Adapt"] | |
[deps.EnzymeCore.extensions] | |
AdaptExt = "Adapt" | |
[[deps.Enzyme_jll]] | |
deps = ["Artifacts", "JLLWrappers", "LazyArtifacts", "Libdl", "TOML"] | |
git-tree-sha1 = "b81b0143399acd84a2ed2a1fa0b4ab55e25ee625" | |
uuid = "7cc45869-7501-5eee-bdea-0790c847d4ef" | |
version = "0.0.172+0" | |
[[deps.ExprTools]] | |
git-tree-sha1 = "27415f162e6028e81c72b82ef756bf321213b6ec" | |
uuid = "e2ba6199-217a-4e67-a87a-7c52f15ade04" | |
version = "0.1.10" | |
[[deps.FileWatching]] | |
uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee" | |
version = "1.11.0" | |
[[deps.FinanceCore]] | |
deps = ["Dates", "LoopVectorization", "Roots"] | |
git-tree-sha1 = "fee45ca2703b60e01d4f1a9000af6cbaade8b332" | |
uuid = "b9b1ffdd-6612-4b69-8227-7663be06e089" | |
version = "2.2.0" | |
[[deps.GPUCompiler]] | |
deps = ["ExprTools", "InteractiveUtils", "LLVM", "Libdl", "Logging", "PrecompileTools", "Preferences", "Scratch", "Serialization", "TOML", "TimerOutputs", "UUIDs"] | |
git-tree-sha1 = "f38693a56bffbf30f063568cb18fabda7b9d0516" | |
uuid = "61eb1bfa-7361-4325-ad38-22787b887f55" | |
version = "1.1.1" | |
[[deps.HostCPUFeatures]] | |
deps = ["BitTwiddlingConvenienceFunctions", "IfElse", "Libdl", "Static"] | |
git-tree-sha1 = "8e070b599339d622e9a081d17230d74a5c473293" | |
uuid = "3e5b6fbb-0976-4d2c-9146-d79de83f2fb0" | |
version = "0.1.17" | |
[[deps.IfElse]] | |
git-tree-sha1 = "debdd00ffef04665ccbb3e150747a77560e8fad1" | |
uuid = "615f187c-cbe4-4ef1-ba3b-2fcf58d6d173" | |
version = "0.1.1" | |
[[deps.InteractiveUtils]] | |
deps = ["Markdown"] | |
uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240" | |
version = "1.11.0" | |
[[deps.InverseFunctions]] | |
git-tree-sha1 = "a779299d77cd080bf77b97535acecd73e1c5e5cb" | |
uuid = "3587e190-3f89-42d0-90ee-14403ec27112" | |
version = "0.1.17" | |
[deps.InverseFunctions.extensions] | |
InverseFunctionsDatesExt = "Dates" | |
InverseFunctionsTestExt = "Test" | |
[deps.InverseFunctions.weakdeps] | |
Dates = "ade2ca70-3891-5945-98fb-dc099432e06a" | |
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" | |
[[deps.JLLWrappers]] | |
deps = ["Artifacts", "Preferences"] | |
git-tree-sha1 = "a007feb38b422fbdab534406aeca1b86823cb4d6" | |
uuid = "692b3bcd-3c85-4b1f-b108-f13ce0eb3210" | |
version = "1.7.0" | |
[[deps.LLVM]] | |
deps = ["CEnum", "LLVMExtra_jll", "Libdl", "Preferences", "Printf", "Unicode"] | |
git-tree-sha1 = "5fcfea6df2ff3e4da708a40c969c3812162346df" | |
uuid = "929cbde3-209d-540e-8aea-75f648917ca0" | |
version = "9.2.0" | |
[deps.LLVM.extensions] | |
BFloat16sExt = "BFloat16s" | |
[deps.LLVM.weakdeps] | |
BFloat16s = "ab4f0b2a-ad5b-11e8-123f-65d77653426b" | |
[[deps.LLVMExtra_jll]] | |
deps = ["Artifacts", "JLLWrappers", "LazyArtifacts", "Libdl", "TOML"] | |
git-tree-sha1 = "4b5ad6a4ffa91a00050a964492bc4f86bb48cea0" | |
uuid = "dad2f222-ce93-54a1-a47d-0025e8a3acab" | |
version = "0.0.35+0" | |
[[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.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.LinearAlgebra]] | |
deps = ["Libdl", "OpenBLAS_jll", "libblastrampoline_jll"] | |
uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" | |
version = "1.11.0" | |
[[deps.Logging]] | |
uuid = "56ddb016-857b-54e1-b83d-db4d58db5568" | |
version = "1.11.0" | |
[[deps.LoopVectorization]] | |
deps = ["ArrayInterface", "CPUSummary", "CloseOpenIntervals", "DocStringExtensions", "HostCPUFeatures", "IfElse", "LayoutPointers", "LinearAlgebra", "OffsetArrays", "PolyesterWeave", "PrecompileTools", "SIMDTypes", "SLEEFPirates", "Static", "StaticArrayInterface", "ThreadingUtilities", "UnPack", "VectorizationBase"] | |
git-tree-sha1 = "8084c25a250e00ae427a379a5b607e7aed96a2dd" | |
uuid = "bdcacae8-1622-11e9-2a5c-532679323890" | |
version = "0.12.171" | |
[deps.LoopVectorization.extensions] | |
ForwardDiffExt = ["ChainRulesCore", "ForwardDiff"] | |
SpecialFunctionsExt = "SpecialFunctions" | |
[deps.LoopVectorization.weakdeps] | |
ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" | |
ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" | |
SpecialFunctions = "276daf66-3868-5448-9aa4-cd146d93841b" | |
[[deps.MacroTools]] | |
git-tree-sha1 = "72aebe0b5051e5143a079a4685a46da330a40472" | |
uuid = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09" | |
version = "0.5.15" | |
[[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.MbedTLS_jll]] | |
deps = ["Artifacts", "Libdl"] | |
uuid = "c8ffd9c3-330d-5841-b78e-0817d7145fa1" | |
version = "2.28.6+0" | |
[[deps.MozillaCACerts_jll]] | |
uuid = "14a3606d-f60d-562e-9121-12d972cd8159" | |
version = "2023.12.12" | |
[[deps.NetworkOptions]] | |
uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" | |
version = "1.2.0" | |
[[deps.ObjectFile]] | |
deps = ["Reexport", "StructIO"] | |
git-tree-sha1 = "dfcc26739b1ffa3ab51fb16f01ba7eb144f7bc50" | |
uuid = "d8793406-e978-5875-9003-1fc021f44a92" | |
version = "0.4.3" | |
[[deps.OffsetArrays]] | |
git-tree-sha1 = "5e1897147d1ff8d98883cda2be2187dcf57d8f0c" | |
uuid = "6fe1bfb0-de20-5000-8ca7-80f57d26f881" | |
version = "1.15.0" | |
weakdeps = ["Adapt"] | |
[deps.OffsetArrays.extensions] | |
OffsetArraysAdaptExt = "Adapt" | |
[[deps.OpenBLAS_jll]] | |
deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"] | |
uuid = "4536629a-c528-5b80-bd46-f80d51c5b363" | |
version = "0.3.27+1" | |
[[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" | |
[deps.Pkg.extensions] | |
REPLExt = "REPL" | |
[deps.Pkg.weakdeps] | |
REPL = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb" | |
[[deps.PolyesterWeave]] | |
deps = ["BitTwiddlingConvenienceFunctions", "CPUSummary", "IfElse", "Static", "ThreadingUtilities"] | |
git-tree-sha1 = "645bed98cd47f72f67316fd42fc47dee771aefcd" | |
uuid = "1d0040c9-8b98-4ee7-8388-3f51789ca0ad" | |
version = "0.2.2" | |
[[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" | |
version = "1.11.0" | |
[[deps.Random]] | |
deps = ["SHA"] | |
uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" | |
version = "1.11.0" | |
[[deps.Reexport]] | |
git-tree-sha1 = "45e428421666073eab6f2da5c9d310d99bb12f9b" | |
uuid = "189a3867-3050-52da-a836-e630ba90ab69" | |
version = "1.2.2" | |
[[deps.Requires]] | |
deps = ["UUIDs"] | |
git-tree-sha1 = "838a3a4188e2ded87a4f9f184b4b0d78a1e91cb7" | |
uuid = "ae029012-a4dd-5104-9daa-d747884805df" | |
version = "1.3.0" | |
[[deps.Roots]] | |
deps = ["Accessors", "CommonSolve", "Printf"] | |
git-tree-sha1 = "e52cf0872526c7a0b3e1af9c58a69b90e19b022e" | |
uuid = "f2b01f46-fcfa-551c-844a-d8ac1e96c665" | |
version = "2.2.5" | |
[deps.Roots.extensions] | |
RootsChainRulesCoreExt = "ChainRulesCore" | |
RootsForwardDiffExt = "ForwardDiff" | |
RootsIntervalRootFindingExt = "IntervalRootFinding" | |
RootsSymPyExt = "SymPy" | |
RootsSymPyPythonCallExt = "SymPyPythonCall" | |
[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" | |
[[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.SLEEFPirates]] | |
deps = ["IfElse", "Static", "VectorizationBase"] | |
git-tree-sha1 = "456f610ca2fbd1c14f5fcf31c6bfadc55e7d66e0" | |
uuid = "476501e8-09a2-5ece-8869-fb82de89a1fa" | |
version = "0.6.43" | |
[[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" | |
version = "1.11.0" | |
[[deps.SparseArrays]] | |
deps = ["Libdl", "LinearAlgebra", "Random", "Serialization", "SuiteSparse_jll"] | |
uuid = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" | |
version = "1.11.0" | |
[[deps.Static]] | |
deps = ["CommonWorldInvalidations", "IfElse", "PrecompileTools"] | |
git-tree-sha1 = "87d51a3ee9a4b0d2fe054bdd3fc2436258db2603" | |
uuid = "aedffcd0-7271-4cad-89d0-dc628f76c6d3" | |
version = "1.1.1" | |
[[deps.StaticArrayInterface]] | |
deps = ["ArrayInterface", "Compat", "IfElse", "LinearAlgebra", "PrecompileTools", "Static"] | |
git-tree-sha1 = "96381d50f1ce85f2663584c8e886a6ca97e60554" | |
uuid = "0d7ed370-da01-4f52-bd93-41d350b8b718" | |
version = "1.8.0" | |
[deps.StaticArrayInterface.extensions] | |
StaticArrayInterfaceOffsetArraysExt = "OffsetArrays" | |
StaticArrayInterfaceStaticArraysExt = "StaticArrays" | |
[deps.StaticArrayInterface.weakdeps] | |
OffsetArrays = "6fe1bfb0-de20-5000-8ca7-80f57d26f881" | |
StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" | |
[[deps.StructIO]] | |
git-tree-sha1 = "c581be48ae1cbf83e899b14c07a807e1787512cc" | |
uuid = "53d494c1-5632-5724-8f4c-31dff12d585f" | |
version = "0.3.1" | |
[[deps.SuiteSparse_jll]] | |
deps = ["Artifacts", "Libdl", "libblastrampoline_jll"] | |
uuid = "bea87d4a-7f5b-5778-9afe-8cc45184846c" | |
version = "7.7.0+0" | |
[[deps.TOML]] | |
deps = ["Dates"] | |
uuid = "fa267f1f-6049-4f14-aa54-33bafae1ed76" | |
version = "1.0.3" | |
[[deps.Tar]] | |
deps = ["ArgTools", "SHA"] | |
uuid = "a4e569a6-e804-4fa4-b0f3-eef7a1d5b13e" | |
version = "1.10.0" | |
[[deps.ThreadingUtilities]] | |
deps = ["ManualMemory"] | |
git-tree-sha1 = "eda08f7e9818eb53661b3deb74e3159460dfbc27" | |
uuid = "8290d209-cae3-49c0-8002-c8c24d57dab5" | |
version = "0.5.2" | |
[[deps.TimerOutputs]] | |
deps = ["ExprTools", "Printf"] | |
git-tree-sha1 = "d7298ebdfa1654583468a487e8e83fae9d72dac3" | |
uuid = "a759f4b9-e2f1-59dc-863e-4aeb61b1ea8f" | |
version = "0.5.26" | |
[[deps.UUIDs]] | |
deps = ["Random", "SHA"] | |
uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4" | |
version = "1.11.0" | |
[[deps.UnPack]] | |
git-tree-sha1 = "387c1f73762231e86e0c9c5443ce3b4a0a9a0c2b" | |
uuid = "3a884ed6-31ef-47d7-9d2a-63182c4928ed" | |
version = "1.0.2" | |
[[deps.Unicode]] | |
uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5" | |
version = "1.11.0" | |
[[deps.VectorizationBase]] | |
deps = ["ArrayInterface", "CPUSummary", "HostCPUFeatures", "IfElse", "LayoutPointers", "Libdl", "LinearAlgebra", "SIMDTypes", "Static", "StaticArrayInterface"] | |
git-tree-sha1 = "4ab62a49f1d8d9548a1c8d1a75e5f55cf196f64e" | |
uuid = "3d5dd08c-fd9d-11e8-17fa-ed2836048c2f" | |
version = "0.21.71" | |
[[deps.Zlib_jll]] | |
deps = ["Libdl"] | |
uuid = "83775a58-1f1d-513f-b197-d71354ab007a" | |
version = "1.2.13+1" | |
[[deps.libblastrampoline_jll]] | |
deps = ["Artifacts", "Libdl"] | |
uuid = "8e850b90-86db-534c-a0d3-1478176c7d93" | |
version = "5.11.0+0" | |
[[deps.nghttp2_jll]] | |
deps = ["Artifacts", "Libdl"] | |
uuid = "8e850ede-7688-5339-a07c-302acd2aaf8d" | |
version = "1.59.0+0" | |
[[deps.p7zip_jll]] | |
deps = ["Artifacts", "Libdl"] | |
uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0" | |
version = "17.4.0+2" | |
""" | |
# ╔═╡ Cell order: | |
# ╠═93ebaa22-e762-11ef-066b-d73eee15ef42 | |
# ╠═bd3a4aad-a6d5-434e-973e-017f6fdc13de | |
# ╠═9597e871-70fc-434e-bb31-72e666fefe84 | |
# ╠═32206da1-e3de-40b5-85f2-796f912b1f33 | |
# ╠═b9737e74-ad9a-4050-ba29-041524515934 | |
# ╠═e76faea2-df2c-44ee-be0c-3781d0caf648 | |
# ╠═fea3cec1-d225-4947-94df-e1a61e3798e9 | |
# ╠═0a31449b-f854-421f-a13e-ed892692acd3 | |
# ╠═27af473c-f66f-41d8-9907-001e9de8547b | |
# ╠═533bb5bb-f827-4898-876f-9fdbce83b64b | |
# ╠═7a5ec046-8ad8-4aaa-8ebd-46fa65e9439a | |
# ╠═89e41b8f-8ff6-49f5-a08e-f80c33f6dbad | |
# ╠═bd97b052-1b3e-45fc-a39b-94eff70d4771 | |
# ╠═ebd2d8d1-5c4a-4600-bf1f-a6ce5ad226ba | |
# ╠═7a0dc539-4a1a-45aa-9b8c-388657dfd878 | |
# ╠═05d29aff-b566-4b35-aba1-01c9bf8f2a4e | |
# ╟─00000000-0000-0000-0000-000000000001 | |
# ╟─00000000-0000-0000-0000-000000000002 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment