Skip to content

Commit 20f39f5

Browse files
committed
More introductory text in README
1 parent d1a8660 commit 20f39f5

File tree

1 file changed

+86
-33
lines changed

1 file changed

+86
-33
lines changed

README.md

Lines changed: 86 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,17 @@
11
RandomMatrices.jl
22
=================
33

4-
Random matrix repository for Julia
4+
Random matrix package for [Julia](http://julialang.org).
5+
6+
This extends the [Distributions](https://github.com/JuliaStats/Distributions.jl)
7+
package to provide methods for working with matrix-valued random variables,
8+
a.k.a. random matrices. State of the art methods for computing random matrix
9+
samples and their associated distributions are provided.
510

611
## License
7-
Copyright (c) 2013 Jiahao Chen <[email protected]> @jiahao
12+
Copyright (c) 2013 [Jiahao Chen](https://github.com/jiahao) <[email protected]>
813

9-
This Julia package is distribtued under the [MIT License](http://opensource.org/licenses/MIT).
14+
Distributed under the [MIT License](http://opensource.org/licenses/MIT).
1015

1116
# Gaussian matrix ensembles
1217

@@ -26,58 +31,106 @@ Hermite, Laguerre(m) and Jacobi(m1, m2) ensembles.
2631

2732
- `GaussianHermiteMatrix(n, beta)`, `GaussianLaguerreMatrix(n, m, beta)`,
2833
`GaussianJacobiMatrix(n, m1, m2, beta)`
29-
each construct a sample dense `n`x`n` matrix for the corresponding matrix ensemble with `beta=1,2,4`
30-
- `GaussianHermiteTridiagonalMatrix(n, beta)`, `GaussianLaguerreTridiagonalMatrix(n, m, beta)`,
31-
`GaussianJacobiSparseMatrix(n, m1, m2, beta)` each construct a sparse `n`x`n` matrix for the
32-
corresponding matrix ensemble for arbitrary positive finite `beta`.
34+
each construct a sample dense `n`x`n` matrix for the corresponding matrix
35+
ensemble with `beta=1,2,4`
36+
37+
- `GaussianHermiteTridiagonalMatrix(n, beta)`,
38+
`GaussianLaguerreTridiagonalMatrix(n, m, beta)`,
39+
`GaussianJacobiSparseMatrix(n, m1, m2, beta)`
40+
each construct a sparse `n`x`n` matrix for the corresponding matrix ensemble
41+
for arbitrary positive finite `beta`.
3342
`GaussianHermiteTridiagonalMatrix(n, Inf)` is also allowed.
34-
- `GaussianHermiteSamples(n, beta)`, `GaussianLaguerreSamples(n, m, beta)`,
35-
`GaussianJacobiSamples(n, m1, m2, beta)` return a set of `n` eigenvalues from the previous sampled
36-
random matrices
43+
These sampled matrices have the same eigenvalues as above but are much faster
44+
to diagonalize oweing to their sparsity. They also extend Dyson's threefold
45+
way to arbitrary `beta`.
46+
- `GaussianHermiteSamples(n, beta)`,
47+
`GaussianLaguerreSamples(n, m, beta)`,
48+
`GaussianJacobiSamples(n, m1, m2, beta)`
49+
return a set of `n` eigenvalues from the sparse random matrix samples
3750

3851
(Note the parameters of the Laguerre and Jacobi ensembles are not yet defined consistently.
39-
For the first set they are integers but for the rest they are reals.)
52+
For the first set of methods they are integers but for the rest they are reals.)
4053

4154
# Formal power series
4255

43-
Allows for manipulations of formal power series (fps) and formal Laurent series.
44-
45-
This defines the new types
46-
- `FormalPowerSeries`: power series with coefficients allowed only for non-negative integer powers
47-
- `FormalLaurentSeries`: power series with coefficients allowed for all integer powers
56+
Allows for manipulations of formal power series (fps) and formal Laurent series
57+
(fLs), which come in handy for the computation of free cumulants.
4858

49-
## FormalPowerSeries
59+
## Types
60+
- `FormalPowerSeries`: power series with coefficients allowed only for
61+
non-negative integer powers
62+
- `FormalLaurentSeries`: power series with coefficients allowed for all
63+
integer powers
5064

51-
In addition to basic arithmetic operations `==`, `+`, `-`, `^`, this also provides:
65+
## FormalPowerSeries methods
5266

53-
- `tovector` returns the series coefficients
54-
- `trim` removes extraneous zeroes
67+
### Elementary operations
68+
- basic arithmetic operations `==`, `+`, `-`, `^`
5569
- `*` computes the Cauchy product (discrete convolution)
5670
- `.*` computes the Hadamard product (elementwise multiplication)
57-
- `isunit(P)` determines if `P` is a unit series
58-
- `isnonunit(P)` determines if `P` is a non-unit series
59-
- `MatrixForm(P)` returns a matrix representation of `P` as an upper triangular Toeplitz matrix
60-
- `reciprocal` computes the series reciprocal
61-
- `derivative` computes the series derivative
62-
- `isconstant(P)` determines if `P` is a constant series
6371
- `compose(P,Q)` computes the series composition P.Q
72+
- `derivative` computes the series derivative
73+
- `reciprocal` computes the series reciprocal
74+
75+
### Utility methods
76+
- `trim(P)` removes extraneous zeroes in the internal representation of `P`
6477
- `isalmostunit(P)` determines if `P` is an almost unit series
78+
- `isconstant(P)` determines if `P` is a constant series
79+
- `isnonunit(P)` determines if `P` is a non-unit series
80+
- `isunit(P)` determines if `P` is a unit series
81+
- `MatrixForm(P)` returns a matrix representation of `P` as an upper triangular
82+
Toeplitz matrix
83+
- `tovector` returns the series coefficients
6584

6685
# Densities
6786

6887
Famous distributions in random matrix theory
6988

7089
- `Semicircle` provides the semicircle distribution
71-
- `TracyWidom` computes the Tracy-Widom density distribution by brute-force integration of the Painlevé II equation
90+
- `TracyWidom` computes the Tracy-Widom density distribution
91+
by brute-force integration of the Painlevé II equation
7292

7393
# Utility functions
7494

75-
- `hist_eig` computes the histogram of eigenvalues of a matrix using the method of Sturm sequences.
76-
For `SymTridiagonal` matrices this is significantly faster than `hist(eigvals())`
95+
- `hist_eig` computes the histogram of eigenvalues of a matrix using the
96+
method of Sturm sequences.
97+
This is recommended for `SymTridiagonal` matrices as it is significantly
98+
faster than `hist(eigvals())`
99+
This is also implemented for dense matrices, but it is pretty slow and
100+
not really practical.
77101

78102
# References
79-
- James Albrecht, Cy Chan, and Alan Edelman, "Sturm Sequences and Random Eigenvalue Distributions", *Foundations of Computational Mathematics*, vol. 9 iss. 4 (2009), pp 461-483. [[pdf]](www-math.mit.edu/~edelman/homepage/papers/sturm.pdf) [[doi]](http://dx.doi.org/10.1007/s10208-008-9037-x)
80-
- Alan Edelman, Per-Olof Persson and Brian D Sutton, "The fourfold way", *Journal of Mathematical Physics*, submitted (2013). [[pdf]](http://www-math.mit.edu/~edelman/homepage/papers/ffw.pdf)
81-
u- Alan Edelman and Brian D. Sutton, "The beta-Jacobi matrix model, the CS decomposition, and generalized singular value problems", *Foundations of Computational Mathematics*, vol. 8 iss. 2 (2008), pp 259-285. [[pdf]](http://www-math.mit.edu/~edelman/homepage/papers/betajacobi.pdf) [[doi]](http://dx.doi.org/10.1007/s10208-006-0215-9)
82-
- Peter Henrici, *Applied and Computational Complex Analysis, Volume I: Power Series---Integration---Conformal Mapping---Location of Zeros*, Wiley-Interscience: New York, 1974 [[worldcat]](http://www.worldcat.org/title/applied-and-computational-complex-analysis/oclc/746035)
103+
- James Albrecht, Cy Chan, and Alan Edelman,
104+
"Sturm Sequences and Random Eigenvalue Distributions",
105+
*Foundations of Computational Mathematics*,
106+
vol. 9 iss. 4 (2009), pp 461-483.
107+
[[pdf]](www-math.mit.edu/~edelman/homepage/papers/sturm.pdf)
108+
[[doi]](http://dx.doi.org/10.1007/s10208-008-9037-x)
109+
110+
- Ioana Dumitriu and Alan Edelman,
111+
"Matrix Models for Beta Ensembles",
112+
*Journal of Mathematical Physics*,
113+
vol. 43 no. 11 (2002), pp. 5830-5547
114+
[[doi]](http://dx.doi.org/doi: 10.1063/1.1507823)
115+
[arXiv:math-ph/0206043](http://arxiv.org/abs/math-ph/0206043)
116+
117+
- Alan Edelman, Per-Olof Persson and Brian D Sutton,
118+
"The fourfold way",
119+
*Journal of Mathematical Physics*,
120+
submitted (2013).
121+
[[pdf]](http://www-math.mit.edu/~edelman/homepage/papers/ffw.pdf)
122+
123+
- Alan Edelman and Brian D. Sutton,
124+
"The beta-Jacobi matrix model, the CS decomposition,
125+
and generalized singular value problems",
126+
*Foundations of Computational Mathematics*,
127+
vol. 8 iss. 2 (2008), pp 259-285.
128+
[[pdf]](http://www-math.mit.edu/~edelman/homepage/papers/betajacobi.pdf)
129+
[[doi]](http://dx.doi.org/10.1007/s10208-006-0215-9)
130+
131+
- Peter Henrici,
132+
*Applied and Computational Complex Analysis,
133+
Volume I: Power Series---Integration---Conformal Mapping---Location of Zeros*,
134+
Wiley-Interscience: New York, 1974
135+
[[worldcat]](http://www.worldcat.org/oclc/746035)
83136

0 commit comments

Comments
 (0)