API Reference#

Free Forms#

The following classes core implementations defining the free objects.

freealg.FreeForm(A[, support, delta, dtype])

Free probability for large matrices.

Linear Algebra#

The followings are the free version of some of the common linalg functions.

freealg.eigvalsh(A[, size, psd, seed, plot])

Estimate the eigenvalues of a matrix.

freealg.cond(A[, size, seed])

Estimate the condition number of a Hermitian positive-definite matrix.

freealg.norm(A[, size, order, seed])

Estimate the Schatten norm of a Hermitian matrix.

freealg.trace(A[, N, p, seed])

Estimate the trace of a power of a Hermitian matrix.

freealg.slogdet(A[, size, seed])

Estimate the sign and logarithm of the determinant of a Hermitian matrix.

Distribution Tools#

The following functions are utilities for distributions.

freealg.supp(eigs[, method, k, p])

Estimates the support of the eigenvalue density.

freealg.sample(x, rho, num_pts[, method, seed])

Low-discrepancy sampling from density estimate.

freealg.kde(eig, xs, lam_m, lam_p, h[, ...])

Kernel density estimation of eigenvalues.

Classical Distributions#

The following classes define classical random ensembles.

freealg.distributions.MarchenkoPastur(lam)

Marchenko-Pastur distribution.

freealg.distributions.Wigner(r)

Wigner semicircle distribution.

freealg.distributions.KestenMcKay(d)

Kesten-McKay distribution.

freealg.distributions.Wachter(a, b)

Wachter distribution.

freealg.distributions.Meixner(a, b, c)

Meixner distribution.