freealg.distributions.FussCatalan#
- class freealg.distributions.FussCatalan(p=2)#
Fuss-Catalan (a.k.a. free Bessel / Raney) distribution.
This is the law of squared singular values of a product of \(p\) independent (square) Ginibre matrices in the large-n limit. For \(p=1\) this reduces to the Marchenko–Pastur law with \(c = 1\).
- Parameters:
- pint, default=2
Order of the Fuss-Catalan distribution. \(p = 1\) is MP (\(c=1\)).
Notes
Let \(p \geq 1\) be an integer. The Stieltjes transform \(m(z)\) of the \(p\)-th Fuss-Catalan distribution solves the algebraic equation
..math:
(-1)^p z^p m(z)^{p+1} - z m(z) - 1 = 0,
where the physical branch is selected by the Herglotz condition Im m(z) > 0 for Im z > 0.
Equivalently, in terms of w(z) = -m(z):
\[z = (1 + w)^{p+1} / w^p.\]The support is a single interval [0, x_max] with
\[x_max = (p+1)^{p+1} / p^p.\](All in the standard normalization where the mean is 1.)
Application:
This law might be applicable to the Jacobian of neural networks.
Methods
density([x, eta, plot, latex, save, eig])Density of distribution.
roots(z)Return all algebraic branches at scalar z.
stieltjes(z[, max_iter, tol])Stieltjes transform
support()Return the single support interval [0, x_max].
sample(size[, x_min, x_max, method, seed, ...])Sample from distribution.
matrix(size[, seed])Generate a PSD random matrix whose ESD approximates Fuss-Catalan(p).
poly()Return coeffs for the exact polynomial P(z,m)=0.