You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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).
10
15
11
16
# Gaussian matrix ensembles
12
17
@@ -26,58 +31,106 @@ Hermite, Laguerre(m) and Jacobi(m1, m2) ensembles.
26
31
27
32
-`GaussianHermiteMatrix(n, beta)`, `GaussianLaguerreMatrix(n, m, beta)`,
28
33
`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`.
33
42
`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
37
50
38
51
(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.)
40
53
41
54
# Formal power series
42
55
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.
48
58
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
50
64
51
-
In addition to basic arithmetic operations `==`, `+`, `-`, `^`, this also provides:
65
+
## FormalPowerSeries methods
52
66
53
-
-`tovector` returns the series coefficients
54
-
-`trim` removes extraneous zeroes
67
+
### Elementary operations
68
+
-basic arithmetic operations `==`, `+`, `-`, `^`
55
69
-`*` computes the Cauchy product (discrete convolution)
56
70
-`.*` 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
63
71
-`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`
64
77
-`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
65
84
66
85
# Densities
67
86
68
87
Famous distributions in random matrix theory
69
88
70
89
-`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
72
92
73
93
# Utility functions
74
94
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.
77
101
78
102
# 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",
0 commit comments