Skip to content

This repo has implementations of various contour integral eigensolvers

License

Notifications You must be signed in to change notification settings

aaborghi/nep-contour

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Contour integral eigensolvers for nonlinear eigenproblems

Prerequisites

  • numpy, scipy, and matplotlib

Description

This code is a simple implementation of contour integral eigensolvers. In particular, under src/nlevpfunc.py one can find Beyn's algorithm (see hankel()) from

W.J. Beyn, An integral method for solving nonlinear eigenvalue problems, Linear Algebra and Applications, (436)10, 3839-3863, (2012), https://doi.org/10.1016/j.laa.2011.03.030

and the single-point, multi-point, and one-sided-multi-point Loewner frameworks (see single_loewner(), multi_loewner(), and multi1side_loewner()) from

M. Brennan, M. Embree, S. Gugercin, Contour Integral Methods for Nonlinear Eigenvalue Problems: A Systems Theoretic Approach, SIAM Review, (2023), https://epubs.siam.org/doi/10.1137/20M1389303

For benchmarking the algorithms we adopted a 50x50 delay eigenvalue problem (see bigdae.py) and an example from the following publication (see testhospital.py)

T. Betcke, N.J. Higham, V. Mehrmann, C. Schroeder, F. Tisseur, NLEVP: A Collection of Nonlinear Eigenvalue Problems,ACM Transactions in Mathematical Software, (39)2, 1-28, (2013), https://dl.acm.org/doi/10.1145/2427023.2427024

Installation and running

Simply clone this repository with

git clone [email protected]:aaborghi/nep-contour.git

then run test.py to see if everything works as expected. A plot should pop-out showing the resulting eigenvalues matching the real ones. For the ones that want to check the contour integral algorithms implementations look under src/nlevpfunc.py.

About

This repo has implementations of various contour integral eigensolvers

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages