This is a joined work with Andrej Muhič, who wrote part of the code, in particular the staircase algorithm for a singular multiparameter eigenvalue problem. If you use the toolbox to solve a singular MEP, please cite: A. Muhič, B. Plestenjak: On the quadratic two-parameter eigenvalue problem and its linearization, Linear Algebra Appl. 432 (2010) 2529-2542.
Toolbox contains numerical methods for multiparameter eigenvalue problems (MEPs) and singular generalized eigenvalue problems
A matrix two-parameter eigenvalue problem (2EP) has the form
A1*x = lambda*B1*x + mu*C1*x,
A2*y = lambda*B2*y + mu*C2*y,
and we are looking for an eigenvalue (lambda,mu) and nonzero eigenvectors x,y. A 2EP is related to a pair of generalized eigenvalue problems
Delta1*z = lambda*Delta0*z,
Delta2*z = mu*Delta0*z,
where Delta0, Delta1 and Delta2 are operator determinants
Delta0 = kron(C2, B1) - kron(B2, C1)
Delta1 = kron(C2, A1) - kron(A2, C1)
Delta2 = kron(A2, B1) - kron(B2, A1)
and z = kron(x,y). The 2EP is nonsingular when Delta0 is nonsingular. This can be generalized to 3EP and MEP.
In many applications a PDE has to be solved on a domain that allows the use of the method of separation of variables. In several coordinate systems separation of variables applied to the Helmholtz, Laplace, or Schrödinger equation leads to a MEP, some cases are Mathieu’s system, Lamé’s system, and a system of spheroidal wave functions. A generic two-parameter boundary value eigenvalue problem has the form
p1(x1) y1''(x1) + q1(x1) y1'(x1) + r1(x2) y1(x1) = lambda s1(x1) y1(x1) + mu s2(x2) y1(x1),
p2(x2) y2''(x2) + q2(x2) y2'(x2) + r2(x2) y2(x2) = lambda s2(x2) y2(x2) + mu s2(x2) y2(x2),
where x1 in [a1,b1] and x2 in [a2,b2] together with the boundary conditions. Such system can be discretized into a matrix 2EP, where a good method of choice is the Chebyshev collocation.
Functions in the toolbox can:
- compute Delta matrices for a MEP
- solve a nonsingular or singular MEP with arbitrary number of parameters (the limitation is the size of the corresponding Delta matrices),
- compute few eigenpairs of a 2EP using implicitly restarted Arnoldi or Krylov-Schur method,
- compute few eigenpairs of a 2EP or 3EP using the Jacobi-Davidson or the subspace iteration method
- refine an eigenpair using the tensor Rayleigh quotient iteration
- discretize a two- or three-parameter boundary value eigenvalue problem with the Chebyshev collocation into a 2EP or 3EP,
- solve a quadratic 2EP,
- find finite regular eigenvalues of a singular pencil using rank-completin perturbations,
- most of the methods support multiprecision using Advanpix Multiprecision Computing Toolbox.
Main functions in the toolbox
2EP:
- twopareig: solve a 2EP (set options to solve a singular 2EP)
- twopareigs: few eigenpairs using implicitly restarted Arnoldi or Krylov-Schur method
- twopareigs_si: subspace iteration with Arnoldi expansion
- twopareigs_jd: Jacobi-Davidson method
- trqi: tensor Rayleigh quotient iteration
- twopar_delta: Delta matrices
Singular eigenvalue problem:
- double_eig: lambda such that A+lambda*B has a multiple eigenvalue
- singgep: finite regular eigenvalues of a singular GEP
3EP:
- threepareig: solve a 3EP (set options to solve a singular 3EP)
- threepareigs: few eigenpairs using implicitly restarted Arnoldi method
- threepareigs_si: subspace iteration with Arnoldi expansion
- threepareigs_jd: Jacobi-Davidson method
- trqi_3p: tensor Rayleigh quotient iteration
- threepar_delta: Delta matrices
MEP:
- multipareig: solve a MEP (set options to solve a singular MEP)
- trqi_np: tensor Rayleigh quotient iteration
- multipar_delta: Delta matrices
Two and three-parameter boundary differential equations:
- bde2mep: discretizes two-parameter BDE as a two-parameter matrix pencil using the Chebyshev collocation
- bde3mep: discretizes three-parameter BDE as a three-parameter matrix pencil using the Chebyshev collocation
Quadratic two-parameter eigenvalue problem:
- quad_twopareig: eigenpairs of a Q2EP
- linearize_quadtwopar: linearize Q2EP as a linear two-parameter matrix pencil
Rectangular MEP:
- rect_multipareig: solve a linear rectangular multiparameter eigenvalue problem
- rect_quad_twopareig: solve a rectangular quadratic two-parameter eigenvalue problem
- arma11, arma21, lti2: returns stationary points for the ARMA(1,1), ARMA(2,1), LTI(2) models
See folder Examples with many demos. In particular:
- folder BdeMep contains numerical examples from: B. Plestenjak, C.I. Gheorghiu, M.E. Hochstenbach: Spectral collocation for multiparameter eigenvalue problems arising from separable boundary value problems, J. Comp. Phys. 298 (2015) 585-601.
- folder SingGep contains numerical examples from: M.E. Hochstenbach, C. Mehl, B. Plestenjak: Solving singular generalized eigenvalue problems by a rank-completing perturbation, SIAM J. Matrix Anal. Appl. 40 (2019) 1022-1046 and M.E. Hochstenbach, C. Mehl, B. Plestenjak: Solving singular generalized eigenvalue problems part II: projection and augmentation, arXiv 2208.01359
- folder Subspace3 contains numerical examples from: M.E. Hochstenbach, K. Meerbergen, E. Mengi, B. Plestenjak: Subspace methods for 3-parameter eigenvalue problems, Numer. Linear Algebra Appl. 26 (2019) e2240
- folder RectangularMEP contains numerical examles from M.E.Hochstenbach, T.Kosir, B.Plestenjak: On the solution of rectangular multiparameter eigenvalue problems, arXiv 2212.01867
See Contents.m for references for the methods and please cite an appropriate reference if you use the toolbox in your paper.