This Julia package provides methods to sample iid (independent and identically
distributed) eigenvalues from the classical
- Gaussian Beta Ensemble with probability distribution on
$-\infty < \lambda_1 < \dots < \lambda_N < \infty$
with
- Laguerre Beta Ensemble with probability distribution on
$0 < \lambda_1 < \dots < \lambda_N < \infty$
with
- Jacobi Beta Ensemble with probability distribution on
$0 < \lambda_1 < \dots < \lambda_N < 1$
with
For generic
To sample num_samples = 10000 iid samples from the Laguerre Beta Ensemble
above for matrix size N = 1000, and take only the smallest ordered
num_taken = 100 eigenvalues, for beta = 4, alpha = 2.5,
theta = 1 (from the LSE ensemble), you would do:
Lambda = LbetaE_eval_samples(N, num_taken, alpha, theta, beta, num_samples)
or
Lambda = LbetaE_eval_samples(1000, 100, 2.5, 1.0, 4.0, 10000)
Each of the num_samples rows of Lambda is an iid sample containing
the first 100 eigenvalues.
While other packages providing similar functionality exist (see below), the idea is to provide a package that is:
- focused solely on sampling for researchers who want to experiment with classical random matrix models;
- fast;
- easy to use;
- easy to read;
- easy to modify for users unfamiliar with Julia;
- useful for batch sampling for situations in which taking a large number of iid samples (e.g. to compute expectations) might be needed.
The sampling is done using the tridiagonal method of Dumitriu--Edelman and Killip--Nenciu, following the paper by Gautier--Bardenet--Valko (namely the conventions and notation of Thm 2.1, 2.2, and 2.3 of the latter). See the references for links.
It uses LinearAlgebra, Random, and Distributions.
The Python package DPPy was originally implemented by Gautier--Bardenet--Valko as a companion to their paper referenced below.
The RandomMatrices.jl implements some of the same functionality as well.
- Dumitriu, Edelman, Matrix models for beta ensembles, arXiv link
- Gautier, Bardenet, Valko, Fast sampling from beta ensembles, arXiv link
- Killip, Nenciu, Matrix models for circular ensembles, arXiv link
- Anderson, Guionnet, Zeitouni, An introduction to random matrices, link to PDF
- Edelman, Eigenvalues and condition numbers of random matrices, PhD thesis, link to PDF
- Livan, Novaes, Vivo, An introduction to random matrices - theory and practice, arXiv link