Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nep-pack/NonlinearEigenproblems.jl
Nonlinear eigenvalue problems in Julia: Iterative methods and benchmarks
https://github.com/nep-pack/NonlinearEigenproblems.jl
eigenvalues iterative-algorithms julia-language
Last synced: 3 months ago
JSON representation
Nonlinear eigenvalue problems in Julia: Iterative methods and benchmarks
- Host: GitHub
- URL: https://github.com/nep-pack/NonlinearEigenproblems.jl
- Owner: nep-pack
- License: mit
- Created: 2018-05-25T11:49:11.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2024-02-26T06:50:54.000Z (9 months ago)
- Last Synced: 2024-05-22T05:39:53.123Z (6 months ago)
- Topics: eigenvalues, iterative-algorithms, julia-language
- Language: Julia
- Homepage: https://nep-pack.github.io/NonlinearEigenproblems.jl
- Size: 21.3 MB
- Stars: 91
- Watchers: 7
- Forks: 15
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: COPYING
Awesome Lists containing this project
- awesome-sciml - nep-pack/NonlinearEigenproblems.jl: Nonlinear eigenvalue problems in Julia: Iterative methods and benchmarks
README
# NEP-PACK
[![CI](https://github.com/nep-pack/NonlinearEigenproblems.jl/workflows/CI/badge.svg)](https://github.com/nep-pack/NonlinearEigenproblems.jl/actions?query=workflow%3ACI)
[![Codecov](https://codecov.io/gh/nep-pack/NonlinearEigenproblems.jl/branch/master/graph/badge.svg)](https://codecov.io/gh/nep-pack/NonlinearEigenproblems.jl)A nonlinear eigenvalue problem is the problem to determine a scalar *λ* and a vector *v* such that
*M(λ)v=0
*
where *M* is an *nxn*-matrix depending on a parameter. This package aims to provide state-of-the-art algorithms to solve this problem, as well as a framework to formulate applications and easy access to benchmark problems. This currently includes (but is not restricted to) Newton-type methods, Subspace methods, Krylov methods, contour integral methods, block methods, companion matrix approaches. Problem transformation techniques such as scaling, shifting, deflating are also natively supported by the package.# How to use it?
On Julia 1.X, install it as a registered package by typing `] add ...` at the REPL-prompt:
```
julia> ]
(v1.0) pkg> add NonlinearEigenproblems
```After that, check out "Getting started" in
or read the preprint: https://arxiv.org/abs/1811.09592
## GIT Version
If you want the cutting edge development version and not the latest release, install it with the URL:
```
julia> ]
(v1.0) pkg> add git://github.com/nep-pack/NonlinearEigenproblems.jl.git
```
## NEP solversFeatures and solvers (see documentation https://nep-pack.github.io/NonlinearEigenproblems.jl/methods/ for further information and references):
* Arnoldi/Krylov type
* NLEIGS
* Infinite Arnoldi method: (iar)
* Tensor infinite Arnoldi method (tiar)
* Infinite bi-Lanczos (infbilanczos)
* Infinite Lanczos (ilan)
* AAA CORK (AAAeigs)
* Projection methods
* Jacobi-Davidson (jd_effenberger)
* Jacobi-Davidson (jd_betcke)
* Nonlinear Arnoldi method (nlar)
* Common Rayleigh-Ritz projection interface
* Contour integral methods
* Beyn's contour integral method
* Block SS (Higher moments) contour integral method of Asakura & Sakurai
* Common quadrature interface for parallelization
* Newton & Rayleigh type:
* Classical Newton-Raphson
* Augmented Newton
* Residual inverse iteration
* Quasi-Newton
* Block Newton
* Rayleigh functional iteration (RFI a, b)
* Newton-QR
* Implicit determinant method
* Broyden's method
* Companion matrices
* First companion form
* Companion form for Chebyshev polynomials
* Other
* Chebyshev interpolation
* Transformations
* Rayleigh-Ritz (`ProjNEP` and `inner_solve`)
* Problem gallery (including access to the NLEVP-gallery)
* Deflation (Effenberger style)# Development
Core developers (alphabetical): Max Bennedich, Elias Jarlebring (www.math.kth.se/~eliasj), Giampaolo Mele (www.math.kth.se/~gmele), Emil Ringh (www.math.kth.se/~eringh), Parikshit Upadhyaya (https://www.kth.se/profile/pup/). Thanks to A Koskela for involvement in initial version of the software.
# How to cite
If you find this software useful please cite
```bibtex
@Misc{,
author = {E. Jarlebring and M. Bennedich and G. Mele and E. Ringh and P. Upadhyaya},
title = {{NEP-PACK}: A {Julia} package for nonlinear eigenproblems},
year = {2018},
note = {https://github.com/nep-pack},
eprint = {arXiv:1811.09592},
}
```
If you use a specific method, please also give credit to the algorithm researcher.
Reference to a corresponding algorithm paper can be found by in, e.g., by writing `?resinv`.Some links below are developer info on KTH. We will migrate them soon:
* NEP-page style "guide": https://github.com/nep-pack/NonlinearEigenproblems.jl/wiki/Style-guidelines-and-notes
* GIT-workflow: https://github.com/nep-pack/NonlinearEigenproblems.jl/wiki/Git-workflow
* GIT-usage @ KTH: https://gitr.sys.kth.se/nep-pack/nep-pack-alpha/wiki
* NEP-methods @ KTH: https://gitr.sys.kth.se/nep-pack/nep-pack-alpha/wiki/NEP-methods
* NEP-applications @ KTH: https://gitr.sys.kth.se/nep-pack/nep-pack-alpha/wiki/Applications