# Matrix-valued Distributions

## GUE

RandomMatrix.GUEType
GUE <: ContinuousMatrixDistribution
GUE(n)
• n : dimension
• The Gaussian Unitary Ensemble (GUE) is an ensemble of random $n \times n$ Hermitian matrices $M_{n}$ in which the upper-triangular entries are iid with distribution $N(0,1)_{\mathbf{C}}$, and the diagonal entries are iid with distribution $N(0,1)_{\mathbf{R}}$, and independent of the upper-triangular ones
rand(M::GUE, norm::bool) 
• norm : default false, if norm set to true, then the matrix will be normlaized with $\operatorname{min}(n,m)^{-1/2}$.

Examples

Generate a 3 by 3 random matrix from GUE(3)

rand(GUE(3))

3×3 Hermitian{ComplexF64, Matrix{ComplexF64}}:
-0.883413+0.0im         1.09872+0.874884im     -0.1985-1.04778im
1.09872-0.874884im    1.55483+0.0im        -0.488532+1.18694im
-0.1985+1.04778im   -0.488532-1.18694im   -0.0823873+0.0im
rand(GUE(2),norm=true)
2×2 Hermitian{ComplexF64, Matrix{ComplexF64}}:
-0.457089+0.0im       -0.672713-0.102234im
-0.672713+0.102234im   0.380126+0.0im
source

## GOE

RandomMatrix.GOEType
GOE <: ContinuousMatrixDistribution
GOE(n) 
• n : dimension
• The Gaussian Orthogonal Ensemble (GOE) is an ensemble of random $n \times n$ Symmetric matrices $M_{n}$ in which the upper-triangular entries are iid with distribution $N(0,1)_{\mathbf{R}}$, and the diagonal entries are iid with distribution $N(0,2)_{\mathbf{R}}$, and independent of the upper-triangular ones
rand(M::GOE, norm::bool)
• norm : default false, if norm set to true, then the matrix will be normlaized with $\operatorname{min}(n,m)^{-1/2}$.

Examples

Generate a 3 by 3 random matrix from GOE(3)

rand(GOE(3))

3×3 Symmetric{Float64, Matrix{Float64}}:
-1.62391   -0.451433    0.863883
-0.451433   0.0271799  -0.524854
0.863883  -0.524854   -0.00930624
rand(GOE(3),norm=true)

3×3 Symmetric{Float64, Matrix{Float64}}:
0.302141   0.152634   -0.711679
0.152634  -0.0629327   0.103075
-0.711679   0.103075    1.51861
source

## Haar

RandomMatrix.HaarType
Haar(beta,n)
• Uniform distribution on O(n) (beta = 1), U(n) (beta = 2)
• beta: 1 for Orthogonal, 2 for Unitary
• n: dimension
# Examples

# Generate a 100 by 100 random Unitary Matrix uniformly from U(n)
rand(Haar(2,100))

# Generate a 100 by 100 random Orthogonal Matrix uniformly from O(n)
rand(Haar(1,100))
source