Note
Go to the end to download the full example code.
Wishart Ensemble
Defines Wishart Ensemble random matrices
# Author: Alejandro Santorum Varela
# License: BSD 3-Clause
from skrmt.ensemble import WishartEnsemble
Wishart Ensemble contains random matrices formed by the multiplication of two random matrices whose entries are gaussian distributed.
Wishart Real Ensemble (WRE)
Random matrices of WRE are formed by multiplying a random real standard gaussian matrix of size \(p \times n\) by its transpose.
They are also known as 1-Laguerre random matrices (beta = 1).
A random matrix of Wishart Real Ensemble can be sampled using scikit-rmt with the following code.
wre = WishartEnsemble(beta=1, p=3, n=5)
print(wre.matrix)
[[ 0.1880697 -0.35862653 1.03459692]
[-0.35862653 3.20493239 -2.39821925]
[ 1.03459692 -2.39821925 9.20876718]]
Wishart Complex Ensemble (WCE)
Random matrices of WCE are formed by multiplying a random complex standard gaussian matrix of size \(p \times n\) by its transpose.
They are also known as 2-Laguerre random matrices (beta = 2).
A random matrix of Wishart Complex Ensemble can be sampled using scikit-rmt with the following code.
wce = WishartEnsemble(beta=2, p=3, n=5)
print(wce.matrix)
[[ 6.63028332-8.11359534e-17j -1.58979108-1.45590169e+00j
2.36308247+2.44656972e-01j]
[-1.58979108+1.45590169e+00j 4.17757502-9.75641610e-18j
-0.25390686-1.84462068e+00j]
[ 2.36308247-2.44656972e-01j -0.25390686+1.84462068e+00j
16.50688179-2.82917880e-17j]]
Wishart Quaternion Ensemble (WQE)
Random matrices of WQE are formed by sampling two random complex standard guassian matrices (\(\mathbf{X}\) and \(\mathbf{Y}\)), stacking them to create matrix \(\mathbf{A} = (\mathbf{X}\ \mathbf{Y}; -\mathbf{Y}^*\ \mathbf{X}^*)\). Finally matrix \(\mathbf{A}\) is multiplied by its transpose to generate a matrix WQE randon matrix.
They are also known as 4-Laguerre random matrices (beta = 4).
A random matrix of Wishart Quaternion Ensemble can be sampled using scikit-rmt with the following code.
wqe = WishartEnsemble(beta=4, p=2, n=5)
print(wqe.matrix)
[[ 2.09928152e+01+0.00000000e+00j -1.14119231e+00-2.07285276e+00j
2.92224765e-17-5.55111512e-17j -2.83429610e+00-4.98448250e+00j]
[-1.14119231e+00+2.07285276e+00j 2.20266455e+01+0.00000000e+00j
2.83429610e+00+4.98448250e+00j 2.98442182e-16+3.88578059e-16j]
[ 2.92224765e-17+5.55111512e-17j 2.83429610e+00-4.98448250e+00j
2.09928152e+01+0.00000000e+00j -1.14119231e+00+2.07285276e+00j]
[-2.83429610e+00+4.98448250e+00j 2.98442182e-16-3.88578059e-16j
-1.14119231e+00-2.07285276e+00j 2.20266455e+01+0.00000000e+00j]]
Total running time of the script: (0 minutes 0.004 seconds)