freealg.distributions.CompoundFreePoisson#

class freealg.distributions.CompoundFreePoisson(t, w, lam)#

Compound free Poisson distribution

Parameters:
tarray_like

Jump sizes (must be > 0). For PSD-like support, keep them > 0.

warray_like

Mixture weights for t (all entries must be > 0). Sum must be 1.

lamfloat

Total rate (intensity), must be > 0.

Notes

This model has atom at zero with mass \(\max(1-\lambda, 0)\).

This model is the additive free compound Poisson law whose R-transform is

\[R(w) = \lambda \sum_{i=1}^r w_i \frac{t_i}{1-t_i w},\]

where \(\lambda>0\) is the total rate (intensity), \(t_i>0\) are jump sizes, and \(w_i>0\) are weights with \(\sum_i w_i = 1\).

The Stieltjes transform \(m(z)\) satisfies

\[R(-m(z)) = z + 1/m(z).\]

For two atoms, clearing denominators yields a cubic polynomial in \(m\):

\[a_3(z)m^3 + t_2(z)m^2 + t_1(z)m + a_0(z) = 0.\]
FD-closure (free decompression):

Under the FD rule that scales the argument of R, this family stays closed by scaling the jump sizes: \(a_i(t) = e^{-t} a_i\) (keeping \(\lambda,w\) fixed). If your convention uses \(R_t(w)=R_0(e^{+t}w)\), then use \(a_i(t)=e^{+t}a_i\) instead.

Methods

density([x, eta, max_iter, tol, ac_only, ...])

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