freealg.distributions.DeformedMarchenkoPastur#
- class freealg.distributions.DeformedMarchenkoPastur(t, w, c=1.0)#
Deformed Marchenko-Pastur distribution
- Parameters:
- tarray_like
Atom locations (jump sizes). For PSD-like support, keep them >= 0.
- warray_like
Weights for atoms. Must have same length as
t, each entry must be nonnegative, and their sum must be 1.- cfloat
Ratio parameter of Marchenko-Pastur distribution, must be >= 0.
See also
Notes
Silverstein / companion Stieltjes variable
For sample-covariance, free multiplicative convolution with \(MP_c\): Let \(u(z)\) be the companion Stieltjes transform (often denoted \(\underline{m})\). It satisfies the Silverstein equation:
\[z = -1/u + c * \mathbb{E}_H [ t / (1 + t u) ].\]For \(H = \sum_i w_i \delta_{t_i}\):
\[z = -1/u + c \sum_i \frac{w_i*t_i}{1+t_i u}.\]Then the (ordinary) Stieltjes transform m(z) of \(\mu = H \boxtimes \mathrm{MP}_c\) is
\[u = -(1-c)/z + c m\](equivalently \(m = (u + (1-c)/z)/c\) for \(c>0\)).
This module solves for u (degree r+1 when H has r atoms), then maps to m.
Reference for the Silverstein equation form:
\[z = -1/u + c \int t/(1 + t u) dH(t).\]Methods
density([x, eta, ac_only, plot, latex, ...])Density of distribution.
roots(z)Roots of polynomial implicitly representing Stieltjes transform
stieltjes(z[, max_iter, tol])Stieltjes transform
support([eta, n_probe, thr, x_max, x_pad, ...])Support intervals of distribution
sample(size[, x_min, x_max, method, seed, ...])Sample from distribution.
matrix(size[, seed])Generate matrix with the spectral density of the distribution.
poly()Polynomial coefficients implicitly representing the Stieltjes