Note
Go to the end to download the full example code.
Circular Ensemble
Defines Circular Ensemble random matrices
# Author: Alejandro Santorum Varela
# License: BSD 3-Clause
from skrmt.ensemble import CircularEnsemble
Circular Ensemble contains random matrices introduced by Freeman Dyson as modifications of the Gaussian Ensemble.
Circular Orthogonal Ensemble (COE)
Random matrices of COE have real entries gaussian distributed. These matrices are invariant under orthogonal conjugation, i.e., if \(\mathbf{X} \in \text{COE}\) and \(\mathbf{O}\) is an orthogonal matrix, then \(\mathbf{O} \mathbf{X} \mathbf{O}^T\) is equally distributed as \(\mathbf{X}\).
They are also known as 1-Dyson random matrices (beta = 1).
A random matrix of Circular Orthogonal Ensemble can be sampled using scikit-rmt with the following code.
coe = CircularEnsemble(beta=1, n=4)
print(coe.matrix)
[[-0.12645976+0.41434039j 0.07087014+0.3325673j 0.25825756-0.40693271j
-0.27854225+0.62195611j]
[ 0.07087014+0.3325673j 0.04292674-0.2518253j 0.75512459+0.2274324j
0.4418379 -0.04425334j]
[ 0.25825756-0.40693271j 0.75512459+0.2274324j 0.29967872+0.03800235j
-0.21876984-0.0815991j ]
[-0.27854225+0.62195611j 0.4418379 -0.04425334j -0.21876984-0.0815991j
-0.1275336 -0.51732219j]]
Circular Unitary Ensemble (CUE)
Random matrices of CUE have complex entries gaussian distributed, i.e., their real part and their complex part are gaussian distributed. These matrices are invariant under unitary conjugation, i.e., if \(\mathbf{X} \in \text{CUE}\) and \(\mathbf{O}\) is an unitary matrix, then \(\mathbf{O} \mathbf{X} \mathbf{O}^T\) is equally distributed as \(\mathbf{X}\).
They are also known as 2-Dyson random matrices (beta = 2).
A random matrix of Circular Unitary Ensemble can be sampled using scikit-rmt with the following code.
cue = CircularEnsemble(beta=2, n=4)
print(cue.matrix)
[[-0.36058796-0.43195498j -0.13631854+0.2362593j -0.23617952-0.70568448j
0.21376232-0.09759275j]
[-0.20823174+0.45314635j -0.02050427-0.63267576j 0.16983497-0.4723054j
-0.22228646-0.22197142j]
[ 0.53267569-0.33648245j 0.35472113-0.39610975j -0.36727905-0.04732658j
0.13519559-0.40607217j]
[-0.02975125-0.19193797j 0.4713975 -0.14125912j -0.1582397 -0.17927307j
-0.43322638+0.6893774j ]]
Circular Symplectic Ensemble (CSE)
Random matrices of CSE are invariant under conjugation by the symplectic group.
They are also known as 4-Dyson random matrices (beta = 4).
A random matrix of Circular Symplectic Ensemble can be sampled using scikit-rmt with the following code.
cse = CircularEnsemble(beta=4, n=2)
print(cse.matrix)
[[-1.32223241e-01-3.93257553e-01j -7.64256279e-18-1.99493200e-17j
-5.10882402e-01-7.51682255e-02j -3.09206758e-03-3.90820188e-01j]
[ 6.25460078e-01+3.89337197e-02j 3.78659161e-01-3.18089327e-01j
6.25460078e-01+3.89337197e-02j -2.80852595e-01-8.12799161e-01j]
[ 8.84844130e-01-1.72706143e-01j 3.09206758e-03+3.90820188e-01j
1.54435589e+00+3.22003691e-01j 3.09206758e-03+3.90820188e-01j]
[-6.25460078e-01-3.89337197e-02j -5.10882402e-01-7.51682255e-02j
-1.97020323e-17+0.00000000e+00j 1.03347348e+00+2.46835466e-01j]]
Total running time of the script: (0 minutes 0.003 seconds)