Nonlinear eigenproblem

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

In mathematics, a nonlinear eigenproblem, sometimes nonlinear eigenvalue problem, is a generalization of the (ordinary) eigenvalue problem to equations that depend nonlinearly on the eigenvalue. Specifically, it refers to equations of the form

M(λ)x=0,

where x0 is a vector, and M is a matrix-valued function of the number λ. The number λ is known as the (nonlinear) eigenvalue, the vector x as the (nonlinear) eigenvector, and (λ,x) as the eigenpair. The matrix M(λ) is singular at an eigenvalue λ.

Definition

[edit | edit source]

In the discipline of numerical linear algebra the following definition is typically used.[1][2][3][4]

Let Ω, and let M:Ωn×n be a function that maps scalars to matrices. A scalar λ is called an eigenvalue, and a nonzero vector xn is called a right eigenvector if M(λ)x=0. Moreover, a nonzero vector yn is called a left eigenvector if yHM(λ)=0H, where the superscript H denotes the Hermitian transpose. The definition of the eigenvalue is equivalent to det(M(λ))=0, where det() denotes the determinant.[1]

The function M is usually required to be a holomorphic function of λ (in some domain Ω).

In general, M(λ) could be a linear map, but most commonly it is a finite-dimensional, usually square, matrix.

Definition: The problem is said to be regular if there exists a zΩ such that det(M(z))0. Otherwise it is said to be singular.[1][4]

Definition: An eigenvalue λ is said to have algebraic multiplicity k if k is the smallest integer such that the kth derivative of det(M(z)) with respect to z, in λ is nonzero. In formulas that dkdet(M(z))dzk|z=λ0 but ddet(M(z))dz|z=λ=0 for =0,1,2,,k1.[1][4]

Definition: The geometric multiplicity of an eigenvalue λ is the dimension of the nullspace of M(λ).[1][4]

Special cases

[edit | edit source]

The following examples are special cases of the nonlinear eigenproblem.

Jordan chains

[edit | edit source]

Definition: Let (λ0,x0) be an eigenpair. A tuple of vectors (x0,x1,,xr1)n×n××n is called a Jordan chain ifk=0M(k)(λ0)xk=0,for =0,1,,r1, where M(k)(λ0) denotes the kth derivative of M with respect to λ and evaluated in λ=λ0. The vectors x0,x1,,xr1 are called generalized eigenvectors, r is called the length of the Jordan chain, and the maximal length a Jordan chain starting with x0 is called the rank of x0.[1][4]


Theorem:[1] A tuple of vectors (x0,x1,,xr1)n×n××n is a Jordan chain if and only if the function M(λ)χ(λ) has a root in λ=λ0 and the root is of multiplicity at least for =0,1,,r1, where the vector valued function χ(λ) is defined asχ(λ)=k=0xk(λλ0)k.

Mathematical software

[edit | edit source]
  • The eigenvalue solver package SLEPc contains C-implementations of many numerical methods for nonlinear eigenvalue problems.[5]
  • The NLEVP collection of nonlinear eigenvalue problems is a MATLAB package containing many nonlinear eigenvalue problems with various properties. [6]
  • The FEAST eigenvalue solver is a software package for standard eigenvalue problems as well as nonlinear eigenvalue problems, designed from density-matrix representation in quantum mechanics combined with contour integration techniques.[7]
  • The MATLAB toolbox NLEIGS contains an implementation of fully rational Krylov with a dynamically constructed rational interpolant.[8]
  • The MATLAB toolbox CORK contains an implementation of the compact rational Krylov algorithm that exploits the Kronecker structure of the linearization pencils.[9]
  • The MATLAB toolbox AAA-EIGS contains an implementation of CORK with rational approximation by set-valued AAA.[10]
  • The MATLAB toolbox RKToolbox (Rational Krylov Toolbox) contains implementations of the rational Krylov method for nonlinear eigenvalue problems as well as features for rational approximation. [11]
  • The Julia package NEP-PACK contains many implementations of various numerical methods for nonlinear eigenvalue problems, as well as many benchmark problems.[12]
  • The review paper of Güttel & Tisseur[1] contains MATLAB code snippets implementing basic Newton-type methods and contour integration methods for nonlinear eigenproblems.

Eigenvector nonlinearity

[edit | edit source]

Eigenvector nonlinearities is a related, but different, form of nonlinearity that is sometimes studied. In this case the function M maps vectors to matrices, or sometimes hermitian matrices to hermitian matrices.[13][14]

References

[edit | edit source]
  1. ^ a b c d e f g h Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  4. ^ a b c d e Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  5. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  6. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  7. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  8. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  9. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  10. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  11. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  12. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  13. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  14. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).

Further reading

[edit | edit source]