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