freealg.FreeForm#

class freealg.FreeForm(A, support=None, delta=1e-06, **kwargs)#

Free probability for large matrices.

Parameters:
Anumpy.ndarray

The 2D symmetric \(\mathbf{A}\). The eigenvalues of this will be computed upon calling this class. If a 1D array provided, it is assumed to be the eigenvalues of \(\mathbf{A}\).

supporttuple, default=None

The support of the density of \(\mathbf{A}\). If None, it is estimated from the minimum and maximum of the eigenvalues.

delta: float, default=1e-6

Size of perturbations into the upper half plane for Plemelj’s formula.

**kwargsdict, optional

Parameters for the detect_support function can also be prescribed here when support=None.

Notes

TBD

References

[1]

Reference.

Examples

>>> from freealg import FreeForm
Attributes:
eignumpy.array

Eigenvalues of the matrix

support: tuple

The predicted (or given) support \((\lambda_{\min}, \lambda_{\max})\) of the eigenvalue density.

psinumpy.array

Jacobi coefficients.

nint

Initial array size (assuming a square matrix when \(\mathbf{A}\) is 2D).

Methods

fit([method, K, alpha, beta, reg, ...])

Fit model to eigenvalues.

density([x, plot, latex, save])

Evaluate density.

hilbert([x, rho, plot, latex, save])

Compute Hilbert transform of the spectral density.

stieltjes([x, y, plot, latex, save])

Compute Stieltjes transform of the spectral density on a grid.

decompress(size[, x, max_iter, eigvals, ...])

Free decompression of spectral density.