A Julia package containing =Distribution.jl=-type specifications for various distributions arising from random matrix theory.
Currently implemented 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. 
spikesis 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. 
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
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$.
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.
An Jupyter notebook demonstrating all of the implemented eigenvalue samplers is provided in
 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).