Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/f-koehler/itesol
WIP: Iterative eigensolvers for C++20, Python and CUDA
https://github.com/f-koehler/itesol
cpp20 cuda eigenvalues linear-algebra python
Last synced: about 2 months ago
JSON representation
WIP: Iterative eigensolvers for C++20, Python and CUDA
- Host: GitHub
- URL: https://github.com/f-koehler/itesol
- Owner: f-koehler
- License: mit
- Created: 2022-10-19T23:02:01.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-10-18T03:14:35.000Z (over 1 year ago)
- Last Synced: 2024-11-07T11:53:06.298Z (3 months ago)
- Topics: cpp20, cuda, eigenvalues, linear-algebra, python
- Language: C++
- Homepage:
- Size: 94.7 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# itesol
:warning: This is work in progress software currently in an early design phase.
[![CI](https://github.com/f-koehler/itesol/actions/workflows/ci.yml/badge.svg)](https://github.com/f-koehler/itesol/actions/workflows/ci.yml)
[![GitHub](https://img.shields.io/github/license/f-koehler/itesol)](https://github.com/f-koehler/itesol/blob/main/LICENSE.txt)A C++20 header-only library to implement iterative eigensolvers ([power method](https://en.wikipedia.org/wiki/Power_iteration), [Lanczos algorithm](https://en.wikipedia.org/wiki/Lanczos_algorithm), …).
By heavily relying on template metaprogramming we try to interface with various different linear algebra backends (Eigen, Blaze, BLAS/LAPACK, CUDA) and build algorithms from simple elementary building blocks that can be easily implemented for a new custom backend.
A Python module is also worked on.# Roadmap
## Algorithms
- [x] Power method
- [ ] Lanczos
- [ ] Implicitly restarted Lanczos
- [ ] Arnoldi iterations
- [ ] ARPACK wrapper## Backends
- [x] Eigen3
- [ ] Blaze
- [ ] CUDA
- [x] BLAS/LAPACK (experimental)