freealg 0.1.11__py3-none-any.whl → 0.7.12__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- freealg/__init__.py +8 -2
- freealg/__version__.py +1 -1
- freealg/_algebraic_form/__init__.py +12 -0
- freealg/_algebraic_form/_branch_points.py +288 -0
- freealg/_algebraic_form/_constraints.py +139 -0
- freealg/_algebraic_form/_continuation_algebraic.py +706 -0
- freealg/_algebraic_form/_decompress.py +641 -0
- freealg/_algebraic_form/_decompress2.py +204 -0
- freealg/_algebraic_form/_edge.py +330 -0
- freealg/_algebraic_form/_homotopy.py +323 -0
- freealg/_algebraic_form/_moments.py +448 -0
- freealg/_algebraic_form/_sheets_util.py +145 -0
- freealg/_algebraic_form/_support.py +309 -0
- freealg/_algebraic_form/algebraic_form.py +1232 -0
- freealg/_free_form/__init__.py +16 -0
- freealg/{_chebyshev.py → _free_form/_chebyshev.py} +75 -43
- freealg/_free_form/_decompress.py +993 -0
- freealg/_free_form/_density_util.py +243 -0
- freealg/_free_form/_jacobi.py +359 -0
- freealg/_free_form/_linalg.py +508 -0
- freealg/{_pade.py → _free_form/_pade.py} +42 -208
- freealg/{_plot_util.py → _free_form/_plot_util.py} +37 -22
- freealg/{_sample.py → _free_form/_sample.py} +58 -22
- freealg/_free_form/_series.py +454 -0
- freealg/_free_form/_support.py +214 -0
- freealg/_free_form/free_form.py +1362 -0
- freealg/_geometric_form/__init__.py +13 -0
- freealg/_geometric_form/_continuation_genus0.py +175 -0
- freealg/_geometric_form/_continuation_genus1.py +275 -0
- freealg/_geometric_form/_elliptic_functions.py +174 -0
- freealg/_geometric_form/_sphere_maps.py +63 -0
- freealg/_geometric_form/_torus_maps.py +118 -0
- freealg/_geometric_form/geometric_form.py +1094 -0
- freealg/_util.py +56 -110
- freealg/distributions/__init__.py +7 -1
- freealg/distributions/_chiral_block.py +494 -0
- freealg/distributions/_deformed_marchenko_pastur.py +726 -0
- freealg/distributions/_deformed_wigner.py +386 -0
- freealg/distributions/_kesten_mckay.py +29 -15
- freealg/distributions/_marchenko_pastur.py +224 -95
- freealg/distributions/_meixner.py +47 -37
- freealg/distributions/_wachter.py +29 -17
- freealg/distributions/_wigner.py +27 -14
- freealg/visualization/__init__.py +12 -0
- freealg/visualization/_glue_util.py +32 -0
- freealg/visualization/_rgb_hsv.py +125 -0
- freealg-0.7.12.dist-info/METADATA +172 -0
- freealg-0.7.12.dist-info/RECORD +53 -0
- {freealg-0.1.11.dist-info → freealg-0.7.12.dist-info}/WHEEL +1 -1
- freealg/_decompress.py +0 -180
- freealg/_jacobi.py +0 -218
- freealg/_support.py +0 -85
- freealg/freeform.py +0 -967
- freealg-0.1.11.dist-info/METADATA +0 -140
- freealg-0.1.11.dist-info/RECORD +0 -24
- /freealg/{_damp.py → _free_form/_damp.py} +0 -0
- {freealg-0.1.11.dist-info → freealg-0.7.12.dist-info}/licenses/AUTHORS.txt +0 -0
- {freealg-0.1.11.dist-info → freealg-0.7.12.dist-info}/licenses/LICENSE.txt +0 -0
- {freealg-0.1.11.dist-info → freealg-0.7.12.dist-info}/top_level.txt +0 -0
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: freealg
|
|
3
|
-
Version: 0.1.11
|
|
4
|
-
Summary: Free probability for large matrices
|
|
5
|
-
Keywords: leaderboard bot chat
|
|
6
|
-
Platform: Linux
|
|
7
|
-
Platform: OSX
|
|
8
|
-
Platform: Windows
|
|
9
|
-
Classifier: Programming Language :: Python
|
|
10
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
11
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
12
|
-
Classifier: Programming Language :: Python :: 3.11
|
|
13
|
-
Classifier: Programming Language :: Python :: 3.12
|
|
14
|
-
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
15
|
-
Classifier: License :: OSI Approved :: BSD License
|
|
16
|
-
Classifier: Operating System :: POSIX :: Linux
|
|
17
|
-
Classifier: Operating System :: Microsoft :: Windows
|
|
18
|
-
Classifier: Operating System :: MacOS
|
|
19
|
-
Classifier: Natural Language :: English
|
|
20
|
-
Classifier: Intended Audience :: Science/Research
|
|
21
|
-
Classifier: Intended Audience :: Developers
|
|
22
|
-
Classifier: Topic :: Software Development
|
|
23
|
-
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
24
|
-
Requires-Python: >=3.9
|
|
25
|
-
Description-Content-Type: text/x-rst
|
|
26
|
-
License-File: LICENSE.txt
|
|
27
|
-
License-File: AUTHORS.txt
|
|
28
|
-
Requires-Dist: numpy
|
|
29
|
-
Requires-Dist: scipy
|
|
30
|
-
Requires-Dist: texplot
|
|
31
|
-
Requires-Dist: matplotlib
|
|
32
|
-
Requires-Dist: colorcet
|
|
33
|
-
Requires-Dist: statsmodels
|
|
34
|
-
Provides-Extra: test
|
|
35
|
-
Provides-Extra: docs
|
|
36
|
-
Dynamic: classifier
|
|
37
|
-
Dynamic: description
|
|
38
|
-
Dynamic: description-content-type
|
|
39
|
-
Dynamic: keywords
|
|
40
|
-
Dynamic: license-file
|
|
41
|
-
Dynamic: platform
|
|
42
|
-
Dynamic: provides-extra
|
|
43
|
-
Dynamic: requires-dist
|
|
44
|
-
Dynamic: requires-python
|
|
45
|
-
Dynamic: summary
|
|
46
|
-
|
|
47
|
-
.. image:: https://raw.githubusercontent.com/ameli/freealg/refs/heads/main/docs/source/_static/images/icons/logo-freealg-light.png
|
|
48
|
-
:align: left
|
|
49
|
-
:width: 240
|
|
50
|
-
:class: custom-dark
|
|
51
|
-
|
|
52
|
-
*freealg* is a Python package that employs **free** probability to evaluate the spectral
|
|
53
|
-
densities of large matrix **form**\ s. The fundamental algorithm employed by *freealg* is
|
|
54
|
-
**free decompression**, which extrapolates from the empirical spectral densities of small
|
|
55
|
-
submatrices to infer the eigenspectrum of extremely large matrices.
|
|
56
|
-
|
|
57
|
-
Install
|
|
58
|
-
=======
|
|
59
|
-
|
|
60
|
-
Install with ``pip``:
|
|
61
|
-
|
|
62
|
-
.. code-block::
|
|
63
|
-
|
|
64
|
-
pip install freealg
|
|
65
|
-
|
|
66
|
-
Alternatively, clone the source code and install with
|
|
67
|
-
|
|
68
|
-
.. code-block::
|
|
69
|
-
|
|
70
|
-
cd source_dir
|
|
71
|
-
pip install .
|
|
72
|
-
|
|
73
|
-
Documentation
|
|
74
|
-
=============
|
|
75
|
-
|
|
76
|
-
Documentation is available at `ameli.github.io/freealg <https://ameli.github.io/freealg>`__.
|
|
77
|
-
|
|
78
|
-
Quick Usage
|
|
79
|
-
===========
|
|
80
|
-
|
|
81
|
-
The following code estimates the eigenvalues of a very large Wishart matrix using a much
|
|
82
|
-
smaller Wishart matrix.
|
|
83
|
-
|
|
84
|
-
.. code-block:: python
|
|
85
|
-
|
|
86
|
-
>>> import freealg as fa
|
|
87
|
-
>>> mp = fa.distributions.MarchenkoPastur(1/50) # Wishart matrices with aspect ratio 1/50
|
|
88
|
-
>>> A = mp.matrix(1000) # Sample a 1000 x 1000 Wishart matrix
|
|
89
|
-
>>> eigs = fa.eigfree(A, 100_000) # Estimate the eigenvalues of 100000 x 100000
|
|
90
|
-
|
|
91
|
-
For more details on how to interface with *freealg* check out the `Quick Start Guide <https://github.com/ameli/freealg/blob/main/notebooks/quick_start.ipynb>`.
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
Test
|
|
95
|
-
====
|
|
96
|
-
|
|
97
|
-
You may test the package with `tox <https://tox.wiki/>`__:
|
|
98
|
-
|
|
99
|
-
.. code-block::
|
|
100
|
-
|
|
101
|
-
cd source_dir
|
|
102
|
-
tox
|
|
103
|
-
|
|
104
|
-
Alternatively, test with `pytest <https://pytest.org>`__:
|
|
105
|
-
|
|
106
|
-
.. code-block::
|
|
107
|
-
|
|
108
|
-
cd source_dir
|
|
109
|
-
pytest
|
|
110
|
-
|
|
111
|
-
How to Contribute
|
|
112
|
-
=================
|
|
113
|
-
|
|
114
|
-
We welcome contributions via GitHub's pull request. Developers should review
|
|
115
|
-
our [Contributing Guidelines](CONTRIBUTING.rst) before submitting their code.
|
|
116
|
-
If you do not feel comfortable modifying the code, we also welcome feature
|
|
117
|
-
requests and bug reports.
|
|
118
|
-
|
|
119
|
-
How to Cite
|
|
120
|
-
===========
|
|
121
|
-
|
|
122
|
-
If you use this work, please cite the `arXiv paper <https://arxiv.org/abs/2506.11994>`.
|
|
123
|
-
|
|
124
|
-
.. code::
|
|
125
|
-
|
|
126
|
-
@article{ameli2025spectral,
|
|
127
|
-
title={Spectral Estimation with Free Decompression},
|
|
128
|
-
author={Siavash Ameli and Chris van der Heide and Liam Hodgkinson and Michael W. Mahoney},
|
|
129
|
-
journal={arXiv preprint arXiv:2506.11994},
|
|
130
|
-
year={2025}
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
License
|
|
135
|
-
=======
|
|
136
|
-
|
|
137
|
-
|license|
|
|
138
|
-
|
|
139
|
-
.. |license| image:: https://img.shields.io/github/license/ameli/freealg
|
|
140
|
-
:target: https://opensource.org/licenses/BSD-3-Clause
|
freealg-0.1.11.dist-info/RECORD
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
freealg/__init__.py,sha256=YqewBd3fq4nm-L3oGcExhEDR2wtVcrtggkSGzfpDqr4,528
|
|
2
|
-
freealg/__version__.py,sha256=nllDrH0jyChMuuYrK0CC55iTBKUNTUjejtcwxyUF2EQ,23
|
|
3
|
-
freealg/_chebyshev.py,sha256=oDJtRCwKEHazitzVBDbfdQz1jkyfsJOJfcAfo-PNkNo,5745
|
|
4
|
-
freealg/_damp.py,sha256=k2vtBtWOxQBf4qXaWu_En81lQBXbEO4QbxxWpvuVhdE,1802
|
|
5
|
-
freealg/_decompress.py,sha256=vwKEooOmkoFnanaRpxV-3gzsKW3puOhnhD-Y5hZAf-M,4723
|
|
6
|
-
freealg/_jacobi.py,sha256=AT4ONSHGGDxVKE3MGMLyMR8uDFiO-e9u3x5udYfdJJk,5635
|
|
7
|
-
freealg/_pade.py,sha256=yREJYSmnWaVUNRBNxjuQUqeLe_XSaGa9_VzV6HG5RkA,15164
|
|
8
|
-
freealg/_plot_util.py,sha256=BOYre8FPhrxmW1VRj3I40dCjWTFqUBTInmXc3wFunKQ,19648
|
|
9
|
-
freealg/_sample.py,sha256=ckC75eqv-mRP1F5BnhvsjfLTaoAzHK8bebl9bCRZYDo,2561
|
|
10
|
-
freealg/_support.py,sha256=A8hUjfKnSkHm09KLcEkeEXeTieKjhH-sVPd7I3_p4VE,3100
|
|
11
|
-
freealg/_util.py,sha256=PWLXcsTb0-FinGWvNiY12D-f4CHQB5bP_W3ThqfY4FY,3681
|
|
12
|
-
freealg/freeform.py,sha256=GRlaBsSow36Dj8p0_fZOINmsutE5KcRcNbgEIKwF3s8,30416
|
|
13
|
-
freealg/distributions/__init__.py,sha256=t_yZyEkW_W_tSV9IvgYXtVASxD2BEdiNVXcV2ebMy8M,579
|
|
14
|
-
freealg/distributions/_kesten_mckay.py,sha256=HDMjbM1AcNxlwrpYeGmRqcbP10QsLI5RCeKvjVK3tOk,19566
|
|
15
|
-
freealg/distributions/_marchenko_pastur.py,sha256=th921hlEEtTbnHnRyBgT54a_e-9ZzAl9rB78O9FjorY,16688
|
|
16
|
-
freealg/distributions/_meixner.py,sha256=ItE0zYG2vhyUkObxbx4bDZaJ0BHVQWPzAJGLdMz10l4,17206
|
|
17
|
-
freealg/distributions/_wachter.py,sha256=lw70PT3TZlCf7mHU8IqoygXFUWB4IL57obkng0_ZGeI,16591
|
|
18
|
-
freealg/distributions/_wigner.py,sha256=2ZSPjgmDr9q9qiz6jO6yhXFo4ALHfxK1f0EzolzhRNE,15565
|
|
19
|
-
freealg-0.1.11.dist-info/licenses/AUTHORS.txt,sha256=0b67Nz4_JgIzUupHJTAZxu5QdSUM_HRM_X_w4xCb17o,30
|
|
20
|
-
freealg-0.1.11.dist-info/licenses/LICENSE.txt,sha256=J-EEYEtxb3VVf_Bn1TYfWnpY5lMFIM15iLDDcnaDTPA,1443
|
|
21
|
-
freealg-0.1.11.dist-info/METADATA,sha256=PpZLvIf9c5BDZ6NmH3EErea6mAMUbPp6qOoIvQeiru4,4006
|
|
22
|
-
freealg-0.1.11.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
23
|
-
freealg-0.1.11.dist-info/top_level.txt,sha256=eR2wrgYwDdnnJ9Zf5PruPqe4kQav0GMvRsqct6y00Q8,8
|
|
24
|
-
freealg-0.1.11.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|