## RandomMatrixDistributions.jl

Specification and efficient samplers for several random matrix distributions, focusing on spiked models in real-valued data.
Author damian-t-p
Popularity
1 Star
Updated Last
2 Years Ago
Started In
May 2019

# RandomMatrixDistributions.jl

A Julia package containing =Distribution.jl=-type specifications for various distributions arising from random matrix theory.

# Currently implemented distributions

## Matrix distributions

• `SpikedWigner(beta, n, spikes; scaled=false)`: Wigner distribution with an added rank-r matrix with eigenvalues (s1, ... , sr) * sqrt(n).

• `SpikedWishart(beta, n, p, spikes; scaled=false)`: Wishart distribution with spiked covariance (sampler for more than one spike implemented only for the real case. 

`spikes` is an array `[s1, ..., sr]` such that the Wishart covariance is diagonal with entries s1, ... , sr, 1, ..., 1.

• `Jacobi(beta, n1, n2, p)`: Random matrices of the form E(E+H)-1. Here E and H are (n1, p) and (n2, p) white Wisharts respectively. 

Specifying `scaled=true` in `SpikedWigner` and `SpikedWishart` scales the matrices by an appropriate function of n so that the corresponding bulks converge to the semicircle and Marchenko-Pastur laws respectively. Due to the inverse in the definition of the Jacobi ensemble, no scaling is necessary for `Jacobi`,

Normal entries in Gaussian ensembles are scaled to have variance 1.

## Limiting eigenvalue distributions

• `MarchenkoPastur(gamma)`: Limiting empirical spectral density of a real white Wishart matrix with p/n -> gamma as long as 0 < gamma < 1.
• `TracyWidom(beta)`: Limiting distribution of the maximum eigenvalue of many random matrix ensembles with Dyson parameter beta.
• `Wachter(gamma1, gamma2)`: Limiting empirical spectral density of S1 S2-1. Here S1 and S2\$ are sample covariance matrices with n1/p -> gamma1 and n2/p -> gamma2\$.

# Efficient samplers

The function `randeigvals` efficiently samples from the distribution of eigenvalues of the implemented random matrix distributions. It does this by generating a tridiagonal or banded matrix with eigenvalue equal in distribution to the specified model.

# Examples

An Jupyter notebook demonstrating all of the implemented eigenvalue samplers is provided in `/examples/eigenvalue-simulation.ipynb`.

# References

 Dumitriu & Edelman, Matrix Models for beta ensembles, Journal of Mathematical Physics, (11), (2002).

 Killip & Nenciu, Matrix Models for Circular Ensembles, International Mathematics Research Notices, 50, (2004).

### Used By Packages

No packages found.