where the solver evaluates E,
D,
K,
N, and
NF for the solution vector
U0;
λ denotes the eigenvalue; and
λ0 is the linearization point. If
E = 0, it is a linear eigenvalue problem; if
E is nonzero, it is a quadratic eigenvalue problem. To solve the quadratic eigenvalue problem, COMSOL Multiphysics reformulates it as a linear eigenvalue problem. After constraint handling, it is possible to write the system in the form
Ax = λBx.
Finding the eigenvalues closest to the shift σ is equivalent to computing the largest eigenvalues of the matrix
C = (A − σB)−1B. To do this, the solver uses the ARPACK FORTRAN routines for large-scale eigenvalue problems (
Ref. 13). This code is based on a variant of the Arnoldi algorithm called the
implicitly restarted Arnoldi method (IRAM). The ARPACK routines must perform several matrix-vector multiplications
Cv, which they accomplish by solving the linear system
( A − σB) x = Bv using one of the linear system solvers.
If the converged eigenvalues do not cover the sought region, the number of eigenvalues searched for is doubled. The Log window then shows
Searching for more eigenvalues. If the number of eigenvalues searched for has already been doubled and no additional eigenvalues have been found within the region, a warning is issued. The warning shows, for example, that no (transformed) eigenvalue with a smaller real part is found. It is then advised to decrease the size of the region where you want to search for eigenvalues.
With the option All (filled matrix), COMSOL Multiphysics uses a LAPACK algorithm for finding all eigenvalues and eigenmodes using a filled system matrix for small eigenvalue problems.
FEAST first projects a random selected initial subspace X(0) onto the subspace spanned by the eigenvectors of interest and then uses the Rayleigh-Ritz procedure in this subspace to extract eigenvalue/eigenvector approximations. Projection onto the subspace of interest is accomplished by
(See also Ref. 19).The integration in
Equation 20-8 is approximated by a numerical quadrature with appropriate integration points and weights.
Where zj and
ωj are integration points and weights, respectively, and each
Qj is obtained by solving shifted linear systems
(zjB − A) Qj = BX(0). The resulting subspace
Q is then orthogonalized and used in the Rayleigh–Ritz procedure. By repeatedly applying the projection in
Equation 20-9, the orthogonalization
Q, and the Rayleigh–Ritz procedure, FEAST refines the estimates for the eigenvectors of interest.