### A Pluto.jl notebook ### # v0.17.1 using Markdown using InteractiveUtils # ╔═╡ 26e90fe6-2830-11eb-0508-0b5fd54044bb using LinearAlgebra # ╔═╡ ea552028-2830-11eb-2325-ed2ec90c5047 using Plots # ╔═╡ 83591ae2-288e-11eb-3a40-15c08e45eec5 using Distributions # ╔═╡ 89b11a6a-288a-11eb-0e17-a9cf6cc6d234 md"# Notebook 14 -- Math 2121, Fall 2021 In this notebook we will explore the eigenvalues of a random orthogonal matrix. An **orthogonal matrix** is a square matrix $Q$ with the following equivalent properties: * The columns of $Q$ are orthonormal. * It holds that $QQ^T = Q^TQ = I_n$ when $Q$ is $n\times n$. * The matrix $Q$ is invertible with $Q^{-1} = Q^T$. Suppose $Q$ is an $n\times n$ orthogonal matrix and $Q_{ij}$ is the entry in position $(i,j)$ of $Q$. Then the property $Q^TQ = I_n$ implies that $\sum_{i=1}^n (Q_{ij})^2 = 1$ for each $j=1,2,\dots,n$. Therefore all entries of $Q$ must be real numbers in the interval $[-1,1]$. In other words, the set of all $n\times n$ orthogonal matrices, within the set of $n\times n$ matrices, is a region of finite volume. In fact, this volume is at most $2^{n^2}$. If you have a region of space of finite volume, you can try to sample points from that region uniformly at random. That is, you can randomly select points from the region in such a way that no point is more likely to be selected than any other. In particular, it makes sense to talk about a uniformly random element of the set of $n \times n$ orthogonal matrices. But how, practically, can we generate this sort of random matrix? " # ╔═╡ 1a7b9690-288d-11eb-13c9-ed2a17b1b433 md"Julia makes it easy to generate matrices whose individual entries are chosen uniformly at random from some interval. The following generates a 4-by-4 matrix each of whose entries is drawn uniformly at random from the interval $[0,1]$:" # ╔═╡ 401bb254-288d-11eb-163b-7507baef2bdc M = rand(4, 4) # ╔═╡ 46e133de-288d-11eb-34f1-358919f7612f md"With high probability this random matrix is invertible. However, it is not typically orthogonal." # ╔═╡ 80e85b34-288d-11eb-1b53-8b9635e0bdc6 det(M) # will be nonzero if M is invertible # ╔═╡ 8b485ff2-288d-11eb-0089-b5c81a2c1473 norm(M * transpose(M) - I) # will be zero if M is orthogonal # ╔═╡ 7253239d-8eb7-4c41-883e-bad7ec813aef md"There is a simple algorithm to generate uniformly random orthogonal matrices using the **Gram Schmidt process** that we introduced in class. Here is some code to perform the Gram Schmidt process:" # ╔═╡ 2b917696-2830-11eb-0944-f175a696c4bd function gram_schmidt_process(A; normalize=false) # performs Gram Schmidt process on columns of matrix A # the columns of the returned matrix Q are the outputs of this process m = size(A, 1) n = size(A, 2) Q = zeros(m, n) for j=1:n v = A[1:m, j] x = A[1:m, j] for i = 1:j - 1 u = Q[1:m, i] x -= dot(u, v) * u / dot(u, u) end Q[1:m, j] = normalize ? x / norm(x) : x end return Q end # ╔═╡ 35ac470f-7eb0-4694-bc30-551ed6d0692c # vectors we saw in lecture x1, x2, x3 = [1; 1; 1; 1], [0; 1; 1; 1;], [0; 0; 1; 1] # ╔═╡ 6ae6f050-d5bd-48f3-8dce-225783cbbb81 [x1 x2 x3] # ╔═╡ 7f3a4122-a37b-47fe-97ed-97802d730604 # Gram Schmidt calculation we saw in lecture gram_schmidt_process([x1 x2 x3]) # ╔═╡ 91b739af-f417-4c82-871b-1d0fdab30a78 # same calculation but with ouput vectors scaled to unit length gram_schmidt_process([x1 x2 x3]; normalize=true) # ╔═╡ a76bc106-288d-11eb-0c15-69ac722da50e md"Here is how we can use the Gram Schmidt process to produce random orthogonal matrices: * First generate a random $n\times n$ matrix $A$ with entries sampled independently from what's called the **standard normal distribution**. * Do Gram Schmidt process on columns of $A$, normalizing output vectors to have unit length. * Use these orthonormal vectors as the columns of a matrix $Q$. The matrix $Q$ generated in this way will be orthogonal, and uniformly distributed over all $n\times n$ orthogonal matrices. " # ╔═╡ 6bfa0bfe-2893-11eb-082d-45e1e41307a4 md"Short digression: the **standard normal distribution** is a probability distribution that governs many natural processes (like scores on exams). If you sample many random numbers from the standard normal distribution, the histogram you'll get looks like the following plot:" # ╔═╡ c36d2470-288e-11eb-203b-35888c20982a begin samples = rand(Normal(0, 1), 100000, 1) q1 = histogram(samples, normalize = :pdf, legend=false, title="Histogram for standard normal distribution") pdf = x -> exp(-x^2/2) / sqrt(2 * pi) q2 = plot(pdf, legend=false, title="Density function for standard normal distribution") plot(q1, q2, layout=(2,1)) end # ╔═╡ bb0814af-fb53-48fe-a6f1-806837d0341c md"Here is an intuitive description of this probability distribution: * Suppose some students are taking an exam with $q$ different True/False questions. * On each question, a student has equal chances of answering correctly or incorrectly. * Students receive $+\frac{1}{\sqrt q}$ points for a correct answer and $-\frac{1}{\sqrt q}$ points for an incorrect answer. On this exam, it is possible to receive a total score as low as $-\sqrt q$ or as high as $+\sqrt q$. The **standard normal distribution** is the probability distribution that describes the random scores on this exam when the number of questions $q$ is very large." # ╔═╡ befe2e36-bd06-4f2f-bf89-0a6d8ffb8eb1 questions, students = 10000, 30000 # ╔═╡ 3d9c77f0-7dd1-4e24-b701-b87c75c6aab4 md"To observe this empirically, we can simulate the scores for $(students) students on a $(questions) question exam." # ╔═╡ b9ca1f18-82a1-485c-81d5-6b8aaf0a7fd6 begin points = rand([-1, 1], students, questions) scores = sum(points, dims=2) / sqrt(questions) end # ╔═╡ 7a23c4af-f366-47c3-a58f-6fb9c5d5a0a0 md"Now we compare the histogram of scores to a histogram of $(students) samples of the standard normal distribution (computed using a Julia library function). These plots should look almost the same if our parameters are large enough." # ╔═╡ e77aa902-2de6-4bc2-9112-31e67adfcca3 begin h1 = histogram( scores, legend=false, normalize=:pdf, xlim=(-4,4), title="Histogram of $(students) scores on a $(questions) question exam") h2 = histogram( rand(Normal(0, 1), students, 1), normalize=:pdf, legend=false, xlim=(-4,4), title="Histogram of $(students) standard normal samples") h3 = plot( x -> exp(-x^2/2) / sqrt(2 * pi), legend=false, xlim=(-4,4), title="Standard normal density function") plot(h1, h2, h3, layout=(3,1), size=(680, 560)) end # ╔═╡ b218646f-be49-4efa-a0d2-b487bf034cb2 md"Back to matrices. We can implement our algorithm to generate a random orthogonal matrixin in one line of code. First let's choose a size for the output." # ╔═╡ 6ac28d68-2831-11eb-252f-f5a604f64adc n = 100 # ╔═╡ e01b7206-2894-11eb-3de2-7f4933007cc8 md"Here is what we get by applying our algorithm to generate a random $(n) by $(n) orthogonal matrix:" # ╔═╡ 706ff064-2830-11eb-17e4-c549c469b1b0 Q = gram_schmidt_process(rand(Normal(0, 1), n, n); normalize=true); # ╔═╡ dabfef1c-2894-11eb-2838-c7f8a4672d01 Q # ╔═╡ f16184cc-28a0-11eb-3efa-81a3e16f2f43 norm(transpose(Q) * Q - I) # will be small if Q is orthogonal as desired # ╔═╡ 1465c566-6bd4-4afa-b5e6-4e5aa1357405 md"The eigenvalues of $Q$ consist of $(n) complex numbers. Here is what these looks like:" # ╔═╡ a29aff8b-18fe-4bb5-b732-e259b444c2ef begin function plot_complex_numbers(numbers, title) # creates scatter plot of some complex numbers, also drawing unit circle scatter(numbers, aspect_ratio=:equal, legend=false, title=title, size=(680, 560)) end plot_complex_numbers(eigen(Q).values, "Eigenvalues of random $(n)-by-$(n) orthogonal matrix") end # ╔═╡ dfa07863-eae5-47a0-b081-b01f8a374c7b md"Some special features of these eigenvalues are immediately apparent. Specifically, **all eigenvalues of our orthogonal matrix are complex numbers of unit length.** The picture of the eigenvalues of a random matrix (that has not been made orthogonal by performing the Gram-Schmidt process on its columns) looks much different:" # ╔═╡ e0a1f62a-a0df-42f6-b90d-65207a84c56d plot_complex_numbers(eigen(rand(Normal(0, 1), n, n)).values, "Eigenvalues of random $(n)-by-$(n) not-orthogonal matrix") # ╔═╡ f1b2020a-2894-11eb-0d9f-49c96af12624 md"Recall that if $z = a + bi \in \mathbb{C}$ then $|z| = \sqrt{a^2 + b^2}$. Here is a proof that **all eigenvalues $\lambda$ for $Q$ are complex numbers with $|\lambda| = 1$.** Suppose $Q v = \lambda v$ for $0\neq v \in \mathbb{C}^n$. Then $Q\overline v = \overline\lambda \overline v$ and $Q^{-1} \overline{v} = (1/\overline\lambda) \overline{v}$. We therefore have $\overline{v}^T Q v= \overline{v}^T (Q v) = \overline{v}^T (\lambda v) = \lambda \overline{v}^Tv = \lambda \|v\|^2$ while at the same time $\overline{v}^T Q v = (Q^T \overline{v})^T v = (Q^{-1} \overline{v})^T v = ((1/\overline{\lambda}) \overline{v})^T v = \|v\|^2/\overline{\lambda}.$ Since $\|v\|^2$ is a nonzero real number, it follows that $\lambda = 1/\overline{\lambda}$ so $|\lambda|^2 = \lambda\overline{\lambda} = 1$ and $|\lambda|= 1$." # ╔═╡ 2db5d214-4f5b-4e4f-9f45-f8d657204ea1 # ╔═╡ 32086f6f-b993-4a17-bcef-d50af67c9880 md"Let's consider again the plot of the eigenvalues of a random orthogonal matrix:" # ╔═╡ 798011f0-2830-11eb-140b-efd5bcd6fe48 begin another_Q = gram_schmidt_process(rand(Normal(0, 1), n, n); normalize=true) eig = eigen(another_Q).values; plot_complex_numbers(eig, "Eigenvalues of random $(n)-by-$(n) orthogonal matrix") end # ╔═╡ 14e04610-2895-11eb-2c23-9d102b0ddd3e md"The eigenvalues are somehow randomly distributed on the unit circle $\{ z \in \mathbb{C} : |z| = 1\}.$ What random process generates these values? Another way to generate random points on the unit circle is to independently pick the points uniformly at random each time. If we do this, the resulting set of points looks like this:" # ╔═╡ 1e215c1e-2831-11eb-1a4e-d355ac6dda4c begin random = [exp(2 * pi * rand() * im) for i=1:n] plot_complex_numbers(random, "$(n) random complex numbers of unit length") end # ╔═╡ 3b0447ca-28a3-11eb-1752-97ec1f5acd05 md"There is something qualitatively different between these two different distributions of unit length complex numbers: * For eigenvalues of a random orthogonal matrix, the points are more evenly spaced. * For $(n) points chosen independently at random, more gaps and clusters tend to occur. Can make this distinction more quantitative?" # ╔═╡ d30d9bfa-2832-11eb-0991-05d2c8134a06 function angle(z) # given a complex number z = a + bi, returns the angle between 0.0 and 2 * pi # that the vector [a; b] makes with the positive x-axis return atan(real(z), imag(z)) end # ╔═╡ 185a9720-2834-11eb-304e-7d42f1d24ead function sorted_angles(zlist) # given a list of complex numbers, computes their angles and sorts result ans = sort([angle(v) for v=zlist]) # returned list is shifted to start with 0.0 return ans .- ans[1] end # ╔═╡ c2f88cb8-28a3-11eb-27ec-17b48740d35a md"The following plots show that if we arrange the eigenvalues of a random orthogonal matrix in order going counterclockwise, we obtain $(n) almost perfectly evenly spaced points on the unit circle. We do not see such even spacing for $(n) independently chosen random points, arranged in order." # ╔═╡ 44ebafcc-2834-11eb-3e0a-0d681501ac40 begin p1 = plot(sorted_angles(eig), legend=false, title="Sorted angles of eigenvalues") p2 = plot(sorted_angles(random), legend=false, title="Sorted angles of random") plot(p1, p2, layout=(1, 2), size=(680, 560)) end # ╔═╡ f247e84a-2832-11eb-050b-a7af93a57373 function sorted_fluctuations(z) n = length(z) sorted_angles(z) - [2 * pi * v / n for v=0:n - 1] end # ╔═╡ 3af98c06-2833-11eb-26f9-b327c8e98169 function compare_sorted_angles(eig, random) n = length(eig) plot(title="Sorted angles of complex numbers versus y = 2πx/$n") m = maximum(abs.(sorted_fluctuations(random))) + 0.1 plot!( sorted_fluctuations(eig), label="Using eigenvalues of random $(n)-by-$(n) orthogonal matrix", ylim=(-m, m) ) plot!( sorted_fluctuations(random), label="Using $(n) random complex numbers of unit length", legend=:bottomleft, size=(680, 560) ) end # ╔═╡ 5c61ae82-d2d0-4e1c-99cd-fa69fb025a23 compare_sorted_angles(eig, random) # ╔═╡ da041478-aff5-4ad2-a772-12d749702a42 md"The effect is more dramatic for larger matrices." # ╔═╡ 0ddd7d37-377a-4178-ae20-273dab26d33b begin p = 500 bigger_Q = gram_schmidt_process(rand(Normal(0, 1), p, p); normalize=true); bigger_eig = eigen(bigger_Q).values bigger_random = [exp(2 * pi * rand() * im) for i=1:p]; compare_sorted_angles(bigger_eig, bigger_random) end # ╔═╡ 0b2938ac-28a4-11eb-1c95-4bd28e7e23e8 md"What this means practically is that if $n$ is large enough and you select an $n\times n$ orthogonal matrix uniformly at random, and then you choose one of its $n$ eigenvalues $\lambda$ at random, the resulting complex number $\lambda$ will be uniformly distributed in the unit circle $\{ z \in \mathbb{C} : |z| = 1\}$." # ╔═╡ 00000000-0000-0000-0000-000000000001 PLUTO_PROJECT_TOML_CONTENTS = """ [deps] Distributions = "31c24e10-a181-5473-b8eb-7969acd0382f" LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80" [compat] Distributions = "~0.25.28" Plots = "~1.23.6" """ # ╔═╡ 00000000-0000-0000-0000-000000000002 PLUTO_MANIFEST_TOML_CONTENTS = """ # This file is machine-generated - editing it directly is not advised [[Adapt]] deps = ["LinearAlgebra"] git-tree-sha1 = "84918055d15b3114ede17ac6a7182f68870c16f7" uuid = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" version = "3.3.1" [[ArgTools]] uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f" [[Artifacts]] uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33" [[Base64]] uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" [[Bzip2_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] git-tree-sha1 = "19a35467a82e236ff51bc17a3a44b69ef35185a2" uuid = "6e34b625-4abd-537c-b88f-471c36dfa7a0" version = "1.0.8+0" [[Cairo_jll]] deps = ["Artifacts", "Bzip2_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "JLLWrappers", "LZO_jll", "Libdl", "Pixman_jll", "Pkg", "Xorg_libXext_jll", "Xorg_libXrender_jll", "Zlib_jll", "libpng_jll"] git-tree-sha1 = "f2202b55d816427cd385a9a4f3ffb226bee80f99" uuid = "83423d85-b0ee-5818-9007-b63ccbeb887a" version = "1.16.1+0" [[ChainRulesCore]] deps = ["Compat", "LinearAlgebra", "SparseArrays"] git-tree-sha1 = "f885e7e7c124f8c92650d61b9477b9ac2ee607dd" uuid = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" version = "1.11.1" [[ChangesOfVariables]] deps = ["LinearAlgebra", "Test"] git-tree-sha1 = "9a1d594397670492219635b35a3d830b04730d62" uuid = "9e997f8a-9a97-42d5-a9f1-ce6bfc15e2c0" version = "0.1.1" [[ColorSchemes]] deps = ["ColorTypes", "Colors", "FixedPointNumbers", "Random"] git-tree-sha1 = "a851fec56cb73cfdf43762999ec72eff5b86882a" uuid = "35d6a980-a343-548e-a6ea-1d62b119f2f4" version = "3.15.0" [[ColorTypes]] deps = ["FixedPointNumbers", "Random"] git-tree-sha1 = "024fe24d83e4a5bf5fc80501a314ce0d1aa35597" uuid = "3da002f7-5984-5a60-b8a6-cbb66c0b333f" version = "0.11.0" [[Colors]] deps = ["ColorTypes", "FixedPointNumbers", "Reexport"] git-tree-sha1 = "417b0ed7b8b838aa6ca0a87aadf1bb9eb111ce40" uuid = "5ae59095-9a9b-59fe-a467-6f913c188581" version = "0.12.8" [[Compat]] deps = ["Base64", "Dates", "DelimitedFiles", "Distributed", "InteractiveUtils", "LibGit2", "Libdl", "LinearAlgebra", "Markdown", "Mmap", "Pkg", "Printf", "REPL", "Random", "SHA", "Serialization", "SharedArrays", "Sockets", "SparseArrays", "Statistics", "Test", "UUIDs", "Unicode"] git-tree-sha1 = "dce3e3fea680869eaa0b774b2e8343e9ff442313" uuid = "34da2185-b29b-5c13-b0c7-acf172513d20" version = "3.40.0" [[CompilerSupportLibraries_jll]] deps = ["Artifacts", "Libdl"] uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae" [[Contour]] deps = ["StaticArrays"] git-tree-sha1 = "9f02045d934dc030edad45944ea80dbd1f0ebea7" uuid = "d38c429a-6771-53c6-b99e-75d170b6e991" version = "0.5.7" [[DataAPI]] git-tree-sha1 = "cc70b17275652eb47bc9e5f81635981f13cea5c8" uuid = "9a962f9c-6df0-11e9-0e5d-c546b8b5ee8a" version = "1.9.0" [[DataStructures]] deps = ["Compat", "InteractiveUtils", "OrderedCollections"] git-tree-sha1 = "7d9d316f04214f7efdbb6398d545446e246eff02" uuid = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8" version = "0.18.10" [[DataValueInterfaces]] git-tree-sha1 = "bfc1187b79289637fa0ef6d4436ebdfe6905cbd6" uuid = "e2d170a0-9d28-54be-80f0-106bbe20a464" version = "1.0.0" [[Dates]] deps = ["Printf"] uuid = "ade2ca70-3891-5945-98fb-dc099432e06a" [[DelimitedFiles]] deps = ["Mmap"] uuid = "8bb1440f-4735-579b-a4ab-409b98df4dab" [[DensityInterface]] deps = ["InverseFunctions", "Test"] git-tree-sha1 = "794daf62dce7df839b8ed446fc59c68db4b5182f" uuid = "b429d917-457f-4dbc-8f4c-0cc954292b1d" version = "0.3.3" [[Distributed]] deps = ["Random", "Serialization", "Sockets"] uuid = "8ba89e20-285c-5b6f-9357-94700520ee1b" [[Distributions]] deps = ["ChainRulesCore", "DensityInterface", "FillArrays", "LinearAlgebra", "PDMats", "Printf", "QuadGK", "Random", "SparseArrays", "SpecialFunctions", "Statistics", "StatsBase", "StatsFuns", "Test"] git-tree-sha1 = "cab6fd4d6a0fca4d7f1dcdc2a130884e6ae242c9" uuid = "31c24e10-a181-5473-b8eb-7969acd0382f" version = "0.25.28" [[DocStringExtensions]] deps = ["LibGit2"] git-tree-sha1 = "b19534d1895d702889b219c382a6e18010797f0b" uuid = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae" version = "0.8.6" [[Downloads]] deps = ["ArgTools", "LibCURL", "NetworkOptions"] uuid = "f43a241f-c20a-4ad4-852c-f6b1247861c6" [[EarCut_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] git-tree-sha1 = "3f3a2501fa7236e9b911e0f7a588c657e822bb6d" uuid = "5ae413db-bbd1-5e63-b57d-d24a61df00f5" version = "2.2.3+0" [[Expat_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] git-tree-sha1 = "b3bfd02e98aedfa5cf885665493c5598c350cd2f" uuid = "2e619515-83b5-522b-bb60-26c02a35a201" version = "2.2.10+0" [[FFMPEG]] deps = ["FFMPEG_jll"] git-tree-sha1 = "b57e3acbe22f8484b4b5ff66a7499717fe1a9cc8" uuid = "c87230d0-a227-11e9-1b43-d7ebe4e7570a" version = "0.4.1" [[FFMPEG_jll]] deps = ["Artifacts", "Bzip2_jll", "FreeType2_jll", "FriBidi_jll", "JLLWrappers", "LAME_jll", "Libdl", "Ogg_jll", "OpenSSL_jll", "Opus_jll", "Pkg", "Zlib_jll", "libass_jll", "libfdk_aac_jll", "libvorbis_jll", "x264_jll", "x265_jll"] git-tree-sha1 = "d8a578692e3077ac998b50c0217dfd67f21d1e5f" uuid = "b22a6f82-2f65-5046-a5b2-351ab43fb4e5" version = "4.4.0+0" [[FillArrays]] deps = ["LinearAlgebra", "Random", "SparseArrays", "Statistics"] git-tree-sha1 = "8756f9935b7ccc9064c6eef0bff0ad643df733a3" uuid = "1a297f60-69ca-5386-bcde-b61e274b549b" version = "0.12.7" [[FixedPointNumbers]] deps = ["Statistics"] git-tree-sha1 = "335bfdceacc84c5cdf16aadc768aa5ddfc5383cc" uuid = "53c48c17-4a7d-5ca2-90c5-79b7896eea93" version = "0.8.4" [[Fontconfig_jll]] deps = ["Artifacts", "Bzip2_jll", "Expat_jll", "FreeType2_jll", "JLLWrappers", "Libdl", "Libuuid_jll", "Pkg", "Zlib_jll"] git-tree-sha1 = "21efd19106a55620a188615da6d3d06cd7f6ee03" uuid = "a3f928ae-7b40-5064-980b-68af3947d34b" version = "2.13.93+0" [[Formatting]] deps = ["Printf"] git-tree-sha1 = "8339d61043228fdd3eb658d86c926cb282ae72a8" uuid = "59287772-0a20-5a39-b81b-1366585eb4c0" version = "0.4.2" [[FreeType2_jll]] deps = ["Artifacts", "Bzip2_jll", "JLLWrappers", "Libdl", "Pkg", "Zlib_jll"] git-tree-sha1 = "87eb71354d8ec1a96d4a7636bd57a7347dde3ef9" uuid = "d7e528f0-a631-5988-bf34-fe36492bcfd7" version = "2.10.4+0" [[FriBidi_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] git-tree-sha1 = "aa31987c2ba8704e23c6c8ba8a4f769d5d7e4f91" uuid = "559328eb-81f9-559d-9380-de523a88c83c" version = "1.0.10+0" [[GLFW_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Libglvnd_jll", "Pkg", "Xorg_libXcursor_jll", "Xorg_libXi_jll", "Xorg_libXinerama_jll", "Xorg_libXrandr_jll"] git-tree-sha1 = "0c603255764a1fa0b61752d2bec14cfbd18f7fe8" uuid = "0656b61e-2033-5cc2-a64a-77c0f6c09b89" version = "3.3.5+1" [[GR]] deps = ["Base64", "DelimitedFiles", "GR_jll", "HTTP", "JSON", "Libdl", "LinearAlgebra", "Pkg", "Printf", "Random", "Serialization", "Sockets", "Test", "UUIDs"] git-tree-sha1 = "30f2b340c2fff8410d89bfcdc9c0a6dd661ac5f7" uuid = "28b8d3ca-fb5f-59d9-8090-bfdbd6d07a71" version = "0.62.1" [[GR_jll]] deps = ["Artifacts", "Bzip2_jll", "Cairo_jll", "FFMPEG_jll", "Fontconfig_jll", "GLFW_jll", "JLLWrappers", "JpegTurbo_jll", "Libdl", "Libtiff_jll", "Pixman_jll", "Pkg", "Qt5Base_jll", "Zlib_jll", "libpng_jll"] git-tree-sha1 = "fd75fa3a2080109a2c0ec9864a6e14c60cca3866" uuid = "d2c73de3-f751-5644-a686-071e5b155ba9" version = "0.62.0+0" [[GeometryBasics]] deps = ["EarCut_jll", "IterTools", "LinearAlgebra", "StaticArrays", "StructArrays", "Tables"] git-tree-sha1 = "58bcdf5ebc057b085e58d95c138725628dd7453c" uuid = "5c1252a2-5f33-56bf-86c9-59e7332b4326" version = "0.4.1" [[Gettext_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Libiconv_jll", "Pkg", "XML2_jll"] git-tree-sha1 = "9b02998aba7bf074d14de89f9d37ca24a1a0b046" uuid = "78b55507-aeef-58d4-861c-77aaff3498b1" version = "0.21.0+0" [[Glib_jll]] deps = ["Artifacts", "Gettext_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Libiconv_jll", "Libmount_jll", "PCRE_jll", "Pkg", "Zlib_jll"] git-tree-sha1 = "7bf67e9a481712b3dbe9cb3dac852dc4b1162e02" uuid = "7746bdde-850d-59dc-9ae8-88ece973131d" version = "2.68.3+0" [[Graphite2_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] git-tree-sha1 = "344bf40dcab1073aca04aa0df4fb092f920e4011" uuid = "3b182d85-2403-5c21-9c21-1e1f0cc25472" version = "1.3.14+0" [[Grisu]] git-tree-sha1 = "53bb909d1151e57e2484c3d1b53e19552b887fb2" uuid = "42e2da0e-8278-4e71-bc24-59509adca0fe" version = "1.0.2" [[HTTP]] deps = ["Base64", "Dates", "IniFile", "Logging", "MbedTLS", "NetworkOptions", "Sockets", "URIs"] git-tree-sha1 = "14eece7a3308b4d8be910e265c724a6ba51a9798" uuid = "cd3eb016-35fb-5094-929b-558a96fad6f3" version = "0.9.16" [[HarfBuzz_jll]] deps = ["Artifacts", "Cairo_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "Graphite2_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Pkg"] git-tree-sha1 = "8a954fed8ac097d5be04921d595f741115c1b2ad" uuid = "2e76f6c2-a576-52d4-95c1-20adfe4de566" version = "2.8.1+0" [[IniFile]] deps = ["Test"] git-tree-sha1 = "098e4d2c533924c921f9f9847274f2ad89e018b8" uuid = "83e8ac13-25f8-5344-8a64-a9f2b223428f" version = "0.5.0" [[InteractiveUtils]] deps = ["Markdown"] uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240" [[InverseFunctions]] deps = ["Test"] git-tree-sha1 = "a7254c0acd8e62f1ac75ad24d5db43f5f19f3c65" uuid = "3587e190-3f89-42d0-90ee-14403ec27112" version = "0.1.2" [[IrrationalConstants]] git-tree-sha1 = "7fd44fd4ff43fc60815f8e764c0f352b83c49151" uuid = "92d709cd-6900-40b7-9082-c6be49f344b6" version = "0.1.1" [[IterTools]] git-tree-sha1 = "05110a2ab1fc5f932622ffea2a003221f4782c18" uuid = "c8e1da08-722c-5040-9ed9-7db0dc04731e" version = "1.3.0" [[IteratorInterfaceExtensions]] git-tree-sha1 = "a3f24677c21f5bbe9d2a714f95dcd58337fb2856" uuid = "82899510-4779-5014-852e-03e436cf321d" version = "1.0.0" [[JLLWrappers]] deps = ["Preferences"] git-tree-sha1 = "642a199af8b68253517b80bd3bfd17eb4e84df6e" uuid = "692b3bcd-3c85-4b1f-b108-f13ce0eb3210" version = "1.3.0" [[JSON]] deps = ["Dates", "Mmap", "Parsers", "Unicode"] git-tree-sha1 = "8076680b162ada2a031f707ac7b4953e30667a37" uuid = "682c06a0-de6a-54ab-a142-c8b1cf79cde6" version = "0.21.2" [[JpegTurbo_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] git-tree-sha1 = "d735490ac75c5cb9f1b00d8b5509c11984dc6943" uuid = "aacddb02-875f-59d6-b918-886e6ef4fbf8" version = "2.1.0+0" [[LAME_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] git-tree-sha1 = "f6250b16881adf048549549fba48b1161acdac8c" uuid = "c1c5ebd0-6772-5130-a774-d5fcae4a789d" version = "3.100.1+0" [[LZO_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] git-tree-sha1 = "e5b909bcf985c5e2605737d2ce278ed791b89be6" uuid = "dd4b983a-f0e5-5f8d-a1b7-129d4a5fb1ac" version = "2.10.1+0" [[LaTeXStrings]] git-tree-sha1 = "f2355693d6778a178ade15952b7ac47a4ff97996" uuid = "b964fa9f-0449-5b57-a5c2-d3ea65f4040f" version = "1.3.0" [[Latexify]] deps = ["Formatting", "InteractiveUtils", "LaTeXStrings", "MacroTools", "Markdown", "Printf", "Requires"] git-tree-sha1 = "a8f4f279b6fa3c3c4f1adadd78a621b13a506bce" uuid = "23fbe1c1-3f47-55db-b15f-69d7ec21a316" version = "0.15.9" [[LibCURL]] deps = ["LibCURL_jll", "MozillaCACerts_jll"] uuid = "b27032c2-a3e7-50c8-80cd-2d36dbcbfd21" [[LibCURL_jll]] deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll", "Zlib_jll", "nghttp2_jll"] uuid = "deac9b47-8bc7-5906-a0fe-35ac56dc84c0" [[LibGit2]] deps = ["Base64", "NetworkOptions", "Printf", "SHA"] uuid = "76f85450-5226-5b5a-8eaa-529ad045b433" [[LibSSH2_jll]] deps = ["Artifacts", "Libdl", "MbedTLS_jll"] uuid = "29816b5a-b9ab-546f-933c-edad1886dfa8" [[Libdl]] uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb" [[Libffi_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] git-tree-sha1 = "761a393aeccd6aa92ec3515e428c26bf99575b3b" uuid = "e9f186c6-92d2-5b65-8a66-fee21dc1b490" version = "3.2.2+0" [[Libgcrypt_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Libgpg_error_jll", "Pkg"] git-tree-sha1 = "64613c82a59c120435c067c2b809fc61cf5166ae" uuid = "d4300ac3-e22c-5743-9152-c294e39db1e4" version = "1.8.7+0" [[Libglvnd_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll", "Xorg_libXext_jll"] git-tree-sha1 = "7739f837d6447403596a75d19ed01fd08d6f56bf" uuid = "7e76a0d4-f3c7-5321-8279-8d96eeed0f29" version = "1.3.0+3" [[Libgpg_error_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] git-tree-sha1 = "c333716e46366857753e273ce6a69ee0945a6db9" uuid = "7add5ba3-2f88-524e-9cd5-f83b8a55f7b8" version = "1.42.0+0" [[Libiconv_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] git-tree-sha1 = "42b62845d70a619f063a7da093d995ec8e15e778" uuid = "94ce4f54-9a6c-5748-9c1c-f9c7231a4531" version = "1.16.1+1" [[Libmount_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] git-tree-sha1 = "9c30530bf0effd46e15e0fdcf2b8636e78cbbd73" uuid = "4b2f31a3-9ecc-558c-b454-b3730dcb73e9" version = "2.35.0+0" [[Libtiff_jll]] deps = ["Artifacts", "JLLWrappers", "JpegTurbo_jll", "Libdl", "Pkg", "Zlib_jll", "Zstd_jll"] git-tree-sha1 = "340e257aada13f95f98ee352d316c3bed37c8ab9" uuid = "89763e89-9b03-5906-acba-b20f662cd828" version = "4.3.0+0" [[Libuuid_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] git-tree-sha1 = "7f3efec06033682db852f8b3bc3c1d2b0a0ab066" uuid = "38a345b3-de98-5d2b-a5d3-14cd9215e700" version = "2.36.0+0" [[LinearAlgebra]] deps = ["Libdl"] uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" [[LogExpFunctions]] deps = ["ChainRulesCore", "ChangesOfVariables", "DocStringExtensions", "InverseFunctions", "IrrationalConstants", "LinearAlgebra"] git-tree-sha1 = "be9eef9f9d78cecb6f262f3c10da151a6c5ab827" uuid = "2ab3a3ac-af41-5b50-aa03-7779005ae688" version = "0.3.5" [[Logging]] uuid = "56ddb016-857b-54e1-b83d-db4d58db5568" [[MacroTools]] deps = ["Markdown", "Random"] git-tree-sha1 = "3d3e902b31198a27340d0bf00d6ac452866021cf" uuid = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09" version = "0.5.9" [[Markdown]] deps = ["Base64"] uuid = "d6f4376e-aef5-505a-96c1-9c027394607a" [[MbedTLS]] deps = ["Dates", "MbedTLS_jll", "Random", "Sockets"] git-tree-sha1 = "1c38e51c3d08ef2278062ebceade0e46cefc96fe" uuid = "739be429-bea8-5141-9913-cc70e7f3736d" version = "1.0.3" [[MbedTLS_jll]] deps = ["Artifacts", "Libdl"] uuid = "c8ffd9c3-330d-5841-b78e-0817d7145fa1" [[Measures]] git-tree-sha1 = "e498ddeee6f9fdb4551ce855a46f54dbd900245f" uuid = "442fdcdd-2543-5da2-b0f3-8c86c306513e" version = "0.3.1" [[Missings]] deps = ["DataAPI"] git-tree-sha1 = "bf210ce90b6c9eed32d25dbcae1ebc565df2687f" uuid = "e1d29d7a-bbdc-5cf2-9ac0-f12de2c33e28" version = "1.0.2" [[Mmap]] uuid = "a63ad114-7e13-5084-954f-fe012c677804" [[MozillaCACerts_jll]] uuid = "14a3606d-f60d-562e-9121-12d972cd8159" [[NaNMath]] git-tree-sha1 = "bfe47e760d60b82b66b61d2d44128b62e3a369fb" uuid = "77ba4419-2d1f-58cd-9bb1-8ffee604a2e3" version = "0.3.5" [[NetworkOptions]] uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" [[Ogg_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] git-tree-sha1 = "7937eda4681660b4d6aeeecc2f7e1c81c8ee4e2f" uuid = "e7412a2a-1a6e-54c0-be00-318e2571c051" version = "1.3.5+0" [[OpenLibm_jll]] deps = ["Artifacts", "Libdl"] uuid = "05823500-19ac-5b8b-9628-191a04bc5112" [[OpenSSL_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] git-tree-sha1 = "15003dcb7d8db3c6c857fda14891a539a8f2705a" uuid = "458c3c95-2e84-50aa-8efc-19380b2a3a95" version = "1.1.10+0" [[OpenSpecFun_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Pkg"] git-tree-sha1 = "13652491f6856acfd2db29360e1bbcd4565d04f1" uuid = "efe28fd5-8261-553b-a9e1-b2916fc3738e" version = "0.5.5+0" [[Opus_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] git-tree-sha1 = "51a08fb14ec28da2ec7a927c4337e4332c2a4720" uuid = "91d4177d-7536-5919-b921-800302f37372" version = "1.3.2+0" [[OrderedCollections]] git-tree-sha1 = "85f8e6578bf1f9ee0d11e7bb1b1456435479d47c" uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d" version = "1.4.1" [[PCRE_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] git-tree-sha1 = "b2a7af664e098055a7529ad1a900ded962bca488" uuid = "2f80f16e-611a-54ab-bc61-aa92de5b98fc" version = "8.44.0+0" [[PDMats]] deps = ["LinearAlgebra", "SparseArrays", "SuiteSparse"] git-tree-sha1 = "c8b8775b2f242c80ea85c83714c64ecfa3c53355" uuid = "90014a1f-27ba-587c-ab20-58faa44d9150" version = "0.11.3" [[Parsers]] deps = ["Dates"] git-tree-sha1 = "ae4bbcadb2906ccc085cf52ac286dc1377dceccc" uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0" version = "2.1.2" [[Pixman_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] git-tree-sha1 = "b4f5d02549a10e20780a24fce72bea96b6329e29" uuid = "30392449-352a-5448-841d-b1acce4e97dc" version = "0.40.1+0" [[Pkg]] deps = ["Artifacts", "Dates", "Downloads", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "Serialization", "TOML", "Tar", "UUIDs", "p7zip_jll"] uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" [[PlotThemes]] deps = ["PlotUtils", "Requires", "Statistics"] git-tree-sha1 = "a3a964ce9dc7898193536002a6dd892b1b5a6f1d" uuid = "ccf2f8ad-2431-5c83-bf29-c5338b663b6a" version = "2.0.1" [[PlotUtils]] deps = ["ColorSchemes", "Colors", "Dates", "Printf", "Random", "Reexport", "Statistics"] git-tree-sha1 = "b084324b4af5a438cd63619fd006614b3b20b87b" uuid = "995b91a9-d308-5afd-9ec6-746e21dbc043" version = "1.0.15" [[Plots]] deps = ["Base64", "Contour", "Dates", "Downloads", "FFMPEG", "FixedPointNumbers", "GR", "GeometryBasics", "JSON", "Latexify", "LinearAlgebra", "Measures", "NaNMath", "PlotThemes", "PlotUtils", "Printf", "REPL", "Random", "RecipesBase", "RecipesPipeline", "Reexport", "Requires", "Scratch", "Showoff", "SparseArrays", "Statistics", "StatsBase", "UUIDs", "UnicodeFun"] git-tree-sha1 = "0d185e8c33401084cab546a756b387b15f76720c" uuid = "91a5bcdd-55d7-5caf-9e0b-520d859cae80" version = "1.23.6" [[Preferences]] deps = ["TOML"] git-tree-sha1 = "00cfd92944ca9c760982747e9a1d0d5d86ab1e5a" uuid = "21216c6a-2e73-6563-6e65-726566657250" version = "1.2.2" [[Printf]] deps = ["Unicode"] uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7" [[Qt5Base_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "Fontconfig_jll", "Glib_jll", "JLLWrappers", "Libdl", "Libglvnd_jll", "OpenSSL_jll", "Pkg", "Xorg_libXext_jll", "Xorg_libxcb_jll", "Xorg_xcb_util_image_jll", "Xorg_xcb_util_keysyms_jll", "Xorg_xcb_util_renderutil_jll", "Xorg_xcb_util_wm_jll", "Zlib_jll", "xkbcommon_jll"] git-tree-sha1 = "ad368663a5e20dbb8d6dc2fddeefe4dae0781ae8" uuid = "ea2cea3b-5b76-57ae-a6ef-0a8af62496e1" version = "5.15.3+0" [[QuadGK]] deps = ["DataStructures", "LinearAlgebra"] git-tree-sha1 = "78aadffb3efd2155af139781b8a8df1ef279ea39" uuid = "1fd47b50-473d-5c70-9696-f719f8f3bcdc" version = "2.4.2" [[REPL]] deps = ["InteractiveUtils", "Markdown", "Sockets", "Unicode"] uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb" [[Random]] deps = ["Serialization"] uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" [[RecipesBase]] git-tree-sha1 = "44a75aa7a527910ee3d1751d1f0e4148698add9e" uuid = "3cdcf5f2-1ef4-517c-9805-6587b60abb01" version = "1.1.2" [[RecipesPipeline]] deps = ["Dates", "NaNMath", "PlotUtils", "RecipesBase"] git-tree-sha1 = "7ad0dfa8d03b7bcf8c597f59f5292801730c55b8" uuid = "01d81517-befc-4cb6-b9ec-a95719d0359c" version = "0.4.1" [[Reexport]] git-tree-sha1 = "45e428421666073eab6f2da5c9d310d99bb12f9b" uuid = "189a3867-3050-52da-a836-e630ba90ab69" version = "1.2.2" [[Requires]] deps = ["UUIDs"] git-tree-sha1 = "4036a3bd08ac7e968e27c203d45f5fff15020621" uuid = "ae029012-a4dd-5104-9daa-d747884805df" version = "1.1.3" [[Rmath]] deps = ["Random", "Rmath_jll"] git-tree-sha1 = "bf3188feca147ce108c76ad82c2792c57abe7b1f" uuid = "79098fc4-a85e-5d69-aa6a-4863f24498fa" version = "0.7.0" [[Rmath_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] git-tree-sha1 = "68db32dff12bb6127bac73c209881191bf0efbb7" uuid = "f50d1b31-88e8-58de-be2c-1cc44531875f" version = "0.3.0+0" [[SHA]] uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce" [[Scratch]] deps = ["Dates"] git-tree-sha1 = "0b4b7f1393cff97c33891da2a0bf69c6ed241fda" uuid = "6c6a2e73-6563-6170-7368-637461726353" version = "1.1.0" [[Serialization]] uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b" [[SharedArrays]] deps = ["Distributed", "Mmap", "Random", "Serialization"] uuid = "1a1011a3-84de-559e-8e89-a11a2f7dc383" [[Showoff]] deps = ["Dates", "Grisu"] git-tree-sha1 = "91eddf657aca81df9ae6ceb20b959ae5653ad1de" uuid = "992d4aef-0814-514b-bc4d-f2e9a6c4116f" version = "1.0.3" [[Sockets]] uuid = "6462fe0b-24de-5631-8697-dd941f90decc" [[SortingAlgorithms]] deps = ["DataStructures"] git-tree-sha1 = "b3363d7460f7d098ca0912c69b082f75625d7508" uuid = "a2af1166-a08f-5f64-846c-94a0d3cef48c" version = "1.0.1" [[SparseArrays]] deps = ["LinearAlgebra", "Random"] uuid = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" [[SpecialFunctions]] deps = ["ChainRulesCore", "IrrationalConstants", "LogExpFunctions", "OpenLibm_jll", "OpenSpecFun_jll"] git-tree-sha1 = "f0bccf98e16759818ffc5d97ac3ebf87eb950150" uuid = "276daf66-3868-5448-9aa4-cd146d93841b" version = "1.8.1" [[StaticArrays]] deps = ["LinearAlgebra", "Random", "Statistics"] git-tree-sha1 = "3c76dde64d03699e074ac02eb2e8ba8254d428da" uuid = "90137ffa-7385-5640-81b9-e52037218182" version = "1.2.13" [[Statistics]] deps = ["LinearAlgebra", "SparseArrays"] uuid = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" [[StatsAPI]] git-tree-sha1 = "1958272568dc176a1d881acb797beb909c785510" uuid = "82ae8749-77ed-4fe6-ae5f-f523153014b0" version = "1.0.0" [[StatsBase]] deps = ["DataAPI", "DataStructures", "LinearAlgebra", "LogExpFunctions", "Missings", "Printf", "Random", "SortingAlgorithms", "SparseArrays", "Statistics", "StatsAPI"] git-tree-sha1 = "eb35dcc66558b2dda84079b9a1be17557d32091a" uuid = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91" version = "0.33.12" [[StatsFuns]] deps = ["ChainRulesCore", "InverseFunctions", "IrrationalConstants", "LogExpFunctions", "Reexport", "Rmath", "SpecialFunctions"] git-tree-sha1 = "385ab64e64e79f0cd7cfcf897169b91ebbb2d6c8" uuid = "4c63d2b9-4356-54db-8cca-17b64c39e42c" version = "0.9.13" [[StructArrays]] deps = ["Adapt", "DataAPI", "StaticArrays", "Tables"] git-tree-sha1 = "2ce41e0d042c60ecd131e9fb7154a3bfadbf50d3" uuid = "09ab397b-f2b6-538f-b94a-2f83cf4a842a" version = "0.6.3" [[SuiteSparse]] deps = ["Libdl", "LinearAlgebra", "Serialization", "SparseArrays"] uuid = "4607b0f0-06f3-5cda-b6b1-a6196a1729e9" [[TOML]] deps = ["Dates"] uuid = "fa267f1f-6049-4f14-aa54-33bafae1ed76" [[TableTraits]] deps = ["IteratorInterfaceExtensions"] git-tree-sha1 = "c06b2f539df1c6efa794486abfb6ed2022561a39" uuid = "3783bdb8-4a98-5b6b-af9a-565f29a5fe9c" version = "1.0.1" [[Tables]] deps = ["DataAPI", "DataValueInterfaces", "IteratorInterfaceExtensions", "LinearAlgebra", "TableTraits", "Test"] git-tree-sha1 = "fed34d0e71b91734bf0a7e10eb1bb05296ddbcd0" uuid = "bd369af6-aec1-5ad0-b16a-f7cc5008161c" version = "1.6.0" [[Tar]] deps = ["ArgTools", "SHA"] uuid = "a4e569a6-e804-4fa4-b0f3-eef7a1d5b13e" [[Test]] deps = ["InteractiveUtils", "Logging", "Random", "Serialization"] uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40" [[URIs]] git-tree-sha1 = "97bbe755a53fe859669cd907f2d96aee8d2c1355" uuid = "5c2747f8-b7ea-4ff2-ba2e-563bfd36b1d4" version = "1.3.0" [[UUIDs]] deps = ["Random", "SHA"] uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4" [[Unicode]] uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5" [[UnicodeFun]] deps = ["REPL"] git-tree-sha1 = "53915e50200959667e78a92a418594b428dffddf" uuid = "1cfade01-22cf-5700-b092-accc4b62d6e1" version = "0.4.1" [[Wayland_jll]] deps = ["Artifacts", "Expat_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Pkg", "XML2_jll"] git-tree-sha1 = "3e61f0b86f90dacb0bc0e73a0c5a83f6a8636e23" uuid = "a2964d1f-97da-50d4-b82a-358c7fce9d89" version = "1.19.0+0" [[Wayland_protocols_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Wayland_jll"] git-tree-sha1 = "2839f1c1296940218e35df0bbb220f2a79686670" uuid = "2381bf8a-dfd0-557d-9999-79630e7b1b91" version = "1.18.0+4" [[XML2_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Libiconv_jll", "Pkg", "Zlib_jll"] git-tree-sha1 = "1acf5bdf07aa0907e0a37d3718bb88d4b687b74a" uuid = "02c8fc9c-b97f-50b9-bbe4-9be30ff0a78a" version = "2.9.12+0" [[XSLT_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Libgcrypt_jll", "Libgpg_error_jll", "Libiconv_jll", "Pkg", "XML2_jll", "Zlib_jll"] git-tree-sha1 = "91844873c4085240b95e795f692c4cec4d805f8a" uuid = "aed1982a-8fda-507f-9586-7b0439959a61" version = "1.1.34+0" [[Xorg_libX11_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libxcb_jll", "Xorg_xtrans_jll"] git-tree-sha1 = "5be649d550f3f4b95308bf0183b82e2582876527" uuid = "4f6342f7-b3d2-589e-9d20-edeb45f2b2bc" version = "1.6.9+4" [[Xorg_libXau_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] git-tree-sha1 = "4e490d5c960c314f33885790ed410ff3a94ce67e" uuid = "0c0b7dd1-d40b-584c-a123-a41640f87eec" version = "1.0.9+4" [[Xorg_libXcursor_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXfixes_jll", "Xorg_libXrender_jll"] git-tree-sha1 = "12e0eb3bc634fa2080c1c37fccf56f7c22989afd" uuid = "935fb764-8cf2-53bf-bb30-45bb1f8bf724" version = "1.2.0+4" [[Xorg_libXdmcp_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] git-tree-sha1 = "4fe47bd2247248125c428978740e18a681372dd4" uuid = "a3789734-cfe1-5b06-b2d0-1dd0d9d62d05" version = "1.1.3+4" [[Xorg_libXext_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll"] git-tree-sha1 = "b7c0aa8c376b31e4852b360222848637f481f8c3" uuid = "1082639a-0dae-5f34-9b06-72781eeb8cb3" version = "1.3.4+4" [[Xorg_libXfixes_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll"] git-tree-sha1 = "0e0dc7431e7a0587559f9294aeec269471c991a4" uuid = "d091e8ba-531a-589c-9de9-94069b037ed8" version = "5.0.3+4" [[Xorg_libXi_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXext_jll", "Xorg_libXfixes_jll"] git-tree-sha1 = "89b52bc2160aadc84d707093930ef0bffa641246" uuid = "a51aa0fd-4e3c-5386-b890-e753decda492" version = "1.7.10+4" [[Xorg_libXinerama_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXext_jll"] git-tree-sha1 = "26be8b1c342929259317d8b9f7b53bf2bb73b123" uuid = "d1454406-59df-5ea1-beac-c340f2130bc3" version = "1.1.4+4" [[Xorg_libXrandr_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXext_jll", "Xorg_libXrender_jll"] git-tree-sha1 = "34cea83cb726fb58f325887bf0612c6b3fb17631" uuid = "ec84b674-ba8e-5d96-8ba1-2a689ba10484" version = "1.5.2+4" [[Xorg_libXrender_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll"] git-tree-sha1 = "19560f30fd49f4d4efbe7002a1037f8c43d43b96" uuid = "ea2f1a96-1ddc-540d-b46f-429655e07cfa" version = "0.9.10+4" [[Xorg_libpthread_stubs_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] git-tree-sha1 = "6783737e45d3c59a4a4c4091f5f88cdcf0908cbb" uuid = "14d82f49-176c-5ed1-bb49-ad3f5cbd8c74" version = "0.1.0+3" [[Xorg_libxcb_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "XSLT_jll", "Xorg_libXau_jll", "Xorg_libXdmcp_jll", "Xorg_libpthread_stubs_jll"] git-tree-sha1 = "daf17f441228e7a3833846cd048892861cff16d6" uuid = "c7cfdc94-dc32-55de-ac96-5a1b8d977c5b" version = "1.13.0+3" [[Xorg_libxkbfile_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll"] git-tree-sha1 = "926af861744212db0eb001d9e40b5d16292080b2" uuid = "cc61e674-0454-545c-8b26-ed2c68acab7a" version = "1.1.0+4" [[Xorg_xcb_util_image_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_xcb_util_jll"] git-tree-sha1 = "0fab0a40349ba1cba2c1da699243396ff8e94b97" uuid = "12413925-8142-5f55-bb0e-6d7ca50bb09b" version = "0.4.0+1" [[Xorg_xcb_util_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libxcb_jll"] git-tree-sha1 = "e7fd7b2881fa2eaa72717420894d3938177862d1" uuid = "2def613f-5ad1-5310-b15b-b15d46f528f5" version = "0.4.0+1" [[Xorg_xcb_util_keysyms_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_xcb_util_jll"] git-tree-sha1 = "d1151e2c45a544f32441a567d1690e701ec89b00" uuid = "975044d2-76e6-5fbe-bf08-97ce7c6574c7" version = "0.4.0+1" [[Xorg_xcb_util_renderutil_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_xcb_util_jll"] git-tree-sha1 = "dfd7a8f38d4613b6a575253b3174dd991ca6183e" uuid = "0d47668e-0667-5a69-a72c-f761630bfb7e" version = "0.3.9+1" [[Xorg_xcb_util_wm_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_xcb_util_jll"] git-tree-sha1 = "e78d10aab01a4a154142c5006ed44fd9e8e31b67" uuid = "c22f9ab0-d5fe-5066-847c-f4bb1cd4e361" version = "0.4.1+1" [[Xorg_xkbcomp_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libxkbfile_jll"] git-tree-sha1 = "4bcbf660f6c2e714f87e960a171b119d06ee163b" uuid = "35661453-b289-5fab-8a00-3d9160c6a3a4" version = "1.4.2+4" [[Xorg_xkeyboard_config_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_xkbcomp_jll"] git-tree-sha1 = "5c8424f8a67c3f2209646d4425f3d415fee5931d" uuid = "33bec58e-1273-512f-9401-5d533626f822" version = "2.27.0+4" [[Xorg_xtrans_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] git-tree-sha1 = "79c31e7844f6ecf779705fbc12146eb190b7d845" uuid = "c5fb5394-a638-5e4d-96e5-b29de1b5cf10" version = "1.4.0+3" [[Zlib_jll]] deps = ["Libdl"] uuid = "83775a58-1f1d-513f-b197-d71354ab007a" [[Zstd_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] git-tree-sha1 = "cc4bf3fdde8b7e3e9fa0351bdeedba1cf3b7f6e6" uuid = "3161d3a3-bdf6-5164-811a-617609db77b4" version = "1.5.0+0" [[libass_jll]] deps = ["Artifacts", "Bzip2_jll", "FreeType2_jll", "FriBidi_jll", "HarfBuzz_jll", "JLLWrappers", "Libdl", "Pkg", "Zlib_jll"] git-tree-sha1 = "5982a94fcba20f02f42ace44b9894ee2b140fe47" uuid = "0ac62f75-1d6f-5e53-bd7c-93b484bb37c0" version = "0.15.1+0" [[libfdk_aac_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] git-tree-sha1 = "daacc84a041563f965be61859a36e17c4e4fcd55" uuid = "f638f0a6-7fb0-5443-88ba-1cc74229b280" version = "2.0.2+0" [[libpng_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Zlib_jll"] git-tree-sha1 = "94d180a6d2b5e55e447e2d27a29ed04fe79eb30c" uuid = "b53b4c65-9356-5827-b1ea-8c7a1a84506f" version = "1.6.38+0" [[libvorbis_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Ogg_jll", "Pkg"] git-tree-sha1 = "c45f4e40e7aafe9d086379e5578947ec8b95a8fb" uuid = "f27f6e37-5d2b-51aa-960f-b287f2bc3b7a" version = "1.3.7+0" [[nghttp2_jll]] deps = ["Artifacts", "Libdl"] uuid = "8e850ede-7688-5339-a07c-302acd2aaf8d" [[p7zip_jll]] deps = ["Artifacts", "Libdl"] uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0" [[x264_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] git-tree-sha1 = "4fea590b89e6ec504593146bf8b988b2c00922b2" uuid = "1270edf5-f2f9-52d2-97e9-ab00b5d0237a" version = "2021.5.5+0" [[x265_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] git-tree-sha1 = "ee567a171cce03570d77ad3a43e90218e38937a9" uuid = "dfaa095f-4041-5dcd-9319-2fabd8486b76" version = "3.5.0+0" [[xkbcommon_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Wayland_jll", "Wayland_protocols_jll", "Xorg_libxcb_jll", "Xorg_xkeyboard_config_jll"] git-tree-sha1 = "ece2350174195bb31de1a63bea3a41ae1aa593b6" uuid = "d8fb68d0-12a3-5cfd-a85a-d49703b185fd" version = "0.9.1+5" """ # ╔═╡ Cell order: # ╟─89b11a6a-288a-11eb-0e17-a9cf6cc6d234 # ╠═26e90fe6-2830-11eb-0508-0b5fd54044bb # ╠═ea552028-2830-11eb-2325-ed2ec90c5047 # ╠═83591ae2-288e-11eb-3a40-15c08e45eec5 # ╟─1a7b9690-288d-11eb-13c9-ed2a17b1b433 # ╠═401bb254-288d-11eb-163b-7507baef2bdc # ╟─46e133de-288d-11eb-34f1-358919f7612f # ╠═80e85b34-288d-11eb-1b53-8b9635e0bdc6 # ╠═8b485ff2-288d-11eb-0089-b5c81a2c1473 # ╟─7253239d-8eb7-4c41-883e-bad7ec813aef # ╠═2b917696-2830-11eb-0944-f175a696c4bd # ╠═35ac470f-7eb0-4694-bc30-551ed6d0692c # ╠═6ae6f050-d5bd-48f3-8dce-225783cbbb81 # ╠═7f3a4122-a37b-47fe-97ed-97802d730604 # ╠═91b739af-f417-4c82-871b-1d0fdab30a78 # ╟─a76bc106-288d-11eb-0c15-69ac722da50e # ╟─6bfa0bfe-2893-11eb-082d-45e1e41307a4 # ╠═c36d2470-288e-11eb-203b-35888c20982a # ╟─bb0814af-fb53-48fe-a6f1-806837d0341c # ╠═befe2e36-bd06-4f2f-bf89-0a6d8ffb8eb1 # ╟─3d9c77f0-7dd1-4e24-b701-b87c75c6aab4 # ╠═b9ca1f18-82a1-485c-81d5-6b8aaf0a7fd6 # ╟─7a23c4af-f366-47c3-a58f-6fb9c5d5a0a0 # ╠═e77aa902-2de6-4bc2-9112-31e67adfcca3 # ╟─b218646f-be49-4efa-a0d2-b487bf034cb2 # ╠═6ac28d68-2831-11eb-252f-f5a604f64adc # ╟─e01b7206-2894-11eb-3de2-7f4933007cc8 # ╠═706ff064-2830-11eb-17e4-c549c469b1b0 # ╠═dabfef1c-2894-11eb-2838-c7f8a4672d01 # ╠═f16184cc-28a0-11eb-3efa-81a3e16f2f43 # ╟─1465c566-6bd4-4afa-b5e6-4e5aa1357405 # ╠═a29aff8b-18fe-4bb5-b732-e259b444c2ef # ╟─dfa07863-eae5-47a0-b081-b01f8a374c7b # ╠═e0a1f62a-a0df-42f6-b90d-65207a84c56d # ╟─f1b2020a-2894-11eb-0d9f-49c96af12624 # ╠═2db5d214-4f5b-4e4f-9f45-f8d657204ea1 # ╟─32086f6f-b993-4a17-bcef-d50af67c9880 # ╠═798011f0-2830-11eb-140b-efd5bcd6fe48 # ╟─14e04610-2895-11eb-2c23-9d102b0ddd3e # ╠═1e215c1e-2831-11eb-1a4e-d355ac6dda4c # ╟─3b0447ca-28a3-11eb-1752-97ec1f5acd05 # ╠═d30d9bfa-2832-11eb-0991-05d2c8134a06 # ╠═185a9720-2834-11eb-304e-7d42f1d24ead # ╟─c2f88cb8-28a3-11eb-27ec-17b48740d35a # ╠═44ebafcc-2834-11eb-3e0a-0d681501ac40 # ╠═f247e84a-2832-11eb-050b-a7af93a57373 # ╠═3af98c06-2833-11eb-26f9-b327c8e98169 # ╠═5c61ae82-d2d0-4e1c-99cd-fa69fb025a23 # ╟─da041478-aff5-4ad2-a772-12d749702a42 # ╠═0ddd7d37-377a-4178-ae20-273dab26d33b # ╟─0b2938ac-28a4-11eb-1c95-4bd28e7e23e8 # ╟─00000000-0000-0000-0000-000000000001 # ╟─00000000-0000-0000-0000-000000000002