# eigs (The Python Package)
Find Eigenvalues and Eigenvectors efficiently in Python using UMFPACK + ARPACK (powered
by Rust).
## Example
```python
import numpy as np
from scipy.sparse import csc_matrix
from eigs import eigs
data = np.array([ 0.+4.j, 2.+3.j, 4.+0.j, 0.-2.j, -3.+3.j, 0.-1.j,
-3.-3.j, 4.-4.j, -4.+0.j, 4.+1.j, -4.-1.j, 4.+2.j,
3.+2.j, 0.+2.j, -4.+0.j, -4.+1.j, -4.+2.j, -2.+2.j,
-1.-2.j, 0.+3.j, -3.+0.j, 4.+0.j, -1.+3.j]) # fmt: skip
indices = np.array([6, 1, 4, 5, 7, 2, 3, 4, 5, 6, 7, 1,
1, 3, 3, 4, 0, 2, 5, 6, 3, 6, 7]) # fmt: skip
indptr = np.array([0, 1, 5, 11, 12, 14, 16, 20, 23])
A = csc_matrix((data, indices, indptr))
vals, vecs = eigs(A=A, num_eigs=4, sigma=-2.0 + 7.0j)
for i, val in enumerate(vals):
print(f"{i}: {val.real} + {val.imag}j")
```
```
0: -2.3310185657008846 + 7.624960781252993j
1: -4.525347075933688 + 1.8131068538310453j
2: 5.301183172745191 + 4.2055904210543575j
3: 0.1713950830265607 + 0.46316839127801934j
```
Find more examples in the [examples](./examples) folder.
## Installation
> Eigs is currently **linux-only** (x86_64) and **python 3.9+**.
> More platforms might be supported at a later point in time.
```bash
pip install eigs
```
## License & Credits
© Floris Laporte 2023, LGPL-2.1
Raw data
{
"_id": null,
"home_page": "https://github.com/flaport/eigs",
"name": "eigs",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": "",
"keywords": "eigenvalues,eigenvectors,eigenmodes,eigs",
"author": "Floris Laporte <floris.laporte@gmail.com>",
"author_email": "Floris Laporte <floris.laporte@gmail.com>",
"download_url": "",
"platform": null,
"description": "# eigs (The Python Package)\n\nFind Eigenvalues and Eigenvectors efficiently in Python using UMFPACK + ARPACK (powered\nby Rust).\n\n## Example\n\n```python\nimport numpy as np\nfrom scipy.sparse import csc_matrix\nfrom eigs import eigs\n\ndata = np.array([ 0.+4.j, 2.+3.j, 4.+0.j, 0.-2.j, -3.+3.j, 0.-1.j,\n -3.-3.j, 4.-4.j, -4.+0.j, 4.+1.j, -4.-1.j, 4.+2.j,\n 3.+2.j, 0.+2.j, -4.+0.j, -4.+1.j, -4.+2.j, -2.+2.j,\n -1.-2.j, 0.+3.j, -3.+0.j, 4.+0.j, -1.+3.j]) # fmt: skip\nindices = np.array([6, 1, 4, 5, 7, 2, 3, 4, 5, 6, 7, 1,\n 1, 3, 3, 4, 0, 2, 5, 6, 3, 6, 7]) # fmt: skip\nindptr = np.array([0, 1, 5, 11, 12, 14, 16, 20, 23])\nA = csc_matrix((data, indices, indptr))\nvals, vecs = eigs(A=A, num_eigs=4, sigma=-2.0 + 7.0j)\n\nfor i, val in enumerate(vals):\n print(f\"{i}: {val.real} + {val.imag}j\")\n```\n```\n0: -2.3310185657008846 + 7.624960781252993j\n1: -4.525347075933688 + 1.8131068538310453j\n2: 5.301183172745191 + 4.2055904210543575j\n3: 0.1713950830265607 + 0.46316839127801934j\n```\n\nFind more examples in the [examples](./examples) folder.\n\n## Installation\n\n> Eigs is currently **linux-only** (x86_64) and **python 3.9+**.\n> More platforms might be supported at a later point in time.\n\n```bash\npip install eigs\n```\n\n## License & Credits\n\n\u00a9 Floris Laporte 2023, LGPL-2.1\n\n",
"bugtrack_url": null,
"license": "LGPL-2.1-only",
"summary": "An efficient complex eigensolver written in Rust.",
"version": "0.0.3",
"project_urls": {
"Homepage": "https://github.com/flaport/eigs",
"Source Code": "https://github.com/flaport/eigs"
},
"split_keywords": [
"eigenvalues",
"eigenvectors",
"eigenmodes",
"eigs"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "7b06b534a84bafd9778d7b86435628a13a1755cfeb86a18a58b920b559d0db04",
"md5": "53f3419679d11644a95fb32271324f2b",
"sha256": "1c9338d492aed130512b82850237ba9243fc68aafbe9d9ed46fe8271e6dc5074"
},
"downloads": -1,
"filename": "eigs-0.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "53f3419679d11644a95fb32271324f2b",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.9",
"size": 5577938,
"upload_time": "2023-09-06T18:04:04",
"upload_time_iso_8601": "2023-09-06T18:04:04.265691Z",
"url": "https://files.pythonhosted.org/packages/7b/06/b534a84bafd9778d7b86435628a13a1755cfeb86a18a58b920b559d0db04/eigs-0.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2bc59c0ebb1002b638da47fc9deff5f9de3f5e3db85f1dd5f1fe72f0dd574f96",
"md5": "659aaa4ff8d6cf43f30d252b2e40a9a6",
"sha256": "61e4f4960534f4146379a9549aadf0f0659ca091573aadabefe8100da5caa93a"
},
"downloads": -1,
"filename": "eigs-0.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "659aaa4ff8d6cf43f30d252b2e40a9a6",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.9",
"size": 5578023,
"upload_time": "2023-09-06T18:04:06",
"upload_time_iso_8601": "2023-09-06T18:04:06.461223Z",
"url": "https://files.pythonhosted.org/packages/2b/c5/9c0ebb1002b638da47fc9deff5f9de3f5e3db85f1dd5f1fe72f0dd574f96/eigs-0.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ecc6510507b03eeebbcf1a3dc7527f1ac01e43d8060ef7a902481d44613e97cd",
"md5": "66962ea5f4b6944e4f125a76912c7f6e",
"sha256": "1de8a3c784d6270defb71e00abdb12af504381dc5adcf86dc651135359325237"
},
"downloads": -1,
"filename": "eigs-0.0.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "66962ea5f4b6944e4f125a76912c7f6e",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.9",
"size": 5577320,
"upload_time": "2023-09-06T18:04:08",
"upload_time_iso_8601": "2023-09-06T18:04:08.078588Z",
"url": "https://files.pythonhosted.org/packages/ec/c6/510507b03eeebbcf1a3dc7527f1ac01e43d8060ef7a902481d44613e97cd/eigs-0.0.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6ad6185e1f4aeddc51af48b135fd8c93485634c7cbf53a44716d3c7df22a4e10",
"md5": "fec519fa7c6257bc98c38d71caae8896",
"sha256": "ef0c333c69ec6b6caaf7da96cc64286d45e3c730d77107c5b549f6e5e2479200"
},
"downloads": -1,
"filename": "eigs-0.0.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "fec519fa7c6257bc98c38d71caae8896",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.9",
"size": 5577921,
"upload_time": "2023-09-06T18:04:10",
"upload_time_iso_8601": "2023-09-06T18:04:10.275533Z",
"url": "https://files.pythonhosted.org/packages/6a/d6/185e1f4aeddc51af48b135fd8c93485634c7cbf53a44716d3c7df22a4e10/eigs-0.0.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "8a0272bd436086a0fa6586b586234ddb5e6859021fbf7d605bdd77672ddf2c94",
"md5": "291b4cceb2b18153b0f7dc6c05a64bd8",
"sha256": "0c853434966059e0ab21bb39b663d8a610a40895267a810bed76ccfd49e57500"
},
"downloads": -1,
"filename": "eigs-0.0.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "291b4cceb2b18153b0f7dc6c05a64bd8",
"packagetype": "bdist_wheel",
"python_version": "pp310",
"requires_python": ">=3.9",
"size": 5578329,
"upload_time": "2023-09-06T18:04:12",
"upload_time_iso_8601": "2023-09-06T18:04:12.673364Z",
"url": "https://files.pythonhosted.org/packages/8a/02/72bd436086a0fa6586b586234ddb5e6859021fbf7d605bdd77672ddf2c94/eigs-0.0.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "7627df5300aa79ef7d4d0b535b5bb06650e5b6b82c7dfd9154bd7c71661cb686",
"md5": "07a4145c59c0031a95fdc351c80364ed",
"sha256": "ae55b76fbb8fd217c70d7d84d7dc344f7e7969b82ad710560ff3a46fd65015eb"
},
"downloads": -1,
"filename": "eigs-0.0.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "07a4145c59c0031a95fdc351c80364ed",
"packagetype": "bdist_wheel",
"python_version": "pp39",
"requires_python": ">=3.9",
"size": 5578302,
"upload_time": "2023-09-06T18:04:14",
"upload_time_iso_8601": "2023-09-06T18:04:14.844240Z",
"url": "https://files.pythonhosted.org/packages/76/27/df5300aa79ef7d4d0b535b5bb06650e5b6b82c7dfd9154bd7c71661cb686/eigs-0.0.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-09-06 18:04:04",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "flaport",
"github_project": "eigs",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "eigs"
}