freealg.FreeForm#
- class freealg.FreeForm(A, support=None, delta=1e-06, dtype='complex128', **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.
- dtype{
'complex128','complex256'}, default ='complex128' Data type for inner computations of complex variables:
'complex128': 128-bit complex numbers, equivalent of two double precision floating point.'complex256': 256-bit complex numbers, equivalent of two long double precision floating point. This optino is only available on Linux machines.
When using series acceleration methods (such as setting
continuationinfit()function towynn-eps), setting a higher precision floating point arithmetics might improve conference.- **kwargsdict, optional
Parameters for the
supp()function can also be prescribed here whensupport=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, n_quad, reg, ...])Fit model to eigenvalues.
density([x, plot, latex, save])Evaluate spectral 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, method, max_iter, ...])Free decompression of spectral density.
eigvalsh([size, seed])Estimate the eigenvalues.
cond([size, seed])Estimate the condition number.
trace([size, p, seed])Estimate the trace of a power.
slogdet([size, seed])Estimate the sign and logarithm of the determinant.
norm([size, order, seed])Estimate the Schatten norm.