comparison notebooks/display_examples_nb.jl @ 2058:aeb0a9b81ff7

Add notebook with examples of how objects are shown on the repl
author Jonatan Werpers <jonatan@werpers.com>
date Sat, 14 Feb 2026 23:26:00 +0100
parents
children 377df47849cb
comparison
equal deleted inserted replaced
2049:2f23d1ef6e1c 2058:aeb0a9b81ff7
1 ### A Pluto.jl notebook ###
2 # v0.20.21
3
4 using Markdown
5 using InteractiveUtils
6
7 # ╔═╡ 1f8a7cfa-94cc-41bf-a8c8-2dc5218741e0
8 begin
9 using Diffinitive
10 using Diffinitive.Grids
11 using Diffinitive.LazyTensors
12 using Diffinitive.SbpOperators
13 using PlutoUI
14 using StaticArrays
15 end
16
17 # ╔═╡ 885c60d7-d33c-4741-ae49-6a57510ec7b5
18 md"""
19 # Display tests
20 """
21
22 # ╔═╡ 9ee3372a-e78d-4f74-84ce-e04208d1558d
23 repl_show(v) = repr(MIME("text/plain"), v) |> println
24
25 # ╔═╡ 51c02ced-f684-417f-83f1-cade4edda43f
26 md"""
27 Common julia objects to compare with:
28 """
29
30 # ╔═╡ 25c90528-22cd-41ca-8572-ccd946928318
31 1 |> repl_show
32
33 # ╔═╡ e7f3e466-9833-428c-99ad-20bc9d88d951
34 [1,1] |> repl_show
35
36 # ╔═╡ 2e74f9b5-5b4f-4887-8a30-4655d560a45c
37 [1;; 2;;] |> repl_show
38
39 # ╔═╡ 365524b5-3182-4691-9817-1bbec1492c14
40 [1; 2;;] |> repl_show
41
42 # ╔═╡ d5725e1b-bc4f-4a95-975d-179c193908c9
43 [1; 2;; 3; 4;;] |> repl_show
44
45 # ╔═╡ b824ef8d-5026-4861-9a23-45a7939fd38c
46 "hej" |> repl_show
47
48 # ╔═╡ fbe365a2-f95e-4297-8326-c18d22932869
49 Dict("A" => 1, "B"=> 2) |> repl_show
50
51 # ╔═╡ 56670aff-0343-41cb-a653-35a61376dda4
52 1//2 |> repl_show
53
54 # ╔═╡ b5a6491e-a93e-4058-8ceb-be1dc4d4c100
55 BigInt(30) |> repl_show
56
57 # ╔═╡ 828d57a1-ee58-4204-8050-78127821a4c6
58 1:10 |> repl_show
59
60 # ╔═╡ 127d34f6-69f7-4082-a74b-0be86942f153
61 range(0,1,10) |> repl_show
62
63 # ╔═╡ c46a278e-a102-4544-82d8-7df816440410
64 rand(2,2,2,2) |> repl_show
65
66 # ╔═╡ 5aa7079c-8005-47f1-bb82-c35f3aa54b42
67 md"""
68 ## Parameter spaces
69 """
70
71 # ╔═╡ 08f493ed-189c-43f3-86f2-95fc475ec0e7
72 Interval(1,2) |> repl_show
73
74 # ╔═╡ f7244bf7-8266-469f-b07f-30c203d9af48
75 md"""
76 ## Grids
77 """
78
79 # ╔═╡ 0e14bd28-5dd1-44c4-abf4-23b70546bd49
80 equidistant_grid(0,1,11) |> repl_show
81
82 # ╔═╡ fcb74341-6b03-4ada-8f5d-bc245c23679b
83 equidistant_grid((0,0),(1,1),10,20) |> repl_show
84
85 # ╔═╡ 8dec053b-eaae-463d-800b-b8d89d5d550b
86 ZeroDimGrid(@SVector[1,2]) |> repl_show
87
88 # ╔═╡ c1172a36-c5d7-47dc-bc79-af0d43a8f6ee
89 let
90 x̄((ξ, η)) = @SVector[2ξ + η*(1-η), 3η+(1+η/2)*ξ^2]
91 J((ξ, η)) = @SMatrix[
92 2 1-2η;
93 (2+η)*ξ 3+1/2*ξ^2;
94 ]
95
96 mapped_grid(x̄, J, 10,10) |> repl_show
97 end
98
99 # ╔═╡ 9c889176-865b-402d-81b5-71957d2878f7
100 md"""
101 ## LazyArrays
102 """
103
104 # ╔═╡ 85e8e748-e575-4a29-80c7-22d110578343
105 LazyTensors.LazyConstantArray(10, (5,)) |> repl_show
106
107 # ╔═╡ 804ad722-9081-4d1d-b0d2-c536a26fe20d
108 LazyTensors.LazyFunctionArray((i,j)->10*i+j, (3,4)) |> repl_show
109
110 # ╔═╡ a70c689d-0851-497f-938a-e5c92ce59ddb
111 md"""
112 ## LazyTensors
113 """
114
115 # ╔═╡ 2afde3fe-96ed-4d7e-a79b-fc880e0da268
116 LazyTensors.IdentityTensor(5) |> repl_show
117
118 # ╔═╡ 5451a071-14ae-47ae-99c5-4d65508d280f
119 LazyTensors.IdentityTensor(4,3) |> repl_show
120
121 # ╔═╡ b6b06fe9-de16-41ca-ad45-eef6dd038485
122 LazyTensors.ScalingTensor(2., (4,3)) |> repl_show
123
124 # ╔═╡ d1c8c3a0-76ec-4c32-853e-0471d71e5cf0
125 LazyTensors.DiagonalTensor([1,2,3,4]) |> repl_show
126
127 # ╔═╡ 6051c144-9982-4bd9-92f9-d0aaf3961872
128 LazyTensors.DenseTensor(rand(2,2,2,2), (1,2), (3,4)) |> repl_show
129
130 # ╔═╡ 12a9f430-f96b-43f2-bf63-149b5a028fd7
131 begin
132 g1 = equidistant_grid(0,1,10)
133 g2 = equidistant_grid((0,0),(1,1),10, 11)
134 x̄((ξ, η)) = @SVector[2ξ + η*(1-η), 3η+(1+η/2)*ξ^2]
135 J((ξ, η)) = @SMatrix[
136 2 1-2η;
137 (2+η)*ξ 3+1/2*ξ^2;
138 ]
139 mg = mapped_grid(x̄, J, 10,10)
140 stencil_set2 = stencil_set = read_stencil_set(sbp_operators_path()*"standard_diagonal.toml"; order=2)
141 stencil_set4 = stencil_set = read_stencil_set(sbp_operators_path()*"standard_diagonal.toml"; order=4)
142 end;
143
144 # ╔═╡ e44f8d91-1cbf-44be-bef1-40e60c4a777f
145 first_derivative(g1, stencil_set2) |> repl_show
146
147 # ╔═╡ c378b88a-1d74-44a2-bdc1-b371da478de8
148 first_derivative(g1, stencil_set4) |> repl_show
149
150 # ╔═╡ 9614cda7-b48c-4925-89b5-113cf514f20f
151 first_derivative(g2, stencil_set2, 1) |> repl_show
152
153 # ╔═╡ 725e9430-4821-4939-bfef-6c186d2dc500
154 first_derivative(g2, stencil_set4, 2) |> repl_show
155
156 # ╔═╡ e8ca54a1-a6db-40a1-b44a-73e175894df4
157 second_derivative(g1, stencil_set2) |> repl_show
158
159 # ╔═╡ 5d1f10fe-f620-469c-822c-55955a5541ad
160 second_derivative(g1, stencil_set4) |> repl_show
161
162 # ╔═╡ fdc531d4-9d27-41dc-ba79-6febefde223a
163 second_derivative(g2, stencil_set2, 1) |> repl_show
164
165 # ╔═╡ fff2e04a-357f-4254-996e-d5ccd9ff31f8
166 second_derivative(g2, stencil_set4, 2) |> repl_show
167
168 # ╔═╡ 959b071e-1ef6-4f29-aa8b-d88bfef80c00
169 second_derivative_variable(g1, map(x->2x, g1), stencil_set2) |> repl_show
170
171 # ╔═╡ 0a0f7e77-a789-4fb3-a4c2-7853b67788ec
172 second_derivative_variable(g1, map(x->2x, g1), stencil_set4) |> repl_show
173
174 # ╔═╡ 177e0893-fbb1-4bb5-a108-e5990e943ab7
175 second_derivative_variable(g2, map(x->x[1]+x[2], g2), stencil_set2, 1) |> repl_show
176
177 # ╔═╡ f1b6bd54-baf6-4360-aec0-bd8d52497894
178 second_derivative_variable(g2, map(x->x[1]+x[2], g2), stencil_set4, 2) |> repl_show
179
180 # ╔═╡ a8f8343e-cd6f-451d-a2b3-e5f0f561f8af
181 undivided_skewed04(g1,4)[1] |> repl_show
182
183 # ╔═╡ 50291998-7194-4a0d-9c19-eacc48b3f5da
184 undivided_skewed04(g1,4)[2] |> repl_show
185
186 # ╔═╡ 1720af08-85e4-4502-b37e-9fa73008e221
187 undivided_skewed04(g2,4,1)[1] |> repl_show
188
189 # ╔═╡ 4a72f217-2423-4bc1-8452-eb28dde36689
190 undivided_skewed04(g2,4,2)[2] |> repl_show
191
192 # ╔═╡ 48a28ade-73bb-461d-ab96-82f92ed199c8
193 inner_product(g1, stencil_set2) |> repl_show
194
195 # ╔═╡ 3c681a63-94a6-4677-aef7-df903c463896
196 inner_product(g1, stencil_set4) |> repl_show
197
198 # ╔═╡ db735370-153a-40f9-b77f-9f60e30a35c4
199 inner_product(g2, stencil_set2) |> repl_show
200
201 # ╔═╡ 613ebac7-50bc-424c-8fa2-064b64c93319
202 inner_product(g2, stencil_set4) |> repl_show
203
204 # ╔═╡ 9e7d7667-960e-491f-8b83-e3b01a0db5b0
205 inverse_inner_product(g2, stencil_set4) |> repl_show
206
207 # ╔═╡ c3005e74-5b96-4b0c-9c57-b7d02968ed94
208 boundary_restriction(g1, stencil_set, LowerBoundary()) |> repl_show
209
210 # ╔═╡ fd019973-0d54-4e31-b43b-f53a704cb01c
211 boundary_restriction(g1, stencil_set, UpperBoundary()) |> repl_show
212
213 # ╔═╡ df2e8af0-9ca5-4972-8771-f8bea1591f85
214 boundary_restriction(g2, stencil_set, CartesianBoundary{1,LowerBoundary}()) |> repl_show
215
216 # ╔═╡ 8e538109-16a1-4af7-a986-9dc1455b7de7
217 boundary_restriction(g2, stencil_set, CartesianBoundary{2,UpperBoundary}()) |> repl_show
218
219 # ╔═╡ 5f3744a4-72d8-4448-820f-a928bfaaf825
220 normal_derivative(g1, stencil_set, LowerBoundary()) |> repl_show
221
222 # ╔═╡ 4529b5c4-4905-4fd3-9aaa-5f88faa841c8
223 normal_derivative(g1, stencil_set, UpperBoundary()) |> repl_show
224
225 # ╔═╡ c3bb0450-a7d5-44c1-9ca9-9e1ecf2db9f8
226 normal_derivative(g2, stencil_set, CartesianBoundary{1,LowerBoundary}()) |> repl_show
227
228 # ╔═╡ da63e57a-0794-4cd8-9941-ada0e5c1c40e
229 normal_derivative(g2, stencil_set, CartesianBoundary{2,UpperBoundary}()) |> repl_show
230
231 # ╔═╡ 0b951425-979c-4ac9-8581-f690b729bab4
232 md"""
233 ## Tensor operations
234 """
235
236 # ╔═╡ a39bb6e2-f1fe-4206-8ee3-88ff0c075233
237 begin
238 Dx = first_derivative(g2, stencil_set2, 1)
239 Dy = first_derivative(g2, stencil_set4, 2)
240
241 v = map(x->sin(x[1]^2+x[2]^2), g2)
242 end;
243
244 # ╔═╡ 8cd052d9-f40e-4796-aeef-52c02b3bf156
245 Dx+Dy |> repl_show
246
247 # ╔═╡ 1b1b7d12-50ef-4c4e-9376-a353a56540c3
248 Dx∘Dy |> repl_show
249
250 # ╔═╡ 57e48b4c-eef6-433e-98a1-1006e844b368
251 Dx*v |> repl_show
252
253 # ╔═╡ e2bf2649-4770-4f52-9752-b61ce03c6f82
254 (Dx+Dy)*v |> repl_show
255
256 # ╔═╡ d163d363-853d-4d83-a2d3-f8dd6e8f552d
257 (Dx∘Dy)*v |> repl_show
258
259 # ╔═╡ 1c38d3f9-1839-468c-a368-4ef101bd4f18
260 laplace(g2, stencil_set2) |> repl_show
261
262 # ╔═╡ cf84cefb-2dbd-4b8d-880b-47cc350a7c43
263 laplace(g2, stencil_set4) |> repl_show
264
265 # ╔═╡ 67c73667-1f41-47b5-b59a-459787767f29
266 # laplace(mg, stencil_set2) |> repl_show
267
268 # ╔═╡ 4634c1a6-0520-4b0f-8d32-a1fdf2ebaea5
269 md"""
270 ## Appendix
271 """
272
273 # ╔═╡ 24788161-b29a-450a-bd35-f9c29e7ded9a
274 PlutoUI.TableOfContents()
275
276 # ╔═╡ 00000000-0000-0000-0000-000000000001
277 PLUTO_PROJECT_TOML_CONTENTS = """
278 [deps]
279 Diffinitive = "5a373a26-915f-4769-bcab-bf03835de17b"
280 PlutoUI = "7f904dfe-b85e-4ff6-b463-dae2292396a8"
281 StaticArrays = "90137ffa-7385-5640-81b9-e52037218182"
282
283 [compat]
284 Diffinitive = "~0.1.5"
285 PlutoUI = "~0.7.71"
286 StaticArrays = "~1.9.16"
287 """
288
289 # ╔═╡ 00000000-0000-0000-0000-000000000002
290 PLUTO_MANIFEST_TOML_CONTENTS = """
291 # This file is machine-generated - editing it directly is not advised
292
293 julia_version = "1.12.4"
294 manifest_format = "2.0"
295 project_hash = "8ad3b11d3caefa740741684109dab3915258eb55"
296
297 [[deps.AbstractPlutoDingetjes]]
298 deps = ["Pkg"]
299 git-tree-sha1 = "6e1d2a35f2f90a4bc7c2ed98079b2ba09c35b83a"
300 uuid = "6e696c72-6542-2067-7265-42206c756150"
301 version = "1.3.2"
302
303 [[deps.ArgTools]]
304 uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f"
305 version = "1.1.2"
306
307 [[deps.Artifacts]]
308 uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33"
309 version = "1.11.0"
310
311 [[deps.Base64]]
312 uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f"
313 version = "1.11.0"
314
315 [[deps.ColorTypes]]
316 deps = ["FixedPointNumbers", "Random"]
317 git-tree-sha1 = "67e11ee83a43eb71ddc950302c53bf33f0690dfe"
318 uuid = "3da002f7-5984-5a60-b8a6-cbb66c0b333f"
319 version = "0.12.1"
320 weakdeps = ["StyledStrings"]
321
322 [deps.ColorTypes.extensions]
323 StyledStringsExt = "StyledStrings"
324
325 [[deps.CompilerSupportLibraries_jll]]
326 deps = ["Artifacts", "Libdl"]
327 uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae"
328 version = "1.3.0+1"
329
330 [[deps.Dates]]
331 deps = ["Printf"]
332 uuid = "ade2ca70-3891-5945-98fb-dc099432e06a"
333 version = "1.11.0"
334
335 [[deps.Diffinitive]]
336 deps = ["LinearAlgebra", "StaticArrays", "TOML"]
337 git-tree-sha1 = "064ed50f32f0fb073406c2db1f391faeb1f2357c"
338 uuid = "5a373a26-915f-4769-bcab-bf03835de17b"
339 version = "0.1.5"
340
341 [deps.Diffinitive.extensions]
342 DiffinitiveMakieExt = "Makie"
343 DiffinitivePlotsExt = "Plots"
344 DiffinitiveSparseArrayKitExt = ["SparseArrayKit", "Tokens"]
345 DiffinitiveSparseArraysExt = ["SparseArrays", "Tokens"]
346
347 [deps.Diffinitive.weakdeps]
348 Makie = "ee78f7c6-11fb-53f2-987a-cfe4a2b5a57a"
349 Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80"
350 SparseArrayKit = "a9a3c162-d163-4c15-8926-b8794fbefed2"
351 SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
352 Tokens = "040c2ec2-8d69-4aca-bf03-7d3a7092f2f6"
353
354 [[deps.Downloads]]
355 deps = ["ArgTools", "FileWatching", "LibCURL", "NetworkOptions"]
356 uuid = "f43a241f-c20a-4ad4-852c-f6b1247861c6"
357 version = "1.7.0"
358
359 [[deps.FileWatching]]
360 uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee"
361 version = "1.11.0"
362
363 [[deps.FixedPointNumbers]]
364 deps = ["Statistics"]
365 git-tree-sha1 = "05882d6995ae5c12bb5f36dd2ed3f61c98cbb172"
366 uuid = "53c48c17-4a7d-5ca2-90c5-79b7896eea93"
367 version = "0.8.5"
368
369 [[deps.Hyperscript]]
370 deps = ["Test"]
371 git-tree-sha1 = "179267cfa5e712760cd43dcae385d7ea90cc25a4"
372 uuid = "47d2ed2b-36de-50cf-bf87-49c2cf4b8b91"
373 version = "0.0.5"
374
375 [[deps.HypertextLiteral]]
376 deps = ["Tricks"]
377 git-tree-sha1 = "7134810b1afce04bbc1045ca1985fbe81ce17653"
378 uuid = "ac1192a8-f4b3-4bfe-ba22-af5b92cd3ab2"
379 version = "0.9.5"
380
381 [[deps.IOCapture]]
382 deps = ["Logging", "Random"]
383 git-tree-sha1 = "b6d6bfdd7ce25b0f9b2f6b3dd56b2673a66c8770"
384 uuid = "b5f81e59-6552-4d32-b1f0-c071b021bf89"
385 version = "0.2.5"
386
387 [[deps.InteractiveUtils]]
388 deps = ["Markdown"]
389 uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240"
390 version = "1.11.0"
391
392 [[deps.JSON]]
393 deps = ["Dates", "Mmap", "Parsers", "Unicode"]
394 git-tree-sha1 = "31e996f0a15c7b280ba9f76636b3ff9e2ae58c9a"
395 uuid = "682c06a0-de6a-54ab-a142-c8b1cf79cde6"
396 version = "0.21.4"
397
398 [[deps.JuliaSyntaxHighlighting]]
399 deps = ["StyledStrings"]
400 uuid = "ac6e5ff7-fb65-4e79-a425-ec3bc9c03011"
401 version = "1.12.0"
402
403 [[deps.LibCURL]]
404 deps = ["LibCURL_jll", "MozillaCACerts_jll"]
405 uuid = "b27032c2-a3e7-50c8-80cd-2d36dbcbfd21"
406 version = "0.6.4"
407
408 [[deps.LibCURL_jll]]
409 deps = ["Artifacts", "LibSSH2_jll", "Libdl", "OpenSSL_jll", "Zlib_jll", "nghttp2_jll"]
410 uuid = "deac9b47-8bc7-5906-a0fe-35ac56dc84c0"
411 version = "8.15.0+0"
412
413 [[deps.LibGit2]]
414 deps = ["LibGit2_jll", "NetworkOptions", "Printf", "SHA"]
415 uuid = "76f85450-5226-5b5a-8eaa-529ad045b433"
416 version = "1.11.0"
417
418 [[deps.LibGit2_jll]]
419 deps = ["Artifacts", "LibSSH2_jll", "Libdl", "OpenSSL_jll"]
420 uuid = "e37daf67-58a4-590a-8e99-b0245dd2ffc5"
421 version = "1.9.0+0"
422
423 [[deps.LibSSH2_jll]]
424 deps = ["Artifacts", "Libdl", "OpenSSL_jll"]
425 uuid = "29816b5a-b9ab-546f-933c-edad1886dfa8"
426 version = "1.11.3+1"
427
428 [[deps.Libdl]]
429 uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb"
430 version = "1.11.0"
431
432 [[deps.LinearAlgebra]]
433 deps = ["Libdl", "OpenBLAS_jll", "libblastrampoline_jll"]
434 uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
435 version = "1.12.0"
436
437 [[deps.Logging]]
438 uuid = "56ddb016-857b-54e1-b83d-db4d58db5568"
439 version = "1.11.0"
440
441 [[deps.MIMEs]]
442 git-tree-sha1 = "c64d943587f7187e751162b3b84445bbbd79f691"
443 uuid = "6c6e2e6c-3030-632d-7369-2d6c69616d65"
444 version = "1.1.0"
445
446 [[deps.Markdown]]
447 deps = ["Base64", "JuliaSyntaxHighlighting", "StyledStrings"]
448 uuid = "d6f4376e-aef5-505a-96c1-9c027394607a"
449 version = "1.11.0"
450
451 [[deps.Mmap]]
452 uuid = "a63ad114-7e13-5084-954f-fe012c677804"
453 version = "1.11.0"
454
455 [[deps.MozillaCACerts_jll]]
456 uuid = "14a3606d-f60d-562e-9121-12d972cd8159"
457 version = "2025.11.4"
458
459 [[deps.NetworkOptions]]
460 uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908"
461 version = "1.3.0"
462
463 [[deps.OpenBLAS_jll]]
464 deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"]
465 uuid = "4536629a-c528-5b80-bd46-f80d51c5b363"
466 version = "0.3.29+0"
467
468 [[deps.OpenSSL_jll]]
469 deps = ["Artifacts", "Libdl"]
470 uuid = "458c3c95-2e84-50aa-8efc-19380b2a3a95"
471 version = "3.5.4+0"
472
473 [[deps.Parsers]]
474 deps = ["Dates", "PrecompileTools", "UUIDs"]
475 git-tree-sha1 = "7d2f8f21da5db6a806faf7b9b292296da42b2810"
476 uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0"
477 version = "2.8.3"
478
479 [[deps.Pkg]]
480 deps = ["Artifacts", "Dates", "Downloads", "FileWatching", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "Random", "SHA", "TOML", "Tar", "UUIDs", "p7zip_jll"]
481 uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"
482 version = "1.12.1"
483
484 [deps.Pkg.extensions]
485 REPLExt = "REPL"
486
487 [deps.Pkg.weakdeps]
488 REPL = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb"
489
490 [[deps.PlutoUI]]
491 deps = ["AbstractPlutoDingetjes", "Base64", "ColorTypes", "Dates", "Downloads", "FixedPointNumbers", "Hyperscript", "HypertextLiteral", "IOCapture", "InteractiveUtils", "JSON", "Logging", "MIMEs", "Markdown", "Random", "Reexport", "URIs", "UUIDs"]
492 git-tree-sha1 = "8329a3a4f75e178c11c1ce2342778bcbbbfa7e3c"
493 uuid = "7f904dfe-b85e-4ff6-b463-dae2292396a8"
494 version = "0.7.71"
495
496 [[deps.PrecompileTools]]
497 deps = ["Preferences"]
498 git-tree-sha1 = "07a921781cab75691315adc645096ed5e370cb77"
499 uuid = "aea7be01-6a6a-4083-8856-8a6e6704d82a"
500 version = "1.3.3"
501
502 [[deps.Preferences]]
503 deps = ["TOML"]
504 git-tree-sha1 = "522f093a29b31a93e34eaea17ba055d850edea28"
505 uuid = "21216c6a-2e73-6563-6e65-726566657250"
506 version = "1.5.1"
507
508 [[deps.Printf]]
509 deps = ["Unicode"]
510 uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7"
511 version = "1.11.0"
512
513 [[deps.Random]]
514 deps = ["SHA"]
515 uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
516 version = "1.11.0"
517
518 [[deps.Reexport]]
519 git-tree-sha1 = "45e428421666073eab6f2da5c9d310d99bb12f9b"
520 uuid = "189a3867-3050-52da-a836-e630ba90ab69"
521 version = "1.2.2"
522
523 [[deps.SHA]]
524 uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce"
525 version = "0.7.0"
526
527 [[deps.Serialization]]
528 uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b"
529 version = "1.11.0"
530
531 [[deps.StaticArrays]]
532 deps = ["LinearAlgebra", "PrecompileTools", "Random", "StaticArraysCore"]
533 git-tree-sha1 = "eee1b9ad8b29ef0d936e3ec9838c7ec089620308"
534 uuid = "90137ffa-7385-5640-81b9-e52037218182"
535 version = "1.9.16"
536
537 [deps.StaticArrays.extensions]
538 StaticArraysChainRulesCoreExt = "ChainRulesCore"
539 StaticArraysStatisticsExt = "Statistics"
540
541 [deps.StaticArrays.weakdeps]
542 ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4"
543 Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2"
544
545 [[deps.StaticArraysCore]]
546 git-tree-sha1 = "6ab403037779dae8c514bad259f32a447262455a"
547 uuid = "1e83bf80-4336-4d27-bf5d-d5a4f845583c"
548 version = "1.4.4"
549
550 [[deps.Statistics]]
551 deps = ["LinearAlgebra"]
552 git-tree-sha1 = "ae3bb1eb3bba077cd276bc5cfc337cc65c3075c0"
553 uuid = "10745b16-79ce-11e8-11f9-7d13ad32a3b2"
554 version = "1.11.1"
555
556 [deps.Statistics.extensions]
557 SparseArraysExt = ["SparseArrays"]
558
559 [deps.Statistics.weakdeps]
560 SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
561
562 [[deps.StyledStrings]]
563 uuid = "f489334b-da3d-4c2e-b8f0-e476e12c162b"
564 version = "1.11.0"
565
566 [[deps.TOML]]
567 deps = ["Dates"]
568 uuid = "fa267f1f-6049-4f14-aa54-33bafae1ed76"
569 version = "1.0.3"
570
571 [[deps.Tar]]
572 deps = ["ArgTools", "SHA"]
573 uuid = "a4e569a6-e804-4fa4-b0f3-eef7a1d5b13e"
574 version = "1.10.0"
575
576 [[deps.Test]]
577 deps = ["InteractiveUtils", "Logging", "Random", "Serialization"]
578 uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
579 version = "1.11.0"
580
581 [[deps.Tricks]]
582 git-tree-sha1 = "311349fd1c93a31f783f977a71e8b062a57d4101"
583 uuid = "410a4b4d-49e4-4fbc-ab6d-cb71b17b3775"
584 version = "0.1.13"
585
586 [[deps.URIs]]
587 git-tree-sha1 = "bef26fb046d031353ef97a82e3fdb6afe7f21b1a"
588 uuid = "5c2747f8-b7ea-4ff2-ba2e-563bfd36b1d4"
589 version = "1.6.1"
590
591 [[deps.UUIDs]]
592 deps = ["Random", "SHA"]
593 uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4"
594 version = "1.11.0"
595
596 [[deps.Unicode]]
597 uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5"
598 version = "1.11.0"
599
600 [[deps.Zlib_jll]]
601 deps = ["Libdl"]
602 uuid = "83775a58-1f1d-513f-b197-d71354ab007a"
603 version = "1.3.1+2"
604
605 [[deps.libblastrampoline_jll]]
606 deps = ["Artifacts", "Libdl"]
607 uuid = "8e850b90-86db-534c-a0d3-1478176c7d93"
608 version = "5.15.0+0"
609
610 [[deps.nghttp2_jll]]
611 deps = ["Artifacts", "Libdl"]
612 uuid = "8e850ede-7688-5339-a07c-302acd2aaf8d"
613 version = "1.64.0+1"
614
615 [[deps.p7zip_jll]]
616 deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"]
617 uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0"
618 version = "17.7.0+0"
619 """
620
621 # ╔═╡ Cell order:
622 # ╟─885c60d7-d33c-4741-ae49-6a57510ec7b5
623 # ╠═9ee3372a-e78d-4f74-84ce-e04208d1558d
624 # ╟─51c02ced-f684-417f-83f1-cade4edda43f
625 # ╠═25c90528-22cd-41ca-8572-ccd946928318
626 # ╠═e7f3e466-9833-428c-99ad-20bc9d88d951
627 # ╠═2e74f9b5-5b4f-4887-8a30-4655d560a45c
628 # ╠═365524b5-3182-4691-9817-1bbec1492c14
629 # ╠═d5725e1b-bc4f-4a95-975d-179c193908c9
630 # ╠═b824ef8d-5026-4861-9a23-45a7939fd38c
631 # ╠═fbe365a2-f95e-4297-8326-c18d22932869
632 # ╠═56670aff-0343-41cb-a653-35a61376dda4
633 # ╠═b5a6491e-a93e-4058-8ceb-be1dc4d4c100
634 # ╠═828d57a1-ee58-4204-8050-78127821a4c6
635 # ╠═127d34f6-69f7-4082-a74b-0be86942f153
636 # ╠═c46a278e-a102-4544-82d8-7df816440410
637 # ╟─5aa7079c-8005-47f1-bb82-c35f3aa54b42
638 # ╠═08f493ed-189c-43f3-86f2-95fc475ec0e7
639 # ╟─f7244bf7-8266-469f-b07f-30c203d9af48
640 # ╠═0e14bd28-5dd1-44c4-abf4-23b70546bd49
641 # ╠═fcb74341-6b03-4ada-8f5d-bc245c23679b
642 # ╠═8dec053b-eaae-463d-800b-b8d89d5d550b
643 # ╠═c1172a36-c5d7-47dc-bc79-af0d43a8f6ee
644 # ╟─9c889176-865b-402d-81b5-71957d2878f7
645 # ╠═85e8e748-e575-4a29-80c7-22d110578343
646 # ╠═804ad722-9081-4d1d-b0d2-c536a26fe20d
647 # ╟─a70c689d-0851-497f-938a-e5c92ce59ddb
648 # ╠═2afde3fe-96ed-4d7e-a79b-fc880e0da268
649 # ╠═5451a071-14ae-47ae-99c5-4d65508d280f
650 # ╠═b6b06fe9-de16-41ca-ad45-eef6dd038485
651 # ╠═d1c8c3a0-76ec-4c32-853e-0471d71e5cf0
652 # ╠═6051c144-9982-4bd9-92f9-d0aaf3961872
653 # ╠═12a9f430-f96b-43f2-bf63-149b5a028fd7
654 # ╠═e44f8d91-1cbf-44be-bef1-40e60c4a777f
655 # ╠═c378b88a-1d74-44a2-bdc1-b371da478de8
656 # ╠═9614cda7-b48c-4925-89b5-113cf514f20f
657 # ╠═725e9430-4821-4939-bfef-6c186d2dc500
658 # ╠═e8ca54a1-a6db-40a1-b44a-73e175894df4
659 # ╠═5d1f10fe-f620-469c-822c-55955a5541ad
660 # ╠═fdc531d4-9d27-41dc-ba79-6febefde223a
661 # ╠═fff2e04a-357f-4254-996e-d5ccd9ff31f8
662 # ╠═959b071e-1ef6-4f29-aa8b-d88bfef80c00
663 # ╠═0a0f7e77-a789-4fb3-a4c2-7853b67788ec
664 # ╠═177e0893-fbb1-4bb5-a108-e5990e943ab7
665 # ╠═f1b6bd54-baf6-4360-aec0-bd8d52497894
666 # ╠═a8f8343e-cd6f-451d-a2b3-e5f0f561f8af
667 # ╠═50291998-7194-4a0d-9c19-eacc48b3f5da
668 # ╠═1720af08-85e4-4502-b37e-9fa73008e221
669 # ╠═4a72f217-2423-4bc1-8452-eb28dde36689
670 # ╠═48a28ade-73bb-461d-ab96-82f92ed199c8
671 # ╠═3c681a63-94a6-4677-aef7-df903c463896
672 # ╠═db735370-153a-40f9-b77f-9f60e30a35c4
673 # ╠═613ebac7-50bc-424c-8fa2-064b64c93319
674 # ╠═9e7d7667-960e-491f-8b83-e3b01a0db5b0
675 # ╠═c3005e74-5b96-4b0c-9c57-b7d02968ed94
676 # ╠═fd019973-0d54-4e31-b43b-f53a704cb01c
677 # ╠═df2e8af0-9ca5-4972-8771-f8bea1591f85
678 # ╠═8e538109-16a1-4af7-a986-9dc1455b7de7
679 # ╠═5f3744a4-72d8-4448-820f-a928bfaaf825
680 # ╠═4529b5c4-4905-4fd3-9aaa-5f88faa841c8
681 # ╠═c3bb0450-a7d5-44c1-9ca9-9e1ecf2db9f8
682 # ╠═da63e57a-0794-4cd8-9941-ada0e5c1c40e
683 # ╟─0b951425-979c-4ac9-8581-f690b729bab4
684 # ╠═a39bb6e2-f1fe-4206-8ee3-88ff0c075233
685 # ╠═8cd052d9-f40e-4796-aeef-52c02b3bf156
686 # ╠═1b1b7d12-50ef-4c4e-9376-a353a56540c3
687 # ╠═57e48b4c-eef6-433e-98a1-1006e844b368
688 # ╠═e2bf2649-4770-4f52-9752-b61ce03c6f82
689 # ╠═d163d363-853d-4d83-a2d3-f8dd6e8f552d
690 # ╠═1c38d3f9-1839-468c-a368-4ef101bd4f18
691 # ╠═cf84cefb-2dbd-4b8d-880b-47cc350a7c43
692 # ╠═67c73667-1f41-47b5-b59a-459787767f29
693 # ╟─4634c1a6-0520-4b0f-8d32-a1fdf2ebaea5
694 # ╠═1f8a7cfa-94cc-41bf-a8c8-2dc5218741e0
695 # ╠═24788161-b29a-450a-bd35-f9c29e7ded9a
696 # ╟─00000000-0000-0000-0000-000000000001
697 # ╟─00000000-0000-0000-0000-000000000002