{"id":15107197,"url":"https://github.com/flaport/eigs","last_synced_at":"2025-12-25T05:01:25.104Z","repository":{"id":192904415,"uuid":"687224954","full_name":"flaport/eigs","owner":"flaport","description":"Find Eigenvalues and Eigenvectors with Rust using UMFPACK + ARPACK","archived":false,"fork":false,"pushed_at":"2023-09-09T22:29:02.000Z","size":42,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-19T17:03:02.895Z","etag":null,"topics":["arpack","eigenvalues","eigenvectors","eigs","eigsh","modes","modesolver","numpy","python","rust","scipy","suitesparse","umfpack"],"latest_commit_sha":null,"homepage":"https://crates.io/crates/eigs-rs","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-2.1","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/flaport.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-09-04T23:20:21.000Z","updated_at":"2025-06-10T00:17:36.000Z","dependencies_parsed_at":"2024-09-20T15:02:02.569Z","dependency_job_id":"845b403c-fee9-4e7f-8f9b-6dbe99798422","html_url":"https://github.com/flaport/eigs","commit_stats":null,"previous_names":["flaport/eigs-rs","flaport/eigs"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/flaport/eigs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flaport%2Feigs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flaport%2Feigs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flaport%2Feigs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flaport%2Feigs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/flaport","download_url":"https://codeload.github.com/flaport/eigs/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flaport%2Feigs/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28020012,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-12-25T02:00:05.988Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arpack","eigenvalues","eigenvectors","eigs","eigsh","modes","modesolver","numpy","python","rust","scipy","suitesparse","umfpack"],"created_at":"2024-09-25T21:20:54.415Z","updated_at":"2025-12-25T05:01:25.063Z","avatar_url":"https://github.com/flaport.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# eigs (Rust/Python Package)\n\nFind Eigenvalues and Eigenvectors with Rust/Python using UMFPACK + ARPACK.\n\n## Packages\n\n- Rust Library: `eigs` @ [crates.io](https://crates.io/crates/eigs): `cargo add eigs`\n- Python Library: `eigs` @ [pypi.org](https://pypi.org/project/eigs): `pip install eigs` (Linux Only for now)\n\n## Examples\n\n### `eigs` (The Python Package)\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\n- [Read More...](python)\n\n### `eigs` (The Rust Package)\n\n```rust\n#[allow(non_snake_case)]\nfn main() {\n    use eigs::eigs::eigs;\n    use num_complex::Complex64;\n    let k = 4; // number of eigenvalues we want returned\n    let n = 8; // nxn matrix A\n    let Ap = vec![0, 1, 5, 11, 12, 14, 16, 20, 23];\n    let Ai = vec![6, 1, 4, 5, 7, 2, 3, 4, 5, 6, 7, 1, 1, 3, 3, 4, 0, 2, 5, 6, 3, 6, 7];\n    let Are = vec![0., 2., 4., 0., -3., 0., -3., 4., -4., 4., -4., 4., 3., 0., -4., -4., -4., -2., -1., 0., -3., 4., -1.];\n    let Aim = vec![4., 3., 0., -2., 3., -1., -3., -4., 0., 1., -1., 2., 2., 2., 0., 1., 2., 2., -2., 3., 0., 0., 3.];\n    let Ax: Vec\u003cComplex64\u003e = Are.iter().zip(Aim.iter())\n        .map(|(re, im)| Complex64 { re: *re, im: *im })\n        .collect();\n    let sigma = Complex64 { re: -2.0, im: 7.0 };\n    let (vals, _) = eigs(k, n, \u0026Ap, \u0026Ai, \u0026Ax, sigma, None);\n    for (i, val) in vals.iter().enumerate() {\n        println!(\"{}: {} + {}j\", i, val.re, val.im);\n    }\n}\n```\n```\n0: -2.3310185657008846 + 7.624960781252993j\n1: -4.525347075933688 + 1.8131068538310453j\n2: 5.301183172745191 + 4.2055904210543575j\n3: 0.1713950830265607 + 0.46316839127801934j\n```\n\n- [Read More...](rust)\n\n\n## License \u0026 Credits\n\n© Floris Laporte 2023, LGPL-2.1\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflaport%2Feigs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fflaport%2Feigs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflaport%2Feigs/lists"}