Skip to content

Commit abddf0f

Browse files
committed
Update README.md
1 parent bb7d42b commit abddf0f

File tree

1 file changed

+54
-2
lines changed

1 file changed

+54
-2
lines changed

README.md

Lines changed: 54 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,41 @@ package to provide methods for working with matrix-valued random variables,
88
a.k.a. random matrices. State of the art methods for computing random matrix
99
samples and their associated distributions are provided.
1010

11+
The names of the various ensembles can vary widely across disciplines. Where possible,
12+
synonyms are listed.
13+
1114
## License
1215
Copyright (c) 2013 [Jiahao Chen](https://github.com/jiahao) <[email protected]>
1316

1417
Distributed under the [MIT License](http://opensource.org/licenses/MIT).
1518

1619
# Gaussian matrix ensembles
1720

21+
Much of classical random matrix theory has focused on matrices with matrix elements comprised of
22+
independently and identically distributed (iid) real, complex or quaternionic Gaussians.
23+
(Traditionally, these are associated with a parameter `beta` tracking the number of independent
24+
real random variables per matrix element, i.e. `beta=1,2,4` respectively. This is also referred
25+
to as the Dyson 3-fold way.)
26+
Methods are provided for calculating random variates (samples) and various properties of these
27+
random matrices.
28+
29+
The hierarchy of dense matrices provided are
30+
31+
- Ginibre ensemble - all matrix elements are iid with no global symmetry
32+
- Hermite ensemble - one global symmetry
33+
- Gaussian orthogonal ensemble (GOE, `beta=1`) - real and symmetric
34+
- Gaussian unitary ensemble (GUE, `beta=2`) - complex and Hermitian
35+
- Gaussian symplectic ensemble (GSE, `beta=4`) - quaternionic and self-dual
36+
- Circular ensemble - uniformly distributed with `|det|=1`
37+
- Circular orthogonal ensemble (GOE, `beta=1`)
38+
- Circular unitary ensemble (GUE, `beta=2`)
39+
- Circular symplectic ensemble (GSE, `beta=4`)
40+
- Laguerre matrices = white Wishart matrices
41+
- Jacobi matrices = MANOVA matrices
42+
43+
Unless otherwise specified, `beta=1,2,4` are supported. For the symplectic matrices `beta=4`,
44+
the 2x2 outer block-diagonal complex representation `USp(2N)` is used.
45+
1846
## Joint probability density functions (jpdfs)
1947

2048
Given eigenvalues `lambda` and the `beta` parameter of the random matrix distribution:
@@ -48,8 +76,15 @@ Hermite, Laguerre(m) and Jacobi(m1, m2) ensembles.
4876
`GaussianJacobiSamples(n, m1, m2, beta)`
4977
return a set of `n` eigenvalues from the sparse random matrix samples
5078

51-
(Note the parameters of the Laguerre and Jacobi ensembles are not yet defined consistently.
52-
For the first set of methods they are integers but for the rest they are reals.)
79+
- `HaarMatrix(n, beta)`
80+
Generates a random matrix from the `beta`-circular ensemble.
81+
- `HaarMatrix(n, beta, correction)` provides fine-grained control of what kind of correction
82+
is applied to the raw QR decomposition. By default, `correction=1` (Edelman's correction) is
83+
used. Other valid values are `0` (no correction) and `2` (Mezzadri's correction).
84+
- `NeedsPiecewiseCorrection()` implements a simple test to see if a correction is necessary.
85+
86+
The parameters `m`, `m1`, `m2` refer to the number to independent "data" degrees of freedom.
87+
For the dense samples these must be `Integer`s but can be `Real`s for the rest.
5388

5489
# Formal power series
5590

@@ -99,6 +134,19 @@ Famous distributions in random matrix theory
99134
This is also implemented for dense matrices, but it is pretty slow and
100135
not really practical.
101136

137+
# Stochastic processes
138+
139+
Provides finite-dimensional matrix representations of stochastic operators.
140+
141+
In the following, `dt` is the time interval being discretized over and `t_end` is the final time.
142+
143+
- `BrownianProcess(dt, t_end)` generates a vector corresponding to a Brownian random walk starting
144+
from time `t=0` and position `x=0`
145+
- `WhiteNoiceProcess(dt, t_end)` generates a vector corresponding to white noise.
146+
- `StochasticAiryProcess(dt, t_end, beta)` generates the largest eigenvalue corresponding to the
147+
stochastic Airy process with real positive `beta`. This is known to be distributed in the `t_end -> Inf`
148+
limit to the `beta`-Tracy-Widom law.
149+
102150
# References
103151
- James Albrecht, Cy Chan, and Alan Edelman,
104152
"Sturm Sequences and Random Eigenvalue Distributions",
@@ -134,3 +182,7 @@ Famous distributions in random matrix theory
134182
Wiley-Interscience: New York, 1974
135183
[[worldcat]](http://www.worldcat.org/oclc/746035)
136184

185+
- Frank Mezzadri,
186+
"How to generate random matrices from the classical compact groups",
187+
Notices of the AMS, vol. 54 (2007), pp592-604
188+
[[arXiv]](http://arxiv.org/abs/math-ph/0609050)

0 commit comments

Comments
 (0)