Wolfram言語

ランダム行列

行列分布の特性

ランダム行列から導かれた低次元統計は,行列アンサンブルを特徴付ける際に大きな役割を果たす.いろいろな極限状況において,これらの統計の分布はさまざまな普遍性クラスに分解される.MatrixPropertyDistributionは導き出されたこれらの求められた特性の数値近似をサンプリングし,計算するのに便利である.

ガウス型ユニタリアンサンブルから最も大きい2つの固有値をサンプリングする.

In[1]:=
Click for copyable input
dist = MatrixPropertyDistribution[With[{spectrum = Eigenvalues[x]}, {Max[spectrum], RankedMax[spectrum, 2]}], x \[Distributed] GaussianUnitaryMatrixDistribution[50]];
In[2]:=
Click for copyable input
RandomVariate[dist]
Out[2]=

最も大きい2つの固有値の結合分布を,サンプリングの結果に基いて可視化する.

In[3]:=
Click for copyable input
sample = RandomVariate[dist, 10^4];
完全なWolfram言語入力を表示する
In[4]:=
Click for copyable input
SmoothHistogram3D[sample, "Scott", "PDF", PlotTheme -> "Detailed", ImageSize -> Medium]
Out[4]=

ガウス型直交アンサンブルの行列式をサンプリングし,経験分布と閉形式の式を比較する.

In[5]:=
Click for copyable input
dist = MatrixPropertyDistribution[Det[x], x \[Distributed] GaussianOrthogonalMatrixDistribution[2]]; dets = RandomVariate[dist, 10^6];
完全なWolfram言語入力を表示する
In[6]:=
Click for copyable input
empirical = Histogram[dets, {0.1}, PDF, PlotTheme -> "Detailed", ImageSize -> Medium]; detpdf[y_] := 1/Sqrt[2] Exp[ y] Piecewise[{{Erfc[Sqrt[2 y]], y >= 0}, {1, y < 0}}]; analytical = Plot[detpdf[y], {y, -5, 4}, Exclusions -> None, PlotLegends -> None, PlotTheme -> "Detailed", ImageSize -> Medium, Filling -> Axis]; Show[empirical, analytical]
Out[6]=

行列式の平均をモンテカルロサンプリングで近似し,実際の値と比較する.

In[7]:=
Click for copyable input
{N@Mean[dist], Integrate[x detpdf[x], {x, -Infinity, Infinity}]}
Out[7]=

関連する例

de en es fr ko pt-br ru zh