Язык Wolfram Language

Случайные матрицы

Круговые ансамбли (КОА, КУА,...)

Круговые ансамбли - это семейства унитарных матриц с неизменными распределениями при различных унитарных трансформациях. Их обычно применяют в статистической механике, теории чисел, комбинаторике и ядерной физике.

Матрицы из кругового действительного ансамбля (КДА) являются ортогональными. »

In[1]:=
Click for copyable input
cre = RandomVariate[CircularRealMatrixDistribution[5]];
In[2]:=
Click for copyable input
OrthogonalMatrixQ[cre]
Out[2]=

Матрицы из кругового унитарного ансамбля (КУА) являются унитарными. »

In[3]:=
Click for copyable input
cue = RandomVariate[CircularUnitaryMatrixDistribution[5]];
In[4]:=
Click for copyable input
UnitaryMatrixQ[cue]
Out[4]=

Матрицы из кругового ортогонального ансамбля (КОА) являются симметричными и унитарными. »

In[5]:=
Click for copyable input
coe = RandomVariate[CircularOrthogonalMatrixDistribution[5]];
In[6]:=
Click for copyable input
SymmetricMatrixQ[coe] && UnitaryMatrixQ[coe]
Out[6]=

Матрицы из кругового симплектического ансамбля (КСА) являются автодуальными унитарными кватернионными. »

код на языке Wolfram Language целиком
In[7]:=
Click for copyable input
selfdualQuaternionicQ[m_] := With[{\[ScriptCapitalJ] = KroneckerProduct[{{0, -1}, {1, 0}}, IdentityMatrix[Length[m]/2]], mat = SetAccuracy[m, 10]}, Transpose[mat].\[ScriptCapitalJ] == \[ScriptCapitalJ].mat];
In[8]:=
Click for copyable input
cse = RandomVariate[CircularSymplecticMatrixDistribution[5]];
In[9]:=
Click for copyable input
UnitaryMatrixQ[cse] && selfdualQuaternionicQ[cse]
Out[9]=

Матрицы из кругового кватернионного ансамбля (ККА) являются симплектическими унитарными. »

код на языке Wolfram Language целиком
In[10]:=
Click for copyable input
symplecticMatrixQ[mat_] := With[{\[ScriptCapitalJ] = KroneckerProduct[{{0, -1}, {1, 0}}, IdentityMatrix[Length[mat]/2]] }, Conjugate[mat].\[ScriptCapitalJ] == \[ScriptCapitalJ].mat];
In[11]:=
Click for copyable input
cqe = RandomVariate[CircularQuaternionMatrixDistribution[5]];
In[12]:=
Click for copyable input
UnitaryMatrixQ[cqe] && symplecticMatrixQ[cqe]
Out[12]=

Собственные значения матриц из КУА, КОА и КСА имеют равные единицы длины и равномерно распределены по фазе.

код на языке Wolfram Language целиком
In[13]:=
Click for copyable input
args = Flatten[ Arg[RandomVariate[ MatrixPropertyDistribution[Eigenvalues[x], x \[Distributed] #], 10^4]]] & /@ {CircularUnitaryMatrixDistribution[5], CircularOrthogonalMatrixDistribution[5], CircularSymplecticMatrixDistribution[5]}; Row[MapThread[ Histogram[#1, {-Pi, Pi, Pi/10}, Frame -> None, ChartLegends -> Placed[#2, Above]] &, {args, {Style["Unitary", 15], Style["Orthogonal", 15], Style["Symplectic", 15]}}]]
Out[13]=

Визуализируйте совместное распределение фазы собственных значений из двухмерного КУА и сравните его с фактической плотностью.

In[14]:=
Click for copyable input
evs\[ScriptCapitalD] = MatrixPropertyDistribution[Arg[Eigenvalues[x]], x \[Distributed] CircularUnitaryMatrixDistribution[2]]; \[CurlyPhi]s = RandomSample /@ RandomVariate[evs\[ScriptCapitalD], 10^5];
код на языке Wolfram Language целиком
In[14]:=
Click for copyable input
Show[ Histogram3D[\[CurlyPhi]s, {-Pi, Pi, 0.25}, PDF, PlotTheme -> "Scientific", ChartStyle -> "AvocadoColors"], Plot3D[1/(8 Pi^2) Abs[Exp[I \[Phi]1] - Exp[I \[Phi]2]]^2, {\[Phi]1, -Pi, Pi}, {\[Phi]2, -Pi, Pi}, PlotStyle -> None, MeshStyle -> Thick], ImageSize -> Medium]
Out[15]=

Родственные примеры

de en es fr ja ko pt-br zh