diff --git a/Course.jl b/Course.jl
new file mode 100644
index 0000000000000000000000000000000000000000..948995e2f0cdb14d372b7f66eba6a868f938955d
--- /dev/null
+++ b/Course.jl
@@ -0,0 +1,370 @@
+### A Pluto.jl notebook ###
+# v0.20.4
+
+using Markdown
+using InteractiveUtils
+
+# ╔═╡ ad6879b3-ad9d-4d7c-9122-f034949ae0cf
+using PlutoUI
+
+# ╔═╡ 14ef8e22-f10f-472a-b512-5cd62781b082
+md"""
+**What is this?**
+
+
+*This jupyter notebook is part of a collection of notebooks on various topics discussed during the Time Domain Astrophysics course delivered by Stefano Covino at the [Università dell'Insubria](https://www.uninsubria.eu/) in Como (Italy). Please direct questions and suggestions to [stefano.covino@inaf.it](mailto:stefano.covino@inaf.it).*
+"""
+
+# ╔═╡ bfe2b83c-dba1-4c64-a35f-83264822c9d7
+md"""
+**This is a `pluto` notebook**
+"""
+
+# ╔═╡ 9b05aaa6-d44f-4081-8749-ab5408a492b9
+md"""
+$(LocalResource("Lectures/Pics/TimeDomainBanner.jpg"))
+"""
+
+# ╔═╡ 270dc9c6-5eb3-4838-bf4a-62cbf2339a53
+md"""
+# Time-Domain Astrophysics
+***
+"""
+
+# ╔═╡ aec92f06-df81-4c51-99cb-ac3ebc91c7fc
+md"""
+## Academic Year 2024-2025
+***
+"""
+
+# ╔═╡ 78f7f381-9d3e-4715-87d4-b4165025aded
+md"""
+### Lecture list:
+***
+
+1. [Lecture: Introduction](./open?path=Lectures/Lecture - Introduction/Lecture-Introduction.jl)
+2. [Lecture: Statistics Reminder](./open?path=Lectures/Lecture - Statistics Reminder/Lecture-StatisticsReminder.jl)
+3. [Lecture: Spectral Analysis](./open?path=Lectures/Lecture - Spectral Analysis/Lecture-SpectralAnalysis.jl)
+4. [Science case: Sunspot number](Lectures/Science%20Case%20-%20Sunspot%20Number/Lecture-SunspotNumber.ipynb)
+5. [Science case: X-ray binaries](Lectures/Science%20Case%20-%20X-Ray%20Binaries/Lecture-X-RayBinaries.ipynb)
+6. [Lecture: Irregular sampling](Lectures/Lecture%20-%20Lomb-Scargle/Lecture-Lomb-Scargle.ipynb)
+7. [Science case: Variable stars](Lectures/Science%20Case%20-%20Variable%20Stars/Lecture-VariableStars.ipynb)
+8. [Lecture: Time Domain analysis](Lectures/Lecture%20-%20Time%20Domain%20Analysis/Lecture-Time-Domain.ipynb)
+9. [Science case: AGN and Blazars](Lectures/Science%20Case%20-%20AGN%20and%20Blazars/Lecture-AGN-and-Blazars.ipynb)
+10. [Lecture: Wavelet Analysis](Lectures/Lecture%20-%20Wavelet%20Analysis/Lecture-Wavelet-Analysis.ipynb)
+11. [Lecture: Time of Arrival](Lectures/Lecture%20-%20Time%20of%20Arrival/Lecture-Time-of-Arrival.ipynb)
+12. [Science case: FRBs](Lectures/Science%20Case%20-%20FRBs/Lecture-FRBs.ipynb)
+13. [Lecture: Non Parametric Analysis](Lectures/Lecture%20-%20Non%20Parametric%20Analysis/Lecture-NonParametricAnalysis.ipynb)
+14. [Lecture: Gaussian Processes](Lectures/Lecture%20-%20Gaussian%20Processes/Lecture-GassianProcesses.ipynb)
+15. [Science case: GRBs](Lectures/Science%20Case%20-%20GRBs/Lecture-GRBs.ipynb)
+16. [Lecture: Astrostatistics Future](Lectures/Lecture%20-%20Astrostatistics%20Future/Lecture-AstrostatisticsFuture.ipynb)
+"""
+
+# ╔═╡ 0fb9db7b-6dd2-4aaf-870d-49f36a5e0f00
+md"""
+**Copyright**
+
+This notebook is provided as [Open Educational Resource](https://en.wikipedia.org/wiki/Open_educational_resources). Feel free to use the notebook for your own purposes. The text is licensed under [Creative Commons Attribution 4.0](https://creativecommons.org/licenses/by/4.0/), the code of the examples, unless obtained from other properly quoted sources, under the [MIT license](https://opensource.org/licenses/MIT). Please attribute the work as follows: *Stefano Covino, Time Domain Astrophysics - Lecture notes featuring computational examples, 2025*.
+"""
+
+# ╔═╡ 00000000-0000-0000-0000-000000000001
+PLUTO_PROJECT_TOML_CONTENTS = """
+[deps]
+PlutoUI = "7f904dfe-b85e-4ff6-b463-dae2292396a8"
+
+[compat]
+PlutoUI = "~0.7.61"
+"""
+
+# ╔═╡ 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 = "6d1b77f27e79835fc27b2d7e99ab8fcaf37aa976"
+
+[[deps.AbstractPlutoDingetjes]]
+deps = ["Pkg"]
+git-tree-sha1 = "6e1d2a35f2f90a4bc7c2ed98079b2ba09c35b83a"
+uuid = "6e696c72-6542-2067-7265-42206c756150"
+version = "1.3.2"
+
+[[deps.ArgTools]]
+uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f"
+version = "1.1.2"
+
+[[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.ColorTypes]]
+deps = ["FixedPointNumbers", "Random"]
+git-tree-sha1 = "b10d0b65641d57b8b4d5e234446582de5047050d"
+uuid = "3da002f7-5984-5a60-b8a6-cbb66c0b333f"
+version = "0.11.5"
+
+[[deps.CompilerSupportLibraries_jll]]
+deps = ["Artifacts", "Libdl"]
+uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae"
+version = "1.1.1+0"
+
+[[deps.Dates]]
+deps = ["Printf"]
+uuid = "ade2ca70-3891-5945-98fb-dc099432e06a"
+version = "1.11.0"
+
+[[deps.Downloads]]
+deps = ["ArgTools", "FileWatching", "LibCURL", "NetworkOptions"]
+uuid = "f43a241f-c20a-4ad4-852c-f6b1247861c6"
+version = "1.6.0"
+
+[[deps.FileWatching]]
+uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee"
+version = "1.11.0"
+
+[[deps.FixedPointNumbers]]
+deps = ["Statistics"]
+git-tree-sha1 = "05882d6995ae5c12bb5f36dd2ed3f61c98cbb172"
+uuid = "53c48c17-4a7d-5ca2-90c5-79b7896eea93"
+version = "0.8.5"
+
+[[deps.Hyperscript]]
+deps = ["Test"]
+git-tree-sha1 = "179267cfa5e712760cd43dcae385d7ea90cc25a4"
+uuid = "47d2ed2b-36de-50cf-bf87-49c2cf4b8b91"
+version = "0.0.5"
+
+[[deps.HypertextLiteral]]
+deps = ["Tricks"]
+git-tree-sha1 = "7134810b1afce04bbc1045ca1985fbe81ce17653"
+uuid = "ac1192a8-f4b3-4bfe-ba22-af5b92cd3ab2"
+version = "0.9.5"
+
+[[deps.IOCapture]]
+deps = ["Logging", "Random"]
+git-tree-sha1 = "b6d6bfdd7ce25b0f9b2f6b3dd56b2673a66c8770"
+uuid = "b5f81e59-6552-4d32-b1f0-c071b021bf89"
+version = "0.2.5"
+
+[[deps.InteractiveUtils]]
+deps = ["Markdown"]
+uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240"
+version = "1.11.0"
+
+[[deps.JSON]]
+deps = ["Dates", "Mmap", "Parsers", "Unicode"]
+git-tree-sha1 = "31e996f0a15c7b280ba9f76636b3ff9e2ae58c9a"
+uuid = "682c06a0-de6a-54ab-a142-c8b1cf79cde6"
+version = "0.21.4"
+
+[[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.MIMEs]]
+git-tree-sha1 = "1833212fd6f580c20d4291da9c1b4e8a655b128e"
+uuid = "6c6e2e6c-3030-632d-7369-2d6c69616d65"
+version = "1.0.0"
+
+[[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.Mmap]]
+uuid = "a63ad114-7e13-5084-954f-fe012c677804"
+version = "1.11.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.OpenBLAS_jll]]
+deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"]
+uuid = "4536629a-c528-5b80-bd46-f80d51c5b363"
+version = "0.3.27+1"
+
+[[deps.Parsers]]
+deps = ["Dates", "PrecompileTools", "UUIDs"]
+git-tree-sha1 = "8489905bcdbcfac64d1daa51ca07c0d8f0283821"
+uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0"
+version = "2.8.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.PlutoUI]]
+deps = ["AbstractPlutoDingetjes", "Base64", "ColorTypes", "Dates", "FixedPointNumbers", "Hyperscript", "HypertextLiteral", "IOCapture", "InteractiveUtils", "JSON", "Logging", "MIMEs", "Markdown", "Random", "Reexport", "URIs", "UUIDs"]
+git-tree-sha1 = "7e71a55b87222942f0f9337be62e26b1f103d3e4"
+uuid = "7f904dfe-b85e-4ff6-b463-dae2292396a8"
+version = "0.7.61"
+
+[[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.SHA]]
+uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce"
+version = "0.7.0"
+
+[[deps.Serialization]]
+uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b"
+version = "1.11.0"
+
+[[deps.Statistics]]
+deps = ["LinearAlgebra"]
+git-tree-sha1 = "ae3bb1eb3bba077cd276bc5cfc337cc65c3075c0"
+uuid = "10745b16-79ce-11e8-11f9-7d13ad32a3b2"
+version = "1.11.1"
+
+    [deps.Statistics.extensions]
+    SparseArraysExt = ["SparseArrays"]
+
+    [deps.Statistics.weakdeps]
+    SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
+
+[[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.Test]]
+deps = ["InteractiveUtils", "Logging", "Random", "Serialization"]
+uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
+version = "1.11.0"
+
+[[deps.Tricks]]
+git-tree-sha1 = "6cae795a5a9313bbb4f60683f7263318fc7d1505"
+uuid = "410a4b4d-49e4-4fbc-ab6d-cb71b17b3775"
+version = "0.1.10"
+
+[[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"
+version = "1.11.0"
+
+[[deps.Unicode]]
+uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5"
+version = "1.11.0"
+
+[[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:
+# ╟─14ef8e22-f10f-472a-b512-5cd62781b082
+# ╟─bfe2b83c-dba1-4c64-a35f-83264822c9d7
+# ╠═ad6879b3-ad9d-4d7c-9122-f034949ae0cf
+# ╟─9b05aaa6-d44f-4081-8749-ab5408a492b9
+# ╟─270dc9c6-5eb3-4838-bf4a-62cbf2339a53
+# ╟─aec92f06-df81-4c51-99cb-ac3ebc91c7fc
+# ╟─78f7f381-9d3e-4715-87d4-b4165025aded
+# ╟─0fb9db7b-6dd2-4aaf-870d-49f36a5e0f00
+# ╟─00000000-0000-0000-0000-000000000001
+# ╟─00000000-0000-0000-0000-000000000002
diff --git a/Lectures/Lecture - Introduction/Lecture-Introduction.ipynb b/Lectures/Lecture - Introduction/Lecture-Introduction.ipynb
index a87b81c737bdfa46fc477dcd474bed93e5c0d488..cf52cddd3fc6e6ecd31862f7a4532327a56489b4 100644
--- a/Lectures/Lecture - Introduction/Lecture-Introduction.ipynb	
+++ b/Lectures/Lecture - Introduction/Lecture-Introduction.ipynb	
@@ -226,7 +226,7 @@
     "\n",
     "- Bayesian statistics is an approach to inferential statistics based on Bayes' theorem, where available knowledge about parameters in a statistical model is updated with the information in observed data. The background knowledge is expressed as a prior distribution and combined with observational data in the form of a likelihood function to determine the posterior distribution. The posterior can also be used for making predictions about future events.\n",
     "\n",
-    "- Nevertheless, we are not dogmatic and mentions or applications based on familiar \"frequentist\" approaches are presenetd and discussed, when we deem it opportune.\n",
+    "- Nevertheless, we are not dogmatic and mentions or applications based on familiar \"frequentist\" approaches are preseneted and discussed, when we deem it opportune.\n",
     "\n",
     "![Statistics](Pics/Bayesians.png)\n",
     "\n",
diff --git a/Lectures/Lecture - Introduction/Lecture-Introduction.jl b/Lectures/Lecture - Introduction/Lecture-Introduction.jl
new file mode 100644
index 0000000000000000000000000000000000000000..a652e388b13fed5e1156cf1974c16c9363472690
--- /dev/null
+++ b/Lectures/Lecture - Introduction/Lecture-Introduction.jl	
@@ -0,0 +1,611 @@
+### A Pluto.jl notebook ###
+# v0.20.4
+
+using Markdown
+using InteractiveUtils
+
+# ╔═╡ a9389fd0-72fd-4d3c-94a7-37d856ccf58b
+using PlutoUI
+
+# ╔═╡ b8bbafd8-25bd-4681-96bd-607baabfa138
+md"""
+**What is this?**
+
+
+*This jupyter notebook is part of a collection of notebooks on various topics discussed during the Time Domain Astrophysics course delivered by Stefano Covino at the [Università dell'Insubria](https://www.uninsubria.eu/) in Como (Italy). Please direct questions and suggestions to [stefano.covino@inaf.it](mailto:stefano.covino@inaf.it).*
+"""
+
+# ╔═╡ 0ad7e253-35e7-4683-ba47-e2bef62bc491
+md"""
+**This is a `pluto` notebook**
+"""
+
+# ╔═╡ 0d0c5ef4-0e29-44cb-8d9b-91a0b62f0a58
+md"""
+$(LocalResource("Pics/TimeDomainBanner.jpg"))
+"""
+
+# ╔═╡ 28b9ac44-044b-41bd-af41-a21ad5fe0b5e
+md"""
+# Introduction
+***
+"""
+
+# ╔═╡ f7af2d56-3d0a-46d7-8859-a200189fd159
+md"""
+## Contacts
+***
+
+$(LocalResource("Pics/Stefano.png"))
+
+- Stefano Covino
+- INAF / Brera Astronomical Observatory
+- +39 02 72320475
+- +39 3316748534 (if urgent…)
+- Emails: [stefano.covino@inaf.it](mailto:stefano.covino@inaf.it)  - [stefano.covino@uninsubria.it](mailto:stefano.covino@uninsubria.it)
+- Web: [https://sites.google.com/a/inaf.it/stefano-s-site/](https://sites.google.com/a/inaf.it/stefano-s-site/)
+
+$(LocalResource("Pics/Banner.png"))
+"""
+
+# ╔═╡ 26bd7a49-bdda-415f-8220-211016784c75
+md"""
+## Main Goal of the course: Have fun!
+***
+
+ $(LocalResource("Pics/data.jpg", :width => 300)) $(LocalResource("Pics/regression.jpg", :width => 300))
+
+"""
+
+# ╔═╡ 7d83b80c-4721-4454-997a-d981ccb3eca1
+md"""
+## Program (for 6 or 7 courses, roughly…)
+***
+
+1. Introduction to time series
+2. Time (and spatial) variability in astrophysics
+3. Fourier analysis and noise characterization
+4. Case study: stellar variability
+5. Case study: exo-planet transits
+6. Case study: pulsars
+7. Time-domain analysis and auto-regressive processe
+8. Irregular sampling, Lomb-Scargle periodograms
+9. Case studies: AGN variability
+10. Advanced topics:  non-parametric analysis
+11. Matching filters
+12. Case study: LIGO/Virgo gravitational wave signals
+13. Data exploration
+14. Case study: SETI data analysis
+15. Big-data, machine learning and “intelligent” systems for time-series analysis
+16. Case studies: spatial variability (CMB, large scale structure)
+17. Final topics:  forecasting
+
+> In reality these are just topics that can be covered. We can stress different aspects depending on the interests of the *students*.
+
+"""
+
+# ╔═╡ 1ef75ad8-5f7f-4146-af0f-66982f2e7d62
+md"""
+## Time-Series are ubiquitous
+***
+
+- Anytime we have a measurement repetated multiple times we have a time-series.
+
+$(LocalResource("Pics/CO2T.png",:width=>600))
+
+$(LocalResource("Pics/CO2.png",:width=>600))
+
+$(LocalResource("Pics/Neptune.png",:width=>600))
+
+- As a matter of fact, a time-series does not need to have "time" as index!
+
+$(LocalResource("Pics/PAMELA.png",:width=>600))
+
+$(LocalResource("Pics/satellite.png",:width=>600))
+"""
+
+# ╔═╡ d3443a4d-62b5-4ca9-84dc-66e19c284ac2
+md"""
+## Temptative schedule (don’t trust it too much…)
+***
+
+1. 26/2 - Introduction
+2. 27/2 - Statistics reminder - part I
+3. 5/3 - Statistics reminder - part II
+4. 6/3 - Spectral analysis - part I
+5. 12/3 - Spectral analysis - part II
+6. 13/3 - Science cases: Sunspots Number - X-ray Binaries
+7. 19/3 - Irregularly sampled time series - part I
+8. 20/3 - Irregularly sampled time series - part II
+9. 26/3 - Science Cases - Variable Stars - AGN and blazars
+10. 27/3 - Time domain analysis - part I
+11. 2/4 - Time domain analysis - part II
+12. 3/4 - Guest lecture - Spectral analysis in Cosmology
+13. 9/4 - Guest lecture - X-ray pulsators
+14. 10/4 - Time domain analysis - ARIMA models
+15. 16/4 - Time domain analysis - Advanced  tools
+16. 30/4 - Wavelet analysis
+17. 7/5 - Guest lecture - Exoplanets
+18. 8/5 - Time of arrival analysis
+19. 14/5 - Non-parametric methods
+20. 15/5 - Gaussian processes
+21. 21/5 - Science case: GRBs
+22. 22/5 - Astrostatistics final considerations
+"""
+
+# ╔═╡ 482cfb39-4f17-4138-b68e-317bad0b325a
+md"""
+## How is the course managed?
+***
+
+### Frontal lectures
+
+- These are the traditional university lectures.
+
+- Although this increases the organizational complexity substantially, I am availbale to stream and record my lectures, if needed.
+
+- There are contraindications. As a matter of fact, this is one of few cases where a remote access is not even close as effective as being in presence.
+
+$(LocalResource("Pics/FrontalLectures.jpg"))
+
+### Real research life examples…
+
+- Scientists working in the field will deliver "didactic lectures", allowing one to see most of ideas deveooped during the course applied in a real research environment.
+
+$(LocalResource("Pics/Paperino.jpg"))
+
+### (Optional) papers to deepen our knowledge…
+
+- Most of the topics discussd during the course can be investigated thoroughly and papers from astrophysical (mainly) literature are presented for particularly concerned readers.
+
+$(LocalResource("Pics/Papersetal.jpg"))
+
+### Question time
+
+- The course is divided in several main sections. At the end of each of them, some time will be devoted to open discussions and questions.
+
+$(LocalResource("Pics/Questions.gif"))
+
+### Lectures from specialists in the field
+
+- Together with regular lectures, a few specialists in the field, i.e. scientist carrying out researches by time-domain tools and techniques, are invited to describe their works.
+
+$(LocalResource("Pics/Nilus.jpg"))
+
+### Language
+
+- According to university guidelines, lectures will be delivered in English. Of course, a fair evaluation of the context might ask some flexibility.
+
+$(LocalResource("Pics/language.jpg"))
+
+### Statistical framework
+
+- During this course we are going to work in a Bayesian framework.
+
+- Bayesian statistics is an approach to inferential statistics based on Bayes' theorem, where available knowledge about parameters in a statistical model is updated with the information in observed data. The background knowledge is expressed as a prior distribution and combined with observational data in the form of a likelihood function to determine the posterior distribution. The posterior can also be used for making predictions about future events.
+
+- Nevertheless, we are not dogmatic and mentions or applications based on familiar "frequentist" approaches are preseneted and discussed, when we deem it opportune.
+
+$(LocalResource("Pics/Bayesians.png"))
+
+### Programming languages
+
+- Most of the examples we are going to analyze during the course are based on some sort of computer analysis.
+
+- `Python` is *de-facto* the standard language in data science.
+    - Yet, while this language is definitely truly amazing, well designed and worth mastering, for the specific needs of scientific computing there are alternatives of growing popularity.
+
+- We threfore will also provide examples with `Julia`, and encourage the students to get some confidence with this programming language too.
+
+- Notebooks are written by the [markdown language](https://www.markdownguide.org/basic-syntax/), a simple language integrating features of the HTML and latex languages.
+
+
+ $(LocalResource("Pics/python.png"))  $(LocalResource("Pics/julia.png"))
+
+"""
+
+# ╔═╡ 6827c9f6-b98a-4a88-a192-5c61f375f1d5
+md"""
+## Warning! The course is not only for astrophysicists!
+
+- It is indeed part of the set of courses for future astrophysocsts. Nevertheles, almost nothing we are going to discuss is truly only for astrophysics. In reality, several applications and ideas are taken from other fields, i.e. economics, social sciences, climatology, etc.
+
+$(LocalResource("Pics/astrophysics.jpg"))
+"""
+
+# ╔═╡ d5e83a80-2c3a-48a5-937f-95b50e745bc4
+md"""
+## Final assessment
+
+- The final examination is an oral one.
+
+- *Students* must interact with the teacher in advance of the examination and a science case obtained by the modern literature will be selected.
+
+- The *student* will be asked to properly describe the main formal aspects of the study and discuss critically the reliability and limits of the presented results.
+
+
+"""
+
+# ╔═╡ c5257f84-999b-4655-9ade-2bcbc7eb324c
+md"""
+## Gitlab repository
+
+- Slides, notebooks, papers, etc. are available on [gitlab](https://www.ict.inaf.it/gitlab/stefano.covino/TimeDomainAstrophysics.git)
+- Check the repository frequently since is (rather often) updated  during the course.
+
+ $(LocalResource("Pics/gitlab.jpg", :width => 200))  $(LocalResource("Pics/gitlabcourse.png", :width => 200)) 
+
+"""
+
+# ╔═╡ 6bce4cd0-67bc-408b-94c0-6c8de26755c0
+md"""
+## Relaxing time(-series...)
+
+$(LocalResource("Pics/relaxing.png"))
+"""
+
+# ╔═╡ 87f81f95-2f33-496a-a9df-cbc711e51e3c
+md"""
+## Reference & Material
+
+- The course is based on published scientific papers distributed by the teacher before any main topic is addressed.
+
+- Science cases are based on actual scientific papers as well.
+
+- Slides prepared by the teacher will also be distributed.
+
+    - A general introductory text to time series analysis as: [“Introduction to Time Series and Forecasting”, by P.J. Brockwell and R.A Davis](https://link.springer.com/book/10.1007/978-3-319-29854-2) might be useful. However, any other analogous text easily obtainable by the student will be fine as well.
+
+- Two textbooks more strictly related to the topics discussed during the course mainly, but not only, for astrophysical applications are:
+    - [“Modern Statistical Methods for Astronomy”, by E.D. Feigelson and G.J. Babu](https://www.cambridge.org/core/books/modern-statistical-methods-for-astronomy/941AE392A553D68DD7B02491BB66DDEC)
+    - [“Statistics, data Mining and Machine Learning in Astronomy”, by Ivezić et al.](https://press.princeton.edu/books/hardcover/9780691198309/statistics-data-mining-and-machine-learning-in-astronomy)
+"""
+
+# ╔═╡ 2b826fbe-9dda-483f-9af6-8b89d7a6837d
+md"""
+## Further Material
+
+Papers for examining more closely some of the discussed topics.
+
+- [Voughan et al. (2013) - "Random Time Series in Astronomy"](https://royalsocietypublishing.org/doi/10.1098/rsta.2011.0549)
+"""
+
+# ╔═╡ c99cc57a-d012-4d11-a3e6-1e2ba35ce92e
+md"""
+## Course Flow
+"""
+
+# ╔═╡ 59bfe64e-000e-467f-859e-07249d0c9273
+html"""
+<table>
+  <tr>
+    <td>Previous lecture</td>
+    <td>Next lecture</td>
+  </tr>
+  <tr>
+    <td><a href="./open?path=Course.jl">Course Summary</a></td>    
+    <td><a href="./open?path=Lectures/Lecture - Statistics Reminder/Lecture-StatisticsReminder.jl">Statistics Reminder</a></td>
+  </tr>
+ </table>
+"""
+
+# ╔═╡ 0fc5c982-e5e1-4a43-a0d6-86fe706e2601
+md"""
+**Copyright**
+
+This notebook is provided as [Open Educational Resource](https://en.wikipedia.org/wiki/Open_educational_resources). Feel free to use the notebook for your own purposes. The text is licensed under [Creative Commons Attribution 4.0](https://creativecommons.org/licenses/by/4.0/), the code of the examples, unless obtained from other properly quoted sources, under the [MIT license](https://opensource.org/licenses/MIT). Please attribute the work as follows: *Stefano Covino, Time Domain Astrophysics - Lecture notes featuring computational examples, 2025*.
+"""
+
+# ╔═╡ 00000000-0000-0000-0000-000000000001
+PLUTO_PROJECT_TOML_CONTENTS = """
+[deps]
+PlutoUI = "7f904dfe-b85e-4ff6-b463-dae2292396a8"
+
+[compat]
+PlutoUI = "~0.7.61"
+"""
+
+# ╔═╡ 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 = "6d1b77f27e79835fc27b2d7e99ab8fcaf37aa976"
+
+[[deps.AbstractPlutoDingetjes]]
+deps = ["Pkg"]
+git-tree-sha1 = "6e1d2a35f2f90a4bc7c2ed98079b2ba09c35b83a"
+uuid = "6e696c72-6542-2067-7265-42206c756150"
+version = "1.3.2"
+
+[[deps.ArgTools]]
+uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f"
+version = "1.1.2"
+
+[[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.ColorTypes]]
+deps = ["FixedPointNumbers", "Random"]
+git-tree-sha1 = "b10d0b65641d57b8b4d5e234446582de5047050d"
+uuid = "3da002f7-5984-5a60-b8a6-cbb66c0b333f"
+version = "0.11.5"
+
+[[deps.CompilerSupportLibraries_jll]]
+deps = ["Artifacts", "Libdl"]
+uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae"
+version = "1.1.1+0"
+
+[[deps.Dates]]
+deps = ["Printf"]
+uuid = "ade2ca70-3891-5945-98fb-dc099432e06a"
+version = "1.11.0"
+
+[[deps.Downloads]]
+deps = ["ArgTools", "FileWatching", "LibCURL", "NetworkOptions"]
+uuid = "f43a241f-c20a-4ad4-852c-f6b1247861c6"
+version = "1.6.0"
+
+[[deps.FileWatching]]
+uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee"
+version = "1.11.0"
+
+[[deps.FixedPointNumbers]]
+deps = ["Statistics"]
+git-tree-sha1 = "05882d6995ae5c12bb5f36dd2ed3f61c98cbb172"
+uuid = "53c48c17-4a7d-5ca2-90c5-79b7896eea93"
+version = "0.8.5"
+
+[[deps.Hyperscript]]
+deps = ["Test"]
+git-tree-sha1 = "179267cfa5e712760cd43dcae385d7ea90cc25a4"
+uuid = "47d2ed2b-36de-50cf-bf87-49c2cf4b8b91"
+version = "0.0.5"
+
+[[deps.HypertextLiteral]]
+deps = ["Tricks"]
+git-tree-sha1 = "7134810b1afce04bbc1045ca1985fbe81ce17653"
+uuid = "ac1192a8-f4b3-4bfe-ba22-af5b92cd3ab2"
+version = "0.9.5"
+
+[[deps.IOCapture]]
+deps = ["Logging", "Random"]
+git-tree-sha1 = "b6d6bfdd7ce25b0f9b2f6b3dd56b2673a66c8770"
+uuid = "b5f81e59-6552-4d32-b1f0-c071b021bf89"
+version = "0.2.5"
+
+[[deps.InteractiveUtils]]
+deps = ["Markdown"]
+uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240"
+version = "1.11.0"
+
+[[deps.JSON]]
+deps = ["Dates", "Mmap", "Parsers", "Unicode"]
+git-tree-sha1 = "31e996f0a15c7b280ba9f76636b3ff9e2ae58c9a"
+uuid = "682c06a0-de6a-54ab-a142-c8b1cf79cde6"
+version = "0.21.4"
+
+[[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.MIMEs]]
+git-tree-sha1 = "1833212fd6f580c20d4291da9c1b4e8a655b128e"
+uuid = "6c6e2e6c-3030-632d-7369-2d6c69616d65"
+version = "1.0.0"
+
+[[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.Mmap]]
+uuid = "a63ad114-7e13-5084-954f-fe012c677804"
+version = "1.11.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.OpenBLAS_jll]]
+deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"]
+uuid = "4536629a-c528-5b80-bd46-f80d51c5b363"
+version = "0.3.27+1"
+
+[[deps.Parsers]]
+deps = ["Dates", "PrecompileTools", "UUIDs"]
+git-tree-sha1 = "8489905bcdbcfac64d1daa51ca07c0d8f0283821"
+uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0"
+version = "2.8.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.PlutoUI]]
+deps = ["AbstractPlutoDingetjes", "Base64", "ColorTypes", "Dates", "FixedPointNumbers", "Hyperscript", "HypertextLiteral", "IOCapture", "InteractiveUtils", "JSON", "Logging", "MIMEs", "Markdown", "Random", "Reexport", "URIs", "UUIDs"]
+git-tree-sha1 = "7e71a55b87222942f0f9337be62e26b1f103d3e4"
+uuid = "7f904dfe-b85e-4ff6-b463-dae2292396a8"
+version = "0.7.61"
+
+[[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.SHA]]
+uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce"
+version = "0.7.0"
+
+[[deps.Serialization]]
+uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b"
+version = "1.11.0"
+
+[[deps.Statistics]]
+deps = ["LinearAlgebra"]
+git-tree-sha1 = "ae3bb1eb3bba077cd276bc5cfc337cc65c3075c0"
+uuid = "10745b16-79ce-11e8-11f9-7d13ad32a3b2"
+version = "1.11.1"
+
+    [deps.Statistics.extensions]
+    SparseArraysExt = ["SparseArrays"]
+
+    [deps.Statistics.weakdeps]
+    SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
+
+[[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.Test]]
+deps = ["InteractiveUtils", "Logging", "Random", "Serialization"]
+uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
+version = "1.11.0"
+
+[[deps.Tricks]]
+git-tree-sha1 = "6cae795a5a9313bbb4f60683f7263318fc7d1505"
+uuid = "410a4b4d-49e4-4fbc-ab6d-cb71b17b3775"
+version = "0.1.10"
+
+[[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"
+version = "1.11.0"
+
+[[deps.Unicode]]
+uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5"
+version = "1.11.0"
+
+[[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:
+# ╟─b8bbafd8-25bd-4681-96bd-607baabfa138
+# ╟─0ad7e253-35e7-4683-ba47-e2bef62bc491
+# ╠═a9389fd0-72fd-4d3c-94a7-37d856ccf58b
+# ╟─0d0c5ef4-0e29-44cb-8d9b-91a0b62f0a58
+# ╟─28b9ac44-044b-41bd-af41-a21ad5fe0b5e
+# ╟─f7af2d56-3d0a-46d7-8859-a200189fd159
+# ╟─26bd7a49-bdda-415f-8220-211016784c75
+# ╟─7d83b80c-4721-4454-997a-d981ccb3eca1
+# ╟─1ef75ad8-5f7f-4146-af0f-66982f2e7d62
+# ╟─d3443a4d-62b5-4ca9-84dc-66e19c284ac2
+# ╟─482cfb39-4f17-4138-b68e-317bad0b325a
+# ╟─6827c9f6-b98a-4a88-a192-5c61f375f1d5
+# ╟─d5e83a80-2c3a-48a5-937f-95b50e745bc4
+# ╟─c5257f84-999b-4655-9ade-2bcbc7eb324c
+# ╟─6bce4cd0-67bc-408b-94c0-6c8de26755c0
+# ╟─87f81f95-2f33-496a-a9df-cbc711e51e3c
+# ╟─2b826fbe-9dda-483f-9af6-8b89d7a6837d
+# ╟─c99cc57a-d012-4d11-a3e6-1e2ba35ce92e
+# ╟─59bfe64e-000e-467f-859e-07249d0c9273
+# ╟─0fc5c982-e5e1-4a43-a0d6-86fe706e2601
+# ╟─00000000-0000-0000-0000-000000000001
+# ╟─00000000-0000-0000-0000-000000000002
diff --git a/Lectures/Lecture - Spectral Analysis/Lecture-FT.ipynb b/Lectures/Lecture - Spectral Analysis/Lecture-FT.ipynb
new file mode 100644
index 0000000000000000000000000000000000000000..72cbbd24a1f01aab7c42d84abd494f82b39c9699
--- /dev/null
+++ b/Lectures/Lecture - Spectral Analysis/Lecture-FT.ipynb	
@@ -0,0 +1,268 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "id": "91330533",
+   "metadata": {},
+   "source": [
+    "**What is this?**\n",
+    "\n",
+    "\n",
+    "*This jupyter notebook is part of a collection of notebooks on various topics discussed during the Time Domain Astrophysics course delivered by Stefano Covino at the [Università dell'Insubria](https://www.uninsubria.eu/) in Como (Italy). Please direct questions and suggestions to [stefano.covino@inaf.it](mailto:stefano.covino@inaf.it).*"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "915ee876",
+   "metadata": {},
+   "source": [
+    "**This is a `julia` notebook**"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "id": "41d298ca-3a5c-457d-ab57-308a7de2d3c0",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "\u001b[32m\u001b[1m  Activating\u001b[22m\u001b[39m project at `/mnt/chromeos/GoogleDrive/MyDrive/Lab/Teaching/Insubria/Docs_2024_25/Lectures/Lecture - Spectral Analysis`\n"
+     ]
+    }
+   ],
+   "source": [
+    "import Pkg; Pkg.activate(\".\")"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "id": "6fff2b26-f553-42dd-a7fd-292dbcdbfbed",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "Pkg.instantiate()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "id": "8fa2633c-c139-4196-8a1e-3273bfe990a4",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "using CairoMakie"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "53194e25",
+   "metadata": {},
+   "source": [
+    "![Time Domain Astrophysics](Pics/TimeDomainBanner.jpg)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "a7b36f9a",
+   "metadata": {},
+   "source": [
+    "# A few important Fourier Transform\n",
+    "***\n",
+    "\n",
+    "## The rectangular function\n",
+    "***\n",
+    "\n",
+    "- We want to compute the FT of the rectangular function: e.g. a function $g(t)$ with a given amplitude and extending from $t=-T/2$ to $t=T/2$. For $|t|>T/2$, $g(t)=0$.\n",
+    "  \n",
+    "- We will write the square pulse or box function as $rect_T(t)$, indicating that the rectangle function is equal to 1 for a period of $T$ (from $-T/2$ to $+T/2$) and 0 elsewhere,"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "8781bea3",
+   "metadata": {},
+   "source": [
+    " $$\\mathfrak{F} \\{  g(t) \\} = G(f) = \\int_{-\\infty}^\\infty g(t) e^{-2 \\pi i f t} dt = \\int_{-T/2}^{T/2} A e^{-2 \\pi i f t} dt = \\frac{A}{-2 \\pi i f} e^{-2 \\pi i f t}\\Big|_{-T/2}^{T/2} = \\frac{A}{-2 \\pi i f} [ e^{-\\pi i f T} - e^{\\pi i f T} ] = $$\n",
+    "\n",
+    " $$ = \\frac{AT}{\\pi f T} \\frac{ e^{-\\pi i f T} - e^{\\pi i f T} }{2i} = \\frac{AT}{\\pi f T} \\sin (\\pi f T) \\equiv AT {\\rm sinc} (fT)$$\n",
+    "\n",
+    " - where we have defined the \"sinc\" function defined as ${\\rm sinc} (t) = \\sin(\\pi t) / \\pi t$."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "id": "d6bcbb4b-132a-4ebf-9af6-acc1d871f456",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "image/png": "iVBORw0KGgoAAAANSUhEUgAAB9AAAAPoCAIAAAAJPPL9AAAABmJLR0QA/wD/AP+gvaeTAAAgAElEQVR4nOzde5BkdX0//O/p7t2d2Qu7yP3iBXaBwIMsREGjYrBEQzQqiZAySkxiKCT1eKloLIKawmhMVlBCGRMfVMTIBlMKER9TXH5AaSqPMaAooKjAsl5Xbruw19m5dZ/nj57pWWZ3dmdnus/p8/2+Xv+k2e4+53ucU5uz7/OZ98nyPA8AAAAAAMD81MpeAAAAAAAAxEDgDgAAAAAAXSBwBwAAAACALhC4AwAAAABAFwjcAQAAAACgCwTuAAAAAADQBQJ3AAAAAADoAoE7AAAAAAB0gcAdAAAAAAC6QOAOAAAAAABdIHAHAAAAAIAuELgDAAAAAEAXCNwBAAAAAKALBO4AAAAAANAFAncAAAAAAOgCgTsAAAAAAHSBwB0AAAAAALpA4A4AAAAAAF0gcAcAAAAAgC4QuAMAAAAAQBcI3AEAAAAAoAsE7gAAAAAA0AUCdwAAAAAA6AKBOwAAAAAAdIHAHQAAAAAAukDgDgAAAAAAXSBwBwAAAACALhC4AwAAAABAFwjcAQAAAACgCwTuAAAAAADQBY2yF9AXsiwrewkAAPAMeZ6XvYSucb0NAED/6OmVtgl3AAAAAADoAhPuU2KaIaIPNZvNDRs21Ov1o446quy1QK/84he/CCE85znPKXsh0CsbNmxoNptHHXVUvV4vey3ELNZ5cNfbAPPhYhtg/gq40jbhDgAAAAAAXSBwBwAAAACALhC4AwAAAABAFwjcAQAAAACgCwTuAAAAAADQBQJ3AAAAAADoAoE7AAAAAAB0gcAdAAAAAAC6QOAOAAAAAABd0Ch7AQAAdFmWZWUvgX3I87zsJQAAsN9cafe/0q+0TbgDAAAAAEAXmHAHAIhT6ZMd7JGpKACAqnOl3Z/65ErbhDsAAAAAAHSBwB0AAAAAALpA4A4AAAAAAF0gcAcAAAAAgC4QuAMAAAAAQBcI3AEAAAAAoAsE7gAAAAAA0AUCdwAAAAAA6AKBOwAAAAAAdIHAHQAAAAAAukDgDgAAAAAAXSBwBwAAAACALhC4AwAAAABAFwjcAQAAAACgC4oO3J944onNmzfPZwujo6Nbt27t1noAAIBdjY6ODg8Pl70KAACopEID9/Xr1x922GEXXHDBHL47Nja2Zs2aE044YWBgYPny5StWrPjjP/7jhx9+uOuLBACABP3kJz85//zzjzvuuMWLFy9ZsuR5z3ve7//+73//+98ve10AAFAlhQbu11133dy+uGPHjpe//OWXXnrpQw89lOd5CGHLli1r16497bTT7rzzzq6uEQAAkvNP//RPq1evvuGGG9atW9dsNlut1s9//vObbrrphS984WWXXVb26gAAoDKKC9zvvvvuNWvWzO27f/EXf/G///u/IYQ3v/nNN9988/e+972PfexjS5cu3bFjx/nnn//YY491daUAAJCQn/zkJ+9973tHR0ePPfbYf//3f3/wwQcfeeSRL33pS8cee2yr1frIRz5yxx13lL1GAACohkZPtz46Ovqd73zngQceuPnmm7/+9a+3Wq05bOSHP/zh2rVrQwjnn3/+2rVrsywLIZx22mknnXTSG97whqeffvryyy+/8soru7x0AABIw/vf//6xsbHly5fffffdBx10UPsPjz322Je//OUnnXTSli1b1qxZc/bZZ5e7SAAAqITeBu7r169/2cteNs+NXHvttXmeDw4OfuYzn2mn7W2/93u/9/rXv/6mm2667rrrPv7xj9dqRT8AFgCArvv1r3+9devW2X/+qKOOWrZsWe/Wk4Jvf/vbIYQLL7ywk7a3HXnkkW984xs///nP33fffSUtDQCArnGlXYzeBu7Lly//kz/5k85/3nrrrY8//vj+buTWW28NIZx99tkrVqyY9tbrXve6m266aePGjd/97nfPOOOMea4WAIDSvetd77rxxhtn//kvfelLb3rTm3q3npn86Ec/+uQnP3neeedVffR7y5Yt7YbGk08+efd3n/vc54YQNm7cODQ0tHjx4qIXBwBA97jSLkZvA/cjjjjiC1/4Quc/zzrrrP0N3EdGRh588MEQwote9KLd3z3nnHPaL+6//36BOwAAhfnsZz979dVXr1q1qqL/DOio1Wpf/epXQwgveclLdn/3pz/9aQjhkEMOkbYDAFCMql9p9zZwn7/169c3m80QwjHHHLP7u0ceeeTg4ODOnTsffvjhwpcGAED3fepTn1qzZs20P1y9evXQ0NBrX/vaq666atpbhx9+eFFLm7Jhw4brrruu+P32wrJly84999w9vnXLLbdcf/31IYS3ve1txS4KgD3Idv4ihBDCc0peB1BZrrSL0e+B+1NPPdV+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",
+      "text/html": [
+       "<img width=1000 height=500 style='object-fit: contain; height: auto;' src=\"data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAB9AAAAPoCAIAAAAJPPL9AAAABmJLR0QA/wD/AP+gvaeTAAAgAElEQVR4nOzde5BkdX0//O/p7t2d2Qu7yP3iBXaBwIMsREGjYrBEQzQqiZAySkxiKCT1eKloLIKawmhMVlBCGRMfVMTIBlMKER9TXH5AaSqPMaAooKjAsl5Xbruw19m5dZ/nj57pWWZ3dmdnus/p8/2+Xv+k2e4+53ucU5uz7/OZ98nyPA8AAAAAAMD81MpeAAAAAAAAxEDgDgAAAAAAXSBwBwAAAACALhC4AwAAAABAFwjcAQAAAACgCwTuAAAAAADQBQJ3AAAAAADoAoE7AAAAAAB0gcAdAAAAAAC6QOAOAAAAAABdIHAHAAAAAIAuELgDAAAAAEAXCNwBAAAAAKALBO4AAAAAANAFAncAAAAAAOgCgTsAAAAAAHSBwB0AAAAAALpA4A4AAAAAAF0gcAcAAAAAgC4QuAMAAAAAQBcI3AEAAAAAoAsE7gAAAAAA0AUCdwAAAAAA6AKBOwAAAAAAdIHAHQAAAAAAukDgDgAAAAAAXSBwBwAAAACALhC4AwAAAABAFwjcAQAAAACgCwTuAAAAAADQBY2yF9AXsiwrewkAAPAMeZ6XvYSucb0NAED/6OmVtgl3AAAAAADoAhPuU2KaIaIPNZvNDRs21Ov1o446quy1QK/84he/CCE85znPKXsh0CsbNmxoNptHHXVUvV4vey3ELNZ5cNfbAPPhYhtg/gq40jbhDgAAAAAAXSBwBwAAAACALhC4AwAAAABAFwjcAQAAAACgCwTuAAAAAADQBQJ3AAAAAADoAoE7AAAAAAB0gcAdAAAAAAC6QOAOAAAAAABd0Ch7AQAAdFmWZWUvgX3I87zsJQAAsN9cafe/0q+0TbgDAAAAAEAXmHAHAIhT6ZMd7JGpKACAqnOl3Z/65ErbhDsAAAAAAHSBwB0AAAAAALpA4A4AAAAAAF0gcAcAAAAAgC4QuAMAAAAAQBcI3AEAAAAAoAsE7gAAAAAA0AUCdwAAAAAA6AKBOwAAAAAAdIHAHQAAAAAAukDgDgAAAAAAXSBwBwAAAACALhC4AwAAAABAFwjcAQAAAACgC4oO3J944onNmzfPZwujo6Nbt27t1noAAIBdjY6ODg8Pl70KAACopEID9/Xr1x922GEXXHDBHL47Nja2Zs2aE044YWBgYPny5StWrPjjP/7jhx9+uOuLBACABP3kJz85//zzjzvuuMWLFy9ZsuR5z3ve7//+73//+98ve10AAFAlhQbu11133dy+uGPHjpe//OWXXnrpQw89lOd5CGHLli1r16497bTT7rzzzq6uEQAAkvNP//RPq1evvuGGG9atW9dsNlut1s9//vObbrrphS984WWXXVb26gAAoDKKC9zvvvvuNWvWzO27f/EXf/G///u/IYQ3v/nNN9988/e+972PfexjS5cu3bFjx/nnn//YY491daUAAJCQn/zkJ+9973tHR0ePPfbYf//3f3/wwQcfeeSRL33pS8cee2yr1frIRz5yxx13lL1GAACohkZPtz46Ovqd73zngQceuPnmm7/+9a+3Wq05bOSHP/zh2rVrQwjnn3/+2rVrsywLIZx22mknnXTSG97whqeffvryyy+/8soru7x0AABIw/vf//6xsbHly5fffffdBx10UPsPjz322Je//OUnnXTSli1b1qxZc/bZZ5e7SAAAqITeBu7r169/2cteNs+NXHvttXmeDw4OfuYzn2mn7W2/93u/9/rXv/6mm2667rrrPv7xj9dqRT8AFgCArvv1r3+9devW2X/+qKOOWrZsWe/Wk4Jvf/vbIYQLL7ywk7a3HXnkkW984xs///nP33fffSUtDQCArnGlXYzeBu7Lly//kz/5k85/3nrrrY8//vj+buTWW28NIZx99tkrVqyY9tbrXve6m266aePGjd/97nfPOOOMea4WAIDSvetd77rxxhtn//kvfelLb3rTm3q3npn86Ec/+uQnP3neeedVffR7y5Yt7YbGk08+efd3n/vc54YQNm7cODQ0tHjx4qIXBwBA97jSLkZvA/cjjjjiC1/4Quc/zzrrrP0N3EdGRh588MEQwote9KLd3z3nnHPaL+6//36BOwAAhfnsZz979dVXr1q1qqL/DOio1Wpf/epXQwgveclLdn/3pz/9aQjhkEMOkbYDAFCMql9p9zZwn7/169c3m80QwjHHHLP7u0ceeeTg4ODOnTsffvjhwpcGAED3fepTn1qzZs20P1y9evXQ0NBrX/vaq666atpbhx9+eFFLm7Jhw4brrruu+P32wrJly84999w9vnXLLbdcf/31IYS3ve1txS4KgD3Idv4ihBDCc0peB1BZrrSL0e+B+1NPPdV+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\"/>"
+      ]
+     },
+     "execution_count": 4,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "T=2.\n",
+    "\n",
+    "#f(x) = (x >= -T/2 && x <= T/2) ? 1 : 0\n",
+    "\n",
+    "function f(x; T=2)\n",
+    "    if x >= -T/2 && x <= T/2\n",
+    "        return 1\n",
+    "    else\n",
+    "        return 0\n",
+    "    end\n",
+    "end\n",
+    "\n",
+    "xrng = range(start=-5.,stop=5.,step=0.01)\n",
+    "\n",
+    "\n",
+    "fg1 = Figure(size=(1000,500))\n",
+    "\n",
+    "ax1 = Axis(fg1[1, 1],\n",
+    "    xlabel = \"t\",\n",
+    "    )\n",
+    "\n",
+    "T=1\n",
+    "lines!(xrng,map(x -> f(x;T=T),xrng),label=\"T = \"*string(T))\n",
+    "T=3\n",
+    "lines!(xrng,map(x -> f(x;T=3),xrng),label=\"T = \"*string(T))\n",
+    "\n",
+    "\n",
+    "axislegend()\n",
+    "\n",
+    "\n",
+    "frng = range(start=-10.,stop=10.,step=0.01)\n",
+    "\n",
+    "\n",
+    "ax2 = Axis(fg1[1, 2],\n",
+    "    xlabel = \"f\",\n",
+    "    )\n",
+    "\n",
+    "T=1\n",
+    "lines!(frng,T*sinc.(T*frng),label=\"T = \"*string(T))\n",
+    "T=3\n",
+    "lines!(frng,T*sinc.(T*frng),label=\"T = \"*string(T))\n",
+    "\n",
+    "xlims!(-5,5)\n",
+    "\n",
+    "axislegend()\n",
+    "\n",
+    "fg1"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "15b3a2a7-1cbc-4615-8c20-c8c35e5c92b7",
+   "metadata": {},
+   "source": [
+    "## The Gaussian function\n",
+    "***\n",
+    "\n",
+    "- We want now to compute the FT of the Gaussian function: $g(t) = e^{-\\pi t^2}$.\n",
+    "\n",
+    "- Let G(f) be the Fourier Transform of g(t), so that:\n",
+    "\n",
+    "\n",
+    "$$G(f) = \\mathfrak{F} \\{  g(t) \\} = \\int_{-\\infty}^\\infty g(t) e^{-2 \\pi i f t} dt = \\int_{-\\infty}^\\infty e^{-\\pi t^2} e^{-2 \\pi i f t} dt$$\n",
+    "\n",
+    "- Take the derivative of both sides of equation with respect to f, so that:\n",
+    "\n",
+    "$$\\frac{dG(f)}{dt} = \\int_{-\\infty}^\\infty e^{- \\pi t^2} (-2 i \\pi t) e^{-2 \\pi i f t} dt$$\n",
+    "\n",
+    "- Writing $u = e^{-2 \\pi i f t}  \\rightarrow du = (-2 \\pi i f)e^{-2 \\pi i f t} dt$ and $v = i e^{-\\pi t^2} \\rightarrow dv = -2 \\pi i t e^{-\\pi t^2} dt $, and given the formula for integration by parts: $\\int udv = uv - \\int vdu$ we have (the uv term becomes zero, because the limits are evaluated from $-\\infty$ to $\\infty$, where the product is zero):\n",
+    "\n",
+    "$$\\frac{dG(f)}{dt} = \\int_{-\\infty}^\\infty ie^{- \\pi t^2} (-2 i \\pi f) e^{-2 \\pi i f t} dt = -2 \\pi f \\int_{-\\infty}^\\infty e^{- \\pi t^2} e^{-2 \\pi i f t} dt = -2 \\pi f G(t)$$\n",
+    "\n",
+    "- This is a first order simple differential equation for $G(f)$. The solution for this differential equation is given by:\n",
+    "\n",
+    "$$G(f) = G(0) e^{-\\pi f^2} $$\n",
+    "\n",
+    "- All we need to do now to find $G(f)$ is figure out what $G(0)$ is.\n",
+    "- $G(0)$ is simply the average value of $g(t)$, because if you substitute $f=0$ into the equation for $G(f)$ the complex exponential term goes away.\n",
+    "    - The integral has actually an [elegant solution](https://en.wikipedia.org/wiki/Gaussian_integral). The result is:\n",
+    " \n",
+    "$$G(0) = \\int_{-\\infty}^\\infty e^{-\\pi t^2} dt = 1$$\n",
+    "\n",
+    "- Therefore:\n",
+    "\n",
+    "$$G(f) = \\mathfrak{F} \\{  g(t) \\} = e^{-\\pi f^2} $$"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "0cd961f2",
+   "metadata": {},
+   "source": [
+    "### Credits\n",
+    "***\n",
+    "\n",
+    "This notebook contains material obtained by https://towardsdatascience.com/a-proof-of-the-central-limit-theorem-8be40324da83."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "05e93b1d",
+   "metadata": {},
+   "source": [
+    "## Course Flow\n",
+    "***\n",
+    "\n",
+    "<table>\n",
+    "  <tr>\n",
+    "    <td>Previous lecture</td>\n",
+    "    <td>Next lecture</td>\n",
+    "  </tr>\n",
+    "  <tr>\n",
+    "      <td><a href=\"Lecture-StatisticsReminder.ipynb\">Reminder of frequentist statistics</a></td>\n",
+    "    <td><a href=\"Lecture-StatisticsReminder.ipynb\">Reminder of frequentist statistics</a></td>\n",
+    "  </tr>\n",
+    " </table>\n",
+    "\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "591bd355",
+   "metadata": {},
+   "source": [
+    "**Copyright**\n",
+    "\n",
+    "This notebook is provided as [Open Educational Resource](https://en.wikipedia.org/wiki/Open_educational_resources). Feel free to use the notebook for your own purposes. The text is licensed under [Creative Commons Attribution 4.0](https://creativecommons.org/licenses/by/4.0/), the code of the examples, unless obtained from other properly quoted sources, under the [MIT license](https://opensource.org/licenses/MIT). Please attribute the work as follows: *Stefano Covino, Time Domain Astrophysics - Lecture notes featuring computational examples, 2025*."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "7239e2ea-66ae-43f5-afd5-e4e882f9ea47",
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Julia 1.11.3",
+   "language": "julia",
+   "name": "julia-1.11"
+  },
+  "language_info": {
+   "file_extension": ".jl",
+   "mimetype": "application/julia",
+   "name": "julia",
+   "version": "1.11.3"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}
diff --git a/Lectures/Lecture - Spectral Analysis/Lecture-FT.jl b/Lectures/Lecture - Spectral Analysis/Lecture-FT.jl
new file mode 100644
index 0000000000000000000000000000000000000000..e1060556ca52086bd259905cff74ee229eba3f80
--- /dev/null
+++ b/Lectures/Lecture - Spectral Analysis/Lecture-FT.jl	
@@ -0,0 +1,214 @@
+### A Pluto.jl notebook ###
+# v0.20.4
+
+using Markdown
+using InteractiveUtils
+
+# ╔═╡ dfdaa2c2-58bc-4911-8e3b-de854e5d56fa
+import Pkg; Pkg.activate(".")
+
+# ╔═╡ f419b967-f090-4f5a-9db7-3f9f1a80f8bb
+begin
+	using CairoMakie
+	using CommonMark
+	using PlutoUI
+end
+
+# ╔═╡ d0fdd5a1-5989-471c-86f4-4516645331e6
+md"""
+**What is this?**
+
+
+*This jupyter notebook is part of a collection of notebooks on various topics discussed during the Time Domain Astrophysics course delivered by Stefano Covino at the [Università dell'Insubria](https://www.uninsubria.eu/) in Como (Italy). Please direct questions and suggestions to [stefano.covino@inaf.it](mailto:stefano.covino@inaf.it).*
+"""
+
+# ╔═╡ 8eac6af6-0e5c-43c7-8781-e97b02d3813f
+md"""
+**This is a `julia` notebook**
+"""
+
+# ╔═╡ b67d9fd5-435e-4150-902e-e6915efdbeaa
+Pkg.instantiate()
+
+# ╔═╡ d34ab604-27fa-4877-a8e1-d17bb8fb026f
+# ╠═╡ show_logs = false
+md"""
+$(LocalResource("Pics/TimeDomainBanner.jpg"))
+"""
+
+# ╔═╡ 48232ae4-81b0-4cf4-80a9-1a0085ba8d9f
+md"""
+# A few important Fourier Transform
+***
+
+## The rectangular function
+***
+
+- We want to compute the FT of the rectangular function: e.g. a function $g(t)$ with a given amplitude and extending from $t=-T/2$ to $t=T/2$. For $|t|>T/2$, $g(t)=0$.
+  
+- We will write the square pulse or box function as $rect_T(t)$, indicating that the rectangle function is equal to 1 for a period of $T$ (from $-T/2$ to $+T/2$) and 0 elsewhere,
+"""
+
+# ╔═╡ e5b7c371-b30d-44d3-8ee9-f347719ba366
+md"""
+ ```math
+\mathfrak{F} \{  g(t) \} = G(f) = \int_{-\infty}^\infty g(t) e^{-2 \pi i f t} dt = \int_{-T/2}^{T/2} A e^{-2 \pi i f t} dt = \frac{A}{-2 \pi i f} e^{-2 \pi i f t}\Big|_{-T/2}^{T/2} = \frac{A}{-2 \pi i f} [ e^{-\pi i f T} - e^{\pi i f T} ] = 
+```
+
+```math
+= \frac{AT}{\pi f T} \frac{ e^{-\pi i f T} - e^{\pi i f T} }{2i} = \frac{AT}{\pi f T} \sin (\pi f T) \equiv AT {\rm sinc} (fT)
+```
+
+ - where we have defined the "sinc" function defined as ${\rm sinc} (t) = \sin(\pi t) / \pi t$.
+"""
+
+# ╔═╡ fc298404-78c0-49b9-8250-091dbc2b7487
+begin
+	T=2.
+	
+	#f(x) = (x >= -T/2 && x <= T/2) ? 1 : 0
+	
+	function f(x; T=2)
+	    if x >= -T/2 && x <= T/2
+	        return 1
+	    else
+	        return 0
+	    end
+	end
+	
+	xrng = range(start=-5.,stop=5.,step=0.01)
+	
+	
+	fg1 = Figure(size=(1000,500))
+	
+	ax1 = Axis(fg1[1, 1],
+	    xlabel = "t",
+	    )
+	
+	T=1
+	lines!(xrng,map(x -> f(x;T=T),xrng),label="T = "*string(T))
+	T=3
+	lines!(xrng,map(x -> f(x;T=3),xrng),label="T = "*string(T))
+	
+	
+	axislegend()
+	
+	
+	frng = range(start=-10.,stop=10.,step=0.01)
+	
+	
+	ax2 = Axis(fg1[1, 2],
+	    xlabel = "f",
+	    )
+	
+	T=1
+	lines!(frng,T*sinc.(T*frng),label="T = "*string(T))
+	T=3
+	lines!(frng,T*sinc.(T*frng),label="T = "*string(T))
+	
+	xlims!(-5,5)
+	
+	axislegend()
+	
+	fg1
+end
+
+# ╔═╡ 9b5f3662-37da-4e19-a4a3-a80dbbfb041a
+cm"""
+## The Gaussian function
+***
+
+- We want now to compute the FT of the Gaussian function: ``g(t) = e^{-\pi t^2}``.
+
+- Let G(f) be the Fourier Transform of g(t), so that:
+
+
+```math
+G(f) = \mathfrak{F} \{  g(t) \} = \int_{-\infty}^\infty g(t) e^{-2 \pi i f t} dt = \int_{-\infty}^\infty e^{-\pi t^2} e^{-2 \pi i f t} dt
+```
+
+- Take the derivative of both sides of equation with respect to f, so that:
+
+```math
+\frac{dG(f)}{dt} = \int_{-\infty}^\infty e^{- \pi t^2} (-2 i \pi t) e^{-2 \pi i f t} dt
+```
+
+- Writing ``u = e^{-2 \pi i f t}  \rightarrow du = (-2 \pi i f)e^{-2 \pi i f t} dt`` and ``v = i e^{-\pi t^2} \rightarrow dv = -2 \pi i t e^{-\pi t^2} dt ``, and given the formula for integration by parts: ``\int udv = uv - \int vdu`` we have (the uv term becomes zero, because the limits are evaluated from ``-\infty`` to ``\infty``, where the product is zero):
+
+```math
+\frac{dG(f)}{dt} = \int_{-\infty}^\infty ie^{- \pi t^2} (-2 i \pi f) e^{-2 \pi i f t} dt = -2 \pi f \int_{-\infty}^\infty e^{- \pi t^2} e^{-2 \pi i f t} dt = -2 \pi f G(t)
+```
+
+- This is a first order simple differential equation for ``G(f)``. The solution for this differential equation is given by:
+
+```math
+G(f) = G(0) e^{-\pi f^2} 
+```
+
+- All we need to do now to find ``G(f)`` is figure out what ``G(0)`` is.
+- ``G(0)`` is simply the average value of ``g(t)``, because if you substitute ``f=0`` into the equation for ``G(f)`` the complex exponential term goes away.
+    - The integral has actually an [elegant solution](https://en.wikipedia.org/wiki/Gaussian_integral). The result is:
+ 
+```math
+G(0) = \int_{-\infty}^\infty e^{-\pi t^2} dt = 1
+```
+
+- Therefore:
+
+```math
+G(f) = \mathfrak{F} \{  g(t) \} = e^{-\pi f^2} 
+```
+"""
+
+# ╔═╡ 4a49d01f-0138-4ecd-b5af-a9328cfcbd5c
+md"""
+### Credits
+***
+
+This notebook contains material obtained by [https://towardsdatascience.com/a-proof-of-the-central-limit-theorem-8be40324da83](https://towardsdatascience.com/a-proof-of-the-central-limit-theorem-8be40324da83).
+"""
+
+# ╔═╡ 9ed9be7b-e2cc-40a0-a4e1-1298a71a8cc3
+cm"""
+## Course Flow
+***
+
+<table>
+  <tr>
+    <td>Previous lecture</td>
+    <td>Next lecture</td>
+  </tr>
+  <tr>
+      <td><a href="./open?path=Lectures/Lecture - Spectral Analysis/Lecture-SpectralAnalysis.jl">Spectral analysis</a></td>
+    <td><a href="./open?path=Lectures/Lecture - Spectral Analysis/Lecture-SpectralAnalysis.jl">Spectral analysis</a></td>
+  </tr>
+ </table>
+
+
+"""
+
+# ╔═╡ 72a28ae9-0fda-4f87-bf1c-e7e133ceec30
+md"""
+**Copyright**
+
+This notebook is provided as [Open Educational Resource](https://en.wikipedia.org/wiki/Open_educational_resources). Feel free to use the notebook for your own purposes. The text is licensed under [Creative Commons Attribution 4.0](https://creativecommons.org/licenses/by/4.0/), the code of the examples, unless obtained from other properly quoted sources, under the [MIT license](https://opensource.org/licenses/MIT). Please attribute the work as follows: *Stefano Covino, Time Domain Astrophysics - Lecture notes featuring computational examples, 2025*.
+"""
+
+# ╔═╡ 7b6c4bfd-786a-40b1-bdd3-eb4570f7d1aa
+
+
+# ╔═╡ Cell order:
+# ╟─d0fdd5a1-5989-471c-86f4-4516645331e6
+# ╟─8eac6af6-0e5c-43c7-8781-e97b02d3813f
+# ╠═dfdaa2c2-58bc-4911-8e3b-de854e5d56fa
+# ╠═b67d9fd5-435e-4150-902e-e6915efdbeaa
+# ╠═f419b967-f090-4f5a-9db7-3f9f1a80f8bb
+# ╟─d34ab604-27fa-4877-a8e1-d17bb8fb026f
+# ╟─48232ae4-81b0-4cf4-80a9-1a0085ba8d9f
+# ╟─e5b7c371-b30d-44d3-8ee9-f347719ba366
+# ╠═fc298404-78c0-49b9-8250-091dbc2b7487
+# ╟─9b5f3662-37da-4e19-a4a3-a80dbbfb041a
+# ╟─4a49d01f-0138-4ecd-b5af-a9328cfcbd5c
+# ╟─9ed9be7b-e2cc-40a0-a4e1-1298a71a8cc3
+# ╟─72a28ae9-0fda-4f87-bf1c-e7e133ceec30
+# ╠═7b6c4bfd-786a-40b1-bdd3-eb4570f7d1aa
diff --git a/Lectures/Lecture - Spectral Analysis/Lecture-PDS-ACF.ipynb b/Lectures/Lecture - Spectral Analysis/Lecture-PDS-ACF.ipynb
index 0d371515fa5354ec14ca9240bb4b5457ae9e9c83..b0e74b88600d22af4892d82f6fed0c44686ae8f2 100644
--- a/Lectures/Lecture - Spectral Analysis/Lecture-PDS-ACF.ipynb	
+++ b/Lectures/Lecture - Spectral Analysis/Lecture-PDS-ACF.ipynb	
@@ -116,21 +116,29 @@
    "source": [
     "**Copyright**\n",
     "\n",
-    "This notebook is provided as [Open Educational Resource](https://en.wikipedia.org/wiki/Open_educational_resources). Feel free to use the notebook for your own purposes. The text is licensed under [Creative Commons Attribution 4.0](https://creativecommons.org/licenses/by/4.0/), the code of the examples, unless obtained from other properly quoted sources, under the [MIT license](https://opensource.org/licenses/MIT). Please attribute the work as follows: *Stefano Covino, Time Domain Astrophysics - Lecture notes featuring computational examples, 2024*."
+    "This notebook is provided as [Open Educational Resource](https://en.wikipedia.org/wiki/Open_educational_resources). Feel free to use the notebook for your own purposes. The text is licensed under [Creative Commons Attribution 4.0](https://creativecommons.org/licenses/by/4.0/), the code of the examples, unless obtained from other properly quoted sources, under the [MIT license](https://opensource.org/licenses/MIT). Please attribute the work as follows: *Stefano Covino, Time Domain Astrophysics - Lecture notes featuring computational examples, 2025*."
    ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "226679b8-f75b-456d-ab17-6043f9066819",
+   "metadata": {},
+   "outputs": [],
+   "source": []
   }
  ],
  "metadata": {
   "kernelspec": {
-   "display_name": "Julia 1.10.4",
+   "display_name": "Julia 1.11.3",
    "language": "julia",
-   "name": "julia-1.10"
+   "name": "julia-1.11"
   },
   "language_info": {
    "file_extension": ".jl",
    "mimetype": "application/julia",
    "name": "julia",
-   "version": "1.10.4"
+   "version": "1.11.3"
   }
  },
  "nbformat": 4,
diff --git a/Lectures/Lecture - Spectral Analysis/Lecture-PDS-ACF.jl b/Lectures/Lecture - Spectral Analysis/Lecture-PDS-ACF.jl
new file mode 100644
index 0000000000000000000000000000000000000000..61b9e94be3830c4b96490a8d2a57f024d9bf08ef
--- /dev/null
+++ b/Lectures/Lecture - Spectral Analysis/Lecture-PDS-ACF.jl	
@@ -0,0 +1,443 @@
+### A Pluto.jl notebook ###
+# v0.20.4
+
+using Markdown
+using InteractiveUtils
+
+# ╔═╡ 57f2d932-3645-4d95-8e1f-d02e41676057
+begin
+	using CommonMark
+	using PlutoUI
+end
+
+# ╔═╡ bdb342b3-a215-4f0d-9344-9c8411b0eeb7
+md"""
+**What is this?**
+
+
+*This jupyter notebook is part of a collection of notebooks on various topics discussed during the Time Domain Astrophysics course delivered by Stefano Covino at the [Università dell'Insubria](https://www.uninsubria.eu/) in Como (Italy). Please direct questions and suggestions to [stefano.covino@inaf.it](mailto:stefano.covino@inaf.it).*
+"""
+
+# ╔═╡ ab7bbc41-1c45-4335-8b3e-6fcb91cbbbeb
+md"""
+**This is a `pluto` notebook**
+"""
+
+# ╔═╡ 5203b23c-04cc-4042-8aaa-018bde6cc449
+md"""
+$(LocalResource("Pics/TimeDomainBanner.jpg"))
+"""
+
+# ╔═╡ 11fcfa8c-f19b-4d79-85e3-2fdb8ca9dac6
+cm"""
+## PDS and ACF are Fourier dual
+***
+
+- We can write power spectral density (or power density or power density spectrum), ``S(ω)``, as:
+
+```math
+S(ω) = \lim_{τ\to\infty}\frac{|X(ω)|^2}{τ}
+```
+
+- And the autocorrelation function of power (or periodic) signal ``x(t)`` with any time period ``T`` is given by:
+
+```math
+R(τ) = \lim_{T\to\infty}\frac{1}{T}\int^{T/2}_{−T/2}x(t)\ x^∗(t−τ) dt
+```
+
+- Where, ``τ`` is called *the delayed parameter*.
+
+- We want to prove that the power spectral density function ``S(ω)`` and the autocorrelation function ``R(τ)`` of a power signal form a Fourier transform pair, i.e.:
+
+```math
+R(τ) \Leftrightarrow S(ω)
+```
+
+- The autocorrelation function of a power signal ``x(t)`` in terms of exponential Fourier series coefficients is given by,
+
+```math
+R(τ) = \sum_{n=−\infty}^{+\infty}C_nC_{−n} e^{jnω_0τ}
+```
+
+- Where, ``C_n`` and C``_{−n}`` are the exponential Fourier series coefficients.
+
+- Since ``C_nC_{−n}=|C_n|^2`` we have:
+
+```math
+R(τ) = \sum_{n=−\infty}^{+\infty}|C_n|^2 e^{jnω_0τ}
+```
+
+- By taking the Fourier transform on both sides we get:
+
+```math
+F[R(τ)] = F[\sum_{n=−\infty}^{+\infty}|C_n|^2 e^{jnω_0τ}] = \int_{-\infty}^{+\infty} [\sum_{n=−\infty}^{+\infty}|C_n|^2 e^{jnω_0τ}] e^{-jωτ} dτ
+```
+
+- By interchanging the order of integration and summation on RHS of the above expression, we also have:
+
+```math
+F[R(τ)] = \sum_{n=−\infty}^{+\infty}|C_n|^2 \int_{-\infty}^{+\infty} e^{jnω_0τ} e^{-jωτ} dτ = \sum_{n=−\infty}^{+\infty}|C_n|^2 \int_{-\infty}^{+\infty} e^{-jτ(ω-nω_0)} dτ
+```
+
+- Since ``\int_{-\infty}^{+\infty} e^{-jτ(ω-nω_0)} dτ = 2πδ(ω−nω_0)``, we have:
+
+```math
+F[R(τ)] = 2π \sum_{n=−\infty}^{+\infty}|C_n|^2 δ(ω−nω_0)
+```
+
+- The RHS is the power spectral density (PSD) of the power function ``x(t)``. Therefore:
+
+```math
+F[R(τ)]=S(ω)
+```
+
+- Hence, it proves that the autocorrelation function ``R(τ)`` and PSD function ``S(ω)`` of a power signal form the Fourier transform pair.
+"""
+
+# ╔═╡ 414eae66-bf9b-4115-b2d5-34c2c7e29686
+md"""
+### Credits
+***
+
+This notebook contains material obtained from [https://www.tutorialspoint.com/power-spectral-density-psd-and-autocorrelation-function#](https://www.tutorialspoint.com/power-spectral-density-psd-and-autocorrelation-function#).
+"""
+
+# ╔═╡ 0628be70-82b7-4281-ad10-d77c0a54a015
+cm"""
+## Course Flow
+
+<table>
+  <tr>
+    <td>Previous lecture</td>
+    <td>Next lecture</td>
+  </tr>
+  <tr>
+    <td><a href="./open?path=Lectures/Lecture - Spectral Analysis/Lecture-SpectralAnalysis.jl">Spectral analysis</a></td>
+    <td><a href="./open?path=Lectures/Lecture - Spectral Analysis/Lecture-SpectralAnalysis.jl">Spectral analysis</a></td>
+  </tr>
+ </table>
+
+
+"""
+
+# ╔═╡ 5e970b87-f348-4797-bcff-249bd6e6cc4a
+md"""
+**Copyright**
+
+This notebook is provided as [Open Educational Resource](https://en.wikipedia.org/wiki/Open_educational_resources). Feel free to use the notebook for your own purposes. The text is licensed under [Creative Commons Attribution 4.0](https://creativecommons.org/licenses/by/4.0/), the code of the examples, unless obtained from other properly quoted sources, under the [MIT license](https://opensource.org/licenses/MIT). Please attribute the work as follows: *Stefano Covino, Time Domain Astrophysics - Lecture notes featuring computational examples, 2025*.
+"""
+
+# ╔═╡ 00000000-0000-0000-0000-000000000001
+PLUTO_PROJECT_TOML_CONTENTS = """
+[deps]
+CommonMark = "a80b9123-70ca-4bc0-993e-6e3bcb318db6"
+PlutoUI = "7f904dfe-b85e-4ff6-b463-dae2292396a8"
+
+[compat]
+CommonMark = "~0.8.15"
+PlutoUI = "~0.7.61"
+"""
+
+# ╔═╡ 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 = "cd3d72e2dccc4929194d09ec9e39f0844415267b"
+
+[[deps.AbstractPlutoDingetjes]]
+deps = ["Pkg"]
+git-tree-sha1 = "6e1d2a35f2f90a4bc7c2ed98079b2ba09c35b83a"
+uuid = "6e696c72-6542-2067-7265-42206c756150"
+version = "1.3.2"
+
+[[deps.ArgTools]]
+uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f"
+version = "1.1.2"
+
+[[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.ColorTypes]]
+deps = ["FixedPointNumbers", "Random"]
+git-tree-sha1 = "b10d0b65641d57b8b4d5e234446582de5047050d"
+uuid = "3da002f7-5984-5a60-b8a6-cbb66c0b333f"
+version = "0.11.5"
+
+[[deps.CommonMark]]
+deps = ["Crayons", "PrecompileTools"]
+git-tree-sha1 = "3faae67b8899797592335832fccf4b3c80bb04fa"
+uuid = "a80b9123-70ca-4bc0-993e-6e3bcb318db6"
+version = "0.8.15"
+
+[[deps.CompilerSupportLibraries_jll]]
+deps = ["Artifacts", "Libdl"]
+uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae"
+version = "1.1.1+0"
+
+[[deps.Crayons]]
+git-tree-sha1 = "249fe38abf76d48563e2f4556bebd215aa317e15"
+uuid = "a8cc5b0e-0ffa-5ad4-8c14-923d3ee1735f"
+version = "4.1.1"
+
+[[deps.Dates]]
+deps = ["Printf"]
+uuid = "ade2ca70-3891-5945-98fb-dc099432e06a"
+version = "1.11.0"
+
+[[deps.Downloads]]
+deps = ["ArgTools", "FileWatching", "LibCURL", "NetworkOptions"]
+uuid = "f43a241f-c20a-4ad4-852c-f6b1247861c6"
+version = "1.6.0"
+
+[[deps.FileWatching]]
+uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee"
+version = "1.11.0"
+
+[[deps.FixedPointNumbers]]
+deps = ["Statistics"]
+git-tree-sha1 = "05882d6995ae5c12bb5f36dd2ed3f61c98cbb172"
+uuid = "53c48c17-4a7d-5ca2-90c5-79b7896eea93"
+version = "0.8.5"
+
+[[deps.Hyperscript]]
+deps = ["Test"]
+git-tree-sha1 = "179267cfa5e712760cd43dcae385d7ea90cc25a4"
+uuid = "47d2ed2b-36de-50cf-bf87-49c2cf4b8b91"
+version = "0.0.5"
+
+[[deps.HypertextLiteral]]
+deps = ["Tricks"]
+git-tree-sha1 = "7134810b1afce04bbc1045ca1985fbe81ce17653"
+uuid = "ac1192a8-f4b3-4bfe-ba22-af5b92cd3ab2"
+version = "0.9.5"
+
+[[deps.IOCapture]]
+deps = ["Logging", "Random"]
+git-tree-sha1 = "b6d6bfdd7ce25b0f9b2f6b3dd56b2673a66c8770"
+uuid = "b5f81e59-6552-4d32-b1f0-c071b021bf89"
+version = "0.2.5"
+
+[[deps.InteractiveUtils]]
+deps = ["Markdown"]
+uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240"
+version = "1.11.0"
+
+[[deps.JSON]]
+deps = ["Dates", "Mmap", "Parsers", "Unicode"]
+git-tree-sha1 = "31e996f0a15c7b280ba9f76636b3ff9e2ae58c9a"
+uuid = "682c06a0-de6a-54ab-a142-c8b1cf79cde6"
+version = "0.21.4"
+
+[[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.MIMEs]]
+git-tree-sha1 = "1833212fd6f580c20d4291da9c1b4e8a655b128e"
+uuid = "6c6e2e6c-3030-632d-7369-2d6c69616d65"
+version = "1.0.0"
+
+[[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.Mmap]]
+uuid = "a63ad114-7e13-5084-954f-fe012c677804"
+version = "1.11.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.OpenBLAS_jll]]
+deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"]
+uuid = "4536629a-c528-5b80-bd46-f80d51c5b363"
+version = "0.3.27+1"
+
+[[deps.Parsers]]
+deps = ["Dates", "PrecompileTools", "UUIDs"]
+git-tree-sha1 = "8489905bcdbcfac64d1daa51ca07c0d8f0283821"
+uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0"
+version = "2.8.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.PlutoUI]]
+deps = ["AbstractPlutoDingetjes", "Base64", "ColorTypes", "Dates", "FixedPointNumbers", "Hyperscript", "HypertextLiteral", "IOCapture", "InteractiveUtils", "JSON", "Logging", "MIMEs", "Markdown", "Random", "Reexport", "URIs", "UUIDs"]
+git-tree-sha1 = "7e71a55b87222942f0f9337be62e26b1f103d3e4"
+uuid = "7f904dfe-b85e-4ff6-b463-dae2292396a8"
+version = "0.7.61"
+
+[[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.SHA]]
+uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce"
+version = "0.7.0"
+
+[[deps.Serialization]]
+uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b"
+version = "1.11.0"
+
+[[deps.Statistics]]
+deps = ["LinearAlgebra"]
+git-tree-sha1 = "ae3bb1eb3bba077cd276bc5cfc337cc65c3075c0"
+uuid = "10745b16-79ce-11e8-11f9-7d13ad32a3b2"
+version = "1.11.1"
+
+    [deps.Statistics.extensions]
+    SparseArraysExt = ["SparseArrays"]
+
+    [deps.Statistics.weakdeps]
+    SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
+
+[[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.Test]]
+deps = ["InteractiveUtils", "Logging", "Random", "Serialization"]
+uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
+version = "1.11.0"
+
+[[deps.Tricks]]
+git-tree-sha1 = "6cae795a5a9313bbb4f60683f7263318fc7d1505"
+uuid = "410a4b4d-49e4-4fbc-ab6d-cb71b17b3775"
+version = "0.1.10"
+
+[[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"
+version = "1.11.0"
+
+[[deps.Unicode]]
+uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5"
+version = "1.11.0"
+
+[[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:
+# ╟─bdb342b3-a215-4f0d-9344-9c8411b0eeb7
+# ╟─ab7bbc41-1c45-4335-8b3e-6fcb91cbbbeb
+# ╠═57f2d932-3645-4d95-8e1f-d02e41676057
+# ╟─5203b23c-04cc-4042-8aaa-018bde6cc449
+# ╟─11fcfa8c-f19b-4d79-85e3-2fdb8ca9dac6
+# ╟─414eae66-bf9b-4115-b2d5-34c2c7e29686
+# ╟─0628be70-82b7-4281-ad10-d77c0a54a015
+# ╟─5e970b87-f348-4797-bcff-249bd6e6cc4a
+# ╟─00000000-0000-0000-0000-000000000001
+# ╟─00000000-0000-0000-0000-000000000002
diff --git a/Lectures/Lecture - Spectral Analysis/Lecture-SpectralAnalysis.ipynb b/Lectures/Lecture - Spectral Analysis/Lecture-SpectralAnalysis.ipynb
index a7835de4d913f286089e0a59269846101c8cf9b8..e836d41e69ce43a14f7137c1d96ba1bc3eae7e69 100644
--- a/Lectures/Lecture - Spectral Analysis/Lecture-SpectralAnalysis.ipynb	
+++ b/Lectures/Lecture - Spectral Analysis/Lecture-SpectralAnalysis.ipynb	
@@ -169,6 +169,14 @@
     "- Convolution: $h(t) \\ast g(t) \\longleftrightarrow H(f) G(f)$, \"convolution\" $\\longleftrightarrow$ \"multiplication\""
    ]
   },
+  {
+   "cell_type": "markdown",
+   "id": "fc16e963-7427-4d72-8972-109234a0ca93",
+   "metadata": {},
+   "source": [
+    "> How to compute the Fourier Transform in a few simple cases can be found [here](Lecture-FT.ipynb)."
+   ]
+  },
   {
    "cell_type": "markdown",
    "id": "02ea4a88",
@@ -1215,13 +1223,13 @@
     "\n",
     "- In practice one finds that noise powers are nearly always $\\chi^2$ distributed, not only for Poisson noise, but also for many other types of noise.\n",
     "\n",
-    "- With the Leahy normalization, the probability for $P_{j,noise} to exceed a given threshold is given by:\n",
+    "- With the Leahy normalization, the probability for $P_{j,noise}$ to exceed a given threshold is given by:\n",
     "\n",
     "$$ Prob(P_{j,noise} > P_{threshold}) = Q(P_{threshold} | 2) \\quad (j = 1, N/2-1)$$\n",
     "\n",
     "$$ Q(\\chi^2|\\nu) \\equiv \\left[2^{\\nu/2} \\Gamma(\\frac{\\nu}{2})\\right]^{-1} \\int_{\\chi^2}^\\infty t^{\\frac{\\nu}{2}-1} e^{-\\frac{t}{2}} dt $$\n",
     "\n",
-    "- where $\\nu$ is the number of dof and $\\Gamma$ is the gamma function, the generalization of factorial to real and complex numbers [$\\Gamma(n) = (n-1)!]$\n",
+    "- where $\\nu$ is the number of dof and $\\Gamma$ is the gamma function, the generalization of factorial to real and complex numbers [$\\Gamma(n) = (n-1)!$]\n",
     "\n",
     "- For $\\nu = 2$:\n",
     "\n",
@@ -1406,7 +1414,7 @@
    "source": [
     "**Copyright**\n",
     "\n",
-    "This notebook is provided as [Open Educational Resource](https://en.wikipedia.org/wiki/Open_educational_resources). Feel free to use the notebook for your own purposes. The text is licensed under [Creative Commons Attribution 4.0](https://creativecommons.org/licenses/by/4.0/), the code of the examples, unless obtained from other properly quoted sources, under the [MIT license](https://opensource.org/licenses/MIT). Please attribute the work as follows: *Stefano Covino, Time Domain Astrophysics - Lecture notes featuring computational examples, 2024*."
+    "This notebook is provided as [Open Educational Resource](https://en.wikipedia.org/wiki/Open_educational_resources). Feel free to use the notebook for your own purposes. The text is licensed under [Creative Commons Attribution 4.0](https://creativecommons.org/licenses/by/4.0/), the code of the examples, unless obtained from other properly quoted sources, under the [MIT license](https://opensource.org/licenses/MIT). Please attribute the work as follows: *Stefano Covino, Time Domain Astrophysics - Lecture notes featuring computational examples, 2025*."
    ]
   },
   {
@@ -1423,7 +1431,7 @@
    "provenance": []
   },
   "kernelspec": {
-   "display_name": "Julia 1.11.0",
+   "display_name": "Julia 1.11.3",
    "language": "julia",
    "name": "julia-1.11"
   },
@@ -1431,7 +1439,7 @@
    "file_extension": ".jl",
    "mimetype": "application/julia",
    "name": "julia",
-   "version": "1.10.5"
+   "version": "1.11.3"
   }
  },
  "nbformat": 4,
diff --git a/Lectures/Lecture - Spectral Analysis/Lecture-SpectralAnalysis.jl b/Lectures/Lecture - Spectral Analysis/Lecture-SpectralAnalysis.jl
new file mode 100644
index 0000000000000000000000000000000000000000..b2179c3ea78f9e318033885ed6d74ff67e8d53f3
--- /dev/null
+++ b/Lectures/Lecture - Spectral Analysis/Lecture-SpectralAnalysis.jl	
@@ -0,0 +1,1176 @@
+### A Pluto.jl notebook ###
+# v0.20.4
+
+using Markdown
+using InteractiveUtils
+
+# ╔═╡ 419e9d2c-f5df-49a3-b0ce-9804aacda4b7
+import Pkg; Pkg.activate(".")
+
+# ╔═╡ 6a59a8e6-39fc-44b3-9921-8976c677f4b1
+begin
+	using CairoMakie
+	using CommonMark
+	using CSV
+	using DataFrames
+	using Dates
+	using Distributions
+	using DSP
+	using FFTW
+	using Format
+	using HTTP
+	using LaTeXStrings
+	using PlutoUI
+	using Statistics
+end
+
+# ╔═╡ d9329a8d-b07c-4207-93a6-1668da23e296
+md"""
+**What is this?**
+
+
+*This jupyter notebook is part of a collection of notebooks on various topics discussed during the Time Domain Astrophysics course delivered by Stefano Covino at the [Università dell'Insubria](https://www.uninsubria.eu/) in Como (Italy). Please direct questions and suggestions to [stefano.covino@inaf.it](mailto:stefano.covino@inaf.it).*
+"""
+
+# ╔═╡ 3307644d-e875-4f15-a140-a41f7ca82a8f
+md"""
+**This is a `Julia` notebook**
+"""
+
+# ╔═╡ 7209ecae-fba8-44d7-940e-1ecc12e6700a
+Pkg.instantiate()
+
+# ╔═╡ 95ee75d5-3112-42b6-83aa-29e639ac6eb0
+# ╠═╡ show_logs = false
+md"""
+$(LocalResource("Pics/TimeDomainBanner.jpg"))
+"""
+
+# ╔═╡ 882fc480-b132-45a8-906a-db157059b92c
+md"""
+# Fourier Analysis
+***
+
+- The aim of Fourier analysis is to express any function as a sum of different sines and cosines, characterised by an angular frequency $ω$ or a corresponding time period $P = 2π/ω$.
+
+- Such a decomposition is known as a Fourier series:
+
+```math
+f(t) = \frac{a(0)}{2}+\sum_{n=1}^\infty [ a(n)\sin n\omega_0 t + b(n)\cos n\omega_0 t]
+```
+
+- This expression can represent practically any periodic function with period $P_0$, with suitable adjustment of the coefficients $a(n)$ and $b(n)$, which are known as the Fourier coefficients.
+
+- The conditions under which the Fourier decomposition is valid are that $f(t)$ has only a finite number of finite discontinuities and only a finite number of extreme values within a period.
+
+    - These are known as Dirichlet conditions and the functions obeying them are called piece-wise regular.
+
+- The Fourier coefficients $a(n)$ and $b(n)$ can be determined by performing the following integrations:
+
+```math
+a(n) = \frac{2}{P_0} \int_0^{P_0} f(t)\sin n\omega_0 t \, dt \;\; ; \;\;\; b(n) = \frac{2}{P_0} \int_0^{P_0} f(t)\cos n\omega_0 t \, dt, \;\; n=0,1,2...
+```
+
+- Alternatively, the Fourier decomposition may also be expressed in an equivalent exponential form:
+
+```math
+f(t) = \frac{1}{P_0}\sum_{n=-\infty}^{\infty} c(n) e^{i n\omega_0 t}; \;\;\mbox{\rm where}\;\; c(n)=\int_{0}^{P_0} f(t) e^{-in\omega_0 t} dt
+```
+
+- In the above expansions, the $n = 0$ term is often called the constant or the D.C. (Direct Current) component, the $n = 1$ term the fundamental and the terms with $n > 1$ the harmonics.
+"""
+
+# ╔═╡ 231efd02-fbde-4c81-9577-7fea1ac07e88
+# ╠═╡ show_logs = false
+md"""
+$(LocalResource("Pics/squarewave.jpg"))
+"""
+
+# ╔═╡ bc82a078-fea7-4a00-b38c-a849fb760594
+md"""
+- Example of a Fourier series decomposition. The original time domain function $f(t)$, shown in the thick black line, is a square wave of period $T$, which equals unity from $t=0$ to $0.5T$ and zero from $0.5T$ to $T$. Two periods of the function are plotted. Thin lines show the Fourier sum with different number of terms: (i) black: DC$+$Fundamental, (ii) blue: sum up to 3rd harmonic, (iii) red: sum up to 11th harmonic. The gradual improvement in the approximation of the function with increasing number of terms in Fourier series is evident. At the point of discontinuity, all the reconstructions pass through the average of the left and right limits of the original function and the transition gets progressively sharper with larger number of terms.
+"""
+
+# ╔═╡ 3bdf3bea-7e3c-4f09-98f7-bdbc16ea2880
+md"""
+### Continuous Fourier Transform
+***
+
+- We define the Fourier transform (FT) of any function $f(t)$ as:
+
+```math
+F(\omega) = \int\limits_{-\infty}^{+\infty} f(t) e^{-i\omega t} dt
+```
+
+- This is a linear transformation and no information is lost. The representations of a function in time and frequency domains are equivalent.
+
+- The original $f(t)$ can be recovered by applying the inverse Fourier transform:
+
+```math
+f(t) = {1\over 2\pi} \int\limits_{-\infty}^{+\infty} F(\omega) e^{i\omega t} d\omega
+```
+
+- The FT has a number of interesting properties. It is linear, not necessarily a real function, and its amplitude is invariant to time shift (but not its phase).
+
+| $f(t)$ | F(ω) |
+|:-------: |:--------:|
+| Real    | H(-f) = H$^*$(ω)   |
+| Even    | Even   |
+| Odd    | Odd   |
+| Real and Even | Real and Even     |
+| Real and Odd  | Imaginary and Odd |
+
+- Unless the original function is even, an unlikely situation in the case of a time series, its Fourier transform is complex!
+"""
+
+# ╔═╡ 0dbb5f0e-292d-4d8a-bb83-7954e4a46f29
+# ╠═╡ show_logs = false
+md"""
+$(LocalResource("Pics/FTexamples.png"))
+"""
+
+# ╔═╡ 875732fc-5644-4c06-8f8c-39dc30f1d3b4
+md"""
+- Scaling: $h(at) \longleftrightarrow H(f/a) / |a|$, "broad" $\longleftrightarrow$ "narrow"
+- Shifting: $h(t-t_0) \longleftrightarrow H(f) * e^{2\pi i f t_0}$, "shift" $\longleftrightarrow$ "phase roll/gradient"
+- Convolution: $h(t) \ast g(t) \longleftrightarrow H(f) G(f)$, "convolution" $\longleftrightarrow$ "multiplication"
+"""
+
+# ╔═╡ 56081488-4ade-436a-991e-d7138368edf1
+md""" 
+> How to compute the Fourier Transform in a few simple cases can be found [here](./open?path=Lectures/Lecture - Spectral Analysis/Lecture-FT.jl).
+"""
+
+# ╔═╡ 6d88e888-8f08-47ab-8906-c7b4b86b2588
+md"""
+## Power density spectrum (PDS)
+***
+
+- The Power Density Spectrum (PSD) is defined as the Fourier Transform multiplied by its complex conjugate and therefore the square modulus of the Fourier Transform:
+
+```math
+P(\omega) = F(\omega)\cdot F^*(\omega) =  | F(\omega) |^2
+```
+
+- If the original function is real (usually the case for time series) the PSD is an even function and the values at negative frequencies are redundant.
+
+- The FT is a linear function, the PDS is not. This means that while the FT of the sum of two signals is the sum of the FT of the signals, in the case of the PDS this is not true and there are cross-terms to be considered.
+
+- E.g., if two signals are $f(t)$ and $g(t)$, the PSD of the sum of the two is:
+
+```math
+P[f(t)+g(t)] = |F[f(t)+g(t)]|^2 =  F[f(t)+g(t)]\cdot F^*[f(t)+g(t)] = P[f(t)] + P[g(t)] + 2 Re\{F[f(t)]\cdot F[g(t)] \}
+```
+
+- If the two signals are uncorrelated, the cross-term is zero and linearity applies.
+"""
+
+# ╔═╡ 99f8ea18-5807-482e-8516-e2bdaf1546e6
+md"""
+## Autocorrelation function (ACF)
+***
+
+- The autocorrelation (ACF) of a function $f(t)$ is defined as:
+
+```math
+A(t) = \int\limits_{-\infty}^{+\infty} f(\tau) f(t+\tau) d\tau \Longleftrightarrow F(f) F^*(f) \equiv |F(f)|^2
+```
+
+- The autocorrelation of a function is the Fourier transform of its PSD.
+
+- It is also simple to derive, by the *Parseval’s theorem*, simply setting $t=0$, that:
+
+```math
+\int\limits_{-\infty}^{+\infty} |f(t)|^2 dt = {1\over 2\pi} \int\limits_{-\infty}^{+\infty} |f(\omega)|^2 d\omega
+```
+
+> For the interested readers, a proof that PDS and ACF are Fourier duals can be found [here](./open?path=Lectures/Lecture - Spectral Analysis/Lecture-PDS-ACF.jl).
+
+"""
+
+# ╔═╡ e087bf1e-dd1a-41f3-8154-bfb39325d905
+md"""
+## Discrete Fourier transform
+***
+
+- In the real world, we only have discrete measurements, the time series, commonly called, in astronomy, “light curves”. They consist of $N$ measurements $x_k$ taken (now) at equally-spaced times $t_k$ from $0$ to $T$.
+
+- In this case we can define the discrete Fourier transform (and its inverse) as:
+
+```math
+a_j =            \sum\limits_{k=0}^{N-1} x_k e^{-2\pi ijk/N} \quad\quad (j=-N/2,...,N/2-1)
+```
+
+```math
+x_k = {1\over N} \sum\limits_{k=-N/2}^{N/2-1} a_j e^{2\pi ijk/N} \quad\quad (k=0,...,N-1)
+```
+
+- Since the data are equally spaced, the times are $kT/N$ and the frequencies are $j/T$.
+
+- The time step is $δt = T/N$ and the frequency step is $δν = 1/T$.
+
+- As the discrete time series has a time step $δt$ and a duration $T$, there are limitations to the frequencies that can be examined:
+    - The lowest frequency is $1/T$, corresponding to a sinusoid with a period equal to the signal duration.
+    - The highest frequency that can be sampled, is called *Nyquist frequency*: $\nu_\rm{Nyq} = \frac{1}{2\delta T} = \frac{1}{2}\frac{N}{T} $.
+
+- At the zero frequency, the FT value is just the sum of the signal values:
+
+```math
+a_0 = \sum\limits_{k=0}^{N-1} x_k e^{-2\pi i0k/N} = \sum\limits_{k=0}^{N-1} x_k
+```
+
+- *Parseval’s theorem* applies also to the discrete case and one can see that the variance of a signal is $1/N$ times the sum of the $a_j$ over all indices besides zero (also known as *Plancherel Theorem*):
+
+```math
+Var(x_k) = \sum_k (x_k - \bar{x})^2 = \sum_k x_k^2 + \sum_k \bar{x}^2 - \sum_k 2\bar{x}x_k = \sum_k x_k^2 + N \bar{x}^2 -  2N\bar{x}^2 = \sum_k x_k^2 - N\bar{x}^2 = \sum_k x_k^2 - \frac{1}{N}(\sum_k x_k)^2 = \frac{1}{N} \sum_j |a_j|^2 - \frac{1}{N}a_0^2 \Longrightarrow Var(x_k) = \frac{1}{N}\sum_{j=-\frac{N}{2}}^{j=\frac{N}{2}-1} |a_j|^2, \quad j\ne0
+```
+
+"""
+
+# ╔═╡ de228ddb-cacc-456f-b6c7-464e81d1e1e8
+# ╠═╡ show_logs = false
+md"""
+$(LocalResource("Pics/power_of_PDS.png"))
+"""
+
+# ╔═╡ e82d615c-5201-4efb-8b77-37a5aa636f39
+md"""
+- Top panel: the black line shows 40 seconds of a simulated 1000s time series consisting of a weak sinusoidal modulation (red line) "drowned" into a strong Gaussian noise. Bottom panel: corresponding PDS, zoomed on the relevant frequency range, where the modulation is clearly visible. A weak signal spread in time is collected into a single frequency bin at high significance.
+"""
+
+# ╔═╡ 58d43f9c-e7e9-4a7d-8471-1beca3568a1e
+md"""
+### Exercize about an analysis of weather data in France
+***
+
+- In the following exercize, we are going to analyse weather data spanning about 20 years in France obtained from the US National Climatic Data Center.
+
+- Data are imported http://www.ncdc.noaa.gov/cdo-web/datasets#GHCND. The number "-9999" is used for N/A values. And we need to parse dates contained in the DATE column
+"""
+
+# ╔═╡ 3d75fecb-157b-408a-aa32-2d2096a766ba
+begin
+	url = "https://github.com/ipython-books/cookbook-2nd-data/blob/master/weather.csv?raw=true"
+	#fname = "France_temperatures.csv"
+	
+	df = DataFrame(CSV.File(HTTP.get(url).body,missingstring="-9999"))
+	#df = DataFrame(CSV.File(fname,missingstring="-9999"))
+	
+	df[!,:DateTime] = Date.(string.(df[!,:DATE]),DateFormat("yyyymmdd"))
+end;
+
+# ╔═╡ 2e2e09aa-6023-46a9-b816-bb9de2b321c1
+md"""
+- Let's now select only dates later than Jan 1994, and compute daily averages dropping the missing data and plot our dataset.
+
+    - The temperature unit is in tenths of a degree, and we get the average value between the minimal and maximal temperature.
+"""
+
+# ╔═╡ 0148c42e-24fa-486e-8c61-eae25e772bd8
+begin
+	filter!(:DateTime => >=(Date("19940101",DateFormat("yyyymmdd"))),df)
+	
+	dropmissing!(df)
+	
+	gdf = combine(groupby(df, :DateTime), [:PRCP,:TMAX,:TMIN] .=> mean, renamecols=false)
+	
+	temp = (gdf[!,:TMAX] + gdf[!,:TMIN]) / 20.
+	N = length(temp)
+	
+	
+	fg1 = Figure()
+	
+	ax1fg1 = Axis(fg1[1, 1],
+	    xlabel = "Date (yyyy/mm/dd)",
+	    ylabel = L"Average daily temperature ($^\circ$C)"
+	    )
+	
+	scatter!(gdf[!,:DateTime],temp,color=:blue)
+	
+	fg1
+end
+
+# ╔═╡ 7709a017-0c80-4399-9751-bf07b80f0b5e
+md"""
+- We now compute the Fourier transform and the spectral density of the signal using the **fft()** function.
+- Once the FFT has been obtained, we take the square of its absolute value in order to get the **power spectral density (PSD)**.
+- Then, we get the frequencies corresponding to the values of the PSD by the **fftfreq()** utility function.  
+- Since the original unit is in days we change it to annual unit by the factor **1/365**.
+"""
+
+# ╔═╡ b49f1cda-582a-4d43-9e0a-a0e6adf85e78
+begin
+	# The FFTW library has been used for this exercize
+	
+	temp_fft = fft(temp)
+	
+	temp_psd = abs.(temp_fft).^2
+	
+	# 1 is the sampling frequency
+	temp_freq = fftfreq(length(temp_psd), 1) * 365;
+end
+
+# ╔═╡ c601e37c-c08d-4ce4-8843-6fd52bd1e812
+md"""
+- We restrict to positive frequences only and let's check which is the maximum frequency for our dataset. Knowing the sampling rate we predict that it should correspond to a period of 2 days so that the Nyquist frequency turns out to be exactly 0.5 day$^{-1}$.
+"""
+
+# ╔═╡ aff12d14-4803-480e-aab0-6d33917304b3
+begin
+	posfr = temp_freq .> 0
+	
+	println("Nyquist frequency: ", round(maximum(temp_freq) / 365, digits=1), L" day$^{-1}$")
+	
+end
+
+# ╔═╡ b8a2074a-490e-4e92-ba59-3735184d7c91
+md"""
+- Let's now plot the power spectral density of our signal, as a function of the frequency (in unit of **1/year**). We choose a logarithmic scale for the y axis (decibels).
+"""
+
+# ╔═╡ 40fe7f7d-8d30-40f1-b6fa-932374c93380
+begin
+	fg2 = Figure()
+	
+	ax1fg2 = Axis(fg2[1, 1],
+	    xlabel = "Frequency (1/year)",
+	    ylabel = "PSD (dB)",
+	    )
+	
+	lines!(temp_freq[posfr],10 * log10.(temp_psd[posfr]),color=:blue)
+	
+	xlims!(0,maximum(temp_freq[posfr]))
+	
+	fg2
+end
+
+# ╔═╡ 1eb98eee-8373-4fce-b40f-3118d096f082
+md"""
+- Or with a better zoom in a region of our interest.
+"""
+
+# ╔═╡ 1b13be55-5153-4d53-ba09-92832f67a448
+begin
+	fg3 = Figure()
+	
+	ax1fg3 = Axis(fg3[1, 1],
+	    xlabel = "Frequency (1/year)",
+	    ylabel = "PSD (dB)",
+	    )
+	
+	lines!(temp_freq[posfr],10 * log10.(temp_psd[posfr]),color=:blue)
+	
+	xlims!(0,7)
+	ylims!(30,85)
+	
+	fg3
+end
+
+# ╔═╡ bf2f9df2-7df7-43d2-926d-7a561be79c0e
+md"""
+- Not surprisingly, the fundamental frequency of the signal is the yearly variation of the temperature at **f=1**.
+
+- We can now "clean" our data cutting out frequencies higher than the fundamental frequency and by an **inverse FFT** we recover a signal that mainly contains the fundamental frequency.
+"""
+
+# ╔═╡ bea9ec97-57a7-45a4-9a29-ccca274fd5dc
+begin
+	temp_fft_bis = copy(temp_fft)
+	temp_fft_bis[abs.(temp_freq) .> 1.1] .= 0
+	
+	temp_slow = real.(ifft(temp_fft_bis))
+	
+	
+	l = gdf[!,:DateTime] .< Date(2000,1,1)
+	
+	
+	fg4 = Figure()
+	
+	ax1fg4 = Axis(fg4[1, 1])
+	
+	scatter!(gdf[!,:DateTime][l],temp[l],color=:blue, label="Original data")
+	lines!(gdf[!,:DateTime][l],temp_slow[l],color=:red, label="Filtered data")
+	
+	ylims!(-10,40)
+	
+	axislegend()
+	
+	fg4
+end
+
+# ╔═╡ c1363e2a-d8b4-4be9-8394-435231b62177
+# ╠═╡ show_logs = false
+cm"""
+### Windowing and Sampling
+***
+
+- The CFT and the DFT can be connected easily taking into account that the FT of the product fo two functions is the convolution of the FT of the functions.
+
+```math
+F[x \cdot y] = F[x] \otimes F[y] = \int\limits_{-\infty}^{+\infty}F[x(\nu')]F[y(\nu-\nu')] d\nu'
+```
+
+- A discrete time series `x(t_k) ≡ x_k` can be seen as the product of a continuous function `f(t)` over `(−∞,∞)` and two additional functions: `w(t)` to limit it to the `(0,T)` interval and `s(t)` to sample it at times tk:
+
+```math
+x_k = h(t) \cdot w(t) \cdot s(t)
+```
+
+- `w(t)` is a boxcar window function, which is 1 in the `(0,T)` interval and zero outside. `s(t)' is a series of delta functions at `t_k`, spaced by `T/N`:
+
+$(LocalResource("Pics/windowing.png"))
+"""
+
+# ╔═╡ f5fea622-f431-4da6-af3f-548fd10d906d
+# ╠═╡ show_logs = false
+md"""
+### Windowing effects
+***
+
+- Let us consider a purely sinusoidal function $f(t) = sin(ωt)$, whose FT is a delta function at $ω$.
+
+- The multiplication by the window function corresponds to the convolution of the delta function with the FT of the window.
+
+- It is simple to calculate the FT of the window: we consider a window function that is unity in the $−T/2,T/2$ interval, as it is a real and even function, whose FT is also real and even:
+
+```math
+F(w(t)) = 2 {\sin(\pi\nu T)\over\pi\nu}
+```
+
+- This is the well known “sinc” function.
+
+- An important general rule is that the FT peak is broader for shorter T. Something easily deducible from the general propertieds of FT.
+
+    - The resolution of the signal FT is therefore higher the longer the observation is.
+    
+- In addition to the broadening, there is the formation of side lobes. They are much lower than the central peak, but cannot always be ignored.
+
+$(LocalResource("Pics/window_ft.png"))
+
+
+"""
+
+# ╔═╡ 43caa1a2-3083-414d-9681-4153ade8a92b
+md"""
+### Sampling effects: aliasing
+***
+
+- The FT of a series of regularly spaced delta functions with spacing $T/N$ is itself a series of delta functions with spacing $N/T$:
+
+```math
+s(t)    = \sum\limits_{k=-\infty}^{+\infty} \delta(t - {kT\over N}) \Longleftrightarrow
+    F(s(t)) = \sum\limits_{m=-\infty}^{+\infty} \delta(\nu - {mN\over T})
+```
+    
+- Therefore, the effect of sampling on the FT of a sinusoidal signal with frequency $ν_0$ (a delta function at $ν_0$) is that of adding an infinite sequence of delta functions spaced by $N/T$, called *aliases*.
+
+- Depending on the frequency of the original signal and the Nyquist frequency we can have different situations.
+    - In fact, features at $ν = ν_{N/2} + ν_x$ also appear at $ν = ν_{N/2} − ν_x$.
+
+- This happens because the transition from the CFT to the DFT involves two operations:
+    - windowing, a convolution with the function $W(f)$, which is essentially a peak with a width $δf = 1/T$ plus sidelines,
+    - and aliasing, a reflection of features above the Nyquist frequency back into the range ($0,ν_{N/2}$).
+"""
+
+# ╔═╡ dd78a7e2-f63e-4e84-af31-286d979074f5
+# ╠═╡ show_logs = false
+md"""
+$(LocalResource("Pics/aliases.png"))
+"""
+
+# ╔═╡ 95095834-abd5-43e6-aad0-cdfa402b0366
+md"""
+- Top panel: Aliasing on a sinusoidal signal at 15 Hz sampled at 40 Hz. In black the true signal FT amplitude, in red the aliased one. The blue region marks the interval below $\nu_{Nyq}$. The signal is detected and the aliases are not.
+- Bottom panel: same as the top panel, but with a signal at 35 Hz. Here the signal is not detected, but the 5 Hz alias is.
+"""
+
+# ╔═╡ 1cfc40d3-24a3-4a5c-8538-61c13542b403
+# ╠═╡ show_logs = false
+cm"""
+- We have all experienced aliasing effects when looking at fast rotating objects like an air fan under fluorescent light.
+    - The light provides a sampling at 50 Hz (or 60 Hz, depending on where you live), while the fan has a periodicity.
+    - Depending on its angular speed, you can see it rotating apparently much slower, or even to stop and rotate in the opposite direction.
+
+$(LocalResource("Pics/sampling.png"))
+
+- Time domain example of aliasing. The blue signal has ``\nu_0 = 0.1`` Hz. If it is sampled with ``\nu_{Nyq} = 0.038`` Hz (red points) the red dashed alias is the best fit to the data, with ``\nu_a = 0.023`` Hz.
+"""
+
+# ╔═╡ e8786a24-4391-40ad-a9ba-a0cb3f7bb2b0
+md"""
+- In the real world we do not really sample signals, but integrate them over finite time bins, i.e. we convolve it with a binning function:
+
+```math
+b(t) = \begin{cases}
+{N\over T} & t\in [-{T\over 2N},{T\over 2N}]\\
+0                    & {\rm outside}
+\end{cases}
+```
+
+- Therefore, the signal FT will be multiplied by that of the binning function, which is again a sinc function:
+
+```math
+B(\nu) = {\sin \pi\nu /2\nu_{Nyq}\over \pi\nu /2\nu_{Nyq}}
+```
+
+- $B(ν)$ is a broad function that reaches $0$ at $2\nu_{Nyq}$ and has the value of $2/π$ at $\nu_{Nyq}$.
+"""
+
+# ╔═╡ 39e1ee25-a2f4-4e16-9fec-4a4e9c2c653e
+md"""
+### Effects of binning on the harmonic analysis
+***
+
+- Binning is a common operation carried out for different reasons, e.g., for casting an irregularly sampled time series to a regular grid, for improving the S/N of each point, to reduce the computational burden, etc.
+
+> Nevertheless, binning is never a price-free operation.
+
+- Let's assume we have a dataset defined as $D = \{y_1, y_2,..., y_n \}$, with observations carried out at a regular time step. Its discrete Fourier transform is:
+
+```math
+Y(\omega) \equiv \sum_{t=1}^n y_t e^{i \omega t}
+```
+
+- This is defined for continuous values of $\omega$ but we know that no loss of data happens if we compute the Fourier transform at the Fourier grid $\omega_k \equiv 2 \pi k / n, \quad 0 \le k < n$.
+
+
+#### Moving average
+***
+
+- Let's suppose our data are replaced by a moving average of past values (i.e. a rebinning):
+
+```math
+z_t \equiv \sum_{s=0}^{m-1} y_{t-s} \omega_s
+```
+
+- where $\omega_s$ is the weighting coefficient for lag $s$.
+
+- Since this can be seen as a convolution of the input data we know that the Fourier transform of $z$ is the product of the Fourier transform of the original data and of the average function:
+
+```math
+Z(\omega) = W(\omega) Y(\omega)
+```
+
+- where $W(\omega) = \sum_{s=0}^{m-1} \omega_s e^{i \omega s}$.
+
+- In particular, for uniform weighting, $w_s = 1/m, 0 \le s < m$, and we have the well known ["sinc"](https://en.wikipedia.org/wiki/Sinc_function) function:
+
+```math
+W(\omega) = \frac{1}{m} \sum_{s=0}^{m-1} e^{-i \omega s} = e^{-i\frac{\omega}{2}(m-1)} \left[\frac{\sin(m\omega/2)}{m \sin(\omega/s)}\right]
+```
+
+- It is clear, therefore, that together with changing the phase of the Fourier transform, any binning typically decreases the amplitude of the Fourier transform of the original data: i.e. it might be useful for plotting purposes and for saving computer power, yet binning should typically be avoided.
+"""
+
+# ╔═╡ 136b29c5-ac92-4e32-878e-3ad99216f78d
+md"""
+### Window carpentry
+***
+
+- Having a longer observation reduces the width of the main window peak, but does not change the possible spillover effects.
+
+- In some cases it can be advantageous to multiply the data by another window, not boxcar-shaped.
+
+- This results in a loss of signal, as some data are multiplied by a factor less than unity, but there are advantages, depending on the chosen window.
+
+    - Many window functions with different characteristics have been designed and one can tailor them depending on what is needed.
+
+- The main features that identify a window in its PDS are: the width of the main peak $∆ω$, the relative amplitude of the first side lobe $L$ (expressed in decibels) and the slope of the decay of side lobes n:
+"""
+
+# ╔═╡ d490adbd-376a-403b-adc3-3ab4d4e65bc5
+# ╠═╡ show_logs = false
+md"""
+$(LocalResource("Pics/window_features.png"))
+"""
+
+# ╔═╡ 848e6f85-e3b9-4928-aed0-b316f97d18db
+md"""
+- The boxcar window is the one with the lowest $∆ω$, but with alternative windows it is possible to obtain a significant reduction of the amplitude of the side lobes.
+
+| Window   | $\Delta\omega$ | L     | n  | Function                       |
+|:--------:|:-------------: |:-----:|:--:|:------------------------------:|
+| Boxcar   |     0.89       | -13db | 2  |         1                      |
+| Hamming  |     1.36       | -43db | 2  | 0.54+0.46 cos(2πt)             |
+| Hann     |     1.44       | -32db | 5  | 0.5(1-cos(2πt))                |
+| Blackman |     1.68       | -58db | 5  | 0.42+0.5cos(2πt)+0.08cos(4πt)  |
+| Gaussian |     1.55       | -56db | 2  | $\exp(-4.2 x^2$)               |
+"""
+
+# ╔═╡ 8d5c7719-647a-4e7e-905f-43051bb26716
+# ╠═╡ show_logs = false
+md"""
+$(LocalResource("Pics/windows.png"))
+"""
+
+# ╔═╡ a9964f9d-1f3a-493b-9ab8-a8933ff51c72
+md"""
+- Left panel: the shape of five windows: boxcar, Hamming, Hann, Blackman and Gaussian. Right panel: the corresponding PDS, corresponding to (half) the shape of the PDS of a sinusoidal signal. The sidelobes of all but the boxcar window are too low to be seen.
+
+"""
+
+# ╔═╡ a0392d53-9e0d-4d70-a9a5-b99de7884f9d
+# ╠═╡ show_logs = false
+md"""
+$(LocalResource("Pics/wtot.png"))
+"""
+
+# ╔═╡ eae97444-2431-448c-abe6-c14aa64fa409
+md"""
+- Each of the four panels contains a signal (top) and its PDS (bottom). In all four, the signal consist of Gaussian noise plus a sinusoid at P=200 s, with 1-s binning.
+    - Top left: continuous exposure of $10^5$ s.
+    - Top right: continuous exposure of $10^4$ s.
+    - Bottom left: exposure of $10^4$ s split into three intervals. The PDS is computed including the gaps as consisting of points at zero level.
+    - Bottom right: exposure of $10^4$ s split into three intervals as in the previous case. The gaps are filled with Gaussian noise.
+"""
+
+# ╔═╡ 8d3eb863-5cb0-4221-8fc8-c48361615e95
+md"""
+### Fast Fourier transform
+***
+
+- Evaluation of the Discrete Fourier Transform (DFT)of $N$ samples involves $\sim N^2$ multiplication and addition operations -- for every Fourier component $a_j$, each of the $N$ samples $x_k$ needs to be multiplied by a phase factor $e^{-2\pi ijk/N}$ and then they have to be summed.  
+
+- The Fast Fourier Transform algorithm has been devised to accomplish this computation in much fewer steps, typically with $\sim N\log_2 N$ multiplications and additions.  This provides enormous computational savings for large transforms, and has made Fourier analysis accessible to cases where it would have been otherwise prohibitive.
+"""
+
+# ╔═╡ 0b0b8578-4c67-463a-bd53-b3e6bd1f9712
+md"""
+### PSD normalization
+***
+
+- The FT is a linear transformation and the PSD is its squared modulus, the PSD then scales with the square of the intensity level of the signal.
+
+- It is possible to normalize the PSD in different ways. One of the most common is the so-called *Leahy normalization*:
+
+```math
+P_j^{Leahy} = {2\over N_\gamma} |a_j|^2
+```
+
+- where $N_\gamma$ is the total number of photons in the signal. If instead of counts we have fluxes, and noise is $\mathcal{N}(0,σ)$, $N_\gamma$ is substituted by $N_\rm{data}σ^2$.
+
+- The periodogram with this normalization is also known as *Classical* or *Schuster* periodogram.
+
+- With the Leahy normalization the total variance can also be written as:
+
+```math
+Var(x_k) = \frac{1}{N}\sum_{j=-\frac{N}{2}}^{j=\frac{N}{2}-1} |a_j|^2 \ (j\ne0) =  \frac{N_\gamma}{N} \left( \sum_{j=1}^{j=\frac{N}{2}-1} P_j + \frac{1}{2} P_{N/2}\right)
+```
+
+- This normalization leads to a known statistical distribution of signal power:
+    - if the signal is dominated by fluctuations due to Poisson statistics and if $N_\gamma$  is large, powers follow a $\chi^2$ distribution with 2 degrees of freedom, $<P>=2$ and $Var(P)=4$.
+- The reason is that the periodogram is the sum of the squares of the real and imaginary parts of the FT and, for a stochastic process, the latter are normally distributed, so the sum of their squares is distributed as a $\chi^2$ with 2 degrees of freedom.
+
+- For other noise distributions (Poisson, etc.), for large N, due to the central limit theorem the real and imaginary parts become still normal.
+
+
+"""
+
+# ╔═╡ 8e458457-f940-460a-8638-debe1f94defc
+md"""
+- Periodograms are intrinsically very noisy. If the signal is divided into $S$ segments and the resulting PDS are averaged and rebinned by a factor $M$, the powers will be distributed as a $\chi^2$ with $2SM$ degrees of freedom scaled by $1/SM$: therefore, the average power remains $<P>=2$, but the variance is now $Var(P)=4/SM$.
+    - The technique of dividing the time series into equal-duration intervals and averaging the corresponding PSD is called *Bartlett’s method*.
+
+- The reduction in time duration $T$ increases the minimum frequency in the PSD $ν_\rm{min} = 1/T$.
+
+- This method, in principle, also allows one to skip over (short) data gaps, which have dramatic effects on the PSD.
+
+
+"""
+
+# ╔═╡ b2e2bace-7e50-41f0-87fb-780737ff6616
+md"""
+### Exercise about PSD manipulation
+***
+
+- Let's generate two arrays of relative timestamps, one 8 seconds long and one 1600 seconds long, with dt = 0.03125 s, and make two signals in units of counts. The signal is a sine wave with amplitude = 300 cts/s, frequency = 2 Hz, phase offset = 0 radians, and mean = 1000 cts/s. We then add Poisson noise to the light curve amd plot the shortest of the two.
+"""
+
+# ╔═╡ b96525bf-90e5-47b3-b305-1db0ad675c2c
+begin
+	dt = 0.03125  # seconds
+	exposure = 8.  # seconds
+	long_exposure = 1600. # seconds
+	times = range(start=0, stop=exposure-dt, step=dt)  # seconds
+	long_times = range(start=0, stop=long_exposure-dt, step=dt)  # seconds
+	
+	signal = 300 .* sin.(2 .* pi .* times ./ 0.5) .+ 1000  # counts/s
+	long_signal = 300 .* sin.(2 .* pi .* long_times ./ 0.5) .+ 1000  # counts/s
+	
+	noisy = [rand(Poisson(theta)) for theta in signal .* dt]  # counts
+	long_noisy = [rand(Poisson(theta)) for theta in long_signal .* dt]  # counts
+	
+	fg5 = Figure()
+	
+	ax1fg5 = Axis(fg5[1, 1],
+	    xlabel = "Time (s)",
+	    ylabel = "Counts (cts)",
+	    )
+	
+	lines!(times,noisy,color=:blue,label="Noisy signal")
+	lines!(times,signal .* dt,color=:green,label="Signal")
+	
+	axislegend()
+	
+	fg5
+end
+
+# ╔═╡ ae8a4ebf-da8d-4778-ad9a-87e3aab72399
+md"""
+- Now let's compute the periodogram
+"""
+
+# ╔═╡ 25fcf199-7da4-4632-a2fa-d0131f58d533
+begin
+	# We use the DSP package
+	
+	psd = periodogram(noisy; fs=1/dt)
+	
+	fg6 = Figure()
+	
+	ax1fg6 = Axis(fg6[1, 1],
+	    yscale = log10,
+	    xlabel = "Frequency (Hz)",
+	    ylabel = "Power",
+	    )
+	
+	lines!(psd.freq,psd.power,color=:blue,label="PSD")
+	
+	xlims!(1,15)
+	
+	axislegend()
+	
+	
+	fg6
+end
+
+# ╔═╡ 3e27b7d8-9dec-4e54-9050-5ca9275d8499
+md"""
+- The computed periodogram (with this function) is normalized so that the area under the periodogram is equal to the uncentered variance (or average power) of the original signal.
+
+- Since the negative Fourier frequencies (and their associated powers) are discarded, the number of time bins per segment `n` is twice the length of `freq` and `power`.
+
+- The zero frequency is the sum of the signal value, and it not typically used.
+"""
+
+# ╔═╡ 0770fef2-cade-46d5-9460-765e4fb0a1c9
+begin
+	println("Number of data points: ", length(noisy))
+	println("Number of frequencies: ", length(psd.freq[2:end]))
+end
+
+# ╔═╡ 7fedf685-66f5-4d46-b52e-99c7305d3f95
+md"""
+- The power spectrum is a bit noisy. Let's try averaging together power spectra from multiple segments of data using the long time series.
+
+- We want to average periodograms computed each 8 seconds, averaging therefore 1600/8 = 200 periodograms of 256 elements each.
+"""
+
+# ╔═╡ 39538b6b-414d-436a-a1c4-19c6f6754dc7
+begin
+	apsd = welch_pgram(long_noisy, 256, 0, fs=1/dt)
+	
+	fg7 = Figure()
+	
+	ax1fg7 = Axis(fg7[1, 1],
+	    yscale = log10,
+	    xlabel = "Frequency (Hz)",
+	    ylabel = "Power",
+	    )
+	
+	lines!(apsd.freq,apsd.power,color=:blue,label="Averaged PSD")
+	
+	xlims!(1,15)
+	
+	axislegend()
+	
+	fg7
+end
+
+# ╔═╡ 549cc9b7-01ff-4639-b8cb-66df220279a9
+md"""
+- With a clear increase of the S/N.
+
+- Let's try now to compute periodograms using different windows functions.
+"""
+
+# ╔═╡ b8c5baed-5a58-4380-b941-a7d4035c8d01
+begin
+	psd_rect = periodogram(noisy; fs=1/dt, window=nothing)
+	psd_ham = periodogram(noisy; fs=1/dt, window=hamming)
+	psd_tri = periodogram(noisy; fs=1/dt, window=triang)
+	psd_cos = periodogram(noisy; fs=1/dt, window=cosine)
+	
+	
+	
+	fg8 = Figure()
+	
+	ax1fg8 = Axis(fg8[1, 1],
+	    yscale = log10,
+	    xlabel = "Frequency (Hz)",
+	    ylabel = "Power",
+	    )
+	
+	lines!(psd_rect.freq,psd_rect.power,label="Rectangular")
+	lines!(psd_ham.freq,psd_ham.power,label="Hamming")
+	lines!(psd_tri.freq,psd_tri.power,label="Triangular")
+	lines!(psd_cos.freq,psd_cos.power,label="Cosine")
+	
+	
+	xlims!(1,5)
+	
+	axislegend()
+	
+	fg8
+end
+
+# ╔═╡ ee646903-dc54-46d0-b2f5-b30e41a68853
+md"""
+### Auto and Cross-Correlation
+***
+
+- The Cross-correlation of two functions $f(t)$ and $g(t)$ is defined as:
+
+```math
+C(\tau)=f\star g=\int\limits_{-\infty}^{\infty}f^*(t)g(t+\tau)dt
+```
+
+- The result is a function of the *lag* $τ$ introduced between the two functions, and is often used to estimate the similarity between two different time series, as a function of lag.
+- If a common underlying process causes the time variation of intensity at two different electromagnetic bands with differential delays while propagating to the observer, then the cross correlation function of the two time series will exhibit a peak at the corresponding lag, namely the relative delay between the two bands.
+
+- The autocorrelation function is a special case where a function is correlated with itself, which would always show a peak at zero lag.
+
+> Convolution is an operation akin to the Cross-correlation, but the function $g(t)$ in the integrand is inverted to $g(−t)$ before adding the shift.
+
+- A few important properties of cross-correlation include:
+
+```math
+[f\star g](\tau) = [g^*\star f^*](-\tau)
+```
+
+```math
+[f\star g]\star[f\star g] = [f\star f]\star[g\star g]
+```
+
+```math
+g\star(f\otimes h)  =  [g\star f]\otimes h \\
+```
+
+```math
+F[f\star g]  =  F(f)\cdot F^*(g)
+```
+
+- where $F$ represents the Fourier transform.
+"""
+
+# ╔═╡ 454fc15d-ea34-4938-b86e-76f2cb0d5125
+md"""
+> We now propose a few definitions for completeness, but without extensive discussions.
+
+### Cross-spectra, phase lag spectra, coherence
+***
+
+- Given two signals $f(t)$ and $g(t)$ and their respective FTs, $F(ω)$ and $G(ω)$, we define the cross spectrum as:
+
+```math
+CS(\omega) = F(\omega)\cdot G^*(\omega)
+```
+
+- Analogous to the PSD and the autocorrelation, the cross spectrum between two signals is the Fourier transform of their cross-correlation (and vice-versa).
+
+- In its essence, the cross spectrum of two signals at each frequency is a complex number whose argument represents the phase delay between the signals at that frequency.
+
+- The autocorrelation function may be thought of as the second order correlation:
+
+```math
+c_2(\tau)=\langle f(t)f(t+\tau) \rangle
+```
+
+- where the angular brackets denote an ensemble average.
+
+- Bispectrum is an extension of the above concept to triple correlations. The third order correlation function:
+
+```math
+c_3(\tau_1,\tau_2)=\langle f(t)f(t+\tau_1)f(t+\tau_2)\rangle
+```
+
+- that allows one to define the Bispectrum:
+
+```math
+B(\omega_1,\omega_2)=\int\limits_{-\infty}^{\infty}\int\limits_{-\infty}^{\infty} c_3(\tau_1,\tau_2) e^{-i(\omega_1\tau_1+\omega_2\tau_2)}\,d\tau_1\,d\tau_2
+```
+"""
+
+# ╔═╡ 6e178c7b-1846-4390-b842-b4d303688bd8
+md"""
+## Power Spectrum statistics
+***
+
+- The first thing we need to know is the probability distribution of the noise power.
+
+- We now assume that it is additive and independent of the frequency (i.e. noise is “white”):
+
+```math
+P_j = P_{j,noise} + P_{j,signal}
+```
+
+- The “null hypothesis” is that the periodogram is consistent with pure noise.
+
+- Let’s remind us that If we have $x_k ≡ y_k + z_k$ and $b_j$ and $c_j$ are the FT of $y_k$ and $z_k$, respectively, we have $a_j = b_j + c_j$.
+
+- This does not hold for power spectra unless the signal are uncorrelated random noise:
+
+```math
+|a_j|^2 = |b_j + c_j|^2 = |b_j|^2 + |c_j|^2 + {\rm cross\ terms}
+```
+
+- For a wide range of types of noise, $P_{j,noise}$ follows a $\chi^2$ distribution with 2 degrees of freedom (but at the Nyquist frequency, where dof is 1).
+
+- For other noise distributions (Poisson, etc.), for large N, due to the central limit theorem the Fourier coefficients $A_j$ and $B_j$ become still normal.
+
+- This suggests a simple consistency test: compute the standard deviation in each frequency bin and divide by the mean power. Results should be (if the hypotheses hold) close to 1.
+
+- In practice one finds that noise powers are nearly always $\chi^2$ distributed, not only for Poisson noise, but also for many other types of noise.
+
+- With the Leahy normalization, the probability for $P_{j,noise}$ to exceed a given threshold is given by:
+
+```math
+Prob(P_{j,noise} > P_{threshold}) = Q(P_{threshold} | 2) \quad (j = 1, N/2-1)
+```
+
+```math
+Q(\chi^2|\nu) \equiv \left[2^{\nu/2} \Gamma(\frac{\nu}{2})\right]^{-1} \int_{\chi^2}^\infty t^{\frac{\nu}{2}-1} e^{-\frac{t}{2}} dt
+```
+
+- where $\nu$ is the number of dof and $\Gamma$ is the gamma function, the generalization of factorial to real and complex numbers [$\Gamma(n) = (n-1)!$]
+
+- For $\nu = 2$:
+
+```math
+Q(\chi^2|2) = \frac{1}{2} \int_{\chi^2}^\infty e^{-\frac{t}{2}} dt = e^{-\frac{\chi^2}{2}}
+```
+
+"""
+
+# ╔═╡ 83aece6e-cc50-4ce4-b9b5-f518342620e5
+md"""
+- Power spectra are unavoidably very noisy.
+
+    - Standard deviation of noise power is equal to the mean value ($σ_{P_j} = < P_j > = 2$).
+
+- More interesting, this cannot be improved increasing the number of data points (i.e. the length of the time series). This merely increases the number of powers.
+
+- One can decrease the large variance rebinning the power spectrum and/or dividing the data in multiple segments of equal length. This of course degrade the frequency resolution.  
+
+    - If the number of segments is large the power statistics tends to become Normal.
+
+- Let’s define  confidence detection level as the power with only $ε$ probability to be exceeded by noise.
+
+- This holds for a single frequency. If your spectrum consists of $N_{\rm trial}$ (independent) frequencies, the confidence detection level decreases to take into account the multiple trials:
+
+$$(1 - \epsilon)^{N_{\rm trial}} \sim 1 - \epsilon N_{\rm trial} \quad {\rm for\ } \epsilon << 1$$
+
+- In general if noise is not Poissonian or Gaussian noise power spectrum will not be flat anymore.
+
+    - However, often noise powers still follow a $\chi^2$ distribution with 2 dof, but with a different normalisation (in general depending on $j$).
+"""
+
+# ╔═╡ 06df9913-445f-4170-b110-13ec4208d940
+cm"""
+### The Likelihood for Periodograms
+***
+
+- The ``\chi^2`` distribution defines a sampling distribution or likelihood, i.e. the probability distribution of observing a given data set given some underlying (true, unknown) power spectrum.
+
+- If we define a model power ``S_j(θ)`` at frequency ``ν_j``, specified by a set of parameters ``θ``, we can then compute the probability of having observed periodogram power ``P_j`` at that same frequency:
+
+```math
+p(P_j|S_j(θ)) = \frac{1}{S_j(θ)} e^{-\frac{P_j}{S_j(θ)}}
+```
+
+- The likelihood (also known as *Whittle likelihood*) for a periodogram over ``N/2`` observed powers ``P_j`` is then defined as the product of individual probabilities for each frequency ``ν_j``.
+
+- One generally (and equivalently), defines the logarithm of the likelihood as the sum of logarithm of all probabilities, such that:
+
+```math
+\log(\mathcal{L}(\theta)) = \sum_{j=1}^{N/2} \log(p(P_j|S_j(θ))) =  -\sum_{j=1}^{N/2} ( \log(S_j(θ)) + \frac{P_j}{S_j(θ)})
+```
+
+- A likelihood for averaged periodograms can be derived from the ``\chi^2_{2LM}/2ML`` sampling distribution for periodograms averaged over ``L`` independent segments and ``M`` independent neighbouring frequencies by:
+
+```math
+\log(\mathcal{L}_{avg}(\theta)) = -2ML\sum_{j=1}^{N/2} \left[ \frac{P_j}{S_j(θ)}) + \log(S_j(θ)) + (\frac{1}{ML} - 1) \log(P_j) + c(2ML) \right]
+```
+
+- where ``c(2ML)`` is a factor independent of ``P_j`` or ``S_j``, and thus unimportant to the parameter estimation problem considered here.
+
+"""
+
+# ╔═╡ 9a17f40a-2aad-4b52-96a4-7c275fda9cee
+# ╠═╡ show_logs = false
+md"""
+### Noise color
+***
+
+- Fourier analysis (and related techniques) has proven to be very effective in identifying periodic behaviours.
+
+- In astrophysics, however, we often have to deal with phenomena too long for having a reliable coverage (decades or more) and with only approximately cyclical behaviours (quasi-periodicities).
+
+- More important, in order to compute the statistical significance of any possible periodicity, one needs to properly model the noise affecting a time series.
+
+$(LocalResource("Pics/colnoise.jpg"))
+
+- "Coloured" noise directly affect a time-series shape:
+
+$(LocalResource("Pics/redblunoise.png"))
+"""
+
+# ╔═╡ a76024f5-7355-4d57-9167-ed522a76ff51
+md"""
+## Final considerations
+***
+
+- Fourier analysis reveals nothing about the evolution in time, but rather reveals the variance of the signal at different frequencies.
+
+- The classical periodogram is an estimator of the spectral density, i.e. the Fourier transform of the autocovariance function.
+
+- Fourier analysis has restrictive assumptions: an infinitely long data of equally-spaced observations; homoscedastic Gaussian noise with purely periodic signal of sinusoidal shape.
+
+- The classical periodogram is not a good estimator, it is “inconsistent” because the number of parameters grows with the number of datapoints.
+
+- The DFT and its probabilities depends on several strong assumptions that are rarely achieved in real astronomical data: evenly spaced data of infinite duration with a high sampling rate (Nyquist frequency), Gaussian noise, single frequency periodicity with sinusoidal shape and stationary behavior.
+
+- Each of these constraints is often violated in various astronomical problems. Data spacing may be affected by daily/monthly/orbital cycles. Periods may be comparable to the sampling time. Several periods may be present (e.g. helioseismology). Shape may be non-sinusoidal (e.g. elliptical orbits, eclipses, recurrent flares). Periods may not be constant (e.d. QPOs in accretion disks).
+"""
+
+# ╔═╡ ddfd682b-56a7-49c9-883a-0d348c9cb8c8
+md"""
+## Reference & Material
+
+Material and papers related to the topics discussed in this lecture.
+
+- [Belloni & Bhattacharya (2022) - "Basics of Fourier Analysis for High-Energy Astronomy”](https://ui.adsabs.harvard.edu/abs/2022hxga.book....7B/abstract)
+- [van der Klis (1988) - "Fourier techniques in X-ray timing"](https://ui.adsabs.harvard.edu/abs/1989ASIC..262...27V/abstract)
+"""
+
+# ╔═╡ 95ec0443-95e3-4986-b170-7589328246b2
+md"""
+## Further Material
+
+Papers for examining more closely some of the discussed topics.
+
+- [Vaughan (2010) - "A Bayesian test for periodic signals in red noise"](https://ui.adsabs.harvard.edu/abs/2010MNRAS.402..307V/abstract)
+- [Barret & Vaughan (2012) - "Maximum Likelihood Fitting of X-Ray Power Density Spectra: Application to High-frequency Quasi-periodic Oscillations from the Neutron Star X-Ray Binary 4U1608-522](https://ui.adsabs.harvard.edu/abs/2012ApJ...746..131B/abstract)
+- [Covino eta al. (2019) - "Gamma-ray quasi-periodicities of blazars. A cautious approach"](https://ui.adsabs.harvard.edu/abs/2019MNRAS.482.1270C/abstract)
+"""
+
+# ╔═╡ 22c6e22a-4b5d-47cd-b4b1-97543a7c9d74
+md"""
+### Credits
+***
+
+This notebook contains material obtained from [https://www.tutorialspoint.com/power-spectral-density-psd-and-autocorrelation-function#](https://www.tutorialspoint.com/power-spectral-density-psd-and-autocorrelation-function#) and from [https://ipython-books.github.io/101-analyzing-the-frequency-components-of-a-signal-with-a-fast-fourier-transform/](https://ipython-books.github.io/101-analyzing-the-frequency-components-of-a-signal-with-a-fast-fourier-transform/).
+"""
+
+# ╔═╡ 27d77a9f-afa4-4b79-87f8-f8a92b87381e
+cm"""
+## Course Flow
+
+<table>
+  <tr>
+    <td>Previous lecture</td>
+    <td>Next lecture</td>
+  </tr>
+  <tr>
+    <td><a href="./open?path=Lectures/Lecture - Statistics Reminder/Lecture-BayesianReminder.jl">Lecture about Bayesian statistics</a></td>
+    <td><a href="./open?path=Lectures/Science Case - Sunspot Number/Lecture-SunspotNumber.jl">Science case about Sunspot number</a></td>
+  </tr>
+ </table>
+
+
+"""
+
+# ╔═╡ 321154fd-5092-4d93-ba82-1bcde10efcb5
+md"""
+**Copyright**
+
+This notebook is provided as [Open Educational Resource](https://en.wikipedia.org/wiki/Open_educational_resources). Feel free to use the notebook for your own purposes. The text is licensed under [Creative Commons Attribution 4.0](https://creativecommons.org/licenses/by/4.0/), the code of the examples, unless obtained from other properly quoted sources, under the [MIT license](https://opensource.org/licenses/MIT). Please attribute the work as follows: *Stefano Covino, Time Domain Astrophysics - Lecture notes featuring computational examples, 2025*.
+"""
+
+# ╔═╡ 4e16a939-2389-4a07-959e-843290445c49
+
+
+# ╔═╡ Cell order:
+# ╟─d9329a8d-b07c-4207-93a6-1668da23e296
+# ╟─3307644d-e875-4f15-a140-a41f7ca82a8f
+# ╠═419e9d2c-f5df-49a3-b0ce-9804aacda4b7
+# ╠═7209ecae-fba8-44d7-940e-1ecc12e6700a
+# ╠═6a59a8e6-39fc-44b3-9921-8976c677f4b1
+# ╟─95ee75d5-3112-42b6-83aa-29e639ac6eb0
+# ╟─882fc480-b132-45a8-906a-db157059b92c
+# ╟─231efd02-fbde-4c81-9577-7fea1ac07e88
+# ╟─bc82a078-fea7-4a00-b38c-a849fb760594
+# ╟─3bdf3bea-7e3c-4f09-98f7-bdbc16ea2880
+# ╟─0dbb5f0e-292d-4d8a-bb83-7954e4a46f29
+# ╟─875732fc-5644-4c06-8f8c-39dc30f1d3b4
+# ╟─56081488-4ade-436a-991e-d7138368edf1
+# ╟─6d88e888-8f08-47ab-8906-c7b4b86b2588
+# ╟─99f8ea18-5807-482e-8516-e2bdaf1546e6
+# ╟─e087bf1e-dd1a-41f3-8154-bfb39325d905
+# ╟─de228ddb-cacc-456f-b6c7-464e81d1e1e8
+# ╟─e82d615c-5201-4efb-8b77-37a5aa636f39
+# ╟─58d43f9c-e7e9-4a7d-8471-1beca3568a1e
+# ╠═3d75fecb-157b-408a-aa32-2d2096a766ba
+# ╟─2e2e09aa-6023-46a9-b816-bb9de2b321c1
+# ╠═0148c42e-24fa-486e-8c61-eae25e772bd8
+# ╟─7709a017-0c80-4399-9751-bf07b80f0b5e
+# ╠═b49f1cda-582a-4d43-9e0a-a0e6adf85e78
+# ╟─c601e37c-c08d-4ce4-8843-6fd52bd1e812
+# ╠═aff12d14-4803-480e-aab0-6d33917304b3
+# ╟─b8a2074a-490e-4e92-ba59-3735184d7c91
+# ╠═40fe7f7d-8d30-40f1-b6fa-932374c93380
+# ╟─1eb98eee-8373-4fce-b40f-3118d096f082
+# ╠═1b13be55-5153-4d53-ba09-92832f67a448
+# ╟─bf2f9df2-7df7-43d2-926d-7a561be79c0e
+# ╠═bea9ec97-57a7-45a4-9a29-ccca274fd5dc
+# ╟─c1363e2a-d8b4-4be9-8394-435231b62177
+# ╟─f5fea622-f431-4da6-af3f-548fd10d906d
+# ╟─43caa1a2-3083-414d-9681-4153ade8a92b
+# ╟─dd78a7e2-f63e-4e84-af31-286d979074f5
+# ╟─95095834-abd5-43e6-aad0-cdfa402b0366
+# ╟─1cfc40d3-24a3-4a5c-8538-61c13542b403
+# ╟─e8786a24-4391-40ad-a9ba-a0cb3f7bb2b0
+# ╟─39e1ee25-a2f4-4e16-9fec-4a4e9c2c653e
+# ╟─136b29c5-ac92-4e32-878e-3ad99216f78d
+# ╟─d490adbd-376a-403b-adc3-3ab4d4e65bc5
+# ╟─848e6f85-e3b9-4928-aed0-b316f97d18db
+# ╟─8d5c7719-647a-4e7e-905f-43051bb26716
+# ╟─a9964f9d-1f3a-493b-9ab8-a8933ff51c72
+# ╟─a0392d53-9e0d-4d70-a9a5-b99de7884f9d
+# ╟─eae97444-2431-448c-abe6-c14aa64fa409
+# ╟─8d3eb863-5cb0-4221-8fc8-c48361615e95
+# ╟─0b0b8578-4c67-463a-bd53-b3e6bd1f9712
+# ╟─8e458457-f940-460a-8638-debe1f94defc
+# ╟─b2e2bace-7e50-41f0-87fb-780737ff6616
+# ╠═b96525bf-90e5-47b3-b305-1db0ad675c2c
+# ╟─ae8a4ebf-da8d-4778-ad9a-87e3aab72399
+# ╠═25fcf199-7da4-4632-a2fa-d0131f58d533
+# ╟─3e27b7d8-9dec-4e54-9050-5ca9275d8499
+# ╠═0770fef2-cade-46d5-9460-765e4fb0a1c9
+# ╟─7fedf685-66f5-4d46-b52e-99c7305d3f95
+# ╠═39538b6b-414d-436a-a1c4-19c6f6754dc7
+# ╟─549cc9b7-01ff-4639-b8cb-66df220279a9
+# ╠═b8c5baed-5a58-4380-b941-a7d4035c8d01
+# ╟─ee646903-dc54-46d0-b2f5-b30e41a68853
+# ╟─454fc15d-ea34-4938-b86e-76f2cb0d5125
+# ╟─6e178c7b-1846-4390-b842-b4d303688bd8
+# ╟─83aece6e-cc50-4ce4-b9b5-f518342620e5
+# ╟─06df9913-445f-4170-b110-13ec4208d940
+# ╟─9a17f40a-2aad-4b52-96a4-7c275fda9cee
+# ╟─a76024f5-7355-4d57-9167-ed522a76ff51
+# ╟─ddfd682b-56a7-49c9-883a-0d348c9cb8c8
+# ╟─95ec0443-95e3-4986-b170-7589328246b2
+# ╟─22c6e22a-4b5d-47cd-b4b1-97543a7c9d74
+# ╟─27d77a9f-afa4-4b79-87f8-f8a92b87381e
+# ╟─321154fd-5092-4d93-ba82-1bcde10efcb5
+# ╠═4e16a939-2389-4a07-959e-843290445c49
diff --git a/Lectures/Lecture - Spectral Analysis/Manifest.toml b/Lectures/Lecture - Spectral Analysis/Manifest.toml
index bb7f4a8dc917d736a6b82700f2f3c0873447b2e8..d19acb9433ea29bbd67dbe70b318a05debf43182 100644
--- a/Lectures/Lecture - Spectral Analysis/Manifest.toml	
+++ b/Lectures/Lecture - Spectral Analysis/Manifest.toml	
@@ -1,8 +1,8 @@
 # This file is machine-generated - editing it directly is not advised
 
-julia_version = "1.10.4"
+julia_version = "1.11.3"
 manifest_format = "2.0"
-project_hash = "786093e155d0a5fed975f92c557c6dacbd312522"
+project_hash = "ec9b03d4059354e9185c514cbcd85f704a9629cc"
 
 [[deps.AbstractFFTs]]
 deps = ["LinearAlgebra"]
@@ -15,6 +15,12 @@ weakdeps = ["ChainRulesCore", "Test"]
     AbstractFFTsChainRulesCoreExt = "ChainRulesCore"
     AbstractFFTsTestExt = "Test"
 
+[[deps.AbstractPlutoDingetjes]]
+deps = ["Pkg"]
+git-tree-sha1 = "6e1d2a35f2f90a4bc7c2ed98079b2ba09c35b83a"
+uuid = "6e696c72-6542-2067-7265-42206c756150"
+version = "1.3.2"
+
 [[deps.AbstractTrees]]
 git-tree-sha1 = "2d9c9a55f9c93e8887ad391fbae72f8ef55e1177"
 uuid = "1520ce14-60c1-5f80-bbc7-55ef81b5835c"
@@ -22,14 +28,19 @@ version = "0.4.5"
 
 [[deps.Adapt]]
 deps = ["LinearAlgebra", "Requires"]
-git-tree-sha1 = "6a55b747d1812e699320963ffde36f1ebdda4099"
+git-tree-sha1 = "50c3c56a52972d78e8be9fd135bfb91c9574c140"
 uuid = "79e6a3ab-5dfb-504d-930d-738a2a938a0e"
-version = "4.0.4"
+version = "4.1.1"
 weakdeps = ["StaticArrays"]
 
     [deps.Adapt.extensions]
     AdaptStaticArraysExt = "StaticArrays"
 
+[[deps.AdaptivePredicates]]
+git-tree-sha1 = "7e651ea8d262d2d74ce75fdf47c4d63c07dba7a6"
+uuid = "35492f91-a3bd-45ad-95db-fcad7dcfedb7"
+version = "1.2.0"
+
 [[deps.AliasTables]]
 deps = ["PtrArrays", "Random"]
 git-tree-sha1 = "9876e1e164b144ca45e9e3198d0b689cadfed9ff"
@@ -38,22 +49,23 @@ version = "1.1.3"
 
 [[deps.Animations]]
 deps = ["Colors"]
-git-tree-sha1 = "e81c509d2c8e49592413bfb0bb3b08150056c79d"
+git-tree-sha1 = "e092fa223bf66a3c41f9c022bd074d916dc303e7"
 uuid = "27a7e980-b3e6-11e9-2bcd-0b925532e340"
-version = "0.4.1"
+version = "0.4.2"
 
 [[deps.ArgTools]]
 uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f"
-version = "1.1.1"
+version = "1.1.2"
 
 [[deps.Artifacts]]
 uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33"
+version = "1.11.0"
 
 [[deps.Automa]]
-deps = ["PrecompileTools", "TranscodingStreams"]
-git-tree-sha1 = "588e0d680ad1d7201d4c6a804dcb1cd9cba79fbb"
+deps = ["PrecompileTools", "SIMD", "TranscodingStreams"]
+git-tree-sha1 = "a8f503e8e1a5f583fbef15a8440c8c7e32185df2"
 uuid = "67c07d97-cdcb-5c2c-af73-a7f9c32a568b"
-version = "1.0.3"
+version = "1.1.0"
 
 [[deps.AxisAlgorithms]]
 deps = ["LinearAlgebra", "Random", "SparseArrays", "WoodburyMatrices"]
@@ -69,6 +81,12 @@ version = "0.4.7"
 
 [[deps.Base64]]
 uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f"
+version = "1.11.0"
+
+[[deps.Bessels]]
+git-tree-sha1 = "4435559dc39793d53a9e3d278e185e920b4619ef"
+uuid = "0e736298-9ec6-45e8-9647-e4fc86a2fe38"
+version = "0.2.8"
 
 [[deps.BitFlags]]
 git-tree-sha1 = "0691e34b3bb8be9307330f88d1a3c3f25466c24d"
@@ -76,10 +94,10 @@ uuid = "d1d4a3ce-64b1-5f1a-9ba4-7e7e69966f35"
 version = "0.1.9"
 
 [[deps.Bzip2_jll]]
-deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"]
-git-tree-sha1 = "9e2a6b69137e6969bab0152632dcb3bc108c8bdd"
+deps = ["Artifacts", "JLLWrappers", "Libdl"]
+git-tree-sha1 = "1b96ea4a01afe0ea4090c5c8039690672dd13f2e"
 uuid = "6e34b625-4abd-537c-b88f-471c36dfa7a0"
-version = "1.0.8+1"
+version = "1.0.9+0"
 
 [[deps.CEnum]]
 git-tree-sha1 = "389ad5c84de1ae7cf0e28e381131c98ea87d54fc"
@@ -88,6 +106,7 @@ version = "0.5.0"
 
 [[deps.CRC32c]]
 uuid = "8bf52ea8-c179-5cab-976a-9e18b702a9bc"
+version = "1.11.0"
 
 [[deps.CRlibm_jll]]
 deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"]
@@ -97,39 +116,33 @@ version = "1.0.1+0"
 
 [[deps.CSV]]
 deps = ["CodecZlib", "Dates", "FilePathsBase", "InlineStrings", "Mmap", "Parsers", "PooledArrays", "PrecompileTools", "SentinelArrays", "Tables", "Unicode", "WeakRefStrings", "WorkerUtilities"]
-git-tree-sha1 = "6c834533dc1fabd820c1db03c839bf97e45a3fab"
+git-tree-sha1 = "deddd8725e5e1cc49ee205a1964256043720a6c3"
 uuid = "336ed68f-0bac-5ca0-87d4-7b16caf5d00b"
-version = "0.10.14"
+version = "0.10.15"
 
 [[deps.Cairo]]
 deps = ["Cairo_jll", "Colors", "Glib_jll", "Graphics", "Libdl", "Pango_jll"]
-git-tree-sha1 = "d0b3f8b4ad16cb0a2988c6788646a5e6a17b6b1b"
+git-tree-sha1 = "71aa551c5c33f1a4415867fe06b7844faadb0ae9"
 uuid = "159f3aea-2a34-519c-b102-8c37f9878175"
-version = "1.0.5"
+version = "1.1.1"
 
 [[deps.CairoMakie]]
 deps = ["CRC32c", "Cairo", "Cairo_jll", "Colors", "FileIO", "FreeType", "GeometryBasics", "LinearAlgebra", "Makie", "PrecompileTools"]
-git-tree-sha1 = "3441d68ea63944a2b9b6de76603ec1c8b0fd4e3e"
+git-tree-sha1 = "6d76f05dbc8b7a52deaa7cdabe901735ae7b6724"
 uuid = "13f3f980-e62b-5c42-98c6-ff1f3baf88f0"
-version = "0.12.3"
+version = "0.13.1"
 
 [[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"
+git-tree-sha1 = "009060c9a6168704143100f36ab08f06c2af4642"
 uuid = "83423d85-b0ee-5818-9007-b63ccbeb887a"
-version = "1.18.0+2"
-
-[[deps.Calculus]]
-deps = ["LinearAlgebra"]
-git-tree-sha1 = "f641eb0a4f00c343bbc32346e1217b86f3ce9dad"
-uuid = "49dc2e85-a5d0-5ad3-a950-438e2897f1b9"
-version = "0.5.1"
+version = "1.18.2+1"
 
 [[deps.ChainRulesCore]]
 deps = ["Compat", "LinearAlgebra"]
-git-tree-sha1 = "71acdbf594aab5bbb2cec89b208c41b4c411e49f"
+git-tree-sha1 = "1713c74e00545bfe14605d2a2be1712de8fbcb58"
 uuid = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4"
-version = "1.24.0"
+version = "1.25.1"
 weakdeps = ["SparseArrays"]
 
     [deps.ChainRulesCore.extensions]
@@ -137,33 +150,37 @@ weakdeps = ["SparseArrays"]
 
 [[deps.CodecZlib]]
 deps = ["TranscodingStreams", "Zlib_jll"]
-git-tree-sha1 = "59939d8a997469ee05c4b4944560a820f9ba0d73"
+git-tree-sha1 = "962834c22b66e32aa10f7611c08c8ca4e20749a9"
 uuid = "944b1d66-785c-5afd-91f1-9de20f533193"
-version = "0.7.4"
+version = "0.7.8"
 
 [[deps.ColorBrewer]]
-deps = ["Colors", "JSON", "Test"]
-git-tree-sha1 = "61c5334f33d91e570e1d0c3eb5465835242582c4"
+deps = ["Colors", "JSON"]
+git-tree-sha1 = "e771a63cc8b539eca78c85b0cabd9233d6c8f06f"
 uuid = "a2cac450-b92f-5266-8821-25eda20663c8"
-version = "0.4.0"
+version = "0.4.1"
 
 [[deps.ColorSchemes]]
 deps = ["ColorTypes", "ColorVectorSpace", "Colors", "FixedPointNumbers", "PrecompileTools", "Random"]
-git-tree-sha1 = "4b270d6465eb21ae89b732182c20dc165f8bf9f2"
+git-tree-sha1 = "403f2d8e209681fcbd9468a8514efff3ea08452e"
 uuid = "35d6a980-a343-548e-a6ea-1d62b119f2f4"
-version = "3.25.0"
+version = "3.29.0"
 
 [[deps.ColorTypes]]
 deps = ["FixedPointNumbers", "Random"]
-git-tree-sha1 = "b10d0b65641d57b8b4d5e234446582de5047050d"
+git-tree-sha1 = "c7acce7a7e1078a20a285211dd73cd3941a871d6"
 uuid = "3da002f7-5984-5a60-b8a6-cbb66c0b333f"
-version = "0.11.5"
+version = "0.12.0"
+weakdeps = ["StyledStrings"]
+
+    [deps.ColorTypes.extensions]
+    StyledStringsExt = "StyledStrings"
 
 [[deps.ColorVectorSpace]]
 deps = ["ColorTypes", "FixedPointNumbers", "LinearAlgebra", "Requires", "Statistics", "TensorCore"]
-git-tree-sha1 = "a1f44953f2382ebb937d60dafbe2deea4bd23249"
+git-tree-sha1 = "8b3b6f87ce8f65a2b4f857528fd8d70086cd72b1"
 uuid = "c3611d14-8923-5661-9e6a-0046d554d3a4"
-version = "0.10.0"
+version = "0.11.0"
 weakdeps = ["SpecialFunctions"]
 
     [deps.ColorVectorSpace.extensions]
@@ -171,15 +188,21 @@ weakdeps = ["SpecialFunctions"]
 
 [[deps.Colors]]
 deps = ["ColorTypes", "FixedPointNumbers", "Reexport"]
-git-tree-sha1 = "362a287c3aa50601b0bc359053d5c2468f0e7ce0"
+git-tree-sha1 = "64e15186f0aa277e174aa81798f7eb8598e0157e"
 uuid = "5ae59095-9a9b-59fe-a467-6f913c188581"
-version = "0.12.11"
+version = "0.13.0"
+
+[[deps.CommonMark]]
+deps = ["Crayons", "PrecompileTools"]
+git-tree-sha1 = "3faae67b8899797592335832fccf4b3c80bb04fa"
+uuid = "a80b9123-70ca-4bc0-993e-6e3bcb318db6"
+version = "0.8.15"
 
 [[deps.Compat]]
 deps = ["TOML", "UUIDs"]
-git-tree-sha1 = "b1c55339b7c6c350ee89f2c1604299660525b248"
+git-tree-sha1 = "8ae8d32e09f0dcf42a36b90d4e17f5dd2e4c4215"
 uuid = "34da2185-b29b-5c13-b0c7-acf172513d20"
-version = "4.15.0"
+version = "4.16.0"
 weakdeps = ["Dates", "LinearAlgebra"]
 
     [deps.Compat.extensions]
@@ -192,19 +215,19 @@ version = "1.1.1+0"
 
 [[deps.ConcurrentUtilities]]
 deps = ["Serialization", "Sockets"]
-git-tree-sha1 = "6cbbd4d241d7e6579ab354737f4dd95ca43946e1"
+git-tree-sha1 = "d9d26935a0bcffc87d2613ce14c527c99fc543fd"
 uuid = "f0e56b4a-5159-44fe-b623-3e5288b988bb"
-version = "2.4.1"
+version = "2.5.0"
 
 [[deps.ConstructionBase]]
-deps = ["LinearAlgebra"]
-git-tree-sha1 = "260fd2400ed2dab602a7c15cf10c1933c59930a2"
+git-tree-sha1 = "76219f1ed5771adbb096743bff43fb5fdd4c1157"
 uuid = "187b0558-2788-49d3-abe0-74a17ed4e7c9"
-version = "1.5.5"
-weakdeps = ["IntervalSets", "StaticArrays"]
+version = "1.5.8"
+weakdeps = ["IntervalSets", "LinearAlgebra", "StaticArrays"]
 
     [deps.ConstructionBase.extensions]
     ConstructionBaseIntervalSetsExt = "IntervalSets"
+    ConstructionBaseLinearAlgebraExt = "LinearAlgebra"
     ConstructionBaseStaticArraysExt = "StaticArrays"
 
 [[deps.Contour]]
@@ -218,10 +241,14 @@ uuid = "a8cc5b0e-0ffa-5ad4-8c14-923d3ee1735f"
 version = "4.1.1"
 
 [[deps.DSP]]
-deps = ["Compat", "FFTW", "IterTools", "LinearAlgebra", "Polynomials", "Random", "Reexport", "SpecialFunctions", "Statistics"]
-git-tree-sha1 = "f7f4319567fe769debfcf7f8c03d8da1dd4e2fb0"
+deps = ["Bessels", "FFTW", "IterTools", "LinearAlgebra", "Polynomials", "Random", "Reexport", "SpecialFunctions", "Statistics"]
+git-tree-sha1 = "60b9e054b777bb8bf0fae29b1c9d17f6876b2b44"
 uuid = "717857b8-e6f2-59f4-9121-6e50c889abd2"
-version = "0.7.9"
+version = "0.8.2"
+weakdeps = ["OffsetArrays"]
+
+    [deps.DSP.extensions]
+    OffsetArraysExt = "OffsetArrays"
 
 [[deps.DataAPI]]
 git-tree-sha1 = "abe83f3a2f1b857aac70ef8b269080af17764bbe"
@@ -229,10 +256,10 @@ uuid = "9a962f9c-6df0-11e9-0e5d-c546b8b5ee8a"
 version = "1.16.0"
 
 [[deps.DataFrames]]
-deps = ["Compat", "DataAPI", "DataStructures", "Future", "InlineStrings", "InvertedIndices", "IteratorInterfaceExtensions", "LinearAlgebra", "Markdown", "Missings", "PooledArrays", "PrecompileTools", "PrettyTables", "Printf", "REPL", "Random", "Reexport", "SentinelArrays", "SortingAlgorithms", "Statistics", "TableTraits", "Tables", "Unicode"]
-git-tree-sha1 = "04c738083f29f86e62c8afc341f0967d8717bdb8"
+deps = ["Compat", "DataAPI", "DataStructures", "Future", "InlineStrings", "InvertedIndices", "IteratorInterfaceExtensions", "LinearAlgebra", "Markdown", "Missings", "PooledArrays", "PrecompileTools", "PrettyTables", "Printf", "Random", "Reexport", "SentinelArrays", "SortingAlgorithms", "Statistics", "TableTraits", "Tables", "Unicode"]
+git-tree-sha1 = "fb61b4812c49343d7ef0b533ba982c46021938a6"
 uuid = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0"
-version = "1.6.1"
+version = "1.7.0"
 
 [[deps.DataStructures]]
 deps = ["Compat", "InteractiveUtils", "OrderedCollections"]
@@ -248,22 +275,24 @@ version = "1.0.0"
 [[deps.Dates]]
 deps = ["Printf"]
 uuid = "ade2ca70-3891-5945-98fb-dc099432e06a"
+version = "1.11.0"
 
 [[deps.DelaunayTriangulation]]
-deps = ["EnumX", "ExactPredicates", "Random"]
-git-tree-sha1 = "1755070db557ec2c37df2664c75600298b0c1cfc"
+deps = ["AdaptivePredicates", "EnumX", "ExactPredicates", "Random"]
+git-tree-sha1 = "5620ff4ee0084a6ab7097a27ba0c19290200b037"
 uuid = "927a84f5-c5f4-47a5-9785-b46e178433df"
-version = "1.0.3"
+version = "1.6.4"
 
 [[deps.Distributed]]
 deps = ["Random", "Serialization", "Sockets"]
 uuid = "8ba89e20-285c-5b6f-9357-94700520ee1b"
+version = "1.11.0"
 
 [[deps.Distributions]]
 deps = ["AliasTables", "FillArrays", "LinearAlgebra", "PDMats", "Printf", "QuadGK", "Random", "SpecialFunctions", "Statistics", "StatsAPI", "StatsBase", "StatsFuns"]
-git-tree-sha1 = "9c405847cc7ecda2dc921ccf18b47ca150d7317e"
+git-tree-sha1 = "03aa5d44647eaec98e1920635cdfed5d5560a8b9"
 uuid = "31c24e10-a181-5473-b8eb-7969acd0382f"
-version = "0.25.109"
+version = "0.25.117"
 
     [deps.Distributions.extensions]
     DistributionsChainRulesCoreExt = "ChainRulesCore"
@@ -286,12 +315,6 @@ deps = ["ArgTools", "FileWatching", "LibCURL", "NetworkOptions"]
 uuid = "f43a241f-c20a-4ad4-852c-f6b1247861c6"
 version = "1.6.0"
 
-[[deps.DualNumbers]]
-deps = ["Calculus", "NaNMath", "SpecialFunctions"]
-git-tree-sha1 = "5837a837389fccf076445fce071c8ddaea35a566"
-uuid = "fa6b7ba4-c1ee-5f82-b5fc-ecf0adba8f74"
-version = "0.6.8"
-
 [[deps.EarCut_jll]]
 deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"]
 git-tree-sha1 = "e3290f2d49e661fbd94046d7e3726ffcb2d41053"
@@ -311,44 +334,48 @@ version = "2.2.8"
 
 [[deps.ExceptionUnwrapping]]
 deps = ["Test"]
-git-tree-sha1 = "dcb08a0d93ec0b1cdc4af184b26b591e9695423a"
+git-tree-sha1 = "d36f682e590a83d63d1c7dbd287573764682d12a"
 uuid = "460bff9d-24e4-43bc-9d9f-a8973cb893f4"
-version = "0.1.10"
+version = "0.1.11"
 
 [[deps.Expat_jll]]
 deps = ["Artifacts", "JLLWrappers", "Libdl"]
-git-tree-sha1 = "1c6317308b9dc757616f0b5cb379db10494443a7"
+git-tree-sha1 = "d55dffd9ae73ff72f1c0482454dcf2ec6c6c4a63"
 uuid = "2e619515-83b5-522b-bb60-26c02a35a201"
-version = "2.6.2+0"
+version = "2.6.5+0"
 
 [[deps.Extents]]
-git-tree-sha1 = "94997910aca72897524d2237c41eb852153b0f65"
+git-tree-sha1 = "063512a13dbe9c40d999c439268539aa552d1ae6"
 uuid = "411431e0-e8b7-467b-b5e0-f676ba4f2910"
-version = "0.1.3"
+version = "0.1.5"
 
 [[deps.FFMPEG_jll]]
 deps = ["Artifacts", "Bzip2_jll", "FreeType2_jll", "FriBidi_jll", "JLLWrappers", "LAME_jll", "Libdl", "Ogg_jll", "OpenSSL_jll", "Opus_jll", "PCRE2_jll", "Zlib_jll", "libaom_jll", "libass_jll", "libfdk_aac_jll", "libvorbis_jll", "x264_jll", "x265_jll"]
-git-tree-sha1 = "ab3f7e1819dba9434a3a5126510c8fda3a4e7000"
+git-tree-sha1 = "8cc47f299902e13f90405ddb5bf87e5d474c0d38"
 uuid = "b22a6f82-2f65-5046-a5b2-351ab43fb4e5"
-version = "6.1.1+0"
+version = "6.1.2+0"
 
 [[deps.FFTW]]
 deps = ["AbstractFFTs", "FFTW_jll", "LinearAlgebra", "MKL_jll", "Preferences", "Reexport"]
-git-tree-sha1 = "4820348781ae578893311153d69049a93d05f39d"
+git-tree-sha1 = "7de7c78d681078f027389e067864a8d53bd7c3c9"
 uuid = "7a1cc6ca-52ef-59f5-83cd-3a7055c09341"
-version = "1.8.0"
+version = "1.8.1"
 
 [[deps.FFTW_jll]]
 deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"]
-git-tree-sha1 = "c6033cc3892d0ef5bb9cd29b7f2f0331ea5184ea"
+git-tree-sha1 = "4d81ed14783ec49ce9f2e168208a12ce1815aa25"
 uuid = "f5851436-0d7a-5f13-b9de-f02708fd171a"
-version = "3.3.10+0"
+version = "3.3.10+3"
 
 [[deps.FileIO]]
 deps = ["Pkg", "Requires", "UUIDs"]
-git-tree-sha1 = "82d8afa92ecf4b52d78d869f038ebfb881267322"
+git-tree-sha1 = "2dd20384bf8c6d411b5c7370865b1e9b26cb2ea3"
 uuid = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549"
-version = "1.16.3"
+version = "1.16.6"
+weakdeps = ["HTTP"]
+
+    [deps.FileIO.extensions]
+    HTTPExt = "HTTP"
 
 [[deps.FilePaths]]
 deps = ["FilePathsBase", "MacroTools", "Reexport", "Requires"]
@@ -357,19 +384,25 @@ uuid = "8fc22ac5-c921-52a6-82fd-178b2807b824"
 version = "0.8.3"
 
 [[deps.FilePathsBase]]
-deps = ["Compat", "Dates", "Mmap", "Printf", "Test", "UUIDs"]
-git-tree-sha1 = "9f00e42f8d99fdde64d40c8ea5d14269a2e2c1aa"
+deps = ["Compat", "Dates"]
+git-tree-sha1 = "2ec417fc319faa2d768621085cc1feebbdee686b"
 uuid = "48062228-2e41-5def-b9a4-89aafe57970f"
-version = "0.9.21"
+version = "0.9.23"
+weakdeps = ["Mmap", "Test"]
+
+    [deps.FilePathsBase.extensions]
+    FilePathsBaseMmapExt = "Mmap"
+    FilePathsBaseTestExt = "Test"
 
 [[deps.FileWatching]]
 uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee"
+version = "1.11.0"
 
 [[deps.FillArrays]]
 deps = ["LinearAlgebra"]
-git-tree-sha1 = "0653c0a2396a6da5bc4766c43041ef5fd3efbe57"
+git-tree-sha1 = "6a70198746448456524cb442b8af316927ff3e1a"
 uuid = "1a297f60-69ca-5386-bcde-b61e274b549b"
-version = "1.11.0"
+version = "1.13.0"
 weakdeps = ["PDMats", "SparseArrays", "Statistics"]
 
     [deps.FillArrays.extensions]
@@ -385,9 +418,9 @@ 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"
+git-tree-sha1 = "21fac3c77d7b5a9fc03b0ec503aa1a6392c34d2b"
 uuid = "a3f928ae-7b40-5064-980b-68af3947d34b"
-version = "2.13.96+0"
+version = "2.15.0+0"
 
 [[deps.Format]]
 git-tree-sha1 = "9c68794ef81b08086aeb32eeaf33531668d5f5fc"
@@ -402,37 +435,43 @@ version = "4.1.1"
 
 [[deps.FreeType2_jll]]
 deps = ["Artifacts", "Bzip2_jll", "JLLWrappers", "Libdl", "Zlib_jll"]
-git-tree-sha1 = "5c1d8ae0efc6c2e7b1fc502cbe25def8f661b7bc"
+git-tree-sha1 = "786e968a8d2fb167f2e4880baba62e0e26bd8e4e"
 uuid = "d7e528f0-a631-5988-bf34-fe36492bcfd7"
-version = "2.13.2+0"
+version = "2.13.3+1"
 
 [[deps.FreeTypeAbstraction]]
 deps = ["ColorVectorSpace", "Colors", "FreeType", "GeometryBasics"]
-git-tree-sha1 = "2493cdfd0740015955a8e46de4ef28f49460d8bc"
+git-tree-sha1 = "d52e255138ac21be31fa633200b65e4e71d26802"
 uuid = "663a7486-cb36-511b-a19d-713bb74d65c9"
-version = "0.10.3"
+version = "0.10.6"
 
 [[deps.FriBidi_jll]]
 deps = ["Artifacts", "JLLWrappers", "Libdl"]
-git-tree-sha1 = "1ed150b39aebcc805c26b93a8d0122c940f64ce2"
+git-tree-sha1 = "846f7026a9decf3679419122b49f8a1fdb48d2d5"
 uuid = "559328eb-81f9-559d-9380-de523a88c83c"
-version = "1.0.14+0"
+version = "1.0.16+0"
 
 [[deps.Future]]
 deps = ["Random"]
 uuid = "9fa8497b-333b-5362-9e8d-4d0656e87820"
+version = "1.11.0"
+
+[[deps.GeoFormatTypes]]
+git-tree-sha1 = "8e233d5167e63d708d41f87597433f59a0f213fe"
+uuid = "68eda718-8dee-11e9-39e7-89f7f65f511f"
+version = "0.4.4"
 
 [[deps.GeoInterface]]
-deps = ["Extents"]
-git-tree-sha1 = "9fff8990361d5127b770e3454488360443019bb3"
+deps = ["DataAPI", "Extents", "GeoFormatTypes"]
+git-tree-sha1 = "294e99f19869d0b0cb71aef92f19d03649d028d5"
 uuid = "cf35fbd7-0cd7-5166-be24-54bfbe79505f"
-version = "1.3.5"
+version = "1.4.1"
 
 [[deps.GeometryBasics]]
-deps = ["EarCut_jll", "Extents", "GeoInterface", "IterTools", "LinearAlgebra", "StaticArrays", "StructArrays", "Tables"]
-git-tree-sha1 = "b62f2b2d76cee0d61a2ef2b3118cd2a3215d3134"
+deps = ["EarCut_jll", "Extents", "GeoInterface", "IterTools", "LinearAlgebra", "PrecompileTools", "Random", "StaticArrays"]
+git-tree-sha1 = "f0895e73ba6c469ec8efaa13712eb5ee1a3647a3"
 uuid = "5c1252a2-5f33-56bf-86c9-59e7332b4326"
-version = "0.4.11"
+version = "0.5.2"
 
 [[deps.Gettext_jll]]
 deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Libiconv_jll", "Pkg", "XML2_jll"]
@@ -440,29 +479,35 @@ git-tree-sha1 = "9b02998aba7bf074d14de89f9d37ca24a1a0b046"
 uuid = "78b55507-aeef-58d4-861c-77aaff3498b1"
 version = "0.21.0+0"
 
+[[deps.Giflib_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl"]
+git-tree-sha1 = "6570366d757b50fabae9f4315ad74d2e40c0560a"
+uuid = "59f7168a-df46-5410-90c8-f2779963d0ec"
+version = "5.2.3+0"
+
 [[deps.Glib_jll]]
 deps = ["Artifacts", "Gettext_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Libiconv_jll", "Libmount_jll", "PCRE2_jll", "Zlib_jll"]
-git-tree-sha1 = "7c82e6a6cd34e9d935e9aa4051b66c6ff3af59ba"
+git-tree-sha1 = "b0036b392358c80d2d2124746c2bf3d48d457938"
 uuid = "7746bdde-850d-59dc-9ae8-88ece973131d"
-version = "2.80.2+0"
+version = "2.82.4+0"
 
 [[deps.Graphics]]
 deps = ["Colors", "LinearAlgebra", "NaNMath"]
-git-tree-sha1 = "d61890399bc535850c4bf08e4e0d3a7ad0f21cbd"
+git-tree-sha1 = "a641238db938fff9b2f60d08ed9030387daf428c"
 uuid = "a2bd30eb-e257-5431-a919-1863eab51364"
-version = "1.1.2"
+version = "1.1.3"
 
 [[deps.Graphite2_jll]]
 deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"]
-git-tree-sha1 = "344bf40dcab1073aca04aa0df4fb092f920e4011"
+git-tree-sha1 = "01979f9b37367603e2848ea225918a3b3861b606"
 uuid = "3b182d85-2403-5c21-9c21-1e1f0cc25472"
-version = "1.3.14+0"
+version = "1.3.14+1"
 
 [[deps.GridLayoutBase]]
 deps = ["GeometryBasics", "InteractiveUtils", "Observables"]
-git-tree-sha1 = "fc713f007cff99ff9e50accba6373624ddd33588"
+git-tree-sha1 = "dc6bed05c15523624909b3953686c5f5ffa10adc"
 uuid = "3955a311-db13-416c-9275-1d80ed98e5e9"
-version = "0.11.0"
+version = "0.11.1"
 
 [[deps.Grisu]]
 git-tree-sha1 = "53bb909d1151e57e2484c3d1b53e19552b887fb2"
@@ -470,28 +515,46 @@ 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"
+deps = ["Base64", "CodecZlib", "ConcurrentUtilities", "Dates", "ExceptionUnwrapping", "Logging", "LoggingExtras", "MbedTLS", "NetworkOptions", "OpenSSL", "PrecompileTools", "Random", "SimpleBufferStream", "Sockets", "URIs", "UUIDs"]
+git-tree-sha1 = "c67b33b085f6e2faf8bf79a61962e7339a81129c"
 uuid = "cd3eb016-35fb-5094-929b-558a96fad6f3"
-version = "1.10.8"
+version = "1.10.15"
 
 [[deps.HarfBuzz_jll]]
-deps = ["Artifacts", "Cairo_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "Graphite2_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Pkg"]
-git-tree-sha1 = "129acf094d168394e80ee1dc4bc06ec835e510a3"
+deps = ["Artifacts", "Cairo_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "Graphite2_jll", "JLLWrappers", "Libdl", "Libffi_jll"]
+git-tree-sha1 = "55c53be97790242c29031e5cd45e8ac296dadda3"
 uuid = "2e76f6c2-a576-52d4-95c1-20adfe4de566"
-version = "2.8.1+1"
+version = "8.5.0+0"
 
 [[deps.HypergeometricFunctions]]
-deps = ["DualNumbers", "LinearAlgebra", "OpenLibm_jll", "SpecialFunctions"]
-git-tree-sha1 = "f218fe3736ddf977e0e772bc9a586b2383da2685"
+deps = ["LinearAlgebra", "OpenLibm_jll", "SpecialFunctions"]
+git-tree-sha1 = "2bd56245074fab4015b9174f24ceba8293209053"
 uuid = "34004b35-14d8-5ef3-9330-4cdb6864b03a"
-version = "0.3.23"
+version = "0.3.27"
+
+[[deps.Hyperscript]]
+deps = ["Test"]
+git-tree-sha1 = "8d511d5b81240fc8e6802386302675bdf47737b9"
+uuid = "47d2ed2b-36de-50cf-bf87-49c2cf4b8b91"
+version = "0.0.4"
+
+[[deps.HypertextLiteral]]
+deps = ["Tricks"]
+git-tree-sha1 = "7134810b1afce04bbc1045ca1985fbe81ce17653"
+uuid = "ac1192a8-f4b3-4bfe-ba22-af5b92cd3ab2"
+version = "0.9.5"
+
+[[deps.IOCapture]]
+deps = ["Logging", "Random"]
+git-tree-sha1 = "b6d6bfdd7ce25b0f9b2f6b3dd56b2673a66c8770"
+uuid = "b5f81e59-6552-4d32-b1f0-c071b021bf89"
+version = "0.2.5"
 
 [[deps.ImageAxes]]
 deps = ["AxisArrays", "ImageBase", "ImageCore", "Reexport", "SimpleTraits"]
-git-tree-sha1 = "2e4520d67b0cef90865b3ef727594d2a58e0e1f8"
+git-tree-sha1 = "e12629406c6c4442539436581041d372d69c55ba"
 uuid = "2803e5a7-5153-5ecf-9a86-9b4c37f5f5ac"
-version = "0.6.11"
+version = "0.6.12"
 
 [[deps.ImageBase]]
 deps = ["ImageCore", "Reexport"]
@@ -501,21 +564,21 @@ version = "0.1.7"
 
 [[deps.ImageCore]]
 deps = ["ColorVectorSpace", "Colors", "FixedPointNumbers", "MappedArrays", "MosaicViews", "OffsetArrays", "PaddedViews", "PrecompileTools", "Reexport"]
-git-tree-sha1 = "b2a7eaa169c13f5bcae8131a83bc30eff8f71be0"
+git-tree-sha1 = "8c193230235bbcee22c8066b0374f63b5683c2d3"
 uuid = "a09fc81d-aa75-5fe9-8630-4744c3626534"
-version = "0.10.2"
+version = "0.10.5"
 
 [[deps.ImageIO]]
-deps = ["FileIO", "IndirectArrays", "JpegTurbo", "LazyModules", "Netpbm", "OpenEXR", "PNGFiles", "QOI", "Sixel", "TiffImages", "UUIDs"]
-git-tree-sha1 = "437abb322a41d527c197fa800455f79d414f0a3c"
+deps = ["FileIO", "IndirectArrays", "JpegTurbo", "LazyModules", "Netpbm", "OpenEXR", "PNGFiles", "QOI", "Sixel", "TiffImages", "UUIDs", "WebP"]
+git-tree-sha1 = "696144904b76e1ca433b886b4e7edd067d76cbf7"
 uuid = "82e4d734-157c-48bb-816b-45c225c6df19"
-version = "0.6.8"
+version = "0.6.9"
 
 [[deps.ImageMetadata]]
 deps = ["AxisArrays", "ImageAxes", "ImageBase", "ImageCore"]
-git-tree-sha1 = "355e2b974f2e3212a75dfb60519de21361ad3cb7"
+git-tree-sha1 = "2a81c3897be6fbcde0802a0ebe6796d0562f63ec"
 uuid = "bc367c6b-8a6b-528e-b4bd-a4b897500b49"
-version = "0.9.9"
+version = "0.9.10"
 
 [[deps.Imath_jll]]
 deps = ["Artifacts", "JLLWrappers", "Libdl"]
@@ -534,26 +597,28 @@ uuid = "d25df0c9-e2be-5dd7-82c8-3ad0b3e990b9"
 version = "0.1.5"
 
 [[deps.InlineStrings]]
-deps = ["Parsers"]
-git-tree-sha1 = "86356004f30f8e737eff143d57d41bd580e437aa"
+git-tree-sha1 = "45521d31238e87ee9f9732561bfee12d4eebd52d"
 uuid = "842dd82b-1e85-43dc-bf29-5d0ee9dffc48"
-version = "1.4.1"
+version = "1.4.2"
 
     [deps.InlineStrings.extensions]
     ArrowTypesExt = "ArrowTypes"
+    ParsersExt = "Parsers"
 
     [deps.InlineStrings.weakdeps]
     ArrowTypes = "31f734f8-188a-4ce0-8406-c8a06bd891cd"
+    Parsers = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0"
 
 [[deps.IntelOpenMP_jll]]
-deps = ["Artifacts", "JLLWrappers", "Libdl"]
-git-tree-sha1 = "be50fe8df3acbffa0274a744f1a99d29c45a57f4"
+deps = ["Artifacts", "JLLWrappers", "LazyArtifacts", "Libdl"]
+git-tree-sha1 = "0f14a5456bdc6b9731a5682f439a672750a09e48"
 uuid = "1d5cc7b8-4909-519e-a0f8-d0f5ad9712d0"
-version = "2024.1.0+0"
+version = "2025.0.4+0"
 
 [[deps.InteractiveUtils]]
 deps = ["Markdown"]
 uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240"
+version = "1.11.0"
 
 [[deps.Interpolations]]
 deps = ["Adapt", "AxisAlgorithms", "ChainRulesCore", "LinearAlgebra", "OffsetArrays", "Random", "Ratios", "Requires", "SharedArrays", "SparseArrays", "StaticArrays", "WoodburyMatrices"]
@@ -566,19 +631,21 @@ weakdeps = ["Unitful"]
     InterpolationsUnitfulExt = "Unitful"
 
 [[deps.IntervalArithmetic]]
-deps = ["CRlibm_jll", "MacroTools", "RoundingEmulator"]
-git-tree-sha1 = "433b0bb201cd76cb087b017e49244f10394ebe9c"
+deps = ["CRlibm_jll", "LinearAlgebra", "MacroTools", "RoundingEmulator"]
+git-tree-sha1 = "0fcf2079f918f68c6412cab5f2679822cbd7357f"
 uuid = "d1acc4aa-44c8-5952-acd4-ba5d80a2a253"
-version = "0.22.14"
+version = "0.22.23"
 
     [deps.IntervalArithmetic.extensions]
     IntervalArithmeticDiffRulesExt = "DiffRules"
     IntervalArithmeticForwardDiffExt = "ForwardDiff"
+    IntervalArithmeticIntervalSetsExt = "IntervalSets"
     IntervalArithmeticRecipesBaseExt = "RecipesBase"
 
     [deps.IntervalArithmetic.weakdeps]
     DiffRules = "b552c78f-8df3-52c6-915a-8e097449b14b"
     ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210"
+    IntervalSets = "8197267c-284f-5f27-9208-e0e47529a953"
     RecipesBase = "3cdcf5f2-1ef4-517c-9805-6587b60abb01"
 
 [[deps.IntervalSets]]
@@ -592,15 +659,25 @@ weakdeps = ["Random", "RecipesBase", "Statistics"]
     IntervalSetsRecipesBaseExt = "RecipesBase"
     IntervalSetsStatisticsExt = "Statistics"
 
+[[deps.InverseFunctions]]
+git-tree-sha1 = "a779299d77cd080bf77b97535acecd73e1c5e5cb"
+uuid = "3587e190-3f89-42d0-90ee-14403ec27112"
+version = "0.1.17"
+weakdeps = ["Dates", "Test"]
+
+    [deps.InverseFunctions.extensions]
+    InverseFunctionsDatesExt = "Dates"
+    InverseFunctionsTestExt = "Test"
+
 [[deps.InvertedIndices]]
-git-tree-sha1 = "0dc7b50b8d436461be01300fd8cd45aa0274b038"
+git-tree-sha1 = "6da3c4316095de0f5ee2ebd875df8721e7e0bdbe"
 uuid = "41ab1584-1d38-5bbf-9106-f11c6c58b48f"
-version = "1.3.0"
+version = "1.3.1"
 
 [[deps.IrrationalConstants]]
-git-tree-sha1 = "630b497eafcc20001bba38a4651b327dcfc491d2"
+git-tree-sha1 = "e2222959fbc6c19554dc15174c81bf7bf3aa691c"
 uuid = "92d709cd-6900-40b7-9082-c6be49f344b6"
-version = "0.2.2"
+version = "0.2.4"
 
 [[deps.Isoband]]
 deps = ["isoband_jll"]
@@ -620,9 +697,9 @@ version = "1.0.0"
 
 [[deps.JLLWrappers]]
 deps = ["Artifacts", "Preferences"]
-git-tree-sha1 = "7e5d6779a1e09a36db2a7b6cff50942a0a7d0fca"
+git-tree-sha1 = "a007feb38b422fbdab534406aeca1b86823cb4d6"
 uuid = "692b3bcd-3c85-4b1f-b108-f13ce0eb3210"
-version = "1.5.0"
+version = "1.7.0"
 
 [[deps.JSON]]
 deps = ["Dates", "Mmap", "Parsers", "Unicode"]
@@ -638,9 +715,9 @@ version = "0.1.5"
 
 [[deps.JpegTurbo_jll]]
 deps = ["Artifacts", "JLLWrappers", "Libdl"]
-git-tree-sha1 = "c84a835e1a09b289ffcd2271bf2a337bbdda6637"
+git-tree-sha1 = "eac1206917768cb54957c65a615460d87b455fc1"
 uuid = "aacddb02-875f-59d6-b918-886e6ef4fbf8"
-version = "3.0.3+0"
+version = "3.1.1+0"
 
 [[deps.KernelDensity]]
 deps = ["Distributions", "DocStringExtensions", "FFTW", "Interpolations", "StatsBase"]
@@ -654,26 +731,33 @@ git-tree-sha1 = "170b660facf5df5de098d866564877e119141cbd"
 uuid = "c1c5ebd0-6772-5130-a774-d5fcae4a789d"
 version = "3.100.2+0"
 
+[[deps.LERC_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl"]
+git-tree-sha1 = "aaafe88dccbd957a8d82f7d05be9b69172e0cee3"
+uuid = "88015f11-f218-50d7-93a8-a6af411a945d"
+version = "4.0.1+0"
+
 [[deps.LLVMOpenMP_jll]]
 deps = ["Artifacts", "JLLWrappers", "Libdl"]
-git-tree-sha1 = "d986ce2d884d49126836ea94ed5bfb0f12679713"
+git-tree-sha1 = "78211fb6cbc872f77cad3fc0b6cf647d923f4929"
 uuid = "1d63c593-3942-5779-bab2-d838dc0a180e"
-version = "15.0.7+0"
+version = "18.1.7+0"
 
 [[deps.LZO_jll]]
 deps = ["Artifacts", "JLLWrappers", "Libdl"]
-git-tree-sha1 = "70c5da094887fd2cae843b8db33920bac4b6f07d"
+git-tree-sha1 = "1c602b1127f4751facb671441ca72715cc95938a"
 uuid = "dd4b983a-f0e5-5f8d-a1b7-129d4a5fb1ac"
-version = "2.10.2+0"
+version = "2.10.3+0"
 
 [[deps.LaTeXStrings]]
-git-tree-sha1 = "50901ebc375ed41dbf8058da26f9de442febbbec"
+git-tree-sha1 = "dda21b8cbd6a6c40d9d02a73230f9d70fed6918c"
 uuid = "b964fa9f-0449-5b57-a5c2-d3ea65f4040f"
-version = "1.3.1"
+version = "1.4.0"
 
 [[deps.LazyArtifacts]]
 deps = ["Artifacts", "Pkg"]
 uuid = "4af54fe1-eca0-43a8-85a7-787d91b784e3"
+version = "1.11.0"
 
 [[deps.LazyModules]]
 git-tree-sha1 = "a560dd966b386ac9ae60bdd3a3d3a326062d3c3e"
@@ -688,16 +772,17 @@ 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"
+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.6.4+0"
+version = "1.7.2+0"
 
 [[deps.LibSSH2_jll]]
 deps = ["Artifacts", "Libdl", "MbedTLS_jll"]
@@ -706,52 +791,66 @@ version = "1.11.0+1"
 
 [[deps.Libdl]]
 uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb"
+version = "1.11.0"
 
 [[deps.Libffi_jll]]
 deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"]
-git-tree-sha1 = "0b4a5d71f3e5200a7dff793393e09dfc2d874290"
+git-tree-sha1 = "27ecae93dd25ee0909666e6835051dd684cc035e"
 uuid = "e9f186c6-92d2-5b65-8a66-fee21dc1b490"
-version = "3.2.2+1"
+version = "3.2.2+2"
 
 [[deps.Libgcrypt_jll]]
 deps = ["Artifacts", "JLLWrappers", "Libdl", "Libgpg_error_jll"]
-git-tree-sha1 = "9fd170c4bbfd8b935fdc5f8b7aa33532c991a673"
+git-tree-sha1 = "8be878062e0ffa2c3f67bb58a595375eda5de80b"
 uuid = "d4300ac3-e22c-5743-9152-c294e39db1e4"
-version = "1.8.11+0"
+version = "1.11.0+0"
+
+[[deps.Libglvnd_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libX11_jll", "Xorg_libXext_jll"]
+git-tree-sha1 = "ff3b4b9d35de638936a525ecd36e86a8bb919d11"
+uuid = "7e76a0d4-f3c7-5321-8279-8d96eeed0f29"
+version = "1.7.0+0"
 
 [[deps.Libgpg_error_jll]]
 deps = ["Artifacts", "JLLWrappers", "Libdl"]
-git-tree-sha1 = "fbb1f2bef882392312feb1ede3615ddc1e9b99ed"
+git-tree-sha1 = "df37206100d39f79b3376afb6b9cee4970041c61"
 uuid = "7add5ba3-2f88-524e-9cd5-f83b8a55f7b8"
-version = "1.49.0+0"
+version = "1.51.1+0"
 
 [[deps.Libiconv_jll]]
 deps = ["Artifacts", "JLLWrappers", "Libdl"]
-git-tree-sha1 = "f9557a255370125b405568f9767d6d195822a175"
+git-tree-sha1 = "be484f5c92fad0bd8acfef35fe017900b0b73809"
 uuid = "94ce4f54-9a6c-5748-9c1c-f9c7231a4531"
-version = "1.17.0+0"
+version = "1.18.0+0"
 
 [[deps.Libmount_jll]]
 deps = ["Artifacts", "JLLWrappers", "Libdl"]
-git-tree-sha1 = "0c4f9c4f1a50d8f35048fa0532dabbadf702f81e"
+git-tree-sha1 = "89211ea35d9df5831fca5d33552c02bd33878419"
 uuid = "4b2f31a3-9ecc-558c-b454-b3730dcb73e9"
-version = "2.40.1+0"
+version = "2.40.3+0"
+
+[[deps.Libtiff_jll]]
+deps = ["Artifacts", "JLLWrappers", "JpegTurbo_jll", "LERC_jll", "Libdl", "XZ_jll", "Zlib_jll", "Zstd_jll"]
+git-tree-sha1 = "4ab7581296671007fc33f07a721631b8855f4b1d"
+uuid = "89763e89-9b03-5906-acba-b20f662cd828"
+version = "4.7.1+0"
 
 [[deps.Libuuid_jll]]
 deps = ["Artifacts", "JLLWrappers", "Libdl"]
-git-tree-sha1 = "5ee6203157c120d79034c748a2acba45b82b8807"
+git-tree-sha1 = "e888ad02ce716b319e6bdb985d2ef300e7089889"
 uuid = "38a345b3-de98-5d2b-a5d3-14cd9215e700"
-version = "2.40.1+0"
+version = "2.40.3+0"
 
 [[deps.LinearAlgebra]]
 deps = ["Libdl", "OpenBLAS_jll", "libblastrampoline_jll"]
 uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
+version = "1.11.0"
 
 [[deps.LogExpFunctions]]
 deps = ["DocStringExtensions", "IrrationalConstants", "LinearAlgebra"]
-git-tree-sha1 = "a2d09619db4e765091ee5c6ffe8872849de0feea"
+git-tree-sha1 = "13ca9e2586b89836fd20cccf56e57e2b9ae7f38f"
 uuid = "2ab3a3ac-af41-5b50-aa03-7779005ae688"
-version = "0.3.28"
+version = "0.3.29"
 
     [deps.LogExpFunctions.extensions]
     LogExpFunctionsChainRulesCoreExt = "ChainRulesCore"
@@ -765,36 +864,36 @@ version = "0.3.28"
 
 [[deps.Logging]]
 uuid = "56ddb016-857b-54e1-b83d-db4d58db5568"
+version = "1.11.0"
 
 [[deps.LoggingExtras]]
 deps = ["Dates", "Logging"]
-git-tree-sha1 = "c1dd6d7978c12545b4179fb6153b9250c96b0075"
+git-tree-sha1 = "f02b56007b064fbfddb4c9cd60161b6dd0f40df3"
 uuid = "e6f89c97-d47a-5376-807f-9c37f3926c36"
-version = "1.0.3"
+version = "1.1.0"
 
 [[deps.MKL_jll]]
 deps = ["Artifacts", "IntelOpenMP_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "oneTBB_jll"]
-git-tree-sha1 = "80b2833b56d466b3858d565adcd16a4a05f2089b"
+git-tree-sha1 = "5de60bc6cb3899cd318d80d627560fae2e2d99ae"
 uuid = "856f044c-d86e-5d09-b602-aeab76dc8ba7"
-version = "2024.1.0+0"
+version = "2025.0.1+1"
 
 [[deps.MacroTools]]
-deps = ["Markdown", "Random"]
-git-tree-sha1 = "2fa9ee3e63fd3a4f7a9a4f4744a52f4856de82df"
+git-tree-sha1 = "72aebe0b5051e5143a079a4685a46da330a40472"
 uuid = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09"
-version = "0.5.13"
+version = "0.5.15"
 
 [[deps.Makie]]
-deps = ["Animations", "Base64", "CRC32c", "ColorBrewer", "ColorSchemes", "ColorTypes", "Colors", "Contour", "Dates", "DelaunayTriangulation", "Distributions", "DocStringExtensions", "Downloads", "FFMPEG_jll", "FileIO", "FilePaths", "FixedPointNumbers", "Format", "FreeType", "FreeTypeAbstraction", "GeometryBasics", "GridLayoutBase", "ImageIO", "InteractiveUtils", "IntervalSets", "Isoband", "KernelDensity", "LaTeXStrings", "LinearAlgebra", "MacroTools", "MakieCore", "Markdown", "MathTeXEngine", "Observables", "OffsetArrays", "Packing", "PlotUtils", "PolygonOps", "PrecompileTools", "Printf", "REPL", "Random", "RelocatableFolders", "Scratch", "ShaderAbstractions", "Showoff", "SignedDistanceFields", "SparseArrays", "Statistics", "StatsBase", "StatsFuns", "StructArrays", "TriplotBase", "UnicodeFun", "Unitful"]
-git-tree-sha1 = "e11b0666b457e3bb60119f2ed4d063d2b68954d3"
+deps = ["Animations", "Base64", "CRC32c", "ColorBrewer", "ColorSchemes", "ColorTypes", "Colors", "Contour", "Dates", "DelaunayTriangulation", "Distributions", "DocStringExtensions", "Downloads", "FFMPEG_jll", "FileIO", "FilePaths", "FixedPointNumbers", "Format", "FreeType", "FreeTypeAbstraction", "GeometryBasics", "GridLayoutBase", "ImageBase", "ImageIO", "InteractiveUtils", "Interpolations", "IntervalSets", "InverseFunctions", "Isoband", "KernelDensity", "LaTeXStrings", "LinearAlgebra", "MacroTools", "MakieCore", "Markdown", "MathTeXEngine", "Observables", "OffsetArrays", "PNGFiles", "Packing", "PlotUtils", "PolygonOps", "PrecompileTools", "Printf", "REPL", "Random", "RelocatableFolders", "Scratch", "ShaderAbstractions", "Showoff", "SignedDistanceFields", "SparseArrays", "Statistics", "StatsBase", "StatsFuns", "StructArrays", "TriplotBase", "UnicodeFun", "Unitful"]
+git-tree-sha1 = "9680336a5b67f9f9f6eaa018f426043a8cd68200"
 uuid = "ee78f7c6-11fb-53f2-987a-cfe4a2b5a57a"
-version = "0.21.3"
+version = "0.22.1"
 
 [[deps.MakieCore]]
 deps = ["ColorTypes", "GeometryBasics", "IntervalSets", "Observables"]
-git-tree-sha1 = "638bc817096742e8302f7b0b972ee5701fe00e97"
+git-tree-sha1 = "c731269d5a2c85ffdc689127a9ba6d73e978a4b1"
 uuid = "20f20a25-4f0e-4fdf-b5d1-57303727442b"
-version = "0.8.3"
+version = "0.9.0"
 
 [[deps.MappedArrays]]
 git-tree-sha1 = "2dab0221fe2b0f2cb6754eaa743cc266339f527e"
@@ -804,12 +903,13 @@ version = "0.4.2"
 [[deps.Markdown]]
 deps = ["Base64"]
 uuid = "d6f4376e-aef5-505a-96c1-9c027394607a"
+version = "1.11.0"
 
 [[deps.MathTeXEngine]]
 deps = ["AbstractTrees", "Automa", "DataStructures", "FreeTypeAbstraction", "GeometryBasics", "LaTeXStrings", "REPL", "RelocatableFolders", "UnicodeFun"]
-git-tree-sha1 = "1865d0b8a2d91477c8b16b49152a32764c7b1f5f"
+git-tree-sha1 = "f45c8916e8385976e1ccd055c9874560c257ab13"
 uuid = "0a4f8689-d25c-4efe-a92b-7142dfc1aa53"
-version = "0.6.0"
+version = "0.6.2"
 
 [[deps.MbedTLS]]
 deps = ["Dates", "MbedTLS_jll", "MozillaCACerts_jll", "NetworkOptions", "Random", "Sockets"]
@@ -820,7 +920,7 @@ version = "1.1.9"
 [[deps.MbedTLS_jll]]
 deps = ["Artifacts", "Libdl"]
 uuid = "c8ffd9c3-330d-5841-b78e-0817d7145fa1"
-version = "2.28.2+1"
+version = "2.28.6+0"
 
 [[deps.Missings]]
 deps = ["DataAPI"]
@@ -830,6 +930,7 @@ version = "1.2.0"
 
 [[deps.Mmap]]
 uuid = "a63ad114-7e13-5084-954f-fe012c677804"
+version = "1.11.0"
 
 [[deps.MosaicViews]]
 deps = ["MappedArrays", "OffsetArrays", "PaddedViews", "StackViews"]
@@ -839,13 +940,13 @@ version = "0.3.4"
 
 [[deps.MozillaCACerts_jll]]
 uuid = "14a3606d-f60d-562e-9121-12d972cd8159"
-version = "2023.1.10"
+version = "2023.12.12"
 
 [[deps.NaNMath]]
 deps = ["OpenLibm_jll"]
-git-tree-sha1 = "0877504529a3e5c3343c6f8b4c0381e57e4387e4"
+git-tree-sha1 = "cc0a5deefdb12ab3a096f00a6d42133af4560d71"
 uuid = "77ba4419-2d1f-58cd-9bb1-8ffee604a2e3"
-version = "1.0.2"
+version = "1.1.2"
 
 [[deps.Netpbm]]
 deps = ["FileIO", "ImageCore", "ImageMetadata"]
@@ -863,9 +964,9 @@ uuid = "510215fc-4207-5dde-b226-833fc4488ee2"
 version = "0.5.5"
 
 [[deps.OffsetArrays]]
-git-tree-sha1 = "e64b4f5ea6b7389f6f046d13d4896a8f9c1ba71e"
+git-tree-sha1 = "5e1897147d1ff8d98883cda2be2187dcf57d8f0c"
 uuid = "6fe1bfb0-de20-5000-8ca7-80f57d26f881"
-version = "1.14.0"
+version = "1.15.0"
 weakdeps = ["Adapt"]
 
     [deps.OffsetArrays.extensions]
@@ -880,13 +981,13 @@ version = "1.3.5+1"
 [[deps.OpenBLAS_jll]]
 deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"]
 uuid = "4536629a-c528-5b80-bd46-f80d51c5b363"
-version = "0.3.23+4"
+version = "0.3.27+1"
 
 [[deps.OpenEXR]]
 deps = ["Colors", "FileIO", "OpenEXR_jll"]
-git-tree-sha1 = "327f53360fdb54df7ecd01e96ef1983536d1e633"
+git-tree-sha1 = "97db9e07fe2091882c765380ef58ec553074e9c7"
 uuid = "52e1d378-f018-4a11-a4be-720524705ac7"
-version = "0.3.2"
+version = "0.3.3"
 
 [[deps.OpenEXR_jll]]
 deps = ["Artifacts", "Imath_jll", "JLLWrappers", "Libdl", "Zlib_jll"]
@@ -907,26 +1008,26 @@ version = "1.4.3"
 
 [[deps.OpenSSL_jll]]
 deps = ["Artifacts", "JLLWrappers", "Libdl"]
-git-tree-sha1 = "a028ee3cb5641cccc4c24e90c36b0a4f7707bdf5"
+git-tree-sha1 = "a9697f1d06cc3eb3fb3ad49cc67f2cfabaac31ea"
 uuid = "458c3c95-2e84-50aa-8efc-19380b2a3a95"
-version = "3.0.14+0"
+version = "3.0.16+0"
 
 [[deps.OpenSpecFun_jll]]
-deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Pkg"]
-git-tree-sha1 = "13652491f6856acfd2db29360e1bbcd4565d04f1"
+deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl"]
+git-tree-sha1 = "1346c9208249809840c91b26703912dff463d335"
 uuid = "efe28fd5-8261-553b-a9e1-b2916fc3738e"
-version = "0.5.5+0"
+version = "0.5.6+0"
 
 [[deps.Opus_jll]]
-deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"]
-git-tree-sha1 = "51a08fb14ec28da2ec7a927c4337e4332c2a4720"
+deps = ["Artifacts", "JLLWrappers", "Libdl"]
+git-tree-sha1 = "6703a85cb3781bd5909d48730a67205f3f31a575"
 uuid = "91d4177d-7536-5919-b921-800302f37372"
-version = "1.3.2+0"
+version = "1.3.3+0"
 
 [[deps.OrderedCollections]]
-git-tree-sha1 = "dfdf5519f235516220579f949664f1bf44e741c5"
+git-tree-sha1 = "cc4054e898b852042d7b503313f7ad03de99c3dd"
 uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d"
-version = "1.6.3"
+version = "1.8.0"
 
 [[deps.PCRE2_jll]]
 deps = ["Artifacts", "Libdl"]
@@ -935,9 +1036,9 @@ version = "10.42.0+1"
 
 [[deps.PDMats]]
 deps = ["LinearAlgebra", "SparseArrays", "SuiteSparse"]
-git-tree-sha1 = "949347156c25054de2db3b166c52ac4728cbad65"
+git-tree-sha1 = "966b85253e959ea89c53a9abebbf2e964fbf593b"
 uuid = "90014a1f-27ba-587c-ab20-58faa44d9150"
-version = "0.11.31"
+version = "0.11.32"
 
 [[deps.PNGFiles]]
 deps = ["Base64", "CEnum", "ImageCore", "IndirectArrays", "OffsetArrays", "libpng_jll"]
@@ -947,9 +1048,9 @@ version = "0.4.3"
 
 [[deps.Packing]]
 deps = ["GeometryBasics"]
-git-tree-sha1 = "ec3edfe723df33528e085e632414499f26650501"
+git-tree-sha1 = "bc5bf2ea3d5351edf285a06b0016788a121ce92c"
 uuid = "19eb6ba3-879d-56ad-ad62-d5c202156566"
-version = "0.5.0"
+version = "0.5.1"
 
 [[deps.PaddedViews]]
 deps = ["OffsetArrays"]
@@ -959,9 +1060,9 @@ version = "0.5.12"
 
 [[deps.Pango_jll]]
 deps = ["Artifacts", "Cairo_jll", "Fontconfig_jll", "FreeType2_jll", "FriBidi_jll", "Glib_jll", "HarfBuzz_jll", "JLLWrappers", "Libdl"]
-git-tree-sha1 = "cb5a2ab6763464ae0f19c86c56c63d4a2b0f5bda"
+git-tree-sha1 = "3b31172c032a1def20c98dae3f2cdc9d10e3b561"
 uuid = "36c8627f-9965-5494-a995-c6b170f724f3"
-version = "1.52.2+0"
+version = "1.56.1+0"
 
 [[deps.Parsers]]
 deps = ["Dates", "PrecompileTools", "UUIDs"]
@@ -976,9 +1077,13 @@ 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"]
+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.10.0"
+version = "1.11.0"
+weakdeps = ["REPL"]
+
+    [deps.Pkg.extensions]
+    REPLExt = "REPL"
 
 [[deps.PkgVersion]]
 deps = ["Pkg"]
@@ -987,10 +1092,16 @@ uuid = "eebad327-c553-4316-9ea0-9fa01ccd7688"
 version = "0.3.3"
 
 [[deps.PlotUtils]]
-deps = ["ColorSchemes", "Colors", "Dates", "PrecompileTools", "Printf", "Random", "Reexport", "Statistics"]
-git-tree-sha1 = "7b1a9df27f072ac4c9c7cbe5efb198489258d1f5"
+deps = ["ColorSchemes", "Colors", "Dates", "PrecompileTools", "Printf", "Random", "Reexport", "StableRNGs", "Statistics"]
+git-tree-sha1 = "3ca9a356cd2e113c420f2c13bea19f8d3fb1cb18"
 uuid = "995b91a9-d308-5afd-9ec6-746e21dbc043"
-version = "1.4.1"
+version = "1.4.3"
+
+[[deps.PlutoUI]]
+deps = ["AbstractPlutoDingetjes", "Base64", "Dates", "Hyperscript", "HypertextLiteral", "IOCapture", "InteractiveUtils", "JSON", "Logging", "Markdown", "Random", "Reexport", "UUIDs"]
+git-tree-sha1 = "5152abbdab6488d5eec6a01029ca6697dff4ec8f"
+uuid = "7f904dfe-b85e-4ff6-b463-dae2292396a8"
+version = "0.7.23"
 
 [[deps.PolygonOps]]
 git-tree-sha1 = "77b3d3605fc1cd0b42d95eba87dfcd2bf67d5ff6"
@@ -998,10 +1109,10 @@ uuid = "647866c9-e3ac-4575-94e7-e3d426903924"
 version = "0.1.2"
 
 [[deps.Polynomials]]
-deps = ["LinearAlgebra", "RecipesBase", "Requires", "Setfield", "SparseArrays"]
-git-tree-sha1 = "1a9cfb2dc2c2f1bd63f1906d72af39a79b49b736"
+deps = ["LinearAlgebra", "OrderedCollections", "RecipesBase", "Requires", "Setfield", "SparseArrays"]
+git-tree-sha1 = "0973615c3239b1b0d173b77befdada6deb5aa9d8"
 uuid = "f27b6e38-b328-58d1-80ce-0feddd5e7a45"
-version = "4.0.11"
+version = "4.0.17"
 
     [deps.Polynomials.extensions]
     PolynomialsChainRulesCoreExt = "ChainRulesCore"
@@ -1035,44 +1146,53 @@ version = "1.4.3"
 
 [[deps.PrettyTables]]
 deps = ["Crayons", "LaTeXStrings", "Markdown", "PrecompileTools", "Printf", "Reexport", "StringManipulation", "Tables"]
-git-tree-sha1 = "66b20dd35966a748321d3b2537c4584cf40387c7"
+git-tree-sha1 = "1101cd475833706e4d0e7b122218257178f48f34"
 uuid = "08abe8d2-0d0c-5749-adfa-8a2ac140af0d"
-version = "2.3.2"
+version = "2.4.0"
 
 [[deps.Printf]]
 deps = ["Unicode"]
 uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7"
+version = "1.11.0"
 
 [[deps.ProgressMeter]]
 deps = ["Distributed", "Printf"]
-git-tree-sha1 = "763a8ceb07833dd51bb9e3bbca372de32c0605ad"
+git-tree-sha1 = "8f6bc219586aef8baf0ff9a5fe16ee9c70cb65e4"
 uuid = "92933f4c-e287-5a05-a399-4b506db050ca"
-version = "1.10.0"
+version = "1.10.2"
 
 [[deps.PtrArrays]]
-git-tree-sha1 = "f011fbb92c4d401059b2212c05c0601b70f8b759"
+git-tree-sha1 = "1d36ef11a9aaf1e8b74dacc6a731dd1de8fd493d"
 uuid = "43287f4e-b6f4-7ad1-bb20-aadabca52c3d"
-version = "1.2.0"
+version = "1.3.0"
 
 [[deps.QOI]]
 deps = ["ColorTypes", "FileIO", "FixedPointNumbers"]
-git-tree-sha1 = "18e8f4d1426e965c7b532ddd260599e1510d26ce"
+git-tree-sha1 = "8b3fc30bc0390abdce15f8822c889f669baed73d"
 uuid = "4b34888f-f399-49d4-9bb3-47ed5cae4e65"
-version = "1.0.0"
+version = "1.0.1"
 
 [[deps.QuadGK]]
 deps = ["DataStructures", "LinearAlgebra"]
-git-tree-sha1 = "9b23c31e76e333e6fb4c1595ae6afa74966a729e"
+git-tree-sha1 = "9da16da70037ba9d701192e27befedefb91ec284"
 uuid = "1fd47b50-473d-5c70-9696-f719f8f3bcdc"
-version = "2.9.4"
+version = "2.11.2"
+
+    [deps.QuadGK.extensions]
+    QuadGKEnzymeExt = "Enzyme"
+
+    [deps.QuadGK.weakdeps]
+    Enzyme = "7da242da-08ed-463a-9acd-ee780be4f1d9"
 
 [[deps.REPL]]
-deps = ["InteractiveUtils", "Markdown", "Sockets", "Unicode"]
+deps = ["InteractiveUtils", "Markdown", "Sockets", "StyledStrings", "Unicode"]
 uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb"
+version = "1.11.0"
 
 [[deps.Random]]
 deps = ["SHA"]
 uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
+version = "1.11.0"
 
 [[deps.RangeArrays]]
 git-tree-sha1 = "b9039e93773ddcfc828f12aadf7115b4b4d225f5"
@@ -1114,15 +1234,15 @@ version = "1.3.0"
 
 [[deps.Rmath]]
 deps = ["Random", "Rmath_jll"]
-git-tree-sha1 = "f65dcb5fa46aee0cf9ed6274ccbd597adc49aa7b"
+git-tree-sha1 = "852bd0f55565a9e973fcfee83a84413270224dc4"
 uuid = "79098fc4-a85e-5d69-aa6a-4863f24498fa"
-version = "0.7.1"
+version = "0.8.0"
 
 [[deps.Rmath_jll]]
 deps = ["Artifacts", "JLLWrappers", "Libdl"]
-git-tree-sha1 = "d483cd324ce5cf5d61b77930f0bbd6cb61927d21"
+git-tree-sha1 = "58cdd8fb2201a6267e1db87ff148dd6c1dbd8ad8"
 uuid = "f50d1b31-88e8-58de-be2c-1cc44531875f"
-version = "0.4.2+0"
+version = "0.5.1+0"
 
 [[deps.RoundingEmulator]]
 git-tree-sha1 = "40b9edad2e5287e05bd413a38f61a8ff55b9557b"
@@ -1135,9 +1255,9 @@ version = "0.7.0"
 
 [[deps.SIMD]]
 deps = ["PrecompileTools"]
-git-tree-sha1 = "2803cab51702db743f3fda07dd1745aadfbf43bd"
+git-tree-sha1 = "fea870727142270bdf7624ad675901a1ee3b4c87"
 uuid = "fdea26ae-647d-5447-a871-4b548cad5224"
-version = "3.5.0"
+version = "3.7.1"
 
 [[deps.Scratch]]
 deps = ["Dates"]
@@ -1147,12 +1267,13 @@ version = "1.2.1"
 
 [[deps.SentinelArrays]]
 deps = ["Dates", "Random"]
-git-tree-sha1 = "90b4f68892337554d31cdcdbe19e48989f26c7e6"
+git-tree-sha1 = "712fb0231ee6f9120e005ccd56297abbc053e7e0"
 uuid = "91c51154-3ec4-41a3-a24f-3f23e20d615c"
-version = "1.4.3"
+version = "1.4.8"
 
 [[deps.Serialization]]
 uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b"
+version = "1.11.0"
 
 [[deps.Setfield]]
 deps = ["ConstructionBase", "Future", "MacroTools", "StaticArraysCore"]
@@ -1161,14 +1282,15 @@ uuid = "efcf1570-3423-57d1-acb7-fd33fddbac46"
 version = "1.1.1"
 
 [[deps.ShaderAbstractions]]
-deps = ["ColorTypes", "FixedPointNumbers", "GeometryBasics", "LinearAlgebra", "Observables", "StaticArrays", "StructArrays", "Tables"]
-git-tree-sha1 = "79123bc60c5507f035e6d1d9e563bb2971954ec8"
+deps = ["ColorTypes", "FixedPointNumbers", "GeometryBasics", "LinearAlgebra", "Observables", "StaticArrays"]
+git-tree-sha1 = "818554664a2e01fc3784becb2eb3a82326a604b6"
 uuid = "65257c39-d410-5151-9873-9b3e5be5013e"
-version = "0.4.1"
+version = "0.5.0"
 
 [[deps.SharedArrays]]
 deps = ["Distributed", "Mmap", "Random", "Serialization"]
 uuid = "1a1011a3-84de-559e-8e89-a11a2f7dc383"
+version = "1.11.0"
 
 [[deps.Showoff]]
 deps = ["Dates", "Grisu"]
@@ -1183,9 +1305,9 @@ uuid = "73760f76-fbc4-59ce-8f25-708e95d2df96"
 version = "0.4.0"
 
 [[deps.SimpleBufferStream]]
-git-tree-sha1 = "874e8867b33a00e784c8a7e4b60afe9e037b74e1"
+git-tree-sha1 = "f305871d2f381d21527c770d4788c06c097c9bc1"
 uuid = "777ac1f9-54b0-4bf8-805c-2214025038e7"
-version = "1.1.0"
+version = "1.2.0"
 
 [[deps.SimpleTraits]]
 deps = ["InteractiveUtils", "MacroTools"]
@@ -1201,6 +1323,7 @@ version = "0.1.3"
 
 [[deps.Sockets]]
 uuid = "6462fe0b-24de-5631-8697-dd941f90decc"
+version = "1.11.0"
 
 [[deps.SortingAlgorithms]]
 deps = ["DataStructures"]
@@ -1211,18 +1334,24 @@ version = "1.2.1"
 [[deps.SparseArrays]]
 deps = ["Libdl", "LinearAlgebra", "Random", "Serialization", "SuiteSparse_jll"]
 uuid = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
-version = "1.10.0"
+version = "1.11.0"
 
 [[deps.SpecialFunctions]]
 deps = ["IrrationalConstants", "LogExpFunctions", "OpenLibm_jll", "OpenSpecFun_jll"]
-git-tree-sha1 = "2f5d4697f21388cbe1ff299430dd169ef97d7e14"
+git-tree-sha1 = "64cca0c26b4f31ba18f13f6c12af7c85f478cfde"
 uuid = "276daf66-3868-5448-9aa4-cd146d93841b"
-version = "2.4.0"
+version = "2.5.0"
 weakdeps = ["ChainRulesCore"]
 
     [deps.SpecialFunctions.extensions]
     SpecialFunctionsChainRulesCoreExt = "ChainRulesCore"
 
+[[deps.StableRNGs]]
+deps = ["Random"]
+git-tree-sha1 = "83e6cce8324d49dfaf9ef059227f91ed4441a8e5"
+uuid = "860ef19b-820b-49d6-a774-d7a799459cd3"
+version = "1.0.2"
+
 [[deps.StackViews]]
 deps = ["OffsetArrays"]
 git-tree-sha1 = "46e589465204cd0c08b4bd97385e4fa79a0c770c"
@@ -1231,9 +1360,9 @@ version = "0.1.1"
 
 [[deps.StaticArrays]]
 deps = ["LinearAlgebra", "PrecompileTools", "Random", "StaticArraysCore"]
-git-tree-sha1 = "20833c5b7f7edf0e5026f23db7f268e4f23ec577"
+git-tree-sha1 = "e3be13f448a43610f978d29b7adf78c76022467a"
 uuid = "90137ffa-7385-5640-81b9-e52037218182"
-version = "1.9.6"
+version = "1.9.12"
 weakdeps = ["ChainRulesCore", "Statistics"]
 
     [deps.StaticArrays.extensions]
@@ -1246,9 +1375,14 @@ uuid = "1e83bf80-4336-4d27-bf5d-d5a4f845583c"
 version = "1.4.3"
 
 [[deps.Statistics]]
-deps = ["LinearAlgebra", "SparseArrays"]
+deps = ["LinearAlgebra"]
+git-tree-sha1 = "ae3bb1eb3bba077cd276bc5cfc337cc65c3075c0"
 uuid = "10745b16-79ce-11e8-11f9-7d13ad32a3b2"
-version = "1.10.0"
+version = "1.11.1"
+weakdeps = ["SparseArrays"]
+
+    [deps.Statistics.extensions]
+    SparseArraysExt = ["SparseArrays"]
 
 [[deps.StatsAPI]]
 deps = ["LinearAlgebra"]
@@ -1257,49 +1391,53 @@ 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"
+deps = ["AliasTables", "DataAPI", "DataStructures", "LinearAlgebra", "LogExpFunctions", "Missings", "Printf", "Random", "SortingAlgorithms", "SparseArrays", "Statistics", "StatsAPI"]
+git-tree-sha1 = "29321314c920c26684834965ec2ce0dacc9cf8e5"
 uuid = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91"
-version = "0.34.3"
+version = "0.34.4"
 
 [[deps.StatsFuns]]
 deps = ["HypergeometricFunctions", "IrrationalConstants", "LogExpFunctions", "Reexport", "Rmath", "SpecialFunctions"]
-git-tree-sha1 = "cef0472124fab0695b58ca35a77c6fb942fdab8a"
+git-tree-sha1 = "b423576adc27097764a90e163157bcfc9acf0f46"
 uuid = "4c63d2b9-4356-54db-8cca-17b64c39e42c"
-version = "1.3.1"
+version = "1.3.2"
+weakdeps = ["ChainRulesCore", "InverseFunctions"]
 
     [deps.StatsFuns.extensions]
     StatsFunsChainRulesCoreExt = "ChainRulesCore"
     StatsFunsInverseFunctionsExt = "InverseFunctions"
 
-    [deps.StatsFuns.weakdeps]
-    ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4"
-    InverseFunctions = "3587e190-3f89-42d0-90ee-14403ec27112"
-
 [[deps.StringManipulation]]
 deps = ["PrecompileTools"]
-git-tree-sha1 = "a04cabe79c5f01f4d723cc6704070ada0b9d46d5"
+git-tree-sha1 = "725421ae8e530ec29bcbdddbe91ff8053421d023"
 uuid = "892a3eda-7b42-436c-8928-eab12a02cf0e"
-version = "0.3.4"
+version = "0.4.1"
 
 [[deps.StructArrays]]
 deps = ["ConstructionBase", "DataAPI", "Tables"]
-git-tree-sha1 = "f4dc295e983502292c4c3f951dbb4e985e35b3be"
+git-tree-sha1 = "5a3a31c41e15a1e042d60f2f4942adccba05d3c9"
 uuid = "09ab397b-f2b6-538f-b94a-2f83cf4a842a"
-version = "0.6.18"
+version = "0.7.0"
 
     [deps.StructArrays.extensions]
     StructArraysAdaptExt = "Adapt"
-    StructArraysGPUArraysCoreExt = "GPUArraysCore"
+    StructArraysGPUArraysCoreExt = ["GPUArraysCore", "KernelAbstractions"]
+    StructArraysLinearAlgebraExt = "LinearAlgebra"
     StructArraysSparseArraysExt = "SparseArrays"
     StructArraysStaticArraysExt = "StaticArrays"
 
     [deps.StructArrays.weakdeps]
     Adapt = "79e6a3ab-5dfb-504d-930d-738a2a938a0e"
     GPUArraysCore = "46192b85-c4d5-4398-a991-12ede77f4527"
+    KernelAbstractions = "63c18a36-062a-441e-b654-da1e3ab1ce7c"
+    LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
     SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
     StaticArrays = "90137ffa-7385-5640-81b9-e52037218182"
 
+[[deps.StyledStrings]]
+uuid = "f489334b-da3d-4c2e-b8f0-e476e12c162b"
+version = "1.11.0"
+
 [[deps.SuiteSparse]]
 deps = ["Libdl", "LinearAlgebra", "Serialization", "SparseArrays"]
 uuid = "4607b0f0-06f3-5cda-b6b1-a6196a1729e9"
@@ -1307,7 +1445,7 @@ uuid = "4607b0f0-06f3-5cda-b6b1-a6196a1729e9"
 [[deps.SuiteSparse_jll]]
 deps = ["Artifacts", "Libdl", "libblastrampoline_jll"]
 uuid = "bea87d4a-7f5b-5778-9afe-8cc45184846c"
-version = "7.2.1+1"
+version = "7.7.0+0"
 
 [[deps.TOML]]
 deps = ["Dates"]
@@ -1321,10 +1459,10 @@ uuid = "3783bdb8-4a98-5b6b-af9a-565f29a5fe9c"
 version = "1.0.1"
 
 [[deps.Tables]]
-deps = ["DataAPI", "DataValueInterfaces", "IteratorInterfaceExtensions", "LinearAlgebra", "OrderedCollections", "TableTraits"]
-git-tree-sha1 = "cb76cf677714c095e535e3501ac7954732aeea2d"
+deps = ["DataAPI", "DataValueInterfaces", "IteratorInterfaceExtensions", "OrderedCollections", "TableTraits"]
+git-tree-sha1 = "598cd7c1f68d1e205689b1c2fe65a9f85846f297"
 uuid = "bd369af6-aec1-5ad0-b16a-f7cc5008161c"
-version = "1.11.1"
+version = "1.12.0"
 
 [[deps.Tar]]
 deps = ["ArgTools", "SHA"]
@@ -1340,21 +1478,23 @@ version = "0.1.1"
 [[deps.Test]]
 deps = ["InteractiveUtils", "Logging", "Random", "Serialization"]
 uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
+version = "1.11.0"
 
 [[deps.TiffImages]]
 deps = ["ColorTypes", "DataStructures", "DocStringExtensions", "FileIO", "FixedPointNumbers", "IndirectArrays", "Inflate", "Mmap", "OffsetArrays", "PkgVersion", "ProgressMeter", "SIMD", "UUIDs"]
-git-tree-sha1 = "bc7fd5c91041f44636b2c134041f7e5263ce58ae"
+git-tree-sha1 = "f21231b166166bebc73b99cea236071eb047525b"
 uuid = "731e570b-9d59-4bfa-96dc-6df516fadf69"
-version = "0.10.0"
+version = "0.11.3"
 
 [[deps.TranscodingStreams]]
-git-tree-sha1 = "d73336d81cafdc277ff45558bb7eaa2b04a8e472"
+git-tree-sha1 = "0c45878dcfdcfa8480052b6ab162cdd138781742"
 uuid = "3bb67fe8-82b1-5028-8e26-92a6c54297fa"
-version = "0.10.10"
-weakdeps = ["Random", "Test"]
+version = "0.11.3"
 
-    [deps.TranscodingStreams.extensions]
-    TestExt = ["Test", "Random"]
+[[deps.Tricks]]
+git-tree-sha1 = "6cae795a5a9313bbb4f60683f7263318fc7d1505"
+uuid = "410a4b4d-49e4-4fbc-ab6d-cb71b17b3775"
+version = "0.1.10"
 
 [[deps.TriplotBase]]
 git-tree-sha1 = "4d4ed7f294cda19382ff7de4c137d24d16adc89b"
@@ -1369,9 +1509,11 @@ version = "1.5.1"
 [[deps.UUIDs]]
 deps = ["Random", "SHA"]
 uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4"
+version = "1.11.0"
 
 [[deps.Unicode]]
 uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5"
+version = "1.11.0"
 
 [[deps.UnicodeFun]]
 deps = ["REPL"]
@@ -1381,24 +1523,27 @@ version = "0.4.1"
 
 [[deps.Unitful]]
 deps = ["Dates", "LinearAlgebra", "Random"]
-git-tree-sha1 = "dd260903fdabea27d9b6021689b3cd5401a57748"
+git-tree-sha1 = "c0667a8e676c53d390a09dc6870b3d8d6650e2bf"
 uuid = "1986cc42-f94f-5a68-af5c-568840ba703d"
-version = "1.20.0"
+version = "1.22.0"
+weakdeps = ["ConstructionBase", "InverseFunctions"]
 
     [deps.Unitful.extensions]
     ConstructionBaseUnitfulExt = "ConstructionBase"
     InverseFunctionsUnitfulExt = "InverseFunctions"
 
-    [deps.Unitful.weakdeps]
-    ConstructionBase = "187b0558-2788-49d3-abe0-74a17ed4e7c9"
-    InverseFunctions = "3587e190-3f89-42d0-90ee-14403ec27112"
-
 [[deps.WeakRefStrings]]
 deps = ["DataAPI", "InlineStrings", "Parsers"]
 git-tree-sha1 = "b1be2855ed9ed8eac54e5caff2afcdb442d52c23"
 uuid = "ea10d353-3f73-51f8-a26c-33c1cb351aa5"
 version = "1.4.2"
 
+[[deps.WebP]]
+deps = ["CEnum", "ColorTypes", "FileIO", "FixedPointNumbers", "ImageCore", "libwebp_jll"]
+git-tree-sha1 = "aa1ca3c47f119fbdae8770c29820e5e6119b83f2"
+uuid = "e3aaa7dc-3e4b-44e0-be63-ffb868ccd7c1"
+version = "0.1.3"
+
 [[deps.WoodburyMatrices]]
 deps = ["LinearAlgebra", "SparseArrays"]
 git-tree-sha1 = "c1a7aa6219628fcd757dede0ca95e245c5cd9511"
@@ -1412,69 +1557,81 @@ version = "1.6.1"
 
 [[deps.XML2_jll]]
 deps = ["Artifacts", "JLLWrappers", "Libdl", "Libiconv_jll", "Zlib_jll"]
-git-tree-sha1 = "d9717ce3518dc68a99e6b96300813760d887a01d"
+git-tree-sha1 = "ee6f41aac16f6c9a8cab34e2f7a200418b1cc1e3"
 uuid = "02c8fc9c-b97f-50b9-bbe4-9be30ff0a78a"
-version = "2.13.1+0"
+version = "2.13.6+0"
 
 [[deps.XSLT_jll]]
 deps = ["Artifacts", "JLLWrappers", "Libdl", "Libgcrypt_jll", "Libgpg_error_jll", "Libiconv_jll", "XML2_jll", "Zlib_jll"]
-git-tree-sha1 = "a54ee957f4c86b526460a720dbc882fa5edcbefc"
+git-tree-sha1 = "7d1671acbe47ac88e981868a078bd6b4e27c5191"
 uuid = "aed1982a-8fda-507f-9586-7b0439959a61"
-version = "1.1.41+0"
+version = "1.1.42+0"
+
+[[deps.XZ_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl"]
+git-tree-sha1 = "56c6604ec8b2d82cc4cfe01aa03b00426aac7e1f"
+uuid = "ffd25f8a-64ca-5728-b0f7-c24cf3aae800"
+version = "5.6.4+1"
 
 [[deps.Xorg_libX11_jll]]
 deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libxcb_jll", "Xorg_xtrans_jll"]
-git-tree-sha1 = "afead5aba5aa507ad5a3bf01f58f82c8d1403495"
+git-tree-sha1 = "9dafcee1d24c4f024e7edc92603cedba72118283"
 uuid = "4f6342f7-b3d2-589e-9d20-edeb45f2b2bc"
-version = "1.8.6+0"
+version = "1.8.6+3"
 
 [[deps.Xorg_libXau_jll]]
 deps = ["Artifacts", "JLLWrappers", "Libdl"]
-git-tree-sha1 = "6035850dcc70518ca32f012e46015b9beeda49d8"
+git-tree-sha1 = "e9216fdcd8514b7072b43653874fd688e4c6c003"
 uuid = "0c0b7dd1-d40b-584c-a123-a41640f87eec"
-version = "1.0.11+0"
+version = "1.0.12+0"
 
 [[deps.Xorg_libXdmcp_jll]]
 deps = ["Artifacts", "JLLWrappers", "Libdl"]
-git-tree-sha1 = "34d526d318358a859d7de23da945578e8e8727b7"
+git-tree-sha1 = "89799ae67c17caa5b3b5a19b8469eeee474377db"
 uuid = "a3789734-cfe1-5b06-b2d0-1dd0d9d62d05"
-version = "1.1.4+0"
+version = "1.1.5+0"
 
 [[deps.Xorg_libXext_jll]]
 deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libX11_jll"]
-git-tree-sha1 = "d2d1a5c49fae4ba39983f63de6afcbea47194e85"
+git-tree-sha1 = "d7155fea91a4123ef59f42c4afb5ab3b4ca95058"
 uuid = "1082639a-0dae-5f34-9b06-72781eeb8cb3"
-version = "1.3.6+0"
+version = "1.3.6+3"
 
 [[deps.Xorg_libXrender_jll]]
 deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libX11_jll"]
-git-tree-sha1 = "47e45cd78224c53109495b3e324df0c37bb61fbe"
+git-tree-sha1 = "a490c6212a0e90d2d55111ac956f7c4fa9c277a6"
 uuid = "ea2f1a96-1ddc-540d-b46f-429655e07cfa"
-version = "0.9.11+0"
+version = "0.9.11+1"
 
 [[deps.Xorg_libpthread_stubs_jll]]
 deps = ["Artifacts", "JLLWrappers", "Libdl"]
-git-tree-sha1 = "8fdda4c692503d44d04a0603d9ac0982054635f9"
+git-tree-sha1 = "c57201109a9e4c0585b208bb408bc41d205ac4e9"
 uuid = "14d82f49-176c-5ed1-bb49-ad3f5cbd8c74"
-version = "0.1.1+0"
+version = "0.1.2+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"
+git-tree-sha1 = "1a74296303b6524a0472a8cb12d3d87a78eb3612"
 uuid = "c7cfdc94-dc32-55de-ac96-5a1b8d977c5b"
-version = "1.17.0+0"
+version = "1.17.0+3"
 
 [[deps.Xorg_xtrans_jll]]
 deps = ["Artifacts", "JLLWrappers", "Libdl"]
-git-tree-sha1 = "e92a1a012a10506618f10b7047e478403a046c77"
+git-tree-sha1 = "6dba04dbfb72ae3ebe5418ba33d087ba8aa8cb00"
 uuid = "c5fb5394-a638-5e4d-96e5-b29de1b5cf10"
-version = "1.5.0+0"
+version = "1.5.1+0"
 
 [[deps.Zlib_jll]]
 deps = ["Libdl"]
 uuid = "83775a58-1f1d-513f-b197-d71354ab007a"
 version = "1.2.13+1"
 
+[[deps.Zstd_jll]]
+deps = ["Artifacts", "JLLWrappers", "Libdl"]
+git-tree-sha1 = "622cf78670d067c738667aaa96c553430b65e269"
+uuid = "3161d3a3-bdf6-5164-811a-617609db77b4"
+version = "1.5.7+0"
+
 [[deps.isoband_jll]]
 deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"]
 git-tree-sha1 = "51b5eeb3f98367157a7a12a1fb0aa5328946c03c"
@@ -1483,55 +1640,61 @@ version = "0.2.3+0"
 
 [[deps.libaom_jll]]
 deps = ["Artifacts", "JLLWrappers", "Libdl"]
-git-tree-sha1 = "1827acba325fdcdf1d2647fc8d5301dd9ba43a9d"
+git-tree-sha1 = "522c1df09d05a71785765d19c9524661234738e9"
 uuid = "a4ae2306-e953-59d6-aa16-d00cac43593b"
-version = "3.9.0+0"
+version = "3.11.0+0"
 
 [[deps.libass_jll]]
-deps = ["Artifacts", "Bzip2_jll", "FreeType2_jll", "FriBidi_jll", "HarfBuzz_jll", "JLLWrappers", "Libdl", "Pkg", "Zlib_jll"]
-git-tree-sha1 = "5982a94fcba20f02f42ace44b9894ee2b140fe47"
+deps = ["Artifacts", "Bzip2_jll", "FreeType2_jll", "FriBidi_jll", "HarfBuzz_jll", "JLLWrappers", "Libdl", "Zlib_jll"]
+git-tree-sha1 = "e17c115d55c5fbb7e52ebedb427a0dca79d4484e"
 uuid = "0ac62f75-1d6f-5e53-bd7c-93b484bb37c0"
-version = "0.15.1+0"
+version = "0.15.2+0"
 
 [[deps.libblastrampoline_jll]]
 deps = ["Artifacts", "Libdl"]
 uuid = "8e850b90-86db-534c-a0d3-1478176c7d93"
-version = "5.8.0+1"
+version = "5.11.0+0"
 
 [[deps.libfdk_aac_jll]]
-deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"]
-git-tree-sha1 = "daacc84a041563f965be61859a36e17c4e4fcd55"
+deps = ["Artifacts", "JLLWrappers", "Libdl"]
+git-tree-sha1 = "8a22cf860a7d27e4f3498a0fe0811a7957badb38"
 uuid = "f638f0a6-7fb0-5443-88ba-1cc74229b280"
-version = "2.0.2+0"
+version = "2.0.3+0"
 
 [[deps.libpng_jll]]
 deps = ["Artifacts", "JLLWrappers", "Libdl", "Zlib_jll"]
-git-tree-sha1 = "d7015d2e18a5fd9a4f47de711837e980519781a4"
+git-tree-sha1 = "055a96774f383318750a1a5e10fd4151f04c29c5"
 uuid = "b53b4c65-9356-5827-b1ea-8c7a1a84506f"
-version = "1.6.43+1"
+version = "1.6.46+0"
 
 [[deps.libsixel_jll]]
-deps = ["Artifacts", "JLLWrappers", "JpegTurbo_jll", "Libdl", "Pkg", "libpng_jll"]
-git-tree-sha1 = "d4f63314c8aa1e48cd22aa0c17ed76cd1ae48c3c"
+deps = ["Artifacts", "JLLWrappers", "JpegTurbo_jll", "Libdl", "libpng_jll"]
+git-tree-sha1 = "c1733e347283df07689d71d61e14be986e49e47a"
 uuid = "075b6546-f08a-558a-be8f-8157d0f608a5"
-version = "1.10.3+0"
+version = "1.10.5+0"
 
 [[deps.libvorbis_jll]]
 deps = ["Artifacts", "JLLWrappers", "Libdl", "Ogg_jll", "Pkg"]
-git-tree-sha1 = "b910cb81ef3fe6e78bf6acee440bda86fd6ae00c"
+git-tree-sha1 = "490376214c4721cdaca654041f635213c6165cb3"
 uuid = "f27f6e37-5d2b-51aa-960f-b287f2bc3b7a"
-version = "1.3.7+1"
+version = "1.3.7+2"
+
+[[deps.libwebp_jll]]
+deps = ["Artifacts", "Giflib_jll", "JLLWrappers", "JpegTurbo_jll", "Libdl", "Libglvnd_jll", "Libtiff_jll", "libpng_jll"]
+git-tree-sha1 = "d2408cac540942921e7bd77272c32e58c33d8a77"
+uuid = "c5f90fcd-3b7e-5836-afba-fc50a0988cb2"
+version = "1.5.0+0"
 
 [[deps.nghttp2_jll]]
 deps = ["Artifacts", "Libdl"]
 uuid = "8e850ede-7688-5339-a07c-302acd2aaf8d"
-version = "1.52.0+1"
+version = "1.59.0+0"
 
 [[deps.oneTBB_jll]]
 deps = ["Artifacts", "JLLWrappers", "Libdl"]
-git-tree-sha1 = "7d0ea0f4895ef2f5cb83645fa689e52cb55cf493"
+git-tree-sha1 = "d5a767a3bb77135a99e433afe0eb14cd7f6914c3"
 uuid = "1317d2d5-d96f-522e-a858-c73665f53c3e"
-version = "2021.12.0+0"
+version = "2022.0.0+0"
 
 [[deps.p7zip_jll]]
 deps = ["Artifacts", "Libdl"]
@@ -1539,13 +1702,13 @@ uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0"
 version = "17.4.0+2"
 
 [[deps.x264_jll]]
-deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"]
-git-tree-sha1 = "4fea590b89e6ec504593146bf8b988b2c00922b2"
+deps = ["Artifacts", "JLLWrappers", "Libdl"]
+git-tree-sha1 = "14cc7083fc6dff3cc44f2bc435ee96d06ed79aa7"
 uuid = "1270edf5-f2f9-52d2-97e9-ab00b5d0237a"
-version = "2021.5.5+0"
+version = "10164.0.1+0"
 
 [[deps.x265_jll]]
-deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"]
-git-tree-sha1 = "ee567a171cce03570d77ad3a43e90218e38937a9"
+deps = ["Artifacts", "JLLWrappers", "Libdl"]
+git-tree-sha1 = "dcc541bb19ed5b0ede95581fb2e41ecf179527d2"
 uuid = "dfaa095f-4041-5dcd-9319-2fabd8486b76"
-version = "3.5.0+0"
+version = "3.6.0+0"
diff --git a/Lectures/Lecture - Spectral Analysis/Project.toml b/Lectures/Lecture - Spectral Analysis/Project.toml
index 45e4cb0200fbcb69bd4c9d6bbd794f691e661456..b69fe969c0d43c973411ff5f0bc85b74a1111c92 100644
--- a/Lectures/Lecture - Spectral Analysis/Project.toml	
+++ b/Lectures/Lecture - Spectral Analysis/Project.toml	
@@ -1,6 +1,7 @@
 [deps]
 CSV = "336ed68f-0bac-5ca0-87d4-7b16caf5d00b"
 CairoMakie = "13f3f980-e62b-5c42-98c6-ff1f3baf88f0"
+CommonMark = "a80b9123-70ca-4bc0-993e-6e3bcb318db6"
 DSP = "717857b8-e6f2-59f4-9121-6e50c889abd2"
 DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0"
 Dates = "ade2ca70-3891-5945-98fb-dc099432e06a"
@@ -9,4 +10,5 @@ FFTW = "7a1cc6ca-52ef-59f5-83cd-3a7055c09341"
 Format = "1fa38f19-a742-5d3f-a2b9-30dd87b9d5f8"
 HTTP = "cd3eb016-35fb-5094-929b-558a96fad6f3"
 LaTeXStrings = "b964fa9f-0449-5b57-a5c2-d3ea65f4040f"
+PlutoUI = "7f904dfe-b85e-4ff6-b463-dae2292396a8"
 Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2"
diff --git a/Lectures/Lecture - Statistics Reminder/Lecture-BayesianReminder.ipynb b/Lectures/Lecture - Statistics Reminder/Lecture-BayesianReminder.ipynb
index a36968dc6995f7bb37c56baff5f329a8d6667fb0..29af70cafc761daaf0d280c6e30a826c017d178e 100644
--- a/Lectures/Lecture - Statistics Reminder/Lecture-BayesianReminder.ipynb	
+++ b/Lectures/Lecture - Statistics Reminder/Lecture-BayesianReminder.ipynb	
@@ -610,11 +610,14 @@
     "\n",
     "> A Markov chain is a sequence of random variables where a given value depends only on its preceding value. Given the present value, past and future values are independent. The process generating such a chain is called the Markov process.\n",
     "\n",
-    "- The process generating such a chain is called the Markov process and can be described as: \n",
+    "- A \"daily life\" (irony here) example of Markov chain could be a model of a baby's behavior, you might include \"playing,\" \"eating\", \"sleeping,\" and \"crying\" as states, which together with other behaviors could form a 'state space': a list of all possible states. \n",
+    "- In addition, on top of the state space, a Markov chain tells you the probabilitiy of hopping, or \"transitioning,\" from one state to any other state, e.g., the chance that a baby currently playing will fall asleep in the next five minutes without crying first, etc.\n",
+    "\n",
+    "- Coming back to \"serious staff\", the process generating such a chain is called the Markov process and can be described as: \n",
     "\n",
     "$$ p(θ_{i+1}|\\{θ_i\\}) = p(θ_{i+1}|θ_i) $$ \n",
     "\n",
-    "    - i.e., it depends only on the previous step.\n",
+    "    - i.e., it depends only on the previous step (and it is called \"of the first order\").\n",
     "    \n",
     "- To reach an equilibrium, or stationary, distribution of positions, it is necessary that the transition probability be symmetric: \n",
     "\n",
@@ -1210,7 +1213,7 @@
    "source": [
     "**Copyright**\n",
     "\n",
-    "This notebook is provided as [Open Educational Resource](https://en.wikipedia.org/wiki/Open_educational_resources). Feel free to use the notebook for your own purposes. The text is licensed under [Creative Commons Attribution 4.0](https://creativecommons.org/licenses/by/4.0/), the code of the examples, unless obtained from other properly quoted sources, under the [MIT license](https://opensource.org/licenses/MIT). Please attribute the work as follows: *Stefano Covino, Time Domain Astrophysics - Lecture notes featuring computational examples, 2024*."
+    "This notebook is provided as [Open Educational Resource](https://en.wikipedia.org/wiki/Open_educational_resources). Feel free to use the notebook for your own purposes. The text is licensed under [Creative Commons Attribution 4.0](https://creativecommons.org/licenses/by/4.0/), the code of the examples, unless obtained from other properly quoted sources, under the [MIT license](https://opensource.org/licenses/MIT). Please attribute the work as follows: *Stefano Covino, Time Domain Astrophysics - Lecture notes featuring computational examples, 2025*."
    ]
   },
   {
diff --git a/Lectures/Lecture - Statistics Reminder/Lecture-BayesianReminder.jl b/Lectures/Lecture - Statistics Reminder/Lecture-BayesianReminder.jl
new file mode 100644
index 0000000000000000000000000000000000000000..32a0deb9563b80fb1f8ba72d6fd48f060cad35c3
--- /dev/null
+++ b/Lectures/Lecture - Statistics Reminder/Lecture-BayesianReminder.jl	
@@ -0,0 +1,730 @@
+### A Pluto.jl notebook ###
+# v0.20.4
+
+using Markdown
+using InteractiveUtils
+
+# ╔═╡ e89ac452-28e1-4f30-808d-468d52fddba7
+import Pkg; Pkg.activate(".")
+
+# ╔═╡ 11e8bdad-39b4-41b7-a75d-484412b76190
+begin
+	using CairoMakie
+	using CommonMark
+	using DataFrames
+	using Distributions
+	using FITSIO
+	using Format
+	using Optim
+	using PairPlots
+	using PlutoUI
+	using PValue
+	using Random
+	import StatsPlots
+	using Turing
+end
+
+# ╔═╡ 4fce939b-8e4d-48d9-9300-67e065f490f7
+md"""
+**What is this?**
+
+
+*This jupyter notebook is part of a collection of notebooks on various topics discussed during the Time Domain Astrophysics course delivered by Stefano Covino at the [Università dell'Insubria](https://www.uninsubria.eu/) in Como (Italy). Please direct questions and suggestions to [stefano.covino@inaf.it](mailto:stefano.covino@inaf.it).*
+"""
+
+# ╔═╡ b7946586-1b5f-4d29-867f-bd41e49610bf
+md"""
+**This is a `Julia` notebook**
+"""
+
+# ╔═╡ 276b9b1a-95e8-410d-bb54-049142ac0cec
+Pkg.instantiate()
+
+# ╔═╡ 9368f133-0234-454b-b396-b7c0c37d3e95
+# ╠═╡ show_logs = false
+md"""
+$(LocalResource("Pics/TimeDomainBanner.jpg"))
+"""
+
+# ╔═╡ 4560e210-bd7f-4f28-b0ba-88291e851272
+# ╠═╡ show_logs = false
+md"""
+# Statistics Reminder
+***
+
+$(LocalResource("Pics/Bayes.png", :width=>700))
+
+- Bayes’ theorem brings in the concept of "degree of belief" into hard statistical modelings. Bayes’ rule is the only mechanism that can be used to gradually update the probability of an event as the evidence or data is gathered sequentially.
+
+- There is an intriguing line of though that describes the law of probability as the natural scenario to formalize the logic of science. See, for instance, [Cox's theorem](https://en.wikipedia.org/wiki/Cox%27s_theorem).
+
+$(LocalResource("Pics/knowledgecycle.png", :width=>700))
+"""
+
+# ╔═╡ 5cdb5c3c-eab5-4e95-a9da-f4a08ce7ddbf
+cm"""
+### Bayes' theorem: example of application
+***
+
+- Given a disease, `D`, with a *prevalence* 10%, and a test, `T`, with a *sensitivity* 95% and *specificity* 85%, what is the probability that subjects who test positive for `D` really is affected by `D`?
+
+- Data:
+	- p(D=1) = 0.1, 1.5          *prevalence*
+
+	- p(T=1 | D=1) = 0.95		*sensitivity*
+	- p(T=0 | D=0) = 0.85       *specificity*
+
+```math
+p(D=1|T=1) = \frac{p(T=1|D=1)p(D=1)}{p(T=1|D=1)p(D=1) + p(T=1|D=0)p(D=0)} = 
+```
+
+```math
+= \frac{0.95 \times 0.1}{0.95 \times 0.1 + 0.15 \times 0.9} = 0.413
+```
+
+- Indeed, a test of modest reliability.
+"""
+
+# ╔═╡ 1a2ed703-b276-4e5d-8e50-c329cc5b83a5
+md"""
+## Information criteria and hypothesis testing
+***
+
+- In a Bayesian scenario everything we can know given the data and the prior information is stated by the Bayes’ Theorem:
+
+```math
+p(M,\theta|D,I) = \frac{p(D|M,\theta,I)p(M,\theta|I)}{p(D|I)}
+```
+
+- The posterior probability for model $M$ can be computed by the posterior distribution of the parameters after having marginalized (i.e. integrated) over the parameter space.
+
+- Assuming to have two (or more) competing models, computing the *evidence*, the denominator of the previous expression, we can evaluate the **odd ratio**:
+
+```math
+O_{21} \equiv \frac{p(M_2|D,I)}{p(M_1|D,I}
+```
+
+- This is a very sophisticated approach but, often, computationally hard to apply. There are simpler tools, although with limitations and assumptions.
+
+
+> A full discussion of hypothesis testing in a Bayesian scenario is a very interesting topic, but definitely beyiond the purpose of the corse. Nevertheless, during the course, we will often mention this matter. 
+
+- There are simpler alternatives, although with further assumptions and limitations. 
+    - However, they require to compute only the maxium likelihodood, and not the whole posterior distribution of paramaters.
+
+- A well known criterion is the [Bayesian (or Schwarz) Information Criterior](https://en.wikipedia.org/wiki/Bayesian_information_criterion) (BIC):
+
+```math
+BIC \equiv -2 \log [L^0(M)] + k \log N
+```
+
+- where $L^0[M]$ is the naximum likelihood for model $M$, $k$ the number of model parameters and $N$ is the number of data points.
+
+- Another frequently applied criterion is the [Akaike Information Criterion](https://en.wikipedia.org/wiki/Akaike_information_criterion) (AIC):
+
+```math
+AIC \equiv -2 \log [L^0(M)] + sk + \frac{2k(k+1)}{N-k-1}
+```
+
+- When multiple models are compared, the one with the smallest AIC or BIC is the best model to select. If the models are equally successful in describing the data (they have the same value of $L^0[M]$, then the model with fewer free parameters "wins".
+
+"""
+
+# ╔═╡ 7ebe7987-94e9-480f-b948-c3aa0f70d5d1
+begin
+	# Lest's define two models for a given dataset
+	
+	f1(x;a=1,b=0) = a.*x .+ b
+	f2(x;c=1,a=1,b=0) = c.*x.^2 + a.*x .+ b
+	
+	χ21(prs) = sum((f1(x,a=prs[1],b=prs[2]) .- y).^2 ./ σ.^2)
+	χ22(prs) = sum((f2(x,c=prs[1],a=prs[2],b=prs[3]) .- y).^2 ./ σ.^2)
+	
+	
+	fg1 = Figure()
+	
+	
+	# data
+	x = [0.96,1.95,2.93,3.98,4.97,6.07,7.02,8.06,8.94,10.05]
+	y = [-3.99,25.48,52.17,49.88,44.745,65.00,74.76,69.23,103.26,100.37]
+	σ = [9.53,10.12,9.46,8.86,9.80,9.56,9.69,9.35,9.97,9.48]
+	
+	
+	x01 = [10.0,5.0]
+	res1 = optimize(χ21, x01)
+	
+	x02 = [1.,10.0,5.0]
+	res2 = optimize(χ22, x02)
+	
+	
+	prs1 = Optim.minimizer(res1)
+	prs2 = Optim.minimizer(res2)
+	
+	printfmtln("ML for model 1 = {:.2f} and model 2: {:.2f}",χ21(prs1),χ22(prs2))
+	    
+	bc1 = BIC(χ21(prs1),length(x),2)
+	bc2 = BIC(χ22(prs2),length(x),3)
+	
+	printfmtln("BIC for model 1 = {:.2f} and model 2: {:.2f}",bc1,bc2)
+	
+	
+	
+	ax1fg1 = Axis(fg1[1, 1])
+	
+	scatter!(x,y,color=:blue)
+	errorbars!(x,y,σ,color=:blue)
+	lines!(0:12,f1(0:12,a=prs1[1],b=prs1[2]),color=:orange,label="line")
+	lines!(0:12,f2(0:12,c=prs2[1],a=prs2[2],b=prs2[3]),color=:green,label="parabola")
+	
+	xlims!(0,12)
+	ylims!(-20,120)
+	
+	axislegend()
+	
+	fg1
+	
+	
+end
+
+# ╔═╡ c0ec48fd-c4f3-4d6d-a854-ef49ead7d512
+md"""
+- In spite of the decrease of the residuals the simpler fit is considerably preferred $\Delta BIC \sim 4$ (let's remember it is a logarithmic scale).
+
+- If we introduce the [decibel](https://en.wikipedia.org/wiki/Decibel) unit, i.e. we have $\Delta BIC \sim 18$ dB.
+
+- It is also possible to show that, under several hypotheses, $\log Evidence \approx -BIC/2$.
+"""
+
+# ╔═╡ ae7c719d-2f46-41d8-8053-b017d6cebdbb
+md"""
+- Let's try an example of Bayes' theorem application from astronomy: 
+
+## Computing the distance of an open cluster
+***
+
+- We infer the distance to a star from a parallax measurement. The true but unknown distance $d$ in kiloparsecs ($Kpc$) is related to the true but unknown parallax $π$ in milliarcseconds ($mas$) through:
+
+    - $d [\rm{kpc}] = \frac{1}{π} [\rm {mas}]$
+
+- We are going to use parallax measurements with some fixed uncertainty, $σ$, that we treat as known. 
+
+- In the Bayesian framework, we wish to infer the parameter $d$ given the data drawingthe posterior distribution of our parameters.
+
+```math
+p(d|y) \sim p(y|d)p(d)
+```
+
+### Data
+***
+
+- Let's load in the data for the NGC2682 ([M67](https://en.wikipedia.org/wiki/Messier_67)) open star cluster
+"""
+
+# ╔═╡ 0ab98a92-0c00-4c6d-86c1-82a5e053060f
+begin
+	hdu = FITS("NGC_2682.fits")
+
+	
+	# extract membership probabilities from kinematics (Gaia DR2)
+	pmem = read(hdu[2],"HDBscan_MemProb")
+	
+	# extract parallaxes (Gaia DR2)
+	# note: no corrections have been applied for any systematics
+	p = read(hdu[2],"Parallax")
+	pe = read(hdu[2],"Parallax_Err")
+	
+	# And select only objects with some probability to be part of the cluster.
+	sel = pmem .> 0.3
+end;
+
+# ╔═╡ 8d6b9987-b153-41a0-b2f4-b87f51ddf0be
+begin
+	μp, σp = WeightedArithmeticMean(p[sel],pe[sel])
+	
+	printfmtln("Parallax weighted mean: {:.3f} mas and error on the mean: {:.3f} mas", μp, σp)
+end
+
+# ╔═╡ 438da9b4-83e8-4e99-81ea-2a474877f841
+begin
+	fg2 = Figure()
+	
+	ax1fg2 = Axis(fg2[1, 1],
+	    xlabel="Parallax (mas)")
+	
+	hist!(p,bins=50,label="Full sample")    
+	hist!(p[sel],bins=50,label="More likely membership")
+	
+	axislegend()
+	
+	fg2
+end
+
+# ╔═╡ e672614a-6de7-4fc8-9621-3f1939a89e24
+md"""
+## Field star parallax measurements
+***
+
+- Before considering the (actually simpler) case of parallaxes for stars in a cluster, let's see how a Bayesian analysis for measurement of field stars (i.e. not in a cluster) could be carried out.
+"""
+
+# ╔═╡ 11a01b9a-6955-4bf7-a35d-85cb5ebbe243
+md"""
+### The likelihood
+***
+
+- we may adopt a regular Gaussian likelihood for the measured distances, i.e. $\mathcal{L} \sim N(1/d,σ^2)$, i.e.:
+
+$$p(y|d) = \frac{1}{\sqrt{2πσ^2}} e^{-\frac{(y − 1/d)^2}{2σ^2}}$$
+
+
+### The Priors
+***
+
+- As for any Bayesian analysis, we have to define the prior information we have. And we are going to realize that this is a far from trivial problem.
+
+- We have three different possible choices, although only the last is describing correctly our problem:
+
+    - A uniform distribution for the parallax.
+    - A uniform distribution for the distance.
+    - A physically motivated prior for the space distributon of stars we are studying.
+"""
+
+# ╔═╡ 11d08a83-330e-4caa-931a-0500700fd215
+md"""
+- While the prior for distance above may appear non-informative (in a sense that it is uniform), it actually encodes a strong assumption about the number density of stars $ρ$ as a function of distance. 
+    - The prior implies that we are just as likely to observe stars at large distances as we are at smaller distances. 
+    - However, as we look out into space, the area of the solid angle defined by the distance $d$ increases, and this in turn implies that the stellar number density is decreasing with
+distance.
+"""
+
+# ╔═╡ 763d157a-33eb-4aba-a278-1ee55a7f26bd
+md"""
+- [Bailer-Jones et al. (2018)](https://iopscience.iop.org/article/10.3847/1538-3881/aacb21) introduced a better prior for the parallax inference problem.
+
+- The physical volume $dV$ probed by an infinitesimal solid angle on the sky $dΩ$ at a given distance $d$ scales as the size of a shell so that $dΩ \propto d^2$. This means that, assuming a constant stellar number density $ρ$ everywhere, a prior behaving as $p(d) \propto d^2$ is more appropriate.
+
+- However, we know that our Sun sits in the disk of the Galaxy, and that the actual stellar density $ρ$ as we go radially outward in the disk should decrease as a function of distance. 
+
+- Assuming we are looking outward, and that the stellar density decreases exponentially with a length scale $L$ (so that for a given distance we have $p(ρ|d) \propto e^{−d/L}$) the prior on distance is:
+
+```math
+p(d) \propto \begin{cases}
+d^2 e^{−d/L} & d_{\rm min} < d < d_{\rm max}\\
+0 & {\rm otherwise}
+\end{cases}
+```
+
+- which is the density function of a truncated [Gamma(3, L)](https://en.wikipedia.org/wiki/Gamma_distribution) distribution.
+
+
+"""
+
+# ╔═╡ 82cd1ab2-0f25-4cc6-969c-e79c7d395320
+md"""
+> A uniform distribution in parallax is not a uniform distrbution in distance, $d = 1/\pi$. Actually, if $\pi$ is uniformly distributed between $a$ and $b$, the [inverse](https://en.wikipedia.org/wiki/Inverse_distribution) is distributed as $1/d^2$ between $b^{-1}$ and $a^{-1}$.
+"""
+
+# ╔═╡ 67b0f7d8-1111-4c50-90a4-991de8f2db23
+md"""
+> It is clear how uniform priors are usually far from being uninformative.
+"""
+
+# ╔═╡ 2a2f37cf-b026-4b9a-b45e-adf13d00c8a2
+md"""
+### Posterior distribution
+***
+
+- Once the prior distribution(s) and the likelihood function are specified, the posterior distribution is uniquely determined. 
+    - Often, the denominator quantity $p(y)$ is not available analytically and can be estimated by numerical integration.
+
+- The posterior distribution enables inference of model parameters or of quantities that can be derived from model parameters. 
+    - For example, the posterior mean $\mathcal{E}(θ | y)$ is a point summary for $θ$. The posterior distribution can also be used to define credible intervals for parameters that provide a range of probable values.
+
+> We stress that credible intervals are not confidence intervals; a 95\% credible interval suggests that there is a 95\% probability that the parameter lies within the specified range given our prior beliefs, the model, and the data, whereas a 95\% confidence interval suggests that if similar intervals are properly constructed for multiple datasets then 95\% of them are expected to contain the true (fixed) parameter value.
+
+- The posterior distribution also provides a useful way to obtain estimates and credible intervals for other quantities of physical interest.
+    - For example, if a model has parameters $θ = (α, β, κ)$ and there is some physical quantity described by e.g., $γ = β^2 /αe^κ$, then for every sample of $θ$, a sample of $γ$ can be calculated. Thus, a distribution of the physically interesting quantity $γ$ is obtained, which can also be used to obtain point estimates and credible intervals.
+"""
+
+# ╔═╡ 52a8e283-1ce9-422a-a395-31aca182be57
+md"""
+- Here, we are interested in inferring the parameter for the distance $d = 1/π$ given the measured parallax $y$ and its known associated measurement uncertainty $σ$.
+
+- Bayes’ theorem, the posterior is:
+
+```math
+p(d|y) \sim p(y|d)p(d)
+```
+
+For the three possible priors discussed previously, and recalling that if $f$ is uniformly distributed the PDF of the reciprocal, $y=1/f$, is $\sim \frac{1}{y^2}$, we have:
+
+- Uniform parallax:
+```math
+p(d|y) \sim \frac{1}{d^2} e^{−\frac{(y − 1/d)^2}{2σ^2}}.
+```
+
+- Uniform distance:
+```math
+p(d|y) \sim e^{−\frac{(y − 1/d)^2}{2σ^2}}.
+```
+
+- Bailer-Jones:
+```math
+p(d|y) \sim d^2 e^{−\frac{d}{L}-\frac{(y − 1/d)^2}{2σ^2}}.
+```
+
+- for $d_{\rm min} < d < d_{\rm max}$ (and $0$ otherwise). 
+
+$(LocalResource("Pics/posterior.png"))
+"""
+
+# ╔═╡ 1e6940a0-1b11-4ced-ae11-b016088f1414
+md"""
+## Cluster (M67) distance
+***
+
+- What we have written so far holds for a single mesurement. However, for the M67 distance, we work with a set of $n$ measuremnts for stars that we might now think are located at approximately the same distance $d_{\rm cluster}$ with measured parallaxes $y = {y_1, y_2, . . . , y_n}$, that we consider independent given $d_{\rm cluster}$.
+
+- For each measurement the Gaussian likelihood can still be applied, and the combined likelihood is the product of the individual likelihoods, again assuming the measurement uncertainties, $σ_i$, be known:
+
+```math
+p(y_1, y_2, . . . , y_n | 1/d_{\rm cluster}) = \prod_{i=1}^{n} p(y_i |1/d_{\rm cluster})
+```
+
+- The prior information about the distance of the cluster (from past measurements, etc.) si now a simple Normal distribution, e.g. $p(d_{\rm cluster}) \sim \mathcal{N}(\mu=1.2,\sigma=0.1)$. 
+
+- Finally, the full posterior turns out to be:
+
+```math
+p(d_{\rm cluster}|y) \sim p(d_{\rm cluster}) \prod_{i=1}^{n} p(y_i |1/d_{\rm cluster})
+```
+
+- Now, since the prior PDF do not (of course) depend on the measurements the only factor affected by the product is $\prod_{i=1}^{n} \exp (−\frac{(y − 1/d_{\rm cluster}))^2}{2σ^2})$, and since the product of $n$ independent Gaussian densities with known variances is a Gaussian with precision parameter $τ^{−2} = \sum^n_{i=1} σ_i^{−2}$ and mean parameter $1/d_{\rm cluster}$, defining, $y_{eff} = τ^2 \sum^n_{i=1} y_i/σ^2_i$ we can write:
+
+```math
+p(d_{\rm cluster}|y) \sim p(d_{\rm cluster}) e^{-\frac{(y_{\rm eff}− 1/d_{\rm cluster})^2}{2τ^2}}
+```
+    
+- As mentioned above, please note that a prior over $p(d_{\rm cluster})$, which governs the distribution of clusters of stars, is not the same as a prior over $p(d)$, which governs the distribution of individual stars.
+"""
+
+# ╔═╡ de5d832e-6bc5-41fb-8712-c61b9ed98cf2
+begin
+	# Let's compute τ and yeff
+	
+	t = sum(pe[sel].^(-2))
+	τ2 = 1 ./ t
+	
+	yeff = τ2 .* sum(p[sel] ./ pe[sel].^2)
+	
+	
+	# The prior
+	pdcl = Normal(1.2,0.1)
+	
+	
+	
+	fg3 = Figure()
+	
+	ax1fg3 = Axis(fg3[1, 1],
+	    title="Posterior plot",
+	    xlabel="Distance (Kpc)",
+	    )
+	
+	
+	pstr(x) = pdf(pdcl,x) .* exp.( -((yeff .- (1 ./ x)).^2)/(2τ2))
+	
+	rng = range(start=0.87,stop=0.895,step=1e-4)
+	
+	dtt = pstr(rng)
+	
+	lines!(rng, dtt ,label="posterior")
+	
+	axislegend()
+	
+	#ylims!(0,0.5)
+	#xlims!(0,6)
+	
+	fg3
+end
+
+# ╔═╡ e801975e-c374-4474-8b65-eda9179cb740
+md"""
+## Analysis of the posterior distribution of parameters
+***
+
+- The previous example is one-dimensional and involving only Gaussians can be studies analytically. However, as soon as the number of parameters grows, direct exploration of the posterior PDF becomes impractical.
+
+- One needs sampling tools. The most widely used is the Markov Chain Monte Carlo (MCMC), yet there are several alternatives.
+
+- Having produced a posterior $p(\theta)$, in general we might want to estimate integrals as:
+
+```math
+I(\theta) = \int g(\theta) p(\theta) d\theta
+```
+
+- e.g. for marginalization $g(θ)=1$, average $g(θ)=θ$, credible intervals, etc.
+
+"""
+
+# ╔═╡ 06dae479-7348-47e4-9229-f8ff39254bdd
+md"""
+### Markov Chain Monte Carlo
+***
+
+- When a direct evaluation of an integral, numerically or analytically, is impossible a Monte Carlo approach is often feasible. 
+
+- Let’s generate $M$ values of the parameter set uniformly sampled within the integration volume $V_θ$. The integral turns out to be: 
+
+```math
+I \approx \frac{V_\theta}{M} \sum_{j=1}^M g(\theta_j) p(\theta_j)
+```
+
+- The algorithm works, but it is very inefficient in particular for high-dimensional integral.
+
+- MCMC methods return a sample of points, or chain, from the k-dimensional parameter space, with a distribution that is asymptotically proportional to $p(θ)$. With such a chain the integral becomes:
+
+```math
+I \approx \frac{1}{M} \sum_{j=1}^M g(\theta_j)
+```
+
+- E.g., to estimate the expectation value for $θ$ (i.e., $g(θ) = θ$), we simply take the mean value of all $θ$ in the chain.
+
+> A Markov chain is a sequence of random variables where a given value depends only on its preceding value. Given the present value, past and future values are independent. The process generating such a chain is called the Markov process.
+
+- A "daily life" (irony here) example of Markov chain could be a model of a baby's behavior, you might include "playing," "eating", "sleeping," and "crying" as states, which together with other behaviors could form a 'state space': a list of all possible states. 
+- In addition, on top of the state space, a Markov chain tells you the probabilitiy of hopping, or "transitioning," from one state to any other state, e.g., the chance that a baby currently playing will fall asleep in the next five minutes without crying first, etc.
+
+- Coming back to "serious staff", the process generating such a chain is called the Markov process and can be described as: 
+
+```math
+p(θ_{i+1}|\{θ_i\}) = p(θ_{i+1}|θ_i)
+```
+
+    - i.e., it depends only on the previous step (and it is called "of the first order").
+    
+- To reach an equilibrium, or stationary, distribution of positions, it is necessary that the transition probability be symmetric: 
+
+```math
+p(θ_{i+1}|θ_i) = p(θ_i|θ_{i+1})
+```
+
+- There are many algorithms for producing Markov chains that reach some prescribed equilibrium distribution, $p(θ)$, and this is a field of very active research.
+
+> Interactive demo: [https://chi-feng.github.io/mcmc-demo/](https://chi-feng.github.io/mcmc-demo/)
+"""
+
+# ╔═╡ b477227b-42fa-40dc-ab6d-e1c7a7ac3edf
+md"""
+### A probabilistic model
+***
+
+- Let's now write a simple probabilistic model to fit a straight line.
+"""
+
+# ╔═╡ 3ab330b1-3071-4729-ab09-98286ef82573
+begin
+	data = Array([[ 0.42,  0.72,  0.  ,  0.3 ,  0.15,
+	                   0.09,  0.19,  0.35,  0.4 ,  0.54,
+	                   0.42,  0.69,  0.2 ,  0.88,  0.03,
+	                   0.67,  0.42,  0.56,  0.14,  0.2  ],
+	                 [ 0.33,  0.41, -0.22,  0.01, -0.05,
+	                  -0.05, -0.12,  0.26,  0.29,  0.39,
+	                   0.31,  0.42, -0.01,  0.58, -0.2 ,
+	                   0.52,  0.15,  0.32, -0.13, -0.09 ],
+	                 [ 0.1 ,  0.1 ,  0.1 ,  0.1 ,  0.1 ,
+	                   0.1 ,  0.1 ,  0.1 ,  0.1 ,  0.1 ,
+	                   0.1 ,  0.1 ,  0.1 ,  0.1 ,  0.1 ,
+	                   0.1 ,  0.1 ,  0.1 ,  0.1 ,  0.1  ]])
+	x2, y2, ey2 = data
+	
+	
+	# And let's plot them
+	
+	fg4 = Figure()
+	ax4fg4 = Axis(fg4[1, 1],
+	    xlabel = "X",
+	    ylabel = "Y"
+	    )
+	scatter!(x2,y2,label="Observations")
+	errorbars!(x2,y2,ey2)
+	axislegend(ax4fg4)
+	fg4
+end
+
+# ╔═╡ abfb9e39-f691-4471-9099-d7be3309d6d9
+begin
+	# Declare our Turing model
+	@model function jmodel(x,ey,y)
+	    # Our prior belief
+	    theta ~ Uniform(-0.5 * π, 0.5 * π)
+	    q_perp ~ Normal(0.,5.)
+	    #
+	    m = tan.(theta)
+	    q = q_perp./cos.(theta)
+	    #
+	    #for i in 1:length(y)
+	    #    y[i] ~ Normal.(m*x .+ q,ey)
+	    #end
+	    return y ~ MvNormal(m*x .+ q,ey)
+	end
+	
+	# Please, pay attention how we write the parameters of the models.
+	# This allows us to use simple priors!
+	
+	# Let's sample our model with 2000 iterations, 1000 of them as burn-in, 
+	#and 4 different chains.
+	
+	iterations = 2000
+	burnins = 1000
+	chains = 4
+	
+	# We apply a No-U-Turn sampler
+	
+	chain = mapreduce(c -> sample(jmodel(x2,ey2,y2), NUTS(burnins,0.65), iterations), chainscat, 1:chains)
+	
+end
+
+# ╔═╡ 0b176a7f-b0ad-4a63-963c-80433eee24e0
+StatsPlots.plot(chain)
+
+# ╔═╡ 1e8e2db8-d432-4385-9709-e16ea9197e13
+begin
+	# Let's produce a popular "cornerplot"
+	
+	dfc = DataFrame(chain)     
+	
+	dfc[!,:q_post] = dfc[!,:q_perp]./cos.(dfc[!,:theta])
+	dfc[!,:m_post] = tan.(dfc[!,:theta])
+	          
+	dfcs = select(dfc, [:m_post,:q_post])
+	
+	fig = pairplot(dfcs, labels = Dict(
+	        :m_post => "m",
+	        :q_post => "q",    
+	    ))
+end
+
+# ╔═╡ 628265ac-116a-4fe0-8808-b95c266df1ab
+begin
+	# And, finally, let's show the posterior superposed to the data.
+	
+	fg5 = Figure()
+	ax5fg5 = Axis(fg5[1, 1],
+	    xlabel = "X",
+	    ylabel = "Y"
+	    )
+	scatter!(x2,y2,label="Observations")
+	errorbars!(x2,y2,ey2)
+	
+	for i in rand(1:nrow(dfc),100)
+	    yc = dfc[i,:m_post]*x2.+dfc[i,:q_post]
+	    lines!(x2,yc,color=:orange,alpha=0.1)
+	end
+	axislegend(ax5fg5)
+	fg5
+end
+
+# ╔═╡ 03e24e91-f126-4009-96f4-a32419615dc0
+md"""
+- Asn we know, in classical statistics, models are evaluted by hypothesis testing, i.e. a null hypothesis (e.g., that the data do not contain a signal of interest) is rejected if, under the null, the probability of observing data as extreme or more extreme than what has been observed is small (the so-called p-value).
+
+- An alternative viewpoint is offered by a Bayesian approach to probability, in which the focus is shifted away from rejecting a null hypothesis to comparing alternative explanations. Again as we have seen already, this is done by means of the posterior odds (ratio of probabilities) between two (or several) competing models.
+
+- Nevertheless, without entering in a long-lasting discussion, there is the possibility to compute a *Bayesian p-values* to a model, as discussed in [Lucy (2016)](https://ui.adsabs.harvard.edu/abs/2016A%26A...588A..19L/abstract).
+"""
+
+# ╔═╡ 942af7a7-6bc1-495c-831c-bcd43472d849
+md"""
+## Reference & Material
+
+Material and papers related to the topics discussed in this lecture.
+
+- [Trotta (2017) - "Bayesian Methods in Cosmology”](https://ui.adsabs.harvard.edu/abs/2017arXiv170101467T/abstract)
+- [Karamanis (2023) - "Bayesian Computation in Astronomy: Novel methods for parallel and gradient-free inference (Chapter 1-3)"](https://ui.adsabs.harvard.edu/abs/2023arXiv230316134K/abstract)
+"""
+
+# ╔═╡ 972bdb87-8cb3-48f1-ae0d-23c6bbe63f20
+md"""
+## Further Material
+
+Papers for examining more closely some of the discussed topics.
+
+- [E.T. Jaynes - "Probability Theory: The Logic of Science"](https://www.ibs.it/probability-theory-logic-of-science-libro-inglese-e-t-jaynes/e/9780521592710?gad_source=1&gclid=CjwKCAjwmYCzBhA6EiwAxFwfgKa47QGwGtjBEL2-Kl5nPVBIlUPFMw2X-Ic0HPba0KyKQIfqqUFygxoCuqIQAvD_BwE)
+- [A. Gelman et al. - "Bayesian Data Analysis"](http://www.stat.columbia.edu/~gelman/book/)
+- [J. Vandeplas (2014) - "Frequentism and Bayesianism: A Python-driven Primer"](https://ui.adsabs.harvard.edu/abs/2014arXiv1411.5018V/abstract)
+- [L.B. Lucy (2016) - "Frequentist tests for Bayesian models"](https://ui.adsabs.harvard.edu/abs/2016A%26A...588A..19L/abstract)
+"""
+
+# ╔═╡ 1febcfb8-6d86-4b39-aa5e-0d31247f3ee4
+md"""
+### Credits
+***
+
+This notebook contains material obtained by [https://arxiv.org/pdf/2302.04703 and https://github.com/joshspeagle/nrp_astrobayes](https://arxiv.org/pdf/2302.04703 and https://github.com/joshspeagle/nrp_astrobayes).
+"""
+
+# ╔═╡ 75ce499b-fd01-4517-a0b3-aeeefa55a790
+cm"""
+## Course Flow
+
+<table>
+  <tr>
+    <td>Previous lecture</td>
+    <td>Next lecture</td>
+  </tr>
+  <tr>
+    <td><a href="./open?path=Lectures/Lecture - Statistics Reminder/Lecture-StatisticsReminder.jl">Reminder of frequentist statistics</a></td>
+    <td><a href="./open?path=Lectures/Lecture - Statistics Reminder/Lecture - Spectral Analysis/Lecture-SpectralAnalysis.jl">Lecture about spectral analysis</a></td>
+  </tr>
+ </table>
+
+
+"""
+
+# ╔═╡ b73a652f-0c96-456a-97c8-efb0493ef130
+md"""
+**Copyright**
+
+This notebook is provided as [Open Educational Resource](https://en.wikipedia.org/wiki/Open_educational_resources). Feel free to use the notebook for your own purposes. The text is licensed under [Creative Commons Attribution 4.0](https://creativecommons.org/licenses/by/4.0/), the code of the examples, unless obtained from other properly quoted sources, under the [MIT license](https://opensource.org/licenses/MIT). Please attribute the work as follows: *Stefano Covino, Time Domain Astrophysics - Lecture notes featuring computational examples, 2025*.
+"""
+
+# ╔═╡ Cell order:
+# ╟─4fce939b-8e4d-48d9-9300-67e065f490f7
+# ╟─b7946586-1b5f-4d29-867f-bd41e49610bf
+# ╠═e89ac452-28e1-4f30-808d-468d52fddba7
+# ╠═276b9b1a-95e8-410d-bb54-049142ac0cec
+# ╠═11e8bdad-39b4-41b7-a75d-484412b76190
+# ╟─9368f133-0234-454b-b396-b7c0c37d3e95
+# ╟─4560e210-bd7f-4f28-b0ba-88291e851272
+# ╟─5cdb5c3c-eab5-4e95-a9da-f4a08ce7ddbf
+# ╟─1a2ed703-b276-4e5d-8e50-c329cc5b83a5
+# ╠═7ebe7987-94e9-480f-b948-c3aa0f70d5d1
+# ╟─c0ec48fd-c4f3-4d6d-a854-ef49ead7d512
+# ╟─ae7c719d-2f46-41d8-8053-b017d6cebdbb
+# ╠═0ab98a92-0c00-4c6d-86c1-82a5e053060f
+# ╠═8d6b9987-b153-41a0-b2f4-b87f51ddf0be
+# ╠═438da9b4-83e8-4e99-81ea-2a474877f841
+# ╟─e672614a-6de7-4fc8-9621-3f1939a89e24
+# ╟─11a01b9a-6955-4bf7-a35d-85cb5ebbe243
+# ╟─11d08a83-330e-4caa-931a-0500700fd215
+# ╟─763d157a-33eb-4aba-a278-1ee55a7f26bd
+# ╟─82cd1ab2-0f25-4cc6-969c-e79c7d395320
+# ╟─67b0f7d8-1111-4c50-90a4-991de8f2db23
+# ╟─2a2f37cf-b026-4b9a-b45e-adf13d00c8a2
+# ╟─52a8e283-1ce9-422a-a395-31aca182be57
+# ╟─1e6940a0-1b11-4ced-ae11-b016088f1414
+# ╠═de5d832e-6bc5-41fb-8712-c61b9ed98cf2
+# ╟─e801975e-c374-4474-8b65-eda9179cb740
+# ╟─06dae479-7348-47e4-9229-f8ff39254bdd
+# ╟─b477227b-42fa-40dc-ab6d-e1c7a7ac3edf
+# ╠═3ab330b1-3071-4729-ab09-98286ef82573
+# ╠═abfb9e39-f691-4471-9099-d7be3309d6d9
+# ╠═0b176a7f-b0ad-4a63-963c-80433eee24e0
+# ╠═1e8e2db8-d432-4385-9709-e16ea9197e13
+# ╠═628265ac-116a-4fe0-8808-b95c266df1ab
+# ╟─03e24e91-f126-4009-96f4-a32419615dc0
+# ╟─942af7a7-6bc1-495c-831c-bcd43472d849
+# ╟─972bdb87-8cb3-48f1-ae0d-23c6bbe63f20
+# ╟─1febcfb8-6d86-4b39-aa5e-0d31247f3ee4
+# ╟─75ce499b-fd01-4517-a0b3-aeeefa55a790
+# ╟─b73a652f-0c96-456a-97c8-efb0493ef130
diff --git a/Lectures/Lecture - Statistics Reminder/Lecture-CLTProof.ipynb b/Lectures/Lecture - Statistics Reminder/Lecture-CLTProof.ipynb
index 3a05016ba22ebab8a7c1de75a8d25249222bc1a7..609a406626cf6bb0a896ecbdcd99c74015bcd0f3 100644
--- a/Lectures/Lecture - Statistics Reminder/Lecture-CLTProof.ipynb	
+++ b/Lectures/Lecture - Statistics Reminder/Lecture-CLTProof.ipynb	
@@ -127,7 +127,7 @@
     "\n",
     "$$ M_{Z} (t/\\sqrt{N}) = \\sum_{k=0}^\\infty M_Z^k(0) \\frac{(t/\\sqrt{N})^k}{k!} $$\n",
     "\n",
-    "- Next, we split this expansion into two parts. The first part is a finite series of three terms corresponding to $k = 0, k = 1, and k = 2$. The second part is the remainder of the infinite series.\n",
+    "- Next, we split this expansion into two parts. The first part is a finite series of three terms corresponding to $k = 0, k = 1$, and $k = 2$. The second part is the remainder of the infinite series.\n",
     "\n",
     "- $M^0$, $M^1$, $M^2$, etc. are the 0-th, 1st, 2nd, and so on derivatives of the MGF $M_Z(t/\\sqrt{N})$ evaluated at ($t/\\sqrt{N}) = 0$. We know that these derivatives of the MGF are the 0-th, 1st, 2nd, etc. moments of $Z$.\n",
     "\n",
@@ -217,21 +217,29 @@
    "source": [
     "**Copyright**\n",
     "\n",
-    "This notebook is provided as [Open Educational Resource](https://en.wikipedia.org/wiki/Open_educational_resources). Feel free to use the notebook for your own purposes. The text is licensed under [Creative Commons Attribution 4.0](https://creativecommons.org/licenses/by/4.0/), the code of the examples, unless obtained from other properly quoted sources, under the [MIT license](https://opensource.org/licenses/MIT). Please attribute the work as follows: *Stefano Covino, Time Domain Astrophysics - Lecture notes featuring computational examples, 2024*."
+    "This notebook is provided as [Open Educational Resource](https://en.wikipedia.org/wiki/Open_educational_resources). Feel free to use the notebook for your own purposes. The text is licensed under [Creative Commons Attribution 4.0](https://creativecommons.org/licenses/by/4.0/), the code of the examples, unless obtained from other properly quoted sources, under the [MIT license](https://opensource.org/licenses/MIT). Please attribute the work as follows: *Stefano Covino, Time Domain Astrophysics - Lecture notes featuring computational examples, 2025*."
    ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "7239e2ea-66ae-43f5-afd5-e4e882f9ea47",
+   "metadata": {},
+   "outputs": [],
+   "source": []
   }
  ],
  "metadata": {
   "kernelspec": {
-   "display_name": "Julia 1.10.5",
+   "display_name": "Julia 1.11.3",
    "language": "julia",
-   "name": "julia-1.10"
+   "name": "julia-1.11"
   },
   "language_info": {
    "file_extension": ".jl",
    "mimetype": "application/julia",
    "name": "julia",
-   "version": "1.10.5"
+   "version": "1.11.3"
   }
  },
  "nbformat": 4,
diff --git a/Lectures/Lecture - Statistics Reminder/Lecture-CLTProof.jl b/Lectures/Lecture - Statistics Reminder/Lecture-CLTProof.jl
new file mode 100644
index 0000000000000000000000000000000000000000..1e992ebe20e66ce6d3328317acddca0cab84ad47
--- /dev/null
+++ b/Lectures/Lecture - Statistics Reminder/Lecture-CLTProof.jl	
@@ -0,0 +1,551 @@
+### A Pluto.jl notebook ###
+# v0.20.4
+
+using Markdown
+using InteractiveUtils
+
+# ╔═╡ 0ea989ec-dce0-4802-b117-413c6ee3e969
+begin
+	using CommonMark
+	using PlutoUI
+end
+
+# ╔═╡ 3926f03f-e9f3-4bb3-a3b7-5f0541d65d09
+md"""
+**What is this?**
+
+
+*This jupyter notebook is part of a collection of notebooks on various topics discussed during the Time Domain Astrophysics course delivered by Stefano Covino at the [Università dell'Insubria](https://www.uninsubria.eu/) in Como (Italy). Please direct questions and suggestions to [stefano.covino@inaf.it](mailto:stefano.covino@inaf.it).*
+"""
+
+# ╔═╡ 4968fd4d-b86b-4071-9b18-07aa8b8b0738
+md"""
+**This is a `pluto` notebook**
+"""
+
+# ╔═╡ da8b93b1-c1b1-4d2d-bd93-00b5ea97dbf6
+md"""
+$(LocalResource("Pics/TimeDomainBanner.jpg"))
+"""
+
+# ╔═╡ 5a7eb5d1-ec5f-48e0-ac1d-e84322d11767
+md"""
+# A proof of the central limit theorem
+***
+"""
+
+# ╔═╡ 009d6216-81b2-4823-bcb0-ba662d8c6a73
+md"""
+- Let $X_1$, $X_2$,…,$X_N$ be i.i.d. random variables that form a random sample of size ’N’. Assume that we have drawn this sample from a population that has a mean $μ$ and variance $σ²$.
+
+- Let $\bar{X}_N$ be the sample mean: $\bar{X}_N = \frac{X_1+X_2...+X_N}{N}$
+
+- Let $\bar{Z}_N$ be the standardized sample mean: $\bar{Z}_N = \frac{\bar{X}_N-\mu}{\sigma/\sqrt{N}}$
+
+- The Central Limit Theorem states that as N tends to infinity, $\bar{Z}_N$ *converges in distribution* to $N(0,1)$, i.e. the CDF of $\bar{Z}_N$ becomes identical to the CDF of $N(0, 1)$. 
+
+- To prove this statement, we use the property of the Moment Generating Function (MGF) that if the MGFs of $X$ and $Y$ are identical, then so are their CDFs.
+"""
+
+# ╔═╡ 979a339d-0c70-468e-aa53-8867244016e4
+md"""
+### Moment Generating Function
+***
+
+- The k-th moment of a random variable $X$ is the expected value of $X$ raised to the k-th power: $\mu_k(X) = \mathbb{E}(X^k) = \sum_i x_i^k P(X=x_i)$
+
+- The k-th moment of $X$ around some value $c$ is known as the k-th central moment of $X$: $\mu_k(X) = \mathbb{E}((X-c)^k) = \sum_i (x_i-c)^k P(X=x_i)$
+
+- The k-th standardized moment of $X$ is the k-th central moment of $X$ divided by k-th power of the standard deviation of $X$: $\frac{\mu_k(X)}{\sigma^k} = \frac{\mathbb{E}((X-c)^k)}{\sigma^k}$
+
+- For the record, the first 5 moments of $X$ have specific values or meanings attached to them:
+
+    - The zeroth’s raw and central moments of X are $\mathbb{E}(X^0)$ and $\mathbb{E}[(X — c)^0]$ respectively. Both equate to 1.
+    - The 1st raw moment of $X$ is $\mathbb{E}(X)$. It’s the mean of $X$.
+    - The second central moment of $X$ around its mean is $\mathbb{E}[X — \mathbb{E}(X)]^2$. It’s the variance of X.
+    - The third and fourth standardized moments of $X$ are $\mathbb{E}[X — \mathbb{E}(X)]^3/σ^3$, and $\mathbb{E}[X — \mathbb{E}(X)]^4/σ^4$. They are the skewness and kurtosis of $X$ respectively. 
+    
+- Let's now define a new random variable $tX$ where $t$ is a real number. Here’s the Taylor series expansion of $e$ to the power $tX$ evaluated at $t = 0$:
+
+```math
+ e^{tX} = \sum_{k=0}^\infty \frac{(tX)^k}{k!} = 1 + \frac{t}{1!}X + \frac{t^2}{2!}X^2 ... 
+```
+
+- If we apply the *Expectation operator* on both sides of the above equation we get from the linearity of the operator:
+
+```math
+\mathbb{E}(e^{tX}) = \sum_{k=0}^\infty \mathbb{E}(\frac{(tX)^k}{k!}) = \sum_{k=0}^\infty \frac{t^k}{k!} \mathbb{E}(X^k) 
+```
+
+- If we now write the general form of an *Exponential Generating Function* (EGF):
+
+```math
+\sum_{k=0}^N \frac{a_k}{n!} x^k = a_0 + a_1 x + \frac{a_2}{2!} x^2 + ... 
+```
+
+- We see that $\mathbb{E}(X^k)$ are the coefficients $a_k$ in the EGF. Thus we have the *Moment Generating Function* (MGF):
+
+```math
+M_X(t) = \mathbb{E}(e^{tX}) = \sum_{k=0}^\infty \frac{t^k}{k!} \mathbb{E}(X^k) = 1 + t\mathbb{E}(X) + \frac{t^2}{2!}\mathbb{E}(X^2) + ... 
+```
+
+- Now, it is easy to realize that the k-th derivative of the EGF, when evaluated at $x = 0$ gives us the k-th coefficient of the underlying sequence. So, $M_X^0(t=0) = 1, M_X^1(t=0) = \mathbb{E}(X), ..., M_X^k(t=0) = \mathbb{E}(X^k)$
+
+- If two random variables $X$, $Y$ have identical moments (i.e. identic MGF) they must unavoidably have identical CDF.
+
+- We can say more. If $Y = aX + b$, then $M_Y(t) = \mathbb{E}(e^{(aX+b)t}) = e^{bt}M_X(t)$.
+
+- Besides, if $Y$ the sum of $N$ independent, identically distributed random variables, $Y = X_1 + X_2 + ...$ then $M_Y(t) = \mathbb{E}(e^{t(X_1+X_2+..)}) = \mathbb{E}(e^{tX_1})\mathbb{E}(e^{tX_2})...$, due to the independency. And, finally $M_Y(t) = [\mathbb{E}(e^{tX})]^N = [M_X(t)]^N$ since they are identically distributed.
+
+- One last useful result related to MGF is that if $X \sim \mathcal{N}(0,1)$ then $M_X(t) = e^{\frac{t^2}{2}}$, since the given distribution has mean = 0, variance = 1, skew = 0 and kurtosis = 1.
+"""
+
+# ╔═╡ 6f051bea-173a-4fff-a4ed-df724cc33a1a
+md"""
+- Coming back to the proof of the CLT, we now understand that we need to prove that the MGF of $\bar{Z}_N$ converges to the MGF of $\mathcal{N}(0,1)$, i.e.:
+
+```math
+\lim_{N\to\infty} M_{\bar{Z}_N} (t) = e^{\frac{t^2}{2}}
+```
+
+- Let's define $Z_k = \frac{X_k - \mu}{\sigma}$. Then, $\bar{Z}_N = \frac{1}{\sqrt N}\sum_{k=1}^N Z_k$. We may write:
+
+```math
+M_{\bar{Z}_N} (t) = M_{\frac{1}{\sqrt N}\sum_{k=1}^N Z_k}(t) = M_{\frac{Z_1}{\sqrt(N)}+\frac{Z_2}{\sqrt(N)}+ ...}(t)
+```
+
+- The various $Z_k/sqrt(N)$ are, by construction, independent random variable, so that:
+
+```math
+M_{\bar{Z}_N} (t) = [M_{Z/\sqrt{N}} (t)]^N = [M_{Z} (t/\sqrt{N})]^N
+```
+"""
+
+# ╔═╡ 0fdbce17-cf81-414a-a018-9197df77db76
+md"""
+- Now, let's create a Taylor series expansion of $M_Z(t/\sqrt{N})$ at $t = 0$:
+
+```math
+M_{Z} (t/\sqrt{N}) = \sum_{k=0}^\infty M_Z^k(0) \frac{(t/\sqrt{N})^k}{k!}
+```
+
+- Next, we split this expansion into two parts. The first part is a finite series of three terms corresponding to $k = 0, k = 1$, and $k = 2$. The second part is the remainder of the infinite series.
+
+- $M^0$, $M^1$, $M^2$, etc. are the 0-th, 1st, 2nd, and so on derivatives of the MGF $M_Z(t/\sqrt{N})$ evaluated at ($t/\sqrt{N}) = 0$. We know that these derivatives of the MGF are the 0-th, 1st, 2nd, etc. moments of $Z$.
+
+- The $0$-th moment, $M^0(0)$, is always 1. $Z$ is, by its construction, a standard normal random variable. Hence, its first moment (mean), $M^1(0) = 0$, and its second moment (variance), $M^2(0) = 1$. So:
+
+```math
+M_{Z} (t/\sqrt{N}) = 1 + 0 + \frac{(t/\sqrt{N})^2}{2!} + \sum_{k=3}^\infty M_Z^k(0) \frac{(t/\sqrt{N})^k}{k!}
+```
+
+- Now, let's summarize where we are:
+
+```math
+\lim_{N\to\infty} M_{\bar{Z}_N} (t) = \lim_{N\to\infty} \left(M_{Z} (t/\sqrt{N})\right)^N
+```
+
+```math
+\lim_{N\to\infty} M_{\bar{Z}_N} (t) = \lim_{N\to\infty} \left( 1 + 0 + \frac{(t/\sqrt{N})^2}{2!} + R_2(t/\sqrt{N})\right)^N
+```
+
+- Where $R_r(x)$ is the remainder or residual from approximating a function using the Taylor polynomial of order $r$.
+
+- Taylor's theporem states that $\lim_{x \to a} \frac{R_r(x)}{(x-a)^r} = 0$. In out case this turns out to be:
+
+```math
+\lim_{\frac{t}{\sqrt{N}} \to a} \frac{R_2(t/\sqrt{N})}{(t/\sqrt{N}-a)^2} = 0
+```
+
+- But, with $a=0$, this is equivalent to the limit:
+
+```math
+\lim_{N \to \infty} \frac{R_2(t/\sqrt{N})}{(t/\sqrt{N})^2} = 0
+```
+
+- In the above limit, the L.H.S. will tend to zero as long as $N$ tends to infinity independent of what value $t$ has as long as it’s finite. 
+
+- Therefore, we can write:
+
+```math
+\lim_{N \to \infty} n R_2(t/\sqrt{N}) = 0
+```
+
+"""
+
+# ╔═╡ 326de926-4b20-44a6-bf9f-3d7c7b813de3
+md"""
+- With little algebra, we have that:
+
+```math
+\lim_{N\to\infty} M_{\bar{Z}_N} (t) = \lim_{N\to\infty} \left( 1 + \frac{1}{N} [(t^2/2) + N R_2(t/\sqrt{N})]\right)^N
+```
+
+- And, therefore:
+
+```math
+\lim_{N\to\infty} M_{\bar{Z}_N} (t) = \lim_{N\to\infty} \left( 1 + \frac{(t^2/2)}{N} \right)^N
+```
+
+- Since $\lim_{N\to\infty} \left( 1 + \frac{x}{N} \right)^N = e^x$, we can finally write:
+
+```math
+\lim_{N\to\infty} M_{\bar{Z}_N} (t) = e^\frac{t^2}{2}
+```
+
+- And the CLT is proved!
+"""
+
+# ╔═╡ 85d1de10-a1ea-4991-8d81-65d12171ecdd
+md"""
+### Credits
+***
+
+This notebook contains material obtained by [https://towardsdatascience.com/a-proof-of-the-central-limit-theorem-8be40324da83](https://towardsdatascience.com/a-proof-of-the-central-limit-theorem-8be40324da83).
+"""
+
+# ╔═╡ 66d96dd5-2a8a-46c3-8897-0dbed4c69986
+cm"""
+## Course Flow
+***
+
+<table>
+  <tr>
+    <td>Previous lecture</td>
+    <td>Next lecture</td>
+  </tr>
+  <tr>
+      <td><a href="./open?path=Lectures/Lecture - Statistics Reminder/Lecture-StatisticsReminder.jl">Reminder of frequentist statistics</a></td>
+    <td><a href="./open?path=Lectures/Lecture - Statistics Reminder/Lecture-StatisticsReminder.jl">Reminder of frequentist statistics</a></td>
+  </tr>
+ </table>
+
+
+"""
+
+# ╔═╡ a0bfbb2f-da37-4943-9791-1b4b3b534f9e
+md"""
+**Copyright**
+
+This notebook is provided as [Open Educational Resource](https://en.wikipedia.org/wiki/Open_educational_resources). Feel free to use the notebook for your own purposes. The text is licensed under [Creative Commons Attribution 4.0](https://creativecommons.org/licenses/by/4.0/), the code of the examples, unless obtained from other properly quoted sources, under the [MIT license](https://opensource.org/licenses/MIT). Please attribute the work as follows: *Stefano Covino, Time Domain Astrophysics - Lecture notes featuring computational examples, 2025*.
+"""
+
+# ╔═╡ 00000000-0000-0000-0000-000000000001
+PLUTO_PROJECT_TOML_CONTENTS = """
+[deps]
+CommonMark = "a80b9123-70ca-4bc0-993e-6e3bcb318db6"
+PlutoUI = "7f904dfe-b85e-4ff6-b463-dae2292396a8"
+
+[compat]
+CommonMark = "~0.8.15"
+PlutoUI = "~0.7.61"
+"""
+
+# ╔═╡ 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 = "cd3d72e2dccc4929194d09ec9e39f0844415267b"
+
+[[deps.AbstractPlutoDingetjes]]
+deps = ["Pkg"]
+git-tree-sha1 = "6e1d2a35f2f90a4bc7c2ed98079b2ba09c35b83a"
+uuid = "6e696c72-6542-2067-7265-42206c756150"
+version = "1.3.2"
+
+[[deps.ArgTools]]
+uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f"
+version = "1.1.2"
+
+[[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.ColorTypes]]
+deps = ["FixedPointNumbers", "Random"]
+git-tree-sha1 = "b10d0b65641d57b8b4d5e234446582de5047050d"
+uuid = "3da002f7-5984-5a60-b8a6-cbb66c0b333f"
+version = "0.11.5"
+
+[[deps.CommonMark]]
+deps = ["Crayons", "PrecompileTools"]
+git-tree-sha1 = "3faae67b8899797592335832fccf4b3c80bb04fa"
+uuid = "a80b9123-70ca-4bc0-993e-6e3bcb318db6"
+version = "0.8.15"
+
+[[deps.CompilerSupportLibraries_jll]]
+deps = ["Artifacts", "Libdl"]
+uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae"
+version = "1.1.1+0"
+
+[[deps.Crayons]]
+git-tree-sha1 = "249fe38abf76d48563e2f4556bebd215aa317e15"
+uuid = "a8cc5b0e-0ffa-5ad4-8c14-923d3ee1735f"
+version = "4.1.1"
+
+[[deps.Dates]]
+deps = ["Printf"]
+uuid = "ade2ca70-3891-5945-98fb-dc099432e06a"
+version = "1.11.0"
+
+[[deps.Downloads]]
+deps = ["ArgTools", "FileWatching", "LibCURL", "NetworkOptions"]
+uuid = "f43a241f-c20a-4ad4-852c-f6b1247861c6"
+version = "1.6.0"
+
+[[deps.FileWatching]]
+uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee"
+version = "1.11.0"
+
+[[deps.FixedPointNumbers]]
+deps = ["Statistics"]
+git-tree-sha1 = "05882d6995ae5c12bb5f36dd2ed3f61c98cbb172"
+uuid = "53c48c17-4a7d-5ca2-90c5-79b7896eea93"
+version = "0.8.5"
+
+[[deps.Hyperscript]]
+deps = ["Test"]
+git-tree-sha1 = "179267cfa5e712760cd43dcae385d7ea90cc25a4"
+uuid = "47d2ed2b-36de-50cf-bf87-49c2cf4b8b91"
+version = "0.0.5"
+
+[[deps.HypertextLiteral]]
+deps = ["Tricks"]
+git-tree-sha1 = "7134810b1afce04bbc1045ca1985fbe81ce17653"
+uuid = "ac1192a8-f4b3-4bfe-ba22-af5b92cd3ab2"
+version = "0.9.5"
+
+[[deps.IOCapture]]
+deps = ["Logging", "Random"]
+git-tree-sha1 = "b6d6bfdd7ce25b0f9b2f6b3dd56b2673a66c8770"
+uuid = "b5f81e59-6552-4d32-b1f0-c071b021bf89"
+version = "0.2.5"
+
+[[deps.InteractiveUtils]]
+deps = ["Markdown"]
+uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240"
+version = "1.11.0"
+
+[[deps.JSON]]
+deps = ["Dates", "Mmap", "Parsers", "Unicode"]
+git-tree-sha1 = "31e996f0a15c7b280ba9f76636b3ff9e2ae58c9a"
+uuid = "682c06a0-de6a-54ab-a142-c8b1cf79cde6"
+version = "0.21.4"
+
+[[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.MIMEs]]
+git-tree-sha1 = "1833212fd6f580c20d4291da9c1b4e8a655b128e"
+uuid = "6c6e2e6c-3030-632d-7369-2d6c69616d65"
+version = "1.0.0"
+
+[[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.Mmap]]
+uuid = "a63ad114-7e13-5084-954f-fe012c677804"
+version = "1.11.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.OpenBLAS_jll]]
+deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"]
+uuid = "4536629a-c528-5b80-bd46-f80d51c5b363"
+version = "0.3.27+1"
+
+[[deps.Parsers]]
+deps = ["Dates", "PrecompileTools", "UUIDs"]
+git-tree-sha1 = "8489905bcdbcfac64d1daa51ca07c0d8f0283821"
+uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0"
+version = "2.8.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.PlutoUI]]
+deps = ["AbstractPlutoDingetjes", "Base64", "ColorTypes", "Dates", "FixedPointNumbers", "Hyperscript", "HypertextLiteral", "IOCapture", "InteractiveUtils", "JSON", "Logging", "MIMEs", "Markdown", "Random", "Reexport", "URIs", "UUIDs"]
+git-tree-sha1 = "7e71a55b87222942f0f9337be62e26b1f103d3e4"
+uuid = "7f904dfe-b85e-4ff6-b463-dae2292396a8"
+version = "0.7.61"
+
+[[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.SHA]]
+uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce"
+version = "0.7.0"
+
+[[deps.Serialization]]
+uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b"
+version = "1.11.0"
+
+[[deps.Statistics]]
+deps = ["LinearAlgebra"]
+git-tree-sha1 = "ae3bb1eb3bba077cd276bc5cfc337cc65c3075c0"
+uuid = "10745b16-79ce-11e8-11f9-7d13ad32a3b2"
+version = "1.11.1"
+
+    [deps.Statistics.extensions]
+    SparseArraysExt = ["SparseArrays"]
+
+    [deps.Statistics.weakdeps]
+    SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
+
+[[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.Test]]
+deps = ["InteractiveUtils", "Logging", "Random", "Serialization"]
+uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
+version = "1.11.0"
+
+[[deps.Tricks]]
+git-tree-sha1 = "6cae795a5a9313bbb4f60683f7263318fc7d1505"
+uuid = "410a4b4d-49e4-4fbc-ab6d-cb71b17b3775"
+version = "0.1.10"
+
+[[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"
+version = "1.11.0"
+
+[[deps.Unicode]]
+uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5"
+version = "1.11.0"
+
+[[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:
+# ╟─3926f03f-e9f3-4bb3-a3b7-5f0541d65d09
+# ╟─4968fd4d-b86b-4071-9b18-07aa8b8b0738
+# ╠═0ea989ec-dce0-4802-b117-413c6ee3e969
+# ╟─da8b93b1-c1b1-4d2d-bd93-00b5ea97dbf6
+# ╟─5a7eb5d1-ec5f-48e0-ac1d-e84322d11767
+# ╟─009d6216-81b2-4823-bcb0-ba662d8c6a73
+# ╟─979a339d-0c70-468e-aa53-8867244016e4
+# ╟─6f051bea-173a-4fff-a4ed-df724cc33a1a
+# ╟─0fdbce17-cf81-414a-a018-9197df77db76
+# ╟─326de926-4b20-44a6-bf9f-3d7c7b813de3
+# ╟─85d1de10-a1ea-4991-8d81-65d12171ecdd
+# ╟─66d96dd5-2a8a-46c3-8897-0dbed4c69986
+# ╟─a0bfbb2f-da37-4943-9791-1b4b3b534f9e
+# ╟─00000000-0000-0000-0000-000000000001
+# ╟─00000000-0000-0000-0000-000000000002
diff --git a/Lectures/Lecture - Statistics Reminder/Lecture-StatisticsReminder.ipynb b/Lectures/Lecture - Statistics Reminder/Lecture-StatisticsReminder.ipynb
index c6e69a9eced36dd9cbdb0f1392cf9632633b701f..75409b26897ce696f4e16d040a5e97bdf531a702 100644
--- a/Lectures/Lecture - Statistics Reminder/Lecture-StatisticsReminder.ipynb	
+++ b/Lectures/Lecture - Statistics Reminder/Lecture-StatisticsReminder.ipynb	
@@ -273,6 +273,14 @@
     "printfmtln(\"Probability of successes: {:.1f}%\", 100*probOfSuccesses)"
    ]
   },
+  {
+   "cell_type": "markdown",
+   "id": "fe64ed1a-1c10-4cbe-8d7e-eaa447a063a6",
+   "metadata": {},
+   "source": [
+    "> This is the probability of obtaining exactly the required number of successes!"
+   ]
+  },
   {
    "cell_type": "markdown",
    "id": "e8805256",
@@ -311,6 +319,14 @@
     "printfmtln(\"Probability of successes: {:.1f}%\", 100*probOfSuccesses)"
    ]
   },
+  {
+   "cell_type": "markdown",
+   "id": "e308b797-210c-44b5-b16b-4da1d79b930a",
+   "metadata": {},
+   "source": [
+    "> This is again the probability of obtaining exactly the required number of successes!"
+   ]
+  },
   {
    "cell_type": "code",
    "execution_count": 6,
@@ -877,7 +893,7 @@
     "## Maximum Likelihood Estimation\n",
     "***\n",
     "\n",
-    "- For a given set of observations $x_i \\{i=1...N\\}$, and assuming a parent distribution $P(x;\\xi_1, \\xi_2, ...)$, let's find the set of parameterts $\\xi_1, \\xi_2, ...$ so that the probability to observe the values $x_i$ is maximized.\n",
+    "- For a given set of observations $x_i \\{i=1...N\\}$, and assuming a parent distribution $P(x;\\xi_1, \\xi_2, ...)$, let's find the set of parameters $\\xi_1, \\xi_2, ...$ so that the probability to observe the values $x_i$ is maximized.\n",
     "\n",
     "- Let's assume a Gaussian parent distribution:\n",
     "\n",
@@ -934,7 +950,7 @@
     "***\n",
     "\n",
     "- The idea is rather simple. Let's assume to have a dataset $\\{x_i\\}, i=1...N$, and define any function $T(x_i)$ of the measurements.\n",
-    "- Be $T$ the value of the function computer for our dataset, and $T_j$ the value of the fuction computed for any nubmer of subsamples built drawing $n$ data from the oginal dataset with *replacedment*, i.e. single value can be picked up multiple times.\n",
+    "- Be $T$ the value of the function computer for our dataset, and $T_j$ the value of the fuction computed for any nubmer of subsamples built drawing $n$ data from the oginal dataset with *replacement*, i.e. single value can be picked up multiple times.\n",
     "- The the variance on $T$, computed for the original dataset, if we have drawn $m$ subsamples, is:\n",
     "\n",
     "$$ \\sigma^2_T = \\frac{1}{m} \\sum_{j=1}^m (T_j-T)^2 $$\n",
@@ -1254,7 +1270,7 @@
    "id": "f28f7498",
    "metadata": {},
    "source": [
-    "- These results can be read saying that in **case 1** there is about 13\\% probability to get residuals as large as or larger than measured. In **case 2** this probability is negligible and fior **case 3** is very high. \n",
+    "- These results can be read saying that in **case 1** there is about 13\\% probability to get residuals as large as or larger than measured. In **case 2** this probability is negligible and for **case 3** is very high. \n",
     "\n",
     "- **Case 1**,depending on the threshold one may define, is likely an acceptable fit. **Case 2** means that the model is highly unadequate, and **case 3** means that residuals are so low to be very suspicious about the input data."
    ]
diff --git a/Lectures/Lecture - Statistics Reminder/Lecture-StatisticsReminder.jl b/Lectures/Lecture - Statistics Reminder/Lecture-StatisticsReminder.jl
new file mode 100644
index 0000000000000000000000000000000000000000..9c1bdc8d8ba1a7ec82f7cb01c5cd5a153c8db9c5
--- /dev/null
+++ b/Lectures/Lecture - Statistics Reminder/Lecture-StatisticsReminder.jl	
@@ -0,0 +1,1325 @@
+### A Pluto.jl notebook ###
+# v0.20.4
+
+using Markdown
+using InteractiveUtils
+
+# This Pluto notebook uses @bind for interactivity. When running this notebook outside of Pluto, the following 'mock version' of @bind gives bound variables a default value (instead of an error).
+macro bind(def, element)
+    #! format: off
+    quote
+        local iv = try Base.loaded_modules[Base.PkgId(Base.UUID("6e696c72-6542-2067-7265-42206c756150"), "AbstractPlutoDingetjes")].Bonds.initial_value catch; b -> missing; end
+        local el = $(esc(element))
+        global $(esc(def)) = Core.applicable(Base.get, el) ? Base.get(el) : iv(el)
+        el
+    end
+    #! format: on
+end
+
+# ╔═╡ d1d6c1fa-d6f2-4ab5-9387-57d141b81fe3
+# ╠═╡ show_logs = false
+import Pkg; Pkg.activate(".")
+
+# ╔═╡ c97d6e21-0c4c-4d79-8193-abc8e3001d0c
+begin
+	using Bootstrap
+	using CairoMakie
+	using CommonMark
+	using Distributions
+	using Format
+	using HypothesisTests
+	using Latexify
+	using LaTeXStrings
+	using Optim
+	using PValue
+	using PlutoUI
+	using Random
+end
+
+# ╔═╡ 813ab26f-b80e-4fc2-8d95-357ccac051ed
+begin
+	using DSP
+	
+	fg = Figure()
+	
+	ax1 = Axis(fg[1, 1])
+	
+	bsfunc(x) = ifelse.(-0.5 .<= x .<= 0.5, 1., 0.)
+	cvnx(l) = 3. .* (LinearIndices(l) / length(l)) .- 1.5
+	
+	bsr = range(start=-1.5,stop=1.5,step=0.001)
+	
+	a = bsfunc(bsr)
+	b = conv(a,a)
+	bn = b/maximum(b)
+	c = conv(b,a)
+	cn = c/maximum(c)
+	d = conv(c,a)
+	dn = d/maximum(d)
+	
+	
+	
+	lines!(bsr,a,label=L"f",linewidth=2)
+	lines!(cvnx(bn),bn,label=L"f \ast f",linewidth=2)
+	lines!(cvnx(cn),cn,label=L"f \ast f \ast f",linewidth=2)
+	lines!(cvnx(dn),dn,label=L"f \ast f \ast f \ast f",linewidth=2)
+	
+	axislegend()
+	
+	fg
+	
+end
+
+# ╔═╡ b95f212e-a904-425b-ab72-3a2a62a36051
+md"""
+**What is this?**
+
+
+*This jupyter notebook is part of a collection of notebooks on various topics discussed during the Time Domain Astrophysics course delivered by Stefano Covino at the [Università dell'Insubria](https://www.uninsubria.eu/) in Como (Italy). Please direct questions and suggestions to [stefano.covino@inaf.it](mailto:stefano.covino@inaf.it).*
+"""
+
+# ╔═╡ cb5178e4-ca00-4d0a-8ae2-abc8aba79edc
+md"""
+**This is a `Julia` notebook**
+"""
+
+# ╔═╡ 90fa08da-6fb6-4a7a-ab84-82db43589cf6
+Pkg.instantiate()
+
+# ╔═╡ 782247c0-5683-45be-83dc-c640fc5af519
+# ╠═╡ show_logs = false
+md"""
+$(LocalResource("./Pics/TimeDomainBanner.jpg"))
+"""
+
+# ╔═╡ 7609a27d-dcaf-400a-b07a-b2ce79d46546
+md"""
+# Statistics Reminder
+***
+"""
+
+# ╔═╡ 2bcfe923-1fa1-4faa-96a4-4493ab10f607
+md"""
+## Probability
+
+***
+
+- We adopt here a Bayesian view: probability is just a degree of certainty about a statement.
+
+- We describe probability following the so-called Kolmogorov system of probability. 
+
+- An experiment is any action that can have a set of possible results where the actually occurring result cannot be predicted with certainty prior to the action.
+
+The set $Ω$ of all outcomes of an experiment is known as the outcome space or sample space.
+
+A well-balanced coin toss gives $Ω={H,T}$, and the inherent symmetries of the experiment leads to $P(H)=P(T)=0.5$.
+
+"""
+
+# ╔═╡ c3183c6f-74bb-4ad6-9e9c-3c4f3505a472
+md"""
+### Axioms of probability
+***
+
+- A probability space consists of the triplet ${Ω, F, P}$, a sample space, a class of events, and a function that assigns a probability to each event in $F$ following:
+
+    - Axiom 1: $0 \le P(A) \le 1$, for all events A
+    - Axiom 2: $P(\Omega) = 1$
+    - Axiom 3: For mutually exsclusive (pairwise disjoint) events $A_1, A_2, ...,$
+
+
+
+"""
+
+# ╔═╡ aec2e7b5-d07b-4246-82bb-f1b6867261fe
+cm"""
+
+<div align="center">
+
+``P(A_1 \cup A_2 \cup ...) = P(A_1) + P(A_2) + ... ``
+
+</div>
+"""
+
+# ╔═╡ ee09bcaa-e455-44b6-9d77-26e73e3942e3
+cm"""
+- or, if for any ``i \neq j, A_i \cap A_j = \emptyset``, then
+"""
+
+
+# ╔═╡ 8d7236e1-452c-4623-a6dd-756c5eb53f5d
+cm"""
+```math
+ P(\bigcup_{i=1}^{\infty} A_i) = \sum_{i=1}^{\infty} P(A_i) 
+```
+
+"""
+
+# ╔═╡ b9462e27-1bc9-4d92-ac01-efb604fe8eff
+md"""
+- From these, it is easy to realize that for generic events, not necessarily disjoint, `C` and `D`, we have:
+
+```math
+P(C \cup D) = P(C) + P(D) - P(C \cap D) 
+```
+
+"""
+
+# ╔═╡ 5f6217f3-7c8b-4feb-8150-af67660fe6a4
+cm"""
+### Conditional probability
+***
+
+- This is a far from trivial concept in probability:
+
+```math
+ P(A | B) = \frac{P(A \cap B)}{P(B)} 
+```
+
+- The formula above can be read as "probability of `A` given `B` (i.e. knowing that `B` occurred)".
+
+> E.g., rolling a dice, and with `A={1,2,3}`, implies `P(A)=1/2`. The probability of an even outcome (`B={2,4,6}`) is again `1/2`, but `P(A \cap B)` is `1/6`. Then, `P(A | B) = 1/3`.   
+
+"""
+
+# ╔═╡ 85b2cb68-9d2b-484a-b979-0b81de743178
+cm"""
+
+### Bayes’ Theorem
+***
+
+- Introduced by Thomas Bayes, but recognized earlier by James Bernoulli and Abraham de Moivre, and later fully explicated by Pierre Simon de Laplace.
+
+```math
+ P(A | B) = \frac{P(B | A)~P(A)}{P(B)} 
+```
+
+   - `P(A|B)`: the **posterior**, or the probability of the model parameters given the data: this is the result we want to compute.
+   - `P(B|A)`: the **likelihood**, the same function, but with a different meaning, used in the frequentist approach.
+   - `P(A)`: the **model prior**, which encodes what we knew about the model prior to the application of the data.
+   - `P(B)`: the data probability or **evidence**, in most cases just a normalization factor, but fundamnetal for model inference.
+
+It is intriguing that most of the debate between "frequentists" vs "Bayesians" is not due to the mathematics of the theorem, but to its philosophical meaning, i.e. the basis of Bayesian inference.
+"""
+
+# ╔═╡ f3af6e72-7146-4eea-951f-37ee2f08cbff
+md"""
+> Before discussing Bayesian inference, we now recall some useful "frequentist" concepts and algorithms.
+
+### Basic definitions and some useful “frequentist” tools
+***
+
+- *Random variable*: variable describing the possible output of an experiment. 
+    - It can be discrete or continuous. 
+    
+- *Parent distribution*: distribution of values for a RV if the experiment is repeated number of times.
+
+
+> These definitions are somwhow criticed in a Bayesian scenario, but for now let's avoid these, interestiung actually, issues,
+
+- *Mean* of parent distribution: $\mu \equiv \lim_{N\to\infty}(\frac{1}{N} \sum_i x_i)$ 
+- *Median* of parent distribution: the median value, $\mu_{1/2}$ is where 50\% of the input data are below and above the identified value. 
+    - Computing the median requires to sort the data.
+- *Mode* (or most probable value): $P(\mu_{max}) \ge P(x \ne \mu_{max})$.
+
+> For symmetric distributions the mean, media and mode coincide.
+"""
+
+# ╔═╡ fbdfc6c9-dee0-43f2-8c50-a11ff74eafe6
+cm"""
+- Standard deviation (``\sigma``) and variance (``\sigma^2``) of the parent distribution:
+
+```math
+ \sigma^2 \equiv \lim_{N \to \infty} \left[ \frac{1}{N} \sum_i (x_i - \mu)^2 \right] 
+```
+
+- And standard deviation (``s``) and variance (``s^2``) of a sample population:
+
+```math
+ s^2 = \frac{1}{N-1} \sum_i (x_i - \mu)^2 
+```
+
+"""
+
+# ╔═╡ 6a4cba4f-bf8a-497e-98ae-8b32503dc983
+md"""
+## Counting statistics
+***
+
+- With modern digital devices a large fraction of what we call "measurement" consists in counting discrete events (photons, etc.)
+"""
+
+# ╔═╡ 3b6a9f06-7bca-4745-8cce-c878462fd943
+# ╠═╡ show_logs = false
+md"""
+$(LocalResource("./Pics/photoncounting.png"))
+"""
+
+# ╔═╡ 3879ebfd-2c2c-4339-bca4-4a8f09a7d10d
+md"""
+- Let's assume to count an average number of ebents $\mu$ in a given time interval $t$.
+- And divide our time interval in a large number of sub-intervals $n$, so that the probability to detect one event in one sub-interval becomes $p \approx \mu/n$.
+
+- Then, the probability to detect $k$ evemts in our time interval is given by the [Binomial probability distibution](https://en.wikipedia.org/wiki/Binomial_distribution):
+
+```math
+ P(k; n,p) = \binom{n}{k} p^k (1-p)^{n-k} = \frac{n!}{k!(n-k)!}p^k (1-p)^{n-k} 
+```
+
+or
+
+```math
+ P(k; \mu) = \frac{n!}{k!(n-k)!}(\frac{\mu}{n})^k (1-\frac{\mu}{n})^{n-k} 
+```
+
+that, in the limit of large $n$, very low probability, becomes the [Poisson distribution](https://en.wikipedia.org/wiki/Poisson_distribution):
+
+```math
+ P(k; \mu) = \frac{\mu^k}{k!} e^{-\mu} 
+```
+"""
+
+# ╔═╡ 5ada7105-3a68-48a6-a559-a136e76584a8
+md"""
+### Binomial distribution
+***
+
+- Applicable when carryong out a well defined number of trials, $n$, each of which has probability $p$ of success.
+    - Example: rolling $n=100$ dice, which is the probability of getting exactly $15$ sixes ($p = 1/6$)? $P(15,100,1/6) \approx 10$%.
+"""
+
+# ╔═╡ 273d70f2-6db2-42a9-bbc6-76c94d2d7f11
+md"""
+Number of trials: $( @bind n1 Scrubbable(1:100, default=50) ) 
+"""
+
+# ╔═╡ b18909e0-205e-40ad-ab87-7985d986cb9d
+md"""
+Probability of success of a single trial: $( @bind p1 NumberField(0:0.01:1, default=0.5) ) 
+"""
+
+# ╔═╡ 88012fd0-476a-46eb-9375-202ceccfc953
+md"""
+Number of successes: $( @bind x1 Scrubbable(1:n1, default=10) ) 
+"""
+
+# ╔═╡ abac4c88-2feb-463d-9bf3-48c56029548c
+begin
+	binomialDistribution1 = Binomial(n1,p1)
+	
+	probOfSuccesses1 = pdf(binomialDistribution1,x1)
+end;
+
+# ╔═╡ 6f8f4451-e403-4f22-a10b-64684a790fac
+Markdown.parse("""
+Probability of successes: $(latexify(100*probOfSuccesses1,fmt="%.2f"))%
+""")
+
+# ╔═╡ 4ca1d27b-6d94-4786-a429-40008570f48a
+md"> Note that this is the probability of obtaining exactly the required number of successes!"
+
+# ╔═╡ 6870814c-7eda-419a-86bc-bc8b4335b683
+md"""
+### Poisson distribution
+***
+
+- Applicable when the mean number of outomes, $\mu$, is known or can be estimated and probability $p << 1$.
+    - Example: About 1% of pregnancies are twin pregnacies. In $1000$ pregnancies, which is the probability of having exactly $5$ twin pregnancies? $P(5,10) \approx 4$%.
+"""
+
+# ╔═╡ 1e8ca5b8-a7d3-40f4-8683-d7a286f03ce5
+md"""
+Number of trials: $( @bind n2 Scrubbable(100:100:10000, default=1000) ) 
+"""
+
+# ╔═╡ c33a250d-c60a-4608-b74b-816a9770964a
+md"""
+Probability of success of a single trial: $( @bind p2 NumberField(0:0.01:0.1, default=0.01) ) 
+"""
+
+# ╔═╡ 6d7daebf-9ec3-462e-bafc-17e3d36201ec
+md"""
+Number of successes: $( @bind x2 Scrubbable(1:n1, default=10) ) 
+"""
+
+# ╔═╡ 8359d0d5-28cd-4afc-84e9-711b1da84d1f
+begin	
+	PoissonDistribution2 = Poisson(n2*p2)
+	
+	probOfSuccesses2 = pdf(PoissonDistribution2,x2)
+end;
+
+# ╔═╡ 3e195d76-4ce2-4cc7-9106-fe0e7f728ed8
+Markdown.parse("""
+Probability of successes: $(latexify(100*probOfSuccesses2,fmt="%.2f"))%
+""")
+
+# ╔═╡ 878d2155-a4fe-4b51-9417-879aa259b52f
+md"> Note again that this is the probability of obtaining exactly the required number of successes!"
+
+# ╔═╡ 468e8a03-a11d-48ee-9699-1d10004363d2
+begin
+	fg1 = Figure()
+	ax1fg1 = Axis(fg1[1, 1],
+	    xlabel = "k",
+	    ylabel = "P(k)",
+	    title = "Binomial distributions"
+	)
+	
+	binomialDistributionfgx11 = Binomial(2,0.5)
+	probOfSuccessesfgx11 = pdf(binomialDistributionfgx11,0:10)
+	barplot!(0:10,probOfSuccessesfgx11,label="p=0.5, n=2", gap = 0)
+	#
+	binomialDistributionfgx12 = Binomial(6,1/6)
+	probOfSuccessesfgx12 = pdf(binomialDistributionfgx12,0:10)
+	barplot!(0:10,probOfSuccessesfgx12,label="p=1/6, n=6", gap = 0)
+	#
+	binomialDistributionfgx13 = Binomial(10,0.9)
+	probOfSuccessesfgx13 = pdf(binomialDistributionfgx13,0:10)
+	barplot!(0:10,probOfSuccessesfgx13,label="p=0.9, n=10", gap = 0)
+	#
+	binomialDistributionfgx14 = Binomial(10,0.5)
+	probOfSuccessesfgx14 = pdf(binomialDistributionfgx14,0:10)
+	barplot!(0:10,probOfSuccessesfgx14,label="p=0.5, n=10", gap = 0)
+	
+	axislegend()
+	
+	fg1
+end
+
+# ╔═╡ da6b95d4-a640-483e-936a-45a8aee4f4cb
+md"""
+Average of Poissonian distribution: $( @bind pois1 PlutoUI.Slider(1:20, default=1) ) 
+"""
+
+# ╔═╡ f68bc201-d4d6-45a3-8ead-bf767276f657
+begin
+	fg2 = Figure()
+	ax2fg2 = Axis(fg2[1, 1],
+	    xlabel = "k",
+	    ylabel = "P(k)",
+	    title = "Poisson distributions"
+	)
+	
+	PoissonDistributionfg2ax21 = Poisson(pois1)
+	probOfSuccessesfg2ax21 = pdf(PoissonDistributionfg2ax21,0:20)
+	barplot!(0:20,probOfSuccessesfg2ax21,label="μ="*string(pois1), gap = 0)
+	#
+	PoissonDistributionfg2ax22 = Poisson(5)
+	probOfSuccessesfg2ax22 = pdf(PoissonDistributionfg2ax22,0:20)
+	barplot!(0:20,probOfSuccessesfg2ax22,label=L"\mu=5", gap = 0)
+	#
+	PoissonDistributionfg2ax23 = Poisson(10)
+	probOfSuccessesfg2ax23 = pdf(PoissonDistributionfg2ax23,0:20)
+	barplot!(0:20,probOfSuccessesfg2ax23,label=L"\mu=10", gap = 0)
+	
+	axislegend()
+	
+	fg2
+end
+
+# ╔═╡ b0ecbb26-0822-4c56-8eaa-605f8f6cd59e
+begin
+	fg3 = Figure()
+	ax1fg3 = Axis(fg3[1, 1],
+	    xlabel = "k",
+	    ylabel = "P(k)",
+	    title = "Poisson distributions"
+	)
+	
+	binomialDistributionfg3ax31 = Binomial(20,0.5)
+	probOfSuccessesfg3ax31 = pdf(binomialDistributionfg3ax31,0:20)
+	barplot!(0:20,probOfSuccessesfg3ax31,label=L"Binom. ($p=0.5, n=20$)", gap = 0)
+	#
+	binomialDistributionfg3ax32 = Binomial(50,0.2)
+	probOfSuccessesfg3ax32 = pdf(binomialDistributionfg3ax32,0:20)
+	barplot!(0:20,probOfSuccessesfg3ax32,label=L"Binom. ($p=0.2, n=50$)", gap = 0)
+	#
+	PoissonDistributionfg3ax33 = Poisson(10)
+	probOfSuccessesfg3ax33 = pdf(PoissonDistributionfg3ax33,0:20)
+	barplot!(0:20,probOfSuccessesfg3ax33,label=L"Poisson ($\mu=10$)", gap = 0)
+	
+	
+	axislegend()
+	
+	fg3
+end
+
+# ╔═╡ 1a80b7ea-4515-44c4-9476-ba9b6eac30c5
+md"""
+## Mean and variance
+***
+
+- For any probability density function of a discrete variable $P(x_i)$:
+
+    - Mean: $\mu = \sum_{i=0}^\infty x_i P(x_i)$,     
+    - Variance: $\sigma^2 = \sum_{i=0}^\infty (x_i-\mu)^2 P(x_i)$
+"""
+
+# ╔═╡ b3163979-4422-4c47-b0f5-049c091ce2da
+md"""
+
+- For a binomial distribution:
+
+```math
+\mu = \sum_0^n k P(k; n, p)  = \sum_0^n k \frac{n!}{k!(n-k)!}p^k (1-p)^{n-k} = np
+```
+"""
+
+# ╔═╡ ea34b5a9-0937-4cbc-9afd-79055556e640
+md"""
+
+- In fact: $\mu = \sum_1^n k \frac{n!}{k!(n-k)!}p^k (1-p)^{n-k} = \sum_1^n \frac{n!}{(k-1)!(n-k)!}p^k (1-p)^{n-k} = \sum_1^n \frac{n(n-1)!}{(k-1)!(n-k)!}pp^{k-1} (1-p)^{n-k} = np \sum_1^n \frac{(n-1)!}{(k-1)!(n-k)!}p^{k-1} (1-p)^{n-k}$
+
+- Then: $\mu = np \sum_1^n \frac{(n-1)!}{(k-1)!((n-1)-(k-1))!}p^{k-1} (1-p)^{n-k} = np \sum_1^n k \binom{n-1}{k-1} p^{k-1} (1-p)^{n-k}$
+
+- Let's rename $n-1 \equiv m$ and $k-1 \equiv j$ so that $\mu = np \sum_j^m \binom{m}{j} p^{j} (1-p)^{m}$. The summed term is just `1`, i.e. the sum of all the possible outcomes of a binomial distribution. Thus: $\mu = np$.
+"""
+
+# ╔═╡ 2c20004a-4929-401e-b653-23b471d9a487
+cm"""
+
+```math
+ \sigma^2 = \sum_0^n (k - np)^2 \frac{n!}{k!(n-k)!}p^k (1-p)^{n-k} = np(1-np) 
+```
+"""
+
+# ╔═╡ 657c620c-b79f-4fb2-b78e-84c328d2e8ed
+md"""
+- In fact, $\sigma^2 = \mathbb{E}[k^2] - \mathbb{E}[k]^2 = \mathbb{E}[k^2] - [np]^2$ and we just need to compute the first term.
+- As above, we can write the first term as: $\mu = \sum_1^n k^2 \frac{n!}{k!(n-k)!}p^k (1-p)^{n-k}$, we now write $k^ 2 = k(k-1) + k$, so that we have:
+    - $\sum_1^n k^2 \frac{n!}{k!(n-k)!}p^k (1-p)^{n-k} = \sum_1^n k(k-1) \frac{n!}{k!(n-k)!}p^k (1-p)^{n-k} + \sum_1^n k \frac{n!}{k!(n-k)!}p^k (1-p)^{n-k}$.
+- The last term is again `np` and, again following the same procedure we applied before, we have that: $\sum_1^n k(k-1) \frac{n!}{k!(n-k)!}p^k (1-p)^{n-k} = n(n-1)p^2 \sum_2^n \frac{(n-2)!}{(k-2)!(n-k)!}p^{k-2} (1-p)^{n-k}$
+- Following the procedure we applied for the *mean* above we, finally, have: $\mu = n(n-1)p^2 + np - (np)^2 = -np^2 + np = np(1-p)$
+
+> In the limit of large ``n`` and small ``p``, i.e. Poisson distribution, $\sigma^2 = np = \mu$.
+"""
+
+# ╔═╡ dd1f7837-f591-4b45-951e-8d1eb2664c8c
+md"""
+## Error on the mean
+***
+
+- Mean of `N` measurements $x_1, x_2, ..., x_N`: `\bar{x} = \frac{1}{N} \sum_i x_i$
+
+- Propagation of error on the mean: $\sigma^2_\bar{x} = (\frac{\partial \bar{x}}{\partial x_1})^2\sigma^2_{x_1} + (\frac{\partial \bar{x}}{\partial x_2})^2\sigma^2_{x_2} + ... = (\frac{1}{N})^2 \sigma^2_{x_1} + (\frac{1}{N})^2 \sigma^2_{x_2} + ... = \frac{1}{N^2} \sum_i \sigma^2_{x_i}$
+
+    - If $\sigma_{x_1} = \sigma_{x_2} = ... =\sigma_i$, then  $\sigma^2_\bar{x} = \frac{N\sigma^2_i}{N^2} = \frac{\sigma^2_i}{N} \Longrightarrow \sigma_\bar{x} = \frac{\sigma_i}{\sqrt{N}}$
+"""
+
+# ╔═╡ 47347aea-bcd9-4329-89e0-0c2020df16fc
+md"""
+- Speaking of estimators, there are three properties to define a good estimator: unbiased, consistent, and efficient. 
+    - The estimator is unbiased, when the expected value of the sample parameter is equal to the population parameter.
+    - If the variance of the sample parameter decreases with the increasing sample size, the estimator is consistent.
+    - With the same sample size, the estimator with lower variance is more efficient.
+"""   
+
+# ╔═╡ ed6701f4-9656-4f07-84c6-8e634cecea98
+# ╠═╡ show_logs = false
+md"""
+$(LocalResource("Pics/Estimators.png"))
+"""
+
+# ╔═╡ 03744ccd-7a2b-41e7-a10f-ee1b9c0013c9
+# ╠═╡ show_logs = false
+md"""
+- By a Probability Density Function the probability of the random variable falling within a particular range of values can be calculated.
+    - If the probability density at a certain $x$ is denoted as $f(x)$. By applying integral function to $f(x)$ over a range of $(x_1,x_2)$, the probability of $x$ falling in $(x_1,x_2)$ can be calculated:
+    
+$(LocalResource("Pics/PDF.png"))
+"""
+
+# ╔═╡ 8dc68c2e-d1f0-475a-9c7f-d06210d09943
+md"""
+## The Normal distribution
+****
+
+- For large $\mu$ the Poisson distribution can be approximated by a Gaussian (with $\mu = \sigma^2$).
+
+"""
+
+# ╔═╡ 823f9f4c-0c19-40b6-bab0-4b5832d15a6d
+cm"""
+```math 
+P_G(x; \sigma, \mu) = \frac{1}{\sigma \sqrt{2\pi}} e^{\frac{-(x-\mu)^2}{2\sigma^2}} 
+```
+"""
+
+# ╔═╡ ea9d2ebc-67b3-4945-b8ba-7598e5073b17
+begin
+	fg4 = Figure(size=(1280,960))
+	
+	
+	ax1fg4 = Axis(fg4[1, 1],
+	    xlabel = "k",
+	    ylabel = "P(k)",
+	    title = L"\mu = 5"
+	)
+	
+	#
+	PoissonDistribution = Poisson(5)
+	probOfSuccesses = pdf(PoissonDistribution,0:15)
+	barplot!(0:15,probOfSuccesses,label=L"Poisson", gap = 0)
+	#
+	NormalDistribution = Normal(5,sqrt(5))
+	probOfSuccesses = pdf(NormalDistribution,0:15)
+	barplot!(0:15,probOfSuccesses,label=L"Gaussian", gap = 0)
+	
+	axislegend()
+	
+	ax1fg4 = Axis(fg4[2, 1],
+	    xlabel = "k",
+	    ylabel = L"P_{Gauss}/P_{Poisson}",
+	    title = "Gaussian / Poisson"
+	)
+	
+	#
+	PoissonDistribution = Poisson(5)
+	PprobOfSuccesses = pdf(PoissonDistribution,0:15)
+	#
+	NormalDistribution = Normal(5,sqrt(5))
+	NprobOfSuccesses = pdf(NormalDistribution,0:15)
+	
+	scatter!(0:15,NprobOfSuccesses ./ PprobOfSuccesses, markersize=20)
+	
+	ax1fg4 = Axis(fg4[1, 2],
+	    xlabel = "k",
+	    ylabel = "P(k)",
+	    title = L"\mu = 100"
+	)
+	
+	#
+	PoissonDistribution = Poisson(100)
+	probOfSuccesses = pdf(PoissonDistribution,0:150)
+	barplot!(0:150,probOfSuccesses,label=L"Poisson", gap = 0)
+	#
+	NormalDistribution = Normal(100,sqrt(100))
+	probOfSuccesses = pdf(NormalDistribution,0:150)
+	barplot!(0:150,probOfSuccesses,label=L"Gaussian", gap = 0)
+	
+	axislegend()
+	
+	ax1fg4 = Axis(fg4[2, 2],
+	    xlabel = "k",
+	    ylabel = L"P_{Gauss}/P_{Poisson}",
+	    title = "Gaussian / Poisson",
+	)
+	
+	#
+	PoissonDistribution = Poisson(100)
+	PprobOfSuccesses = pdf(PoissonDistribution,0:150)
+	#
+	NormalDistribution = Normal(100,sqrt(100))
+	NprobOfSuccesses = pdf(NormalDistribution,0:150)
+	
+	scatter!(0:150,NprobOfSuccesses ./ PprobOfSuccesses, markersize=20)
+	
+	ylims!(ax1fg4,0,5)
+	xlims!(ax1fg4,50,150)
+	
+	fg4
+end
+
+# ╔═╡ 4bdf78e5-9c93-4727-b662-483ca9d2012a
+cm"""
+### Inverse distribution
+***
+
+- An interesting problem, having to deal with probability distributions, is how to compute the *inverse distribution*, i.e. the distribution of the reciprocal of a random variable.
+
+- In general, given the probability distribution of a random variable `X` with strictly positive support, it is possible to find the distribution of the reciprocal, `Y = 1 / X`. 
+    - If the distribution of `X` is continuous with density function `f(x)` and cumulative distribution function `F(x)`, then the cumulative distribution function, `G(y)`, of the reciprocal is found by:
+    
+```math
+G(y) = Pr(Y \le y) = Pr(X \ge \frac{1}{y}) = 1-Pr(X < \frac{1}{y}) = 1 - F(\frac{1}{y})
+```
+
+- Therefore, the density function of `Y` is found as the derivative of the cumulative distribution function:
+
+```math
+g(y) = \frac{1}{y^2}f(\frac{1}{y}) 
+```
+"""
+
+# ╔═╡ 1ac335ee-257a-40b3-8357-33466b1b1cbc
+md"""
+#### Exercise: the inverse of the uniform distribution
+***
+
+- If $X$ is uniformly distributed in a given interval $(a,b)$, with $a>0$, $f(x) = \frac{1}{b-a}$. 
+
+- The distribution of the reciprocal $Y=1/X$ takes values in the range $(b^{-1},a^{-1})$, and turns out to be:
+
+```math
+g(y) = y^{-2} \frac{1}{b-a}
+```
+"""
+
+# ╔═╡ 73b91ae5-e2ec-45c8-be23-7aed9a9e8b15
+md"""
+### The inverse CDF method
+***
+
+- We have introduced beforen the uniform random variable, i.e., a continuous random variable which takes on values from parameters $a$ to $b$.
+
+- The continuous probability distribution of a uniform random variable $X$ is: $f(x) = \frac{1}{b-a} $. If $a=0$ and $b=1$ we have the so-called standard uniform and $f(x) = 1$.
+
+- A cumulative distribution function (CDF) is the probability that a real-valued random variable $X$ with a given probability distribution is less than or equal to a quantity $x$. It is often denoted by $F(x) = P(X \le x)$.
+
+- Some of the CDF propeerties are:
+
+    1. The CDF is a non-decreasing function.
+    2. $\lim_{x\to+\infty} F(x) = 1$
+    3. $\lim_{x\to-\infty} F(x) = 0$
+
+- The CDF of a uniform random variable $X$ in the interval $[a,b]$ is $F(x) = \frac{x-a}{b-a}$ since $F(x) = P(X \le x) = \int_a^x \frac{1}{b-a} dx = \frac{x-a}{b-a}$.
+- The CDF of a standard random variabe is just $F(x) = x$.
+
+\
+
+- The *CDF method* allows one to generate any non-uniform random variables with known CDF starting from the uniform random case:
+
+    1. Obtain or generate a draw (realization) $u$ from a standard uniform distribution.
+    2. The draw $x$ from CDF $F(x)$ is given by $x = F^{-1}(u)$.
+    
+
+#### Exercise: A uniform distribution in the $(a,b)$ interval
+***
+
+
+- This is definitely a contrived example. Yet, the CDF of the distribution we want to sample is, as we know: $F(x) = \frac{x-a}{b-a}$. 
+- Let's solve for $x$ in $F(x) = u$. We get $F^{-1}(u) = a + (b-a)u$. If we sample from $\mathcal{U} \sim (0,1)$ we get samples for $X$.
+
+
+#### Exercise: Samples from the exponential distribution
+***
+
+
+- We want to generate an exponential random variable with $x>0$ and the rate lambda as $\lambda>0$. The continuous probability distribution of the exponential random variable is: $f(x) = \lambda e^{-\lambda x}$.
+- Integrating $f(x)$ from $0$ we have: $F(x) = \int_0^x \lambda e^{-\lambda x} du = 1 - e^{-\lambda x}$.
+- Solving for $x = F^{-1}(u)$ gives $x = -\frac{1}{\lambda} \ln (1-u)$.
+
+
+#### Exercise: Samples from the Pareto distribution
+***
+
+- Now, we deal with the Pareto distribution. Given the shape parameter $k$ and the scale parameter $\lambda$, the Pareto distribution has PDF: $f(x) = \frac{k\lambda^k}{x^{(k+1}}$, for $< > \lambda$.
+
+- The CDF of the Pareto distribution, integrating rom $\lambda$ to $x$ is: $F(x) = P(X \le x) \int_\lambda^x \frac{k\lambda^k}{t^{(k+1}} dt$. 
+
+- Solving the integral we have: $F(x) = \frac{k\lambda^k t^{-k}}{-k}\Big|_{t=\lambda}^{t=x} = \frac{k\lambda^k x^{-k}}{-k} - \frac{k\lambda^k \lambda^{-k}}{-k} = -\lambdaìùk x^{-k} + 1 = 1-(\frac{\lambda}{x})^k$.
+
+- Now, let's solve for $F(x) = u = 1-(\frac{\lambda}{x})^k$ and we get: $x = F^{-1}(u) = \frac{\lambda}{(1-u)^{1/k}}$.
+"""
+
+# ╔═╡ 5c946d0d-81f8-43f3-a0ab-196ea9423021
+md"""
+## Central limit theorem
+***
+
+> One of the most important results in statistics
+
+- No matter what distribution (with finite mean and variance) our population follows, as we increase sample size, sampling distribution of the mean converges to a Normal distribution.
+
+- One can also say that the convolution of a large number of (positive) functions $f_i(x)$ with variances $\sigma_i^2$ converges to a Gaussian with $\sigma^2 = \sum \sigma_i^2$.
+    - The functions do not need to be Gaussian.
+
+> Just pay attention since the CLT is more subtle than it seems! For interested readers a verbose but sufficiently clear proof is discussed [here](./open?path=Lectures/Lecture - Statistics Reminder/Lecture-CLTProof.jl).
+
+### Convolution
+***
+
+- Mathematically, the convolution of two functions $f(x)$ and $g(x)$ is defined as:
+
+```math
+(f \ast g)(x) = \int_{-\infty}^{\infty} f(\xi) g(t-\xi) d \xi
+```
+
+- That, as we will see further in the course, it is convenienty carried out in the Fourier space:
+
+```math
+\mathcal{F}\{f \ast g\} = \mathcal{F}\{f\} \cdot \mathcal{F}\{f\}
+```
+"""
+
+# ╔═╡ 6cdb0484-7ffc-41e3-8332-b5486ed5bd18
+begin
+	unimeanList = []
+	normeanList = []
+	poimeanList = []
+	
+	
+	num_trials = 10000
+	num_observations = 1000
+	
+	
+	unidistr = Uniform(1,7)
+	nordistr = Normal(0,1)
+	poidistr = Poisson(1)
+	
+	for i in 1:num_trials
+	    # sample from uniform distribution
+	    uninumList = rand(unidistr,num_observations)
+	    # sample from normal distribution
+	    nornumList = rand(nordistr,num_observations)
+	    # sample from poisson distribution
+	    poinumList = rand(poidistr,num_observations)
+	    #
+	    push!(unimeanList,mean(uninumList))
+	    push!(normeanList,mean(nornumList))
+	    push!(poimeanList,mean(poinumList))
+	end
+	    
+	    
+	unifit = fit(Normal, Float64.(unimeanList))    
+	norfit = fit(Normal, Float64.(normeanList))
+	poifit = fit(Normal, Float64.(poimeanList))
+	    
+	#
+	
+	    
+	fg5 = Figure(size=(1000,400))
+	
+	ax1fg5 = Axis(fg5[1, 1],
+	    title="Uniform distribution"
+	    )
+	     
+	hist!(unimeanList,normalization=:pdf)
+	rng = range(start=minimum(unimeanList),stop=maximum(unimeanList),step=0.01)
+	lines!(rng,pdf(unifit,rng),color=:red,linewidth=5)
+	        
+	ax1fg5 = Axis(fg5[1, 2],
+	    title="Nornal distribution"
+	    )
+	    
+	hist!(normeanList,normalization=:pdf)
+	rng = range(start=minimum(normeanList),stop=maximum(normeanList),step=0.001)
+	lines!(rng,pdf(norfit,rng),color=:red,linewidth=5)    
+	    
+	ax1fg5 = Axis(fg5[1, 3],
+	    title="Poisson distribution"
+	    )
+	    
+	hist!(poimeanList,normalization=:pdf)
+	rng = range(start=minimum(poimeanList),stop=maximum(poimeanList),step=0.001)
+	lines!(rng,pdf(poifit,rng),color=:red,linewidth=5)   
+	    
+	fg5
+	    
+end
+
+# ╔═╡ f8c8b403-0684-4263-8aba-3e2f9c99f37a
+md"""
+## Maximum Likelihood Estimation
+***
+
+- For a given set of observations $x_i \{i=1...N\}$, and assuming a parent distribution $P(x;\xi_1, \xi_2, ...)$, let's find the set of parameters $\xi_1, \xi_2, ...$ so that the probability to observe the values $x_i$ is maximized.
+
+- Let's assume a Gaussian parent distribution:
+
+```math
+P_G(x; \sigma, \mu) = \frac{1}{\sigma \sqrt{2\pi}} e^{\frac{-(x-\mu)^2}{2\sigma^2}} 
+```
+
+- The total likelihood to observe the whole dataset turns out to be (with the, often hidden, assumption of statistical indipendenced of the data):
+
+```math
+\mathcal{L}(\mu, \sigma; x_i) = \prod_i P_G(x_i; \sigma, \mu) = \left( \frac{1}{\sigma \sqrt{2\pi}}\right)^N e^{(-\frac{1}{2} \sum_i \frac{(x_i-\mu)^2}{2\sigma^2})}
+```
+
+- It is usually simpler working with the logarithm of the likelihood:
+
+```math
+\log \mathcal{L}(\mu, \sigma; x_i) = -\frac{N}{2} \log2\pi - \frac{N}{2} \log{\sigma^2} - \frac{1}{2\sigma^2} \sum_i (x_i-\mu)^2
+```
+
+- that is maximized at $\partial{P_G(\mu, \sigma)} / \partial{\mu} = 0$ and $\partial{P_G(\mu, \sigma)} / \partial{\sigma^2} = 0$, yielding the maximum likelihood estimators (MLE).
+
+- For this problem, the solution can easily be found analytically:
+    - $\partial{P_G(\mu, \sigma)} / \partial{\mu} \propto \sum_i (x_i-\mu) = 0$ when $\mu = \frac{1}{N}\sum_i x_i$. Not surprinsingly, exactly the definition of the sample mean!
+    
+```math
+\partial{P_G(\mu, \sigma)} / \partial{\sigma^2} = -\frac{N}{2\sigma^2} - \frac{1}{2} \sum_i (x_i-\mu)^2 \frac{d}{d\sigma^2} (1/\sigma^2) = -\frac{N}{2\sigma^2} + \frac{1}{2} \sum_i (x_i-\mu)^2 \frac{1}{\sigma^4} =
+```
+
+```math
+= \frac{1}{2\sigma^2} \left[ \frac{1}{\sigma^2} \sum_i (x_i-\mu)^2 - N \right]
+```
+
+- Then, if $\sigma^2 \ne 0$, can be $0$ if $\sigma^2 =  \frac{1}{N} \sum_i (x_i-\mu)^2$, i.e. the unadjusted sample variance.
+    
+- In general, however, there is no analytical solution and we have to refer to numerical methods to maximize the $\log \mathcal{L}$ or minimize the negative of the previous relation.
+
+- The uncertainty on the paraneters can be better estimated by Monte Carlo methods.
+
+
+
+### Significance level and p-value
+***
+
+- The probability of the observed value is called p-value. 
+
+    - A low p value means that the observation is unlikely to occur under the condition that the null hypothesis holds true. 
+
+    - When the p value is lower than significance level, then we reject the null hypothesis. 
+"""
+
+# ╔═╡ adec1076-9584-4620-b76b-95cc61d05ed2
+# ╠═╡ show_logs = false
+md"""
+$(LocalResource("Pics/stdci.jpg"))
+
+$(LocalResource("Pics/stdci2.png"))
+
+"""
+
+# ╔═╡ 680e6fe2-6bb6-4cae-8289-f634b9a8618e
+md"""
+### The bootstrap method
+***
+
+- The idea is rather simple. Let's assume to have a dataset $\{x_i\}, i=1...N$, and define any function $T(x_i)$ of the measurements.
+- Be $T$ the value of the function computer for our dataset, and $T_j$ the value of the fuction computed for any nubmer of subsamples built drawing $n$ data from the oginal dataset with *replacement*, i.e. single value can be picked up multiple times.
+- The the variance on $T$, computed for the original dataset, if we have drawn $m$ subsamples, is:
+
+```math
+\sigma^2_T = \frac{1}{m} \sum_{j=1}^m (T_j-T)^2
+```
+
+- This is the simplest variant of boostrap (there are many...), and assumes again statistical independence of the data.
+"""
+
+# ╔═╡ fcfedd22-8c34-40ba-9507-ac6508b35250
+begin
+	# Let's define a dataset
+	dataset = [16,11,15,16,11,12,18,5,3,1]
+	
+	# Let's compute the mean and the median
+	
+	μdt = mean(dataset)
+	
+	μ½dt = median(dataset) 
+	
+	printfmtln("μ = {:.2f} and μ½ = {:.2f}", μdt, μ½dt)
+	
+	# Number of resampling
+	n_boot = 1000
+	
+	bs1 = bootstrap(mean, dataset, BasicSampling(n_boot))
+	bs2 = bootstrap(median, dataset, BasicSampling(n_boot))
+	
+	cil = 0.68;
+	
+	## basic CI
+	bci1 = confint(bs1, NormalConfInt(cil))
+	bci2 = confint(bs2, NormalConfInt(cil))
+	
+	printfmtln("1σ uncertainty for the mean: {:.2f}", (bci1[1][3]-bci1[1][2])/2)
+	printfmtln("1σ uncertainty for the median: {:.2f}", (bci2[1][3]-bci2[1][2])/2)
+	
+end
+
+# ╔═╡ 5b2118eb-f0bc-43a5-ae7b-8a8133cf7f5d
+md"""
+- The uncertainty on the median is always larger than the one on the mean ($\sigma_{1/2} \approx \frac{4}{3}\sigma$).
+- However, the median is much less sensititve to outliers.
+"""
+
+# ╔═╡ 330c1d7e-c254-4501-b6b9-0409f581ea1c
+md"""
+## (Frequentist) hypothesis testing
+***
+
+- In hypothesis testing, a set of complementary hypotheses is proposed, which consists of a null hypothesis and an alternative hypothesis. 
+
+- When conducting the hypothesis testing, we choose to believe that the null hypothesis holds true. 
+    - If the observed value is likely to occur under the condition that the null hypothesis is true, then we do not reject the null hypothesis. 
+    - However, if the observed value is unlikely to occur, then we reject the null hypothesis and accept the alternative hypothesis.
+"""
+
+# ╔═╡ 6a67e4bb-8fcf-44fc-94aa-d40584baca0f
+# ╠═╡ show_logs = false
+md"""
+$(LocalResource("Pics/HT.png"))
+"""
+
+# ╔═╡ c9dd8081-ac3e-446e-9a99-5aa28d22cfc2
+md"""
+- In order to conduct hypothesis testing, we need to define a significance level. Significance level determines the level that we want to believe in the null hypothesis. 
+
+    - If we set the significance level as 0.05, then as long as the probability of the observation is higher than 5%, we do not reject the null hypothesis. 
+
+    - However, if the probability of the observation falls below 5%, we reject the null hypothesis and accept the alternative hypothesis. 
+
+- There is a tradeoff between the Type I and Type II error. Basically, a higher significance level makes it easier to reject the null hypothesis. Although in this way, a higher significance level reduces the Type II error, it also results in a higher Type I error at the same time. 
+
+- The only way to reduce both Type I and Type II error is by increasing the sample size...
+
+
+
+
+### The $\chi^2$ distribution
+***
+
+- We need to define the $\chi^2$ distribution.
+
+    - If we carry our $N$ measurements $\{x_i\}$ of a random variable $\textbf{x}$ with variance $\sigma^2 = 1$ and mean $\mu = 0$, then the sum: $\sum_{i=1}^N x_i^2$ follows the $\chi^2$ distribution with $N$ degrees of freedom.
+    
+"""
+
+# ╔═╡ c285a4b1-9327-4a79-bbb2-42ef0e22500f
+cm"""
+``\chi^2`` degrees of freedom: $( @bind chi1 PlutoUI.Slider(2:40, default=20) ) 
+"""
+
+# ╔═╡ 16f4655d-2257-496b-9726-b0e12ca545b2
+begin
+	fg6 = Figure()
+	ax1fg6 = Axis(fg6[1, 1],
+	    title = L"\chi^2"
+	)
+	
+	rngfg6 = range(start=0,stop=50,step=0.1)
+	
+	chi2Distribution = Chisq(5)
+	pdfpl = pdf(chi2Distribution,rngfg6)
+	lines!(rngfg6,pdfpl,label=L"\chi^2_5")
+	#
+	chi2Distribution = Chisq(chi1)
+	pdfpl = pdf(chi2Distribution,rngfg6)
+	lines!(rngfg6,pdfpl,label=L"χ^2_{%$chi1}")
+	
+	
+	axislegend()
+	
+	fg6
+end
+
+# ╔═╡ b384465f-b1d8-4deb-926c-76d48e4e9dda
+md"""
+- The mean of $\chi^2_N = N$, although often one works with the *reduced* $\chi^2$, i.e. $\chi^2_\nu \equiv \chi^2 / N$ that has mean value $1$.
+
+
+### Straight line fitting
+***
+
+- Let's study a few examples fitting a straigth line $y = ax + b$. $Y = \frac{y_i - (ax_i +b)}{\sigma_{y_i}} $ should be normally distributed with $\mu = 0$ and $\sigma^2 = 1$.
+
+- Hence: $\chi^2 = \sum_{i=1}^N \frac{y_i - (ax_i +b)}{\sigma_{y_i}} $ will follow a $\chi^2$ distribution with $N-2$ degrees of freedom (one estimates two free parameters from the $N$ datapoints).
+"""
+
+# ╔═╡ ef2091c7-17dd-43f9-b950-8948ab7a0d0c
+begin
+	# Lest's define a function to fit and a chi2 to minimize
+	
+	f(x;a=1,b=0) = a.*x .+ b
+	
+	χ2(prs) = sum((f(x,a=prs[1],b=prs[2]) .- y).^2 ./ σ.^2)
+	
+	
+	fg7 = Figure(size=(1000,400))
+	
+	
+	# case 1
+	x = [0.96,1.95,2.93,3.98,4.97,6.07,7.02,8.06,8.94,10.05]
+	y = [-3.99,25.48,52.17,49.88,44.745,65.00,74.76,69.23,103.26,100.37]
+	σ = [9.53,10.12,9.46,8.86,9.80,9.56,9.69,9.35,9.97,9.48]
+	
+	x0 = [10.0, 5.0]
+	res = optimize(χ2, x0)
+	
+	prs1 = Optim.minimizer(res)
+	χ21 = χ2(prs1)
+	c21 = format(χ2(prs1),precision=2)
+	c2r1 = format(χ2(prs1)/(length(x)-2),precision=2)
+	title = latexstring("\\chi^2="*c21*",\\ \\chi^2_\\nu="*c2r1)
+	
+	ax1fg7 = Axis(fg7[1, 1],
+	    title = title
+	)
+	
+	scatter!(x,y,color=:blue)
+	errorbars!(x,y,σ,color=:blue)
+	lines!(0:12,f(0:12,a=prs1[1],b=prs1[2]),color=:blue)
+	
+	xlims!(0,12)
+	ylims!(-20,120)
+	
+	
+	# case 2
+	x = [0.94,1.89,2.94,3.99,4.96,5.98,7.01,8.09,9.0,10.0]
+	y = [10.08,21.47,43.07,90.58,101.73,137.73,180.6,242.09,289.55,354.8]
+	σ = [8.57,8.9,9.75,11.88,11.19,11.05,10.83,11.09,11.66,10.92]
+	
+	x0 = [10.0, 5.0]
+	res = optimize(χ2, x0)
+	
+	prs2 = Optim.minimizer(res)
+	χ22 = χ2(prs2)
+	c22 = format(χ2(prs2),precision=2)
+	c2r2 = format(χ2(prs2)/(length(x)-2),precision=2)
+	title = latexstring("\\chi^2="*c22*",\\ \\chi^2_\\nu="*c2r2)
+	
+	ax1fg7 = Axis(fg7[1, 2],
+	    title = title
+	)
+	
+	scatter!(x,y,color=:blue)
+	errorbars!(x,y,σ,color=:blue)
+	lines!(0:12,f(0:12,a=prs2[1],b=prs2[2]),color=:blue)
+	
+	xlims!(0,12)
+	ylims!(0,400)
+	
+	
+	# case 3
+	x = [1.02,2.0,3.0,3.92,5.02,5.97,7.05,8.03,9.03,9.97]
+	y = [5.34,24.13,32.08,45.38,56.59,67.88,72.01,85.41,93.09,102.65]
+	σ = [8.93,9.87,10.14,9.65,9.7,10.13,9.59,9.7,9.39,9.63]
+	
+	x0 = [10.0, 5.0]
+	res = optimize(χ2, x0)
+	
+	prs3 = Optim.minimizer(res)
+	χ23 = χ2(prs3)
+	c23 = format(χ2(prs3),precision=2)
+	c2r3 = format(χ2(prs3)/(length(x)-2),precision=2)
+	title = latexstring("\\chi^2="*c23*",\\ \\chi^2_\\nu="*c2r3)
+	
+	ax1fg7 = Axis(fg7[1, 3],
+	    title = title
+	)
+	
+	scatter!(x,y,color=:blue)
+	errorbars!(x,y,σ,color=:blue)
+	lines!(0:12,f(0:12,a=prs3[1],b=prs3[2]),color=:blue)
+	
+	xlims!(0,12)
+	ylims!(0,120)
+	
+	
+	fg7
+end
+
+# ╔═╡ 8c0d3dec-2385-426c-9304-36299356f10b
+md"""
+- Inspecting results visually, we migght state that:
+    - **case 1** is an acceptable fit, residuals looks randomly distributed and of the "right size" (i.e. if errors are at $1\sigma$, roughly 30\% of the points should be farather than $1\sigma$ from the fit.
+    - **case 2** is clearly unaccepable. Residuals look "big" and definitely not ramndomly distributed.
+    - **case 3** shows very small residuals, but this is not a signature of a good fit. Typically, this means errors are oversestimated (or points are not statistically independent).
+    
+- We can formalize part of this visual feeling computing the probability, based on the $\chi^2$ distribution, to have residuals at least as large as, or larger, than measured. 
+    - This is just the integral of the $\chi^2$ distribution with the given degrees of freedom from the obtained $\chi^2$ value to infinite. 
+"""
+
+# ╔═╡ bd6c2b2f-8e1c-46fc-a6ff-cd3381dff002
+begin
+	# The same in all cases
+	dof = length(x)-2
+	
+	# case 1
+	p121 = Frequentist_p_value(χ21,dof)
+	    
+	# case 2
+	p222 = Frequentist_p_value(χ22,dof)
+	
+	# case 3
+	p323 = Frequentist_p_value(χ23,dof)
+	
+	println("Probability:")
+	printfmtln("\tCase 1: {:.3g}", p121)
+	printfmtln("\tCase 2: {:.3g}", p222)
+	printfmtln("\tCase 3: {:.3g}", p323)
+	
+end
+
+# ╔═╡ 1ba7dcb5-8fc3-4e49-b790-667542020d5b
+md"""
+- These results can be read saying that in **case 1** there is about 13\% probability to get residuals as large as or larger than measured. In **case 2** this probability is negligible and for **case 3** is very high. 
+
+- **Case 1**,depending on the threshold one may define, is likely an acceptable fit. **Case 2** means that the model is highly unadequate, and **case 3** means that residuals are so low to be very suspicious about the input data.
+"""
+
+# ╔═╡ fb2fa3d1-e471-4f61-849a-24cf280b7085
+md"""
+## The Kolmogorov-Smirnov (K-S) test
+***
+
+- It is a general test to determine if two datasets "differ" in a statistical sense, i.e. if they can be drawn from the same parent distribution.
+
+- It can also be used to check the concistency of a dataset with a parent distribution.
+
+- It is very general, since there is no assumption about the shape of the population.
+"""
+
+# ╔═╡ b1d712fa-2e5a-4995-9251-a2a51dac639a
+begin
+	# Let's define two datasets
+	
+	A = [9.5,11.4,16.1,8.4,9.4,7.7,10.6,5.7,7.7,10.3,12.0,5.2,8.4,11.9,7.3,12.2,8.6,10.4,10.6,8.5]
+	
+	B = [10.2,9.5,10.2,8.6,8.2,10.3,13.8,12.8,11.2,10.0,6.9,10.2,9.0,9.5,10.9,9.6,9.5,11.1,14.8,9.6]
+	
+	
+	fg8 = Figure()
+	ax1fg8 = Axis(fg8[1, 1],
+	    ylabel = "N",
+	    title = "A vs B histogram"
+	)
+	
+	hist!(A,color=(:blue,0.5),label="A",bins=10)
+	hist!(B,color=(:orange,0.5),label="B",bins=10)
+	
+	xlims!(0,20)
+	
+	axislegend()
+	
+	fg8
+end
+
+# ╔═╡ 4a9ec547-048a-434b-a369-598469fa554b
+# ╠═╡ show_logs = false
+md"""
+- So, are the two distributions consistent?
+
+- The KS compares the two cumulative distributions and measures the maximum "vertical" distance:
+
+$(LocalResource("Pics/KS.png"))
+
+- The KS test p-value measures the probability that a given distance can arise by chance.
+"""
+
+# ╔═╡ dd3b2aec-9207-4a0d-a103-6284a5c8439f
+ApproximateTwoSampleKSTest(A,B)
+
+# ╔═╡ 21bcc13f-08e8-425b-b9bc-6c1b2b358f56
+md"""
+- And we cannot reject the hypothesis that the two datasets are drawn from the same distribution.
+"""
+
+# ╔═╡ d7685e51-6e8d-4b44-a7ab-de107de115d3
+md"""
+## Reference & Material
+***
+
+Material and papers related to the topics discussed in this lecture.
+
+- [E. Feigelson & G.J. Babu - "Modern Statistical Methods for Astronomy”](https://www.cambridge.org/core/books/modern-statistical-methods-for-astronomy/941AE392A553D68DD7B02491BB66DDEC)
+"""
+
+# ╔═╡ 4d5143ca-835d-4cf6-80a6-2d242812ef9d
+md"""
+### Credits
+***
+
+This notebook contains material obtained by [https://towardsdatascience.com/fundamental-statistics-7770376593b and https://dk81.github.io/dkmathstats_site/prob-inverse-cdf.html#:~:text=The%20Inverse%20CDF%20Method%20allows,x%E2%88%92ab%E2%88%92a.](https://towardsdatascience.com/fundamental-statistics-7770376593b and https://dk81.github.io/dkmathstats_site/prob-inverse-cdf.html#:~:text=The%20Inverse%20CDF%20Method%20allows,x%E2%88%92ab%E2%88%92a.)
+"""
+
+# ╔═╡ 7d3b307c-9404-4f8f-9f2d-3fe2199bdad3
+cm"""
+## Course Flow
+***
+
+<table>
+  <tr>
+    <td>Previous lecture</td>
+    <td>Next lecture</td>
+  </tr>
+  <tr>
+      <td><a href="./open?path=Lectures/Lecture - Introduction/Lecture-Introduction.jl">Introduction</a></td>
+    <td><a href="./open?path=Lectures/Lecture - Statistics Reminder/Lecture-BayesianReminder.jl">Reminder of Bayesian statistics</a></td>
+  </tr>
+ </table>
+
+
+"""
+
+# ╔═╡ f2380288-5372-4199-93f5-5582878681cc
+md"""
+**Copyright**
+
+This notebook is provided as [Open Educational Resource](https://en.wikipedia.org/wiki/Open_educational_resources). Feel free to use the notebook for your own purposes. The text is licensed under [Creative Commons Attribution 4.0](https://creativecommons.org/licenses/by/4.0/), the code of the examples, unless obtained from other properly quoted sources, under the [MIT license](https://opensource.org/licenses/MIT). Please attribute the work as follows: *Stefano Covino, Time Domain Astrophysics - Lecture notes featuring computational examples, 2025*.
+"""
+
+# ╔═╡ Cell order:
+# ╟─b95f212e-a904-425b-ab72-3a2a62a36051
+# ╟─cb5178e4-ca00-4d0a-8ae2-abc8aba79edc
+# ╠═d1d6c1fa-d6f2-4ab5-9387-57d141b81fe3
+# ╠═90fa08da-6fb6-4a7a-ab84-82db43589cf6
+# ╠═c97d6e21-0c4c-4d79-8193-abc8e3001d0c
+# ╟─782247c0-5683-45be-83dc-c640fc5af519
+# ╟─7609a27d-dcaf-400a-b07a-b2ce79d46546
+# ╟─2bcfe923-1fa1-4faa-96a4-4493ab10f607
+# ╟─c3183c6f-74bb-4ad6-9e9c-3c4f3505a472
+# ╟─aec2e7b5-d07b-4246-82bb-f1b6867261fe
+# ╟─ee09bcaa-e455-44b6-9d77-26e73e3942e3
+# ╟─8d7236e1-452c-4623-a6dd-756c5eb53f5d
+# ╟─b9462e27-1bc9-4d92-ac01-efb604fe8eff
+# ╟─5f6217f3-7c8b-4feb-8150-af67660fe6a4
+# ╟─85b2cb68-9d2b-484a-b979-0b81de743178
+# ╟─f3af6e72-7146-4eea-951f-37ee2f08cbff
+# ╟─fbdfc6c9-dee0-43f2-8c50-a11ff74eafe6
+# ╟─6a4cba4f-bf8a-497e-98ae-8b32503dc983
+# ╟─3b6a9f06-7bca-4745-8cce-c878462fd943
+# ╟─3879ebfd-2c2c-4339-bca4-4a8f09a7d10d
+# ╟─5ada7105-3a68-48a6-a559-a136e76584a8
+# ╟─273d70f2-6db2-42a9-bbc6-76c94d2d7f11
+# ╟─b18909e0-205e-40ad-ab87-7985d986cb9d
+# ╟─88012fd0-476a-46eb-9375-202ceccfc953
+# ╠═abac4c88-2feb-463d-9bf3-48c56029548c
+# ╟─6f8f4451-e403-4f22-a10b-64684a790fac
+# ╟─4ca1d27b-6d94-4786-a429-40008570f48a
+# ╟─6870814c-7eda-419a-86bc-bc8b4335b683
+# ╟─1e8ca5b8-a7d3-40f4-8683-d7a286f03ce5
+# ╟─c33a250d-c60a-4608-b74b-816a9770964a
+# ╟─6d7daebf-9ec3-462e-bafc-17e3d36201ec
+# ╠═8359d0d5-28cd-4afc-84e9-711b1da84d1f
+# ╟─3e195d76-4ce2-4cc7-9106-fe0e7f728ed8
+# ╟─878d2155-a4fe-4b51-9417-879aa259b52f
+# ╠═468e8a03-a11d-48ee-9699-1d10004363d2
+# ╟─da6b95d4-a640-483e-936a-45a8aee4f4cb
+# ╠═f68bc201-d4d6-45a3-8ead-bf767276f657
+# ╠═b0ecbb26-0822-4c56-8eaa-605f8f6cd59e
+# ╟─1a80b7ea-4515-44c4-9476-ba9b6eac30c5
+# ╟─b3163979-4422-4c47-b0f5-049c091ce2da
+# ╟─ea34b5a9-0937-4cbc-9afd-79055556e640
+# ╟─2c20004a-4929-401e-b653-23b471d9a487
+# ╟─657c620c-b79f-4fb2-b78e-84c328d2e8ed
+# ╟─dd1f7837-f591-4b45-951e-8d1eb2664c8c
+# ╟─47347aea-bcd9-4329-89e0-0c2020df16fc
+# ╟─ed6701f4-9656-4f07-84c6-8e634cecea98
+# ╟─03744ccd-7a2b-41e7-a10f-ee1b9c0013c9
+# ╟─8dc68c2e-d1f0-475a-9c7f-d06210d09943
+# ╟─823f9f4c-0c19-40b6-bab0-4b5832d15a6d
+# ╠═ea9d2ebc-67b3-4945-b8ba-7598e5073b17
+# ╟─4bdf78e5-9c93-4727-b662-483ca9d2012a
+# ╟─1ac335ee-257a-40b3-8357-33466b1b1cbc
+# ╟─73b91ae5-e2ec-45c8-be23-7aed9a9e8b15
+# ╟─5c946d0d-81f8-43f3-a0ab-196ea9423021
+# ╠═813ab26f-b80e-4fc2-8d95-357ccac051ed
+# ╠═6cdb0484-7ffc-41e3-8332-b5486ed5bd18
+# ╟─f8c8b403-0684-4263-8aba-3e2f9c99f37a
+# ╟─adec1076-9584-4620-b76b-95cc61d05ed2
+# ╟─680e6fe2-6bb6-4cae-8289-f634b9a8618e
+# ╠═fcfedd22-8c34-40ba-9507-ac6508b35250
+# ╟─5b2118eb-f0bc-43a5-ae7b-8a8133cf7f5d
+# ╟─330c1d7e-c254-4501-b6b9-0409f581ea1c
+# ╟─6a67e4bb-8fcf-44fc-94aa-d40584baca0f
+# ╟─c9dd8081-ac3e-446e-9a99-5aa28d22cfc2
+# ╟─c285a4b1-9327-4a79-bbb2-42ef0e22500f
+# ╠═16f4655d-2257-496b-9726-b0e12ca545b2
+# ╟─b384465f-b1d8-4deb-926c-76d48e4e9dda
+# ╠═ef2091c7-17dd-43f9-b950-8948ab7a0d0c
+# ╟─8c0d3dec-2385-426c-9304-36299356f10b
+# ╠═bd6c2b2f-8e1c-46fc-a6ff-cd3381dff002
+# ╟─1ba7dcb5-8fc3-4e49-b790-667542020d5b
+# ╟─fb2fa3d1-e471-4f61-849a-24cf280b7085
+# ╠═b1d712fa-2e5a-4995-9251-a2a51dac639a
+# ╟─4a9ec547-048a-434b-a369-598469fa554b
+# ╠═dd3b2aec-9207-4a0d-a103-6284a5c8439f
+# ╟─21bcc13f-08e8-425b-b9bc-6c1b2b358f56
+# ╟─d7685e51-6e8d-4b44-a7ab-de107de115d3
+# ╟─4d5143ca-835d-4cf6-80a6-2d242812ef9d
+# ╟─7d3b307c-9404-4f8f-9f2d-3fe2199bdad3
+# ╟─f2380288-5372-4199-93f5-5582878681cc
diff --git a/Lectures/Lecture - Statistics Reminder/Manifest.toml b/Lectures/Lecture - Statistics Reminder/Manifest.toml
index a8fa203a966d317833a3d8595a5abcb23930d637..bd50d1784e22387438d852124024a8273079be17 100644
--- a/Lectures/Lecture - Statistics Reminder/Manifest.toml	
+++ b/Lectures/Lecture - Statistics Reminder/Manifest.toml	
@@ -2,7 +2,7 @@
 
 julia_version = "1.11.3"
 manifest_format = "2.0"
-project_hash = "ebeec4ef0b268375fcb43f6f831262f0c0be00c5"
+project_hash = "68396823af875ea6c188d5baa2355aae2e8338db"
 
 [[deps.ADTypes]]
 git-tree-sha1 = "fb97701c117c8162e84dfcf80215caa904aef44f"
@@ -430,25 +430,21 @@ version = "0.4.1"
 
 [[deps.ColorSchemes]]
 deps = ["ColorTypes", "ColorVectorSpace", "Colors", "FixedPointNumbers", "PrecompileTools", "Random"]
-git-tree-sha1 = "26ec26c98ae1453c692efded2b17e15125a5bea1"
+git-tree-sha1 = "403f2d8e209681fcbd9468a8514efff3ea08452e"
 uuid = "35d6a980-a343-548e-a6ea-1d62b119f2f4"
-version = "3.28.0"
+version = "3.29.0"
 
 [[deps.ColorTypes]]
 deps = ["FixedPointNumbers", "Random"]
-git-tree-sha1 = "c7acce7a7e1078a20a285211dd73cd3941a871d6"
+git-tree-sha1 = "b10d0b65641d57b8b4d5e234446582de5047050d"
 uuid = "3da002f7-5984-5a60-b8a6-cbb66c0b333f"
-version = "0.12.0"
-weakdeps = ["StyledStrings"]
-
-    [deps.ColorTypes.extensions]
-    StyledStringsExt = "StyledStrings"
+version = "0.11.5"
 
 [[deps.ColorVectorSpace]]
 deps = ["ColorTypes", "FixedPointNumbers", "LinearAlgebra", "Requires", "Statistics", "TensorCore"]
-git-tree-sha1 = "8b3b6f87ce8f65a2b4f857528fd8d70086cd72b1"
+git-tree-sha1 = "a1f44953f2382ebb937d60dafbe2deea4bd23249"
 uuid = "c3611d14-8923-5661-9e6a-0046d554d3a4"
-version = "0.11.0"
+version = "0.10.0"
 weakdeps = ["SpecialFunctions"]
 
     [deps.ColorVectorSpace.extensions]
@@ -465,6 +461,12 @@ git-tree-sha1 = "08c8b6831dc00bfea825826be0bc8336fc369860"
 uuid = "861a8166-3701-5b0c-9a16-15d98fcdc6aa"
 version = "1.0.2"
 
+[[deps.CommonMark]]
+deps = ["Crayons", "PrecompileTools"]
+git-tree-sha1 = "3faae67b8899797592335832fccf4b3c80bb04fa"
+uuid = "a80b9123-70ca-4bc0-993e-6e3bcb318db6"
+version = "0.8.15"
+
 [[deps.CommonSolve]]
 git-tree-sha1 = "0eee5eb66b1cf62cd6ad1b460238e60e4b09400c"
 uuid = "38540f10-b2f7-11e9-35d8-d573e4eb0ff2"
@@ -984,15 +986,15 @@ version = "0.2.0"
 
 [[deps.GR]]
 deps = ["Artifacts", "Base64", "DelimitedFiles", "Downloads", "GR_jll", "HTTP", "JSON", "Libdl", "LinearAlgebra", "Preferences", "Printf", "Qt6Wayland_jll", "Random", "Serialization", "Sockets", "TOML", "Tar", "Test", "p7zip_jll"]
-git-tree-sha1 = "9bf00ba4c45867c86251a7fd4cb646dcbeb41bf0"
+git-tree-sha1 = "0ff136326605f8e06e9bcf085a356ab312eef18a"
 uuid = "28b8d3ca-fb5f-59d9-8090-bfdbd6d07a71"
-version = "0.73.12"
+version = "0.73.13"
 
 [[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 = "36d5430819123553bf31dfdceb3653ca7d9e62d7"
+git-tree-sha1 = "9cb62849057df859575fc1dda1e91b82f8609709"
 uuid = "d2c73de3-f751-5644-a686-071e5b155ba9"
-version = "0.73.12+0"
+version = "0.73.13+0"
 
 [[deps.GeoFormatTypes]]
 git-tree-sha1 = "8e233d5167e63d708d41f87597433f59a0f213fe"
@@ -1084,9 +1086,9 @@ version = "0.3.27"
 
 [[deps.Hyperscript]]
 deps = ["Test"]
-git-tree-sha1 = "8d511d5b81240fc8e6802386302675bdf47737b9"
+git-tree-sha1 = "179267cfa5e712760cd43dcae385d7ea90cc25a4"
 uuid = "47d2ed2b-36de-50cf-bf87-49c2cf4b8b91"
-version = "0.0.4"
+version = "0.0.5"
 
 [[deps.HypertextLiteral]]
 deps = ["Tricks"]
@@ -1558,6 +1560,11 @@ git-tree-sha1 = "a586f05dd16a50c490ed95415b2a829b8cf5d57f"
 uuid = "be115224-59cd-429b-ad48-344e309966f0"
 version = "0.3.14"
 
+[[deps.MIMEs]]
+git-tree-sha1 = "1833212fd6f580c20d4291da9c1b4e8a655b128e"
+uuid = "6c6e2e6c-3030-632d-7369-2d6c69616d65"
+version = "1.0.0"
+
 [[deps.MKL_jll]]
 deps = ["Artifacts", "IntelOpenMP_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "oneTBB_jll"]
 git-tree-sha1 = "5de60bc6cb3899cd318d80d627560fae2e2d99ae"
@@ -1920,9 +1927,9 @@ version = "3.0.1"
 
 [[deps.Pango_jll]]
 deps = ["Artifacts", "Cairo_jll", "Fontconfig_jll", "FreeType2_jll", "FriBidi_jll", "Glib_jll", "HarfBuzz_jll", "JLLWrappers", "Libdl"]
-git-tree-sha1 = "ed6834e95bd326c52d5675b4181386dfbe885afb"
+git-tree-sha1 = "3b31172c032a1def20c98dae3f2cdc9d10e3b561"
 uuid = "36c8627f-9965-5494-a995-c6b170f724f3"
-version = "1.55.5+0"
+version = "1.56.1+0"
 
 [[deps.Parameters]]
 deps = ["OrderedCollections", "UnPack"]
@@ -1995,10 +2002,10 @@ version = "1.40.9"
     Unitful = "1986cc42-f94f-5a68-af5c-568840ba703d"
 
 [[deps.PlutoUI]]
-deps = ["AbstractPlutoDingetjes", "Base64", "Dates", "Hyperscript", "HypertextLiteral", "IOCapture", "InteractiveUtils", "JSON", "Logging", "Markdown", "Random", "Reexport", "UUIDs"]
-git-tree-sha1 = "5152abbdab6488d5eec6a01029ca6697dff4ec8f"
+deps = ["AbstractPlutoDingetjes", "Base64", "ColorTypes", "Dates", "FixedPointNumbers", "Hyperscript", "HypertextLiteral", "IOCapture", "InteractiveUtils", "JSON", "Logging", "MIMEs", "Markdown", "Random", "Reexport", "URIs", "UUIDs"]
+git-tree-sha1 = "7e71a55b87222942f0f9337be62e26b1f103d3e4"
 uuid = "7f904dfe-b85e-4ff6-b463-dae2292396a8"
-version = "0.7.23"
+version = "0.7.61"
 
 [[deps.PolygonOps]]
 git-tree-sha1 = "77b3d3605fc1cd0b42d95eba87dfcd2bf67d5ff6"
@@ -2007,9 +2014,9 @@ version = "0.1.2"
 
 [[deps.Polynomials]]
 deps = ["LinearAlgebra", "OrderedCollections", "RecipesBase", "Requires", "Setfield", "SparseArrays"]
-git-tree-sha1 = "5f6847271627572213a6b419456ffccef4c6729b"
+git-tree-sha1 = "0973615c3239b1b0d173b77befdada6deb5aa9d8"
 uuid = "f27b6e38-b328-58d1-80ce-0feddd5e7a45"
-version = "4.0.16"
+version = "4.0.17"
 
     [deps.Polynomials.extensions]
     PolynomialsChainRulesCoreExt = "ChainRulesCore"
@@ -2284,9 +2291,9 @@ version = "0.1.1"
 
 [[deps.SciMLBase]]
 deps = ["ADTypes", "Accessors", "ArrayInterface", "CommonSolve", "ConstructionBase", "Distributed", "DocStringExtensions", "EnumX", "Expronicon", "FunctionWrappersWrappers", "IteratorInterfaceExtensions", "LinearAlgebra", "Logging", "Markdown", "PrecompileTools", "Preferences", "Printf", "RecipesBase", "RecursiveArrayTools", "Reexport", "RuntimeGeneratedFunctions", "SciMLOperators", "SciMLStructures", "StaticArraysCore", "Statistics", "SymbolicIndexingInterface"]
-git-tree-sha1 = "70243d458e69c82d3b928196c9feddb9af857c13"
+git-tree-sha1 = "ffed2507209da5b42c6881944ef41a340ab5449b"
 uuid = "0bca4576-84f4-4d90-8ffe-ffa030f20462"
-version = "2.73.0"
+version = "2.74.1"
 
     [deps.SciMLBase.extensions]
     SciMLBaseChainRulesCoreExt = "ChainRulesCore"
@@ -2444,9 +2451,9 @@ version = "0.1.2"
 
 [[deps.SparseMatrixColorings]]
 deps = ["ADTypes", "DataStructures", "DocStringExtensions", "LinearAlgebra", "Random", "SparseArrays"]
-git-tree-sha1 = "45b5ef11e75839e174d5728fd1e73597e7593634"
+git-tree-sha1 = "97092c0a40d6033b7da27ea15bcf75fd5b446254"
 uuid = "0a514795-09f3-496d-8182-132a7b665d35"
-version = "0.4.12"
+version = "0.4.13"
 weakdeps = ["Colors"]
 
     [deps.SparseMatrixColorings.extensions]
@@ -3073,9 +3080,9 @@ version = "1.59.0+0"
 
 [[deps.oneTBB_jll]]
 deps = ["Artifacts", "JLLWrappers", "Libdl"]
-git-tree-sha1 = "7d0ea0f4895ef2f5cb83645fa689e52cb55cf493"
+git-tree-sha1 = "d5a767a3bb77135a99e433afe0eb14cd7f6914c3"
 uuid = "1317d2d5-d96f-522e-a858-c73665f53c3e"
-version = "2021.12.0+0"
+version = "2022.0.0+0"
 
 [[deps.p7zip_jll]]
 deps = ["Artifacts", "Libdl"]
diff --git a/Lectures/Lecture - Statistics Reminder/Project.toml b/Lectures/Lecture - Statistics Reminder/Project.toml
index 245ba2d567123408d837d7e2860891783b91beff..3ac2e86ffd64c2940485aa4b147cfb66f652cc9b 100644
--- a/Lectures/Lecture - Statistics Reminder/Project.toml	
+++ b/Lectures/Lecture - Statistics Reminder/Project.toml	
@@ -1,6 +1,7 @@
 [deps]
 Bootstrap = "e28b5b4c-05e8-5b66-bc03-6f0c0a0a06e0"
 CairoMakie = "13f3f980-e62b-5c42-98c6-ff1f3baf88f0"
+CommonMark = "a80b9123-70ca-4bc0-993e-6e3bcb318db6"
 DSP = "717857b8-e6f2-59f4-9121-6e50c889abd2"
 DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0"
 Distributions = "31c24e10-a181-5473-b8eb-7969acd0382f"
@@ -8,10 +9,12 @@ FITSIO = "525bcba6-941b-5504-bd06-fd0dc1a4d2eb"
 Format = "1fa38f19-a742-5d3f-a2b9-30dd87b9d5f8"
 HypothesisTests = "09f84164-cd44-5f33-b23f-e6b0d136a0d5"
 LaTeXStrings = "b964fa9f-0449-5b57-a5c2-d3ea65f4040f"
+Latexify = "23fbe1c1-3f47-55db-b15f-69d7ec21a316"
 Optim = "429524aa-4258-5aef-a3af-852621145aeb"
 PValue = "4aad55e6-3783-49d8-8c0b-540e9d18c8e0"
 PairPlots = "43a3c2be-4208-490b-832a-a21dcd55d7da"
 PlutoUI = "7f904dfe-b85e-4ff6-b463-dae2292396a8"
 Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
 StatsPlots = "f3b207a7-027a-5e70-b257-86293d7955fd"
+Tables = "bd369af6-aec1-5ad0-b16a-f7cc5008161c"
 Turing = "fce5fe82-541a-59a6-adf8-730c64b5f9a0"
diff --git a/README.md b/README.md
index 91d0d98df87fb12c9920e0a63af5a7ed59645bdf..5c1a144d616798e84667b59dc16e3a33fae8f8bc 100644
--- a/README.md
+++ b/README.md
@@ -2,4 +2,4 @@
 
 This is a repository with material (notebooks, papers, etc.) for the **Time Domain Astrophysics** course delivered at the *Università dell'Insubria* by Stefano Covino. 
 
-*Last update: 12 February 2025.*
+*Last update: 17 February 2025.*