Paper | Slides | Docs | Live Demo
freealg is a Python package that employs free probability to evaluate the spectral densities of large matrix forms. The fundamental algorithm employed by freealg is free decompression, which extrapolates from the empirical spectral densities of small submatrices to infer the eigenspectrum of extremely large matrices.
Install
Install with pip:
pip install freealg
Alternatively, clone the source code and install with
cd source_dir
pip install .
Documentation
Documentation is available at ameli.github.io/freealg.
Quick Usage
The following code estimates the eigenvalues of a very large Wishart matrix using a much smaller Wishart matrix.
>>> import freealg as fa
>>> mp = fa.distributions.MarchenkoPastur(1/50) # Wishart matrices with aspect ratio 1/50
>>> A = mp.matrix(1000) # Sample a 1000 x 1000 Wishart matrix
>>> eigs = fa.eigvalsh(A, 100_000) # Estimate the eigenvalues of 100000 x 100000
For more details on how to interface with freealg check out the Live Demo.
Test
You may test the package with tox:
cd source_dir
tox
Alternatively, test with pytest:
cd source_dir
pytest
How to Contribute
We welcome contributions via GitHub’s pull request. Developers should review our Contributing Guidelines before submitting their code. If you do not feel comfortable modifying the code, we also welcome feature requests and bug reports.
License
Release files for freealg 0.12.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| freealg-0.12.2.tar.gz | 279.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| freealg-0.12.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 635.3 kB
Release files / freealg-0.12.2.tar.gz
| Download URL | freealg-0.12.2.tar.gz |
|---|---|
| Size | 279.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d40d21bc0bd442c79faf8da9e30d223a20011a5d1a5b874fa8cdf3e2f1effb89
|
|
BLAKE2b-256 checksum How to use checksums |
de1fd583a05dd664a60d41ab2fcf5d1536402052d36f9ba291d616052aa98fb9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / freealg-0.12.2-py3-none-any.whl
| Download URL | freealg-0.12.2-py3-none-any.whl |
|---|---|
| Size | 355.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
28299737a47c1f91ad987fb5e67f893a4e3a3a3abeaede7cc364a4627751abf9
|
|
BLAKE2b-256 checksum How to use checksums |
8c2e0409a6183c3650231e02425ebd941549a68edddff9e18130660e66dc4c38
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|