Removed unnecessary Distributions from Ginibre example
This commit is contained in:
parent
3a5891324e
commit
26127cd766
4 changed files with 28 additions and 36 deletions
|
@ -50,18 +50,16 @@
|
||||||
<p>I find this mildly fascinating that such a straightforward definition of a random matrix can exhibit such non-random properties in their spectrum.</p>
|
<p>I find this mildly fascinating that such a straightforward definition of a random matrix can exhibit such non-random properties in their spectrum.</p>
|
||||||
<h2 id="simulation">Simulation</h2>
|
<h2 id="simulation">Simulation</h2>
|
||||||
<p>I ran a quick simulation, thanks to <a href="https://julialang.org/">Julia</a>’s great ecosystem for linear algebra and statistical distributions:</p>
|
<p>I ran a quick simulation, thanks to <a href="https://julialang.org/">Julia</a>’s great ecosystem for linear algebra and statistical distributions:</p>
|
||||||
<div class="sourceCode" id="cb1"><pre class="sourceCode julia"><code class="sourceCode julia"><a class="sourceLine" id="cb1-1" title="1">using Distributions</a>
|
<div class="sourceCode" id="cb1"><pre class="sourceCode julia"><code class="sourceCode julia"><a class="sourceLine" id="cb1-1" title="1">using LinearAlgebra</a>
|
||||||
<a class="sourceLine" id="cb1-2" title="2">using LinearAlgebra</a>
|
<a class="sourceLine" id="cb1-2" title="2">using UnicodePlots</a>
|
||||||
<a class="sourceLine" id="cb1-3" title="3">using UnicodePlots</a>
|
<a class="sourceLine" id="cb1-3" title="3"></a>
|
||||||
<a class="sourceLine" id="cb1-4" title="4"></a>
|
<a class="sourceLine" id="cb1-4" title="4"><span class="kw">function</span> ginibre(n)</a>
|
||||||
<a class="sourceLine" id="cb1-5" title="5"><span class="kw">function</span> ginibre(n)</a>
|
<a class="sourceLine" id="cb1-5" title="5"> <span class="kw">return</span> randn((n, n)) * sqrt(<span class="fl">1</span>/<span class="fl">2</span>n) + im * randn((n, n)) * sqrt(<span class="fl">1</span>/<span class="fl">2</span>n)</a>
|
||||||
<a class="sourceLine" id="cb1-6" title="6">d = Normal(<span class="fl">0</span>, sqrt(<span class="fl">1</span>/<span class="fl">2</span>n))</a>
|
<a class="sourceLine" id="cb1-6" title="6"><span class="kw">end</span></a>
|
||||||
<a class="sourceLine" id="cb1-7" title="7">reshape(rand(d, n^<span class="fl">2</span>), (n,n)) + im*reshape(rand(d, n^<span class="fl">2</span>), (n,n))</a>
|
<a class="sourceLine" id="cb1-7" title="7"></a>
|
||||||
<a class="sourceLine" id="cb1-8" title="8"><span class="kw">end</span></a>
|
<a class="sourceLine" id="cb1-8" title="8">v = eigvals(ginibre(<span class="fl">2000</span>))</a>
|
||||||
<a class="sourceLine" id="cb1-9" title="9"></a>
|
<a class="sourceLine" id="cb1-9" title="9"></a>
|
||||||
<a class="sourceLine" id="cb1-10" title="10">v = eigvals(ginibre(<span class="fl">2000</span>))</a>
|
<a class="sourceLine" id="cb1-10" title="10">scatterplot(real(v), imag(v), xlim=[-<span class="fl">1.5</span>,<span class="fl">1.5</span>], ylim=[-<span class="fl">1.5</span>,<span class="fl">1.5</span>])</a></code></pre></div>
|
||||||
<a class="sourceLine" id="cb1-11" title="11"></a>
|
|
||||||
<a class="sourceLine" id="cb1-12" title="12">scatterplot(real(v), imag(v), xlim=[-<span class="fl">1.5</span>,<span class="fl">1.5</span>], ylim=[-<span class="fl">1.5</span>,<span class="fl">1.5</span>])</a></code></pre></div>
|
|
||||||
<p>I like using <code>UnicodePlots</code> for this kind of quick-and-dirty plots, directly in the terminal. Here is the output:</p>
|
<p>I like using <code>UnicodePlots</code> for this kind of quick-and-dirty plots, directly in the terminal. Here is the output:</p>
|
||||||
<p><img src="../images/ginibre.png" /></p>
|
<p><img src="../images/ginibre.png" /></p>
|
||||||
<h2 id="references">References</h2>
|
<h2 id="references">References</h2>
|
||||||
|
|
|
@ -38,18 +38,16 @@
|
||||||
<p>I find this mildly fascinating that such a straightforward definition of a random matrix can exhibit such non-random properties in their spectrum.</p>
|
<p>I find this mildly fascinating that such a straightforward definition of a random matrix can exhibit such non-random properties in their spectrum.</p>
|
||||||
<h2 id="simulation">Simulation</h2>
|
<h2 id="simulation">Simulation</h2>
|
||||||
<p>I ran a quick simulation, thanks to <a href="https://julialang.org/">Julia</a>’s great ecosystem for linear algebra and statistical distributions:</p>
|
<p>I ran a quick simulation, thanks to <a href="https://julialang.org/">Julia</a>’s great ecosystem for linear algebra and statistical distributions:</p>
|
||||||
<div class="sourceCode" id="cb1"><pre class="sourceCode julia"><code class="sourceCode julia"><a class="sourceLine" id="cb1-1" title="1">using Distributions</a>
|
<div class="sourceCode" id="cb1"><pre class="sourceCode julia"><code class="sourceCode julia"><a class="sourceLine" id="cb1-1" title="1">using LinearAlgebra</a>
|
||||||
<a class="sourceLine" id="cb1-2" title="2">using LinearAlgebra</a>
|
<a class="sourceLine" id="cb1-2" title="2">using UnicodePlots</a>
|
||||||
<a class="sourceLine" id="cb1-3" title="3">using UnicodePlots</a>
|
<a class="sourceLine" id="cb1-3" title="3"></a>
|
||||||
<a class="sourceLine" id="cb1-4" title="4"></a>
|
<a class="sourceLine" id="cb1-4" title="4"><span class="kw">function</span> ginibre(n)</a>
|
||||||
<a class="sourceLine" id="cb1-5" title="5"><span class="kw">function</span> ginibre(n)</a>
|
<a class="sourceLine" id="cb1-5" title="5"> <span class="kw">return</span> randn((n, n)) * sqrt(<span class="fl">1</span>/<span class="fl">2</span>n) + im * randn((n, n)) * sqrt(<span class="fl">1</span>/<span class="fl">2</span>n)</a>
|
||||||
<a class="sourceLine" id="cb1-6" title="6">d = Normal(<span class="fl">0</span>, sqrt(<span class="fl">1</span>/<span class="fl">2</span>n))</a>
|
<a class="sourceLine" id="cb1-6" title="6"><span class="kw">end</span></a>
|
||||||
<a class="sourceLine" id="cb1-7" title="7">reshape(rand(d, n^<span class="fl">2</span>), (n,n)) + im*reshape(rand(d, n^<span class="fl">2</span>), (n,n))</a>
|
<a class="sourceLine" id="cb1-7" title="7"></a>
|
||||||
<a class="sourceLine" id="cb1-8" title="8"><span class="kw">end</span></a>
|
<a class="sourceLine" id="cb1-8" title="8">v = eigvals(ginibre(<span class="fl">2000</span>))</a>
|
||||||
<a class="sourceLine" id="cb1-9" title="9"></a>
|
<a class="sourceLine" id="cb1-9" title="9"></a>
|
||||||
<a class="sourceLine" id="cb1-10" title="10">v = eigvals(ginibre(<span class="fl">2000</span>))</a>
|
<a class="sourceLine" id="cb1-10" title="10">scatterplot(real(v), imag(v), xlim=[-<span class="fl">1.5</span>,<span class="fl">1.5</span>], ylim=[-<span class="fl">1.5</span>,<span class="fl">1.5</span>])</a></code></pre></div>
|
||||||
<a class="sourceLine" id="cb1-11" title="11"></a>
|
|
||||||
<a class="sourceLine" id="cb1-12" title="12">scatterplot(real(v), imag(v), xlim=[-<span class="fl">1.5</span>,<span class="fl">1.5</span>], ylim=[-<span class="fl">1.5</span>,<span class="fl">1.5</span>])</a></code></pre></div>
|
|
||||||
<p>I like using <code>UnicodePlots</code> for this kind of quick-and-dirty plots, directly in the terminal. Here is the output:</p>
|
<p>I like using <code>UnicodePlots</code> for this kind of quick-and-dirty plots, directly in the terminal. Here is the output:</p>
|
||||||
<p><img src="../images/ginibre.png" /></p>
|
<p><img src="../images/ginibre.png" /></p>
|
||||||
<h2 id="references">References</h2>
|
<h2 id="references">References</h2>
|
||||||
|
|
|
@ -46,18 +46,16 @@
|
||||||
<p>I find this mildly fascinating that such a straightforward definition of a random matrix can exhibit such non-random properties in their spectrum.</p>
|
<p>I find this mildly fascinating that such a straightforward definition of a random matrix can exhibit such non-random properties in their spectrum.</p>
|
||||||
<h2 id="simulation">Simulation</h2>
|
<h2 id="simulation">Simulation</h2>
|
||||||
<p>I ran a quick simulation, thanks to <a href="https://julialang.org/">Julia</a>’s great ecosystem for linear algebra and statistical distributions:</p>
|
<p>I ran a quick simulation, thanks to <a href="https://julialang.org/">Julia</a>’s great ecosystem for linear algebra and statistical distributions:</p>
|
||||||
<div class="sourceCode" id="cb1"><pre class="sourceCode julia"><code class="sourceCode julia"><a class="sourceLine" id="cb1-1" title="1">using Distributions</a>
|
<div class="sourceCode" id="cb1"><pre class="sourceCode julia"><code class="sourceCode julia"><a class="sourceLine" id="cb1-1" title="1">using LinearAlgebra</a>
|
||||||
<a class="sourceLine" id="cb1-2" title="2">using LinearAlgebra</a>
|
<a class="sourceLine" id="cb1-2" title="2">using UnicodePlots</a>
|
||||||
<a class="sourceLine" id="cb1-3" title="3">using UnicodePlots</a>
|
<a class="sourceLine" id="cb1-3" title="3"></a>
|
||||||
<a class="sourceLine" id="cb1-4" title="4"></a>
|
<a class="sourceLine" id="cb1-4" title="4"><span class="kw">function</span> ginibre(n)</a>
|
||||||
<a class="sourceLine" id="cb1-5" title="5"><span class="kw">function</span> ginibre(n)</a>
|
<a class="sourceLine" id="cb1-5" title="5"> <span class="kw">return</span> randn((n, n)) * sqrt(<span class="fl">1</span>/<span class="fl">2</span>n) + im * randn((n, n)) * sqrt(<span class="fl">1</span>/<span class="fl">2</span>n)</a>
|
||||||
<a class="sourceLine" id="cb1-6" title="6">d = Normal(<span class="fl">0</span>, sqrt(<span class="fl">1</span>/<span class="fl">2</span>n))</a>
|
<a class="sourceLine" id="cb1-6" title="6"><span class="kw">end</span></a>
|
||||||
<a class="sourceLine" id="cb1-7" title="7">reshape(rand(d, n^<span class="fl">2</span>), (n,n)) + im*reshape(rand(d, n^<span class="fl">2</span>), (n,n))</a>
|
<a class="sourceLine" id="cb1-7" title="7"></a>
|
||||||
<a class="sourceLine" id="cb1-8" title="8"><span class="kw">end</span></a>
|
<a class="sourceLine" id="cb1-8" title="8">v = eigvals(ginibre(<span class="fl">2000</span>))</a>
|
||||||
<a class="sourceLine" id="cb1-9" title="9"></a>
|
<a class="sourceLine" id="cb1-9" title="9"></a>
|
||||||
<a class="sourceLine" id="cb1-10" title="10">v = eigvals(ginibre(<span class="fl">2000</span>))</a>
|
<a class="sourceLine" id="cb1-10" title="10">scatterplot(real(v), imag(v), xlim=[-<span class="fl">1.5</span>,<span class="fl">1.5</span>], ylim=[-<span class="fl">1.5</span>,<span class="fl">1.5</span>])</a></code></pre></div>
|
||||||
<a class="sourceLine" id="cb1-11" title="11"></a>
|
|
||||||
<a class="sourceLine" id="cb1-12" title="12">scatterplot(real(v), imag(v), xlim=[-<span class="fl">1.5</span>,<span class="fl">1.5</span>], ylim=[-<span class="fl">1.5</span>,<span class="fl">1.5</span>])</a></code></pre></div>
|
|
||||||
<p>I like using <code>UnicodePlots</code> for this kind of quick-and-dirty plots, directly in the terminal. Here is the output:</p>
|
<p>I like using <code>UnicodePlots</code> for this kind of quick-and-dirty plots, directly in the terminal. Here is the output:</p>
|
||||||
<p><img src="../images/ginibre.png" /></p>
|
<p><img src="../images/ginibre.png" /></p>
|
||||||
<h2 id="references">References</h2>
|
<h2 id="references">References</h2>
|
||||||
|
|
|
@ -32,13 +32,11 @@ date: 2019-03-20
|
||||||
algebra and statistical distributions:
|
algebra and statistical distributions:
|
||||||
|
|
||||||
#+begin_src julia
|
#+begin_src julia
|
||||||
using Distributions
|
|
||||||
using LinearAlgebra
|
using LinearAlgebra
|
||||||
using UnicodePlots
|
using UnicodePlots
|
||||||
|
|
||||||
function ginibre(n)
|
function ginibre(n)
|
||||||
d = Normal(0, sqrt(1/2n))
|
return randn((n, n)) * sqrt(1/2n) + im * randn((n, n)) * sqrt(1/2n)
|
||||||
reshape(rand(d, n^2), (n,n)) + im*reshape(rand(d, n^2), (n,n))
|
|
||||||
end
|
end
|
||||||
|
|
||||||
v = eigvals(ginibre(2000))
|
v = eigvals(ginibre(2000))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue