Skip to main content

An efficient complex eigensolver written in Rust.

Project description

eigs (The Python Package)

Find Eigenvalues and Eigenvectors efficiently in Python using UMFPACK + ARPACK (powered by Rust).

Example

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 folder.

Installation

Eigs is currently linux-only (x86_64) and python 3.9+. More platforms might be supported at a later point in time.

pip install eigs

License & Credits

© Floris Laporte 2023, LGPL-2.1

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

eigs-0.0.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.6 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

eigs-0.0.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.6 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

eigs-0.0.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.6 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

eigs-0.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.6 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

eigs-0.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.6 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

eigs-0.0.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.6 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

File details

Details for the file eigs-0.0.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for eigs-0.0.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0c853434966059e0ab21bb39b663d8a610a40895267a810bed76ccfd49e57500
MD5 291b4cceb2b18153b0f7dc6c05a64bd8
BLAKE2b-256 8a0272bd436086a0fa6586b586234ddb5e6859021fbf7d605bdd77672ddf2c94

See more details on using hashes here.

File details

Details for the file eigs-0.0.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for eigs-0.0.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ae55b76fbb8fd217c70d7d84d7dc344f7e7969b82ad710560ff3a46fd65015eb
MD5 07a4145c59c0031a95fdc351c80364ed
BLAKE2b-256 7627df5300aa79ef7d4d0b535b5bb06650e5b6b82c7dfd9154bd7c71661cb686

See more details on using hashes here.

File details

Details for the file eigs-0.0.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for eigs-0.0.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1de8a3c784d6270defb71e00abdb12af504381dc5adcf86dc651135359325237
MD5 66962ea5f4b6944e4f125a76912c7f6e
BLAKE2b-256 ecc6510507b03eeebbcf1a3dc7527f1ac01e43d8060ef7a902481d44613e97cd

See more details on using hashes here.

File details

Details for the file eigs-0.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for eigs-0.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 61e4f4960534f4146379a9549aadf0f0659ca091573aadabefe8100da5caa93a
MD5 659aaa4ff8d6cf43f30d252b2e40a9a6
BLAKE2b-256 2bc59c0ebb1002b638da47fc9deff5f9de3f5e3db85f1dd5f1fe72f0dd574f96

See more details on using hashes here.

File details

Details for the file eigs-0.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for eigs-0.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1c9338d492aed130512b82850237ba9243fc68aafbe9d9ed46fe8271e6dc5074
MD5 53f3419679d11644a95fb32271324f2b
BLAKE2b-256 7b06b534a84bafd9778d7b86435628a13a1755cfeb86a18a58b920b559d0db04

See more details on using hashes here.

File details

Details for the file eigs-0.0.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for eigs-0.0.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ef0c333c69ec6b6caaf7da96cc64286d45e3c730d77107c5b549f6e5e2479200
MD5 fec519fa7c6257bc98c38d71caae8896
BLAKE2b-256 6ad6185e1f4aeddc51af48b135fd8c93485634c7cbf53a44716d3c7df22a4e10

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page