An algorithm for the complete solution of the quartic eigenvalue problem
Zlatko Drma\v{c}, Ivana \v{S}ain Glibi\'c

TL;DR
This paper introduces a new numerical algorithm for solving the quartic eigenvalue problem completely, including all eigenvalues and eigenvectors, using quadratification and preprocessing techniques to improve accuracy and efficiency.
Contribution
The paper presents a novel method combining quadratification and preprocessing to solve the quartic eigenvalue problem fully, outperforming existing methods in accuracy and robustness.
Findings
Numerical examples demonstrate the method's superior accuracy.
Backward error analysis confirms the method's reliability.
Preprocessing effectively deflates zero and infinite eigenvalues.
Abstract
Quartic eigenvalue problem naturally arises e.g. when solving the Orr-Sommerfeld equation in the analysis of the stability of the {Poiseuille} flow, in theoretical analysis and experimental design of locally resonant phononic plates, modeling a robot with electric motors in the joints, calibration of catadioptric vision system, or e.g. computation of the guided and leaky modes of a planar waveguide. This paper proposes a new numerical method for the full solution (all eigenvalues and all left and right eigenvectors) that is based on quadratification, i.e. reduction of the quartic problem to a spectraly equivalent quadratic eigenvalue problem, and on a careful preprocessing to identify and deflate zero and infinite eigenvalues before the linearized quadratification is forwarded to the QZ algorithm. Numerical…
| butterfly | orr_sommerfeld | planar waveguide | ||||
|---|---|---|---|---|---|---|
| Algorithm | ||||||
| polyeig | 2.04e-016 | 8.61e-016 | 1.36e-017 | 8.01e-006 | 1.60e-016 | 3.08e-012 |
| quadeig | 6.56e-017 | 2.03e-015 | 6.11e-015 | 4.07e-004 | 4.99e-016 | 2.03e-009 |
| kvadeig | 6.56e-017 | 2.03e-015 | 6.25e-021 | 2.12e-007 | 4.75e-016 | 1.67e-009 |
| balanced kvadeig | 6.56e-017 | 2.03e-015 | 2.81e-021 | 2.06e-012 | 1.49e-016 | 2.32e-012 |
| balanced kvarteig (-s) | 3.18e-017 | 9.11e-016 | 3.40e-021 | 5.25e-008 | 3.20e-016 | 5.16e-012 |
| kvarteig | 5.84e-017 | 1.13e-015 | 6.37e-021 | 1.76e-015 | 4.32e-016 | 1.75e-013 |
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAcoustic Wave Phenomena Research · Electromagnetic Scattering and Analysis · Electromagnetic Simulation and Numerical Methods
An algorithm for the complete solution of the quartic eigenvalue problem
ZLATKO DRMAČ, IVANA ŠAIN GLIBIĆ
Abstract
Quartic eigenvalue problem naturally arises in a plethora of applications, e.g. when solving the Orr–Sommerfeld equation in the stability analysis of the Poiseuille flow, in theoretical analysis and experimental design of locally resonant phononic plates, modeling a robot with electric motors in the joints, calibration of catadioptric vision system, or e.g. computation of the guided and leaky modes of a planar waveguide. This paper proposes a new numerical method for the full solution (all eigenvalues and all left and right eigenvectors) that, starting with a suitable linearization, uses an initial, structure preserving, reduction designed to reveal and deflate certain number of zero and infinite eigenvalues before the final linearization is forwarded to the QZ algorithm. The backward error in the reduction phase is bounded column wise in each coefficient matrix, which is advantageous if the coefficient matrices are graded. Numerical examples show that the proposed algorithm is capable of computing the eigenpairs with small residuals, and that it is competitive with the available state of the art methods.
1 Introduction and preliminaries
We propose a new method for numerical solution of the quartic eigenvalue problem
[TABLE]
where the coefficient matrices are assumed general, with no particular structure (such as symmetry, sparsity). We are interested in the full solution, i.e. computation of all eigenvalues with the corresponding (left and/or right) eigenvectors, and our ultimate goal is to provide a robust mathematical software that can be used in ever increasing number of applications in applied sciences and engineering.
The quartic eigenvalue problem naturally arises in solving the Orr – Sommerfeld equation which appears in the hydrodynamic analysis of the stability of the Poiseuille flow by eliminating the pressure from the linearized Navier-Stokes equation. Other applications include e.g. theoretical analysis and experimental design of locally resonant phononic plates [38], finite element analysis of two dimensional phononic crystals [34], modeling a robot with electric motors in the joints [25], computing deformation modes of thin-walled structures [35], or e.g. computation of the guided and leaky modes of a planar waveguide [28], or solving an optical waveguiding problem involving atomically thick 2D materials [27]. In these examples the matrix eigenvalue problem is the result of discretization of differential operators and thus (depending on the discretization method) the coefficient matrices are sparse and usually only some eigenvalues are needed – those may be prescribed by specifying e.g. a region of interest in the complex plane. In such cases, methods for large sparse problems such as e.g. NLFEAST [18], [26], [39], [7] will find a subspace that contains eigenvectors of interest, and then Rayleigh–Ritz extraction uses the projected problem in which the Rayleigh quotients are medium size dense matrices. Reliable solution of the projected problem is important both for the convergence of the iterations towards the wanted part of the spectrum (e.g. for robust implementation of locking and purging) and for the accuracy of the computed solution.
These examples illustrate the wide spectrum of important applications of the quartic eigenvalue problem, and justify, even demand, development of methods specialized for (1). Yet, to the best of our knowledge, there is no published custom-built solver with a supporting analysis that would provide certain level of confidence/guarantee that is comparable e.g. to the currently available solvers of the quadratic eigenvalue problem such as [20], [14]. Instead, (1) is usually numerically solved by a standard linearization and deployment of the solvers such as polyeig in Matlab. On the other hand, numerical difficulties in solving nonlinear eigenvalue problems become nontrivial even in the simplest case of the polynomial quadratic problem, which is at the core of the theory and applications of mechanical systems. More carefully designed custom-made algorithm often proves much better than a generic solver – an excellent example is the quadratic eigenvalue problem, where the algorithms quadeig [20] and kvadeig [14] outperform polyeig, in particular when the spectrum contains multiple infinite eigenvalues.
1.1 Backward stability and scaling
Numerical algorithms for computing the eigenvalues and the corresponding right and left eigenvectors of a general regular matrix polynomial usually consist of three main steps: (i) linearization, i.e. definition of an equivalent linear generalized eigenvalue problem for a suitably constructed pencil ; (ii) computation of the eigenpairs of the linearization , using e.g. the QZ algorithm; (iii) reconstruction of the eigenpairs of the original problem. Some algorithms include a preprocessor that transforms the linearization (i) into a form that reveals some canonical (e.g. spectral) structure and that is in some numerical sense better input to a particular software implementation of the QZ algorithm in (ii) (e.g. scaling). For a general framework of this scheme we refer the reader to [32], [33].
1.1.1 Weak and strong norm-wise backward stability
In order to be used with confidence in applications, the eigenvalues and eigenvectors computed in finite precision arithmetic are justified by proving that they are exact spectral elements of a nearby polynomial
[TABLE]
If the sizes of the perturbations (backward errors) are appropriately small (e.g. of the same order of magnitude as initial uncertainties in the coefficients , as measured in a matrix norm) then the computation is usually deemed backward stable.
In a numerical algorithm, the canonical structure revealing steps [32], [33] and the QZ algorithm are based on unitary transformations, so that the entire process is backward stable – the computed result corresponds exactly to a linear pencil
[TABLE]
We refer to this as strong norm-wise backward stability of the solution of the linearized problem. However, this statement must be carefully interpreted. The QZ algorithm is oblivious to the underlying structure of the linear pencil, and most likely will not have the structure of the linearization of a matrix polynomial, and the backward stability cannot be stated in terms of the original polynomial eigenproblem.
Relating the pencil with a matrix polynomial close to requires an additional theoretical construction in the error analysis. For large classes of linearizations, there is an equivalence transformation
[TABLE]
such that the new pencil is the linearization of , where, under certain assumptions,
[TABLE]
with some that depend on the roundoff unit, dimensions of the problem and algorithmic details. This form of weak norm-wise backward stability bounds each relative to the norm of the coefficients array . For detailed in depth discussion see [33, §4], [22], [11], [12].
Note that (2) may be difficult to interpret in an application where the coefficient matrices carry information of different physical nature (e.g. mass, damping and stiffness) expressed in appropriate physical units. Unfortunately, except in some particular cases, (2) cannot be strengthened into strong norm-wise backward stability111An anonymous referee suggested the term coefficient-wise backward stability. estimate
[TABLE]
Construction of an algorithm with the backward error (3) may not be feasible without the framework of mixed error analysis, see [23] where this is shown for the case , . Constructing an algorithm that has guaranteed (provable) strong norm-wise backward/mixed stability is a challenging open problem.
1.1.2 Backward stability of individual eigenpairs. Residual
Another way to measure the quality of an approximate eigenpair (an eigenvalue with a corresponding right or left eigenvector) a posteriori is through the residual, which we discuss next, in terms of our original problem (1). If is a computed eigenpair with the right eigenvector222For the sake of brevity, here we omit an analogous discussion with the left eigenvector. , then the minimal size of backward error of the type (3) that makes an exact eigenpair of a backward perturbed quartic eigenvalue problem, i.e.
[TABLE]
can be explicitly computed as the normalized residual [29, §2.2]
[TABLE]
The key difficulty is that an eigenpair obtained by this procedure may have large residual (norm-wise backward error (4)), although the norm-wise backward error for the eigenpair (with the same ) of the corresponding linearization333The norm-wise backward error of as an approximate eigenvalue of the linearization is computed analogously to (4). is acceptably small. This phenomenon is further analyzed in [21], and it is proven that this kind of variation in the backward errors is due to the fact that the norms of the coefficient matrices of the original problem are not equilibrated. As a result, the backward stability of the linearization is not inherited by the transformation to the original polynomial. The problem can be alleviated by parameter scaling, which we review next.
1.1.3 Parameter scaling
Parameter scaling is a useful, powerful, albeit not omnipotent, tool for stabilizing polynomial eigensolvers; the techniques vary from simple heuristics to sophisticated concepts from tropical polynomial algebra. Here we briefly review the scaling used in this paper; other scalings can be easily incorporated.
Write , where is parameter to be determined. Using an additional free parameter , define the scaled quartic polynomial as
[TABLE]
The parameters and are defined so that the norms of the new coefficient matrices do not vary much, and are close to a traget value. This can be done by adapting the Fan, Lin and Van Dooren’s scaling [17]. For , we choose , which is the optimal for minimizing the factor in the backward error ratio bounds [1], and for , we choose, following [6],
Although simple and easy to implement in any polynomial eigensolver, scaling can achieve good results in controlling the growth factor of the backward error. For instance, [40] showed that the quadratic eigenvalue problem can be solved with small backward errors (4) in all eigenpairs by carefully examining six linearizations. Detailed analysis showed that backward stability in all eigenpairs was achieved using two linearizations.
Note that in this interpretation of backward stability, the optimal backward errors (4) are constructed separately for each eigenpair, which is different from the backward stability discussed in §1.1.1.
1.1.4 Graded matrices
We should keep in mind that, in addition to different magnitudes of the norms , , the entries inside each coefficient matrix may be on different scales of magnitude, where some small entries may be important parameters. If, for instance, has graded columns whose norms vary over several orders of magnitude, and is small perturbation that satisfies with a small , then some small columns of may be completely wiped out by . (In an engineering application the columns of the coefficient matrices may be scaled to properly interpret the norm of the eigenvector whose components are of different physical nature.) Parameter scaling cannot counteract differently scaled columns in a particular coefficient matrix.
Remark 1**.**
In addition to parameter scaling, we can use diagonal scaling matrices and , for scaling all coefficients from the left with and from the right with . The goal is to equilibrate the absolute values of all matrix entries. These scaling matrices can be computed by an extension of the scheme described in [14, §4.2].
1.2 A quandary about the infinite eigenvalues
The presence of infinite eigenvalues, indicated by the rank deficiency of , may cause difficulties in the QZ algorithm, which is usually deployed for solving the linearized problem; infinite eigenvalues may not be identified correctly, they may have negative impact on the accuracy of the computed finite eigenvalues, see e.g. [32, Example 2]. It is then advantageous to remove infinite eigenvalues by a deflation and proceed with a problem of smaller dimension, with only finite eigenvalues. This framework, introduced in [20], proved much better than direct solution of the linearized problem.
In some cases, certain number of infinite eigenvalues of (1) can be identified and removed already during the problem formulation. An illustrative example is given in the eigenvalue problem for the channel and Blasius boundary layer in semi-infinite domain [8]. The Orr–Sommerfel differential equation is discretized using the Chebyshev collocation matrix method, and the boundary conditions are imposed in ; the remaining matrix coefficients , , , have the corresponding last four rows equal to zero. In the case of linearly independent boundary conditions, by a clever column permutation, four infinite eigenvalues can be separated and deflated, see [8] for technical details.
The structure of the infinite eigenvalue (the number and the dimensions of blocks in the Kronecker Canonical Form (KCF)) cannot be inferred by only inspecting the rank of . Rank deficiency in reveals only certain number of infinite eigenvalues and further steps are necessary to either confirm that there are no more infinite eigenvalues or to reveal more blocks carrying in the KCF. For more details see [32] and [33].
Removals of infinite and zero eigenvalues involve decisions on the numerical ranks of some intermediate matrices that have been contaminated by the roundoff noise from the previous steps. If the data is not well scaled, and if the computation cannot be interpreted as backward stable in terms of the original coefficients that may have an initial uncertainty from the very problem formulation, then there may be quite a few spurious eigenvalues with large absolute values. The backward stability of the beginning steps that carry the critical responsibility of removing as many as possible infinite eigenvalues must be as much as possible in terms of the initial coefficient matrices, and it has to be as much as possible structured, e.g. column-wise small (backward error in each column small relative to that column’s norm) instead of only small in matrix norm.
As we pointed out in [14], the goal of the pre-processing is to remove many zero and infinite eigenvalues before calling the QZ algorithm, and to use QZ software optimized for a given computing machinery. The reason is that handling infinities numerically in QZ is a delicate issue with many fine details [37], and the development of optimized software often uses techniques, such as e.g. block-oriented formulations and parallelization, that accept speed-accuracy trade-offs.
Another possibility to deal with infinite eigenvalues of matrix polynomials, pursued in [31], [30], is, after a suitable linearization and scaling, to modify software implementation of the QZ algorithm by lowering the original threshold for setting small numbers to zero in the part of the algorithm that can create infinite eigenvalues. This change of a critical parameter was compensated by increasing the maximal allowed number of iterations. This method performed well as measured by the residual of refined eigenvectors .
Although the goal to safely deflate eigenvalues that may be difficult for QZ iterations is the same, our approach of deflation, based as much as possible on initial data, is conceptually different, as we describe next.
2 A new approach to the quartic eigenvalue problem
In our recent paper [14], we built upon the quadeig algorithm of [20] and [32], [33] and constructed an algorithm (designated as kvadeig) for the quadratic eigenvalue problem that makes several reduction steps toward the KCF. One of distinctive features of that reduction is that the backward error in the coefficient matrices is bounded on a finer-scale, e.g. column-wise. Although such a column-wise error bound does not extend to the entire algorithm (the QZ algorithm enjoys only the norm-wise bound), it may be of critical importance in the beginning steps when decisions abut the zero and infinite eigenvalues have to be made, in particular if the matrix coefficients are graded, as discussed in §1.1.4. Since this issue, tackled in kvadeig, is separate from parameter scaling, the approach introduced in kvadeig can benefit from any good scaling, so that it can be combined e.g. with the strategy introduced in [40].
In this paper we extend the techniques of quadeig and kvadeig to the quartic eigenvalue problem (1). A direct connection of (1) with the quadratic problem is quadratification. In §2.1, we briefly review quadratification by companion forms of grade 2, and then we discuss practical advantages and shortcomings of this approach to the quartic eigenvalue problem. Then, in §2.2 we present the main idea of the paper – a linearization based on the quadratification provides a two-level structure that allows for a generalization of the scheme used in kvadeig.
2.1 Quadratification
Both quadeig and kvadeig outperform the general solvers such as e.g. polyeig from Matlab. In addition, [40] provides a backward stable algorithm (in the sense of residuals reviewed in §1.1.2, albeit at double cost) whose semi-tropical scaling can be used in quadeig/kvadeig as well. Hence, good quadratic solvers supported by numerical analysis are available. If one has these quadratic solvers implemented in a reliable software, then it makes sense to use quadratification [9] to reduce the quartic problem to a quadratic one and use the off the shelf quadratic code.
To that end, define matrix polynomials . The first and the second companion form of grade are then defined, respectively, as
[TABLE]
[TABLE]
Both and are strong quadratifications, see [Theorem 5.3, Theorem 5.4][9], [10].
2.1.1 Why quadratification alone is not enough?
While solving the eigenvalue problem for (5) by a reliable quadratic eigensolver is a viable approach, its straightforward implementation has a significant limitation in light of the discussions in §1.1 and §1.2. Namely, just as the QZ algorithm is oblivious to the structure of the linearization, the quadratic eigensolver will be oblivious to the fact that the quadratic pencil represents a quadratification of the quartic problem and that the matrices , , in (5) have block structure defined by the matrices of the original problem. As a result, in the preprocessing phase the algorithm will not make the critical decisions (such as numerical rank revealing) based on the original coefficients of the quartic problem (1).
On the other hand, with a suitable choice of the quadratification and its linearization, we can generalize the framework of kvadeig by zooming into the block structure of the matrices constructed in the quadratification, and thus work with the original coefficients. This is the key idea in this work, and in the rest of this section we set the scene and present the structure of the paper. We will use the second companion form of grade because its structure is compatible with the deflation scheme of kvadeig.
2.2 A generalization of the deflation scheme from KVADEIG
The starting point of the development of the proposed algorithm is the quadratic polynomial (5). It can be further linearized using e.g. the second companion form. In that case, the final matrix pencil of size , that represents a linearization of the quartic problem 1, reads
[TABLE]
Notice that (6) is actually a block Kronecker linearization up to simultaneous interchanges of block rows 2 and 3, and block columns 2 and 3; hence backward error analysis of type (2) applies, see [13, Theorem 5.22, Corollary 5.24]. However, we find the interpretation via quadratification (5) more intuitive and more natural for generalization of the scheme from [14].
Now, we can follow the structure of quadeig/kvadeig, attempting to deflate the infinite eigenvalues of . Even if that is expected to perform better than a straightforward companion type linearization followed by polyeig, it is not the best one can do, see §2.1.1. Instead, the goal is to implement the beginning critical steps, including deflations, with small (hopefully to some extent structured) backward error in the original coefficient matrices , , , , . Therefore, on the global level, we follow the strategy of kvadeig [14, Algorithm 3.1] to bring (6) to an upper triangular Kronecker Canonical Form (KCF), but the elementary steps are rewritten in terms of the original matrices whenever feasible. We will keep the two-level partitioning throughout the paper, and try to use transformations that respect the block structure as much a possible and, if deflation is needed, the structure of the linearization should be considered when defining the transformation matrices.
2.2.1 Outline of the paper
The new algorithm, designated as kvarteig, is described in detail in §3. Recovering the eigenvectors of (1) from those of (6) is discussed in detail in §4, where we propose using least squares regularization, and suggest algorithmic details for an efficient software implementation. In §5 we provide detailed backward error analysis of the first two steps that are critical for removing zero and infinite eigenvalues. We clearly identify moments in the algorithm where scaling of the data plays the key role in keeping the backward error in the initial data small. The numerical experiments, presented in §6, show the advantage of the new framework, both of kvarteig and kvadeig (applied to the quadratification). The strong point of the proposed algorithm is the deflation process. The biggest differences in the results, as compared to other algorithms, can be seen in the element-wise backward errors and, in particular, in the examples with zero and/or infinite eigenvalues. Altogether, the numerical examples clearly demonstrate the importance of both scaling (including balancing) and deflation in the pre-processing phase.
The material of this paper should be considered as the second part of [14], and numerical results in §6 once more illustrate the power of the approach introduced in quadeig and kvadeig.
3 The kvarteig algorithm
We now describe the main ideas of the proposed procedure for deflating infinite and/or zero eigenvalues. As outlined in §2.2, our plan is to adapt the deflation scheme from quadeig/kvadeig to the linearization (6). Although the structure of the proposed algorithm is inspired by our recent quadratic eigensolver and its connection to the problem (1) via quadratification, we stress again that the new algorithm is not a composition of quadratification and quadratic eigensolver. We recall our discussion in §2.1.1 that applying a robust quadratic solver to the quadratification blindly (i.e. by ignoring the origin of the quadratic problem) is not satisfactory.
The first immediate problem is revealing the numerical rank of the coefficient matrices. In §3.1, we briefly review this issue and use it to illustrate the two-level approach to the linearization (6) – at the level of the partition, the algorithm mimics the structure of kvadeig, but all operations are adapted to the block structure of the linearization and then, in §3.2, further tailored for the quartic problem.
3.1 Numerical rank and block-structure
Revealing infinite and zero eigenvalues in presence of perturbations is a delicate task because it depends on the numerical ranks [19] of matrices that are either initial coefficients (possibly polluted by noise) or intermediate results in finite precision computation. An additional difficulty is the underlying structure of the involved matrices, that should preferably be preserved in a backward stability interpretation of the computed results. This is one of the reasons why applying quadeig/kvadeig directly to a quadratification is numerically not optimal.
Namely, applying a rank revealing decomposition (such as the SVD or the pivoted QR factorization) to would mean looking for a small perturbation such that has lower rank that cannot be further reduced by a small perturbation. Such a construction does not respect the block structure of , and better way is to think at this step in terms of the numerical rank with constrained perturbation. If denotes the first columns of then the allowed perturbation might be with an . Similarly, the numerical rank of will be determined under the constraint that only is allowed to change. For a systematic treatment of the general case using the generalized SVD, see [41].
Since we have the natural block structure, we can formulate the rank revealing steps directly, in terms of the original coefficients. This defines the first step of the procedure whose details are explained in §3.2.
Let , and let
[TABLE]
be the rank revealing QR factorizations for and , computed as in [5], [15]. Note that (7) yields a structure preserving rank revealing decomposition of the matrix as
[TABLE]
The truncation of is done by truncating , and the truncation can be pushed back into a backward perturbation of ; see [14, §2.1, §2.3].
Similarly, the rank revealing factorization of the matrix is
[TABLE]
Notice that the permutation of the column blocks only ensures that the matrix is upper triangular. If this structure is not important for the process, we can skip the permutation step and just make the following transformation
[TABLE]
Remark 2**.**
To determine the numerical rank using the rank revealing QR factorization, we use the thresholding strategies as in [14, §2.3.1]. For a softer thresholding we look for a drop-off of absolute values of two consecutive diagonal entries in the upper triangular form. In general, determination of the numerical rank (thresholding strategy and thresholds for truncating the triangular factor) should take into account the size and the structure of the initial uncertainty in the data. Such an additional information is application specific.
3.2 The decision tree of kvarteig
The algorithm is designed to remove zero eigenvalues; the infinities are removed by switching to the reversed pencil.
Similarly as in444Here, some familiarity with the reduction/deflation in the kvadeig algorithm is helpful for understanding the details of kvarteig. [14], the deflation process is an adaptation of the algorithm by [32] for computing the structure of the eigenvalues [math] and . The first two steps are modified using the structure of the linearization (6), and for possible additional steps the algorithm proceeds with the rank revealing QR factorizations and carefully implemented URV decompositions.
As in the kvadeig, there are three main cases: both and regular; only one of and is singular; and both and are singular.
3.2.1 Both matrices and regular
If both matrices and are regular, we can use the factorization (8) to reduce the matrix from (6) to upper triangular form, since this is already the first step of the QZ algorithm.
[TABLE]
The rest of the computation depends on the QZ algorithm. Note that the special structure of the pencil (23) can be exploited for designing a more efficient Hessenberg-triangular decomposition. This is a separate issue that we will not tackle in this work.
3.2.2 Only one matrix is singular
Assume first that is singular, , and thus there are at least zero eigenvalues which can be deflated. If our setup is to remove only the block of zero eigenvalues that is revealed by the null space of , then we can achieve that and, at the same time, transform the matrix to upper triangular form by the equivalence transformation
[TABLE]
The zero eigenvalues are now deflated implicitly by working with the leading sub-pencil of (37). If we want to check for the existence of further blocks corresponding to , then it is convenient to use the following transformation:
[TABLE]
The deflated pencil of order reads
[TABLE]
where and . Note that is the block at the position of a block-upper triangular pencil (50); the block position corresponds to the deflated zeros. Denote the left and the right transformation matrices from (50) with and respectively, and the linearization pencil with . After the first deflation step we have555See [14, §5.2] for more details.
[TABLE]
The next step in the deflation process is to determine the rank of the matrix . From the structure of the matrix, we conclude that the rank of is equal to *”the rank of the matrix * ”, which is defined in terms of the coefficient matrices and of the original problem. So, we compute the rank revealing factorization
[TABLE]
If (53) is of full rank , then is regular, there are no more zeros in the spectrum, and the single deflation step is done by removing the trailing rows and columns in (37). If, on the other hand, (53) is rank deficient with , the corresponding number of zero eigenvalues can be deflated. To that end, note that and transform the pencil (51) to get zero rows at the bottom of . This is done by the permutation If is the corresponding row permutation matrix, and if we set
[TABLE]
then the transformed pencil is
[TABLE]
To deflate the additional zeros, we reduce the trailing rows of the blocks , and to zero. This is done by the complete orthogonal decomposition
[TABLE]
so that . Finally, the deflated pencil is
[TABLE]
This reduction process continues by forwarding to the next step of reduction toward an upper triangular KCF, as described in [14].
Remark 3**.**
For a more structured backward error in case of graded matrices, the complete orthogonal (URV) decomposition (56) should be computed as in [14, §2.2].
Remark 4**.**
If the matrix is rank deficient, and is full rank, we process the reversed problem , , and the corresponding truncated linearization pencil of order reads
[TABLE]
and the rank of matrix is now the rank of the matrix .
3.2.3 Both matrices and are singular
When both matrices and are rank deficient, then, following the discussion from §3.2.2, the key information is in the numerical ranks of the matrices
[TABLE]
Both and are full rank
In this case, in the KCF the zero and the infinite eigenvalue occupy single block each, induced by the rank deficiency of and . The deflation process starts by creating and zero rows in the coefficients of the corresponding linearization as follows:
[TABLE]
The next step is to compute the complete orthogonal decomposition
[TABLE]
and permute the first and the last columns to get
[TABLE]
Finally, to complete the deflation process, the following left and right transformation matrices must be applied on the pencil (89):
[TABLE]
After the transformation step, the deflation is finished by removing the last rows and columns from the obtained pencil. The resulting pencil of dimension is forwarded to the QZ algorithm.
Only one matrix in (59) is singular
This means that there are at least two KCF blocks for the zero (if is singular) or the infinite (if is singular) eigenvalue. In either case, we deflate two blocks for the zero eigenvalue using the structure described in §3.2.2 (see also [14, §5.2, §6.1]), meaning that the reversed problem is considered if there are more blocks for the infinite eigenvalues.
After deflating two blocks of zero eigenvalues, we obtain the pencil (57). Now, the existence of additional zero eigenvalues depends on the rank of the matrix . To deflate possible additional zeros, the pencil is forwarded to the algorithm for computing the KCF [14, §3.2]. As the output we get the pencil and transformation matrices and , with regular. Denote with the dimension of the resulting pencil.
Finally, we have to deflate one block of infinite eigenvalues, which have been detected at the beginning. This is done by forwarding the reversed pencil to the procedure described in [14, §3.2]. As the input to the algorithm we supply the information that there is only one block to be deflated, so that only one step of the algorithm is needed. In addition, we also send the number of infinite eigenvalues so that the rank determination of the matrix is omitted. As an output, we get the pencil with both and regular, and the corresponding transformation matrices and . The final transformation matrices and are
[TABLE]
Both matrices in (59) are singular
This case is analogous to the previous one. The only difference is that, when we call the algorithm on the reversed pencil , we provide additional information that there are least two steps of deflation ahead, as well as the dimensions of the first two blocks which were previously determined by the rank revealing decompositions of and .
3.2.4 On making more reduction steps
After all detected zero and/or infinite eigenvalues have been deflated, as described above, we check the ranks of the matrices in the resulting pencil in order to determine whether there are more blocks of these eigenvalues. If these matrices are rank deficient, then another step of deflation must take place. Unfortunately, with that step, the structure of the linearization is lost, so we use the standard deflation process for generalized eigenvalue problem as in [32] and [14]. It remains an interesting problem to determine an equivalence transformation to restore the structure for more steps, while working on an equivalent representation of the original problem.
There is, of course, a trade-off between this increased numerical robustness and computational cost (complexity), and, in a software implementation, the number of reduction/deflation steps will be limited. But, even with these few steps we can make some critical decisions on the zero and infinite eigenvalues, with backward error in terms of the coefficients of the original problem; see §5 and §6.
3.2.5 An illustrative example
Let us illustrate the action of the additional reduction steps toward the KCF. We use the mirror example from the NLEVP library [2]; it originates from the calibration of catadioptric vision system [42]. The problem is of order .
Both and are rank deficient, with the rank , which means that there are at least zero and infinite eigenvalues. They were correctly identified and deflated in the preprocessing in quadeig666For the purpose of testing and comparisons, we apply quadratic solvers to the quadratification (5) of the quartic problem.; in the next step, the QZ algorithm found an additional zero eigenvalue, and two more infinite eigenvalues. On the other hand, polyeig777We use polyeig from Matlab, version 7.11.0.584 (R2010b). identified in total only zero and infinite eigenvalues. This shows the advantage of the preprocessing introduced in quadeig for early revealing of zeros and infinities. These numbers of computed zero and infinite eigenvalues were independent of whether the parameter scaling was on or off before calling quadeig and polyeig.
On the other hand, the preprocessing in both kvadeig and kvarteig found additional two zero and two infinite eigenvalues, making the total of zero and infinite eigenvalues deflated before calling the QZ. Again, the same numbers of zero and infinite eigenvalues were found with and without parameter scaling. This almost agrees with the result of quadeig, up to one zero eigenvalue.
Next, we check the norm-wise backward errors (4) for all computed eigenpairs (for all four algorithms). The details of computing the eigenvectors in kvarteig are given in §4. The computed residuals, shown in Figure 1, seem to indicate that all results are acceptable up to small norm-wise backward errors (separate for each eigenpair) of the order of machine precision. (The eigenvalues are indexed in non-decreasing absolute values.)
Hence, with all backward errors at the level of the round-off, and with different numbers of zero and infinite eigenvalues computed by different algorithms, how can we tell which one is correct? What assurance is given in a particular algorithm concerning the existence of infinite eigenvalues of a perturbed matrix polynomial in a vicinity of the given one? The difficulty is best illustrated in [32, Example 2], which actually contains the key idea pursued in quadeig, kvadeig and kvarteig.
If we look at the structure of the matrices and for this particular problem, we see that their ranks can be determined exactly because each has zero columns, and the independence of the remaining columns is easy to check. Further, the block matrices (59), which are used to determine the existence of more than one block for zero and infinite eigenvalues, also have two zero columns each, and the remaining submatrices are well conditioned. Thus we can argue that kvarteig has determined the correct numbers of zero and infinite eigenvalues.
We call the reader to revisit this example after reading Example 5.
4 Computing the eigenvectors
In the computation of the eigenvectors, we have two main computational tasks: (i) restore the eigenvectors of the quartic problem from the eigenvectors of its linearization (§4.1); (ii) assemble the eigenvectors of the linearization from the eigenvectors of the deflated (linearization) pencil, using the transformation matrices (§4.2).
4.1 Quartic eigenvectors from the eigenvectors of the linearization
For an eigenvalue , the eigenvectors of the original problem (1) and the final linearization pencil (6) can be related using explicit formulas. For the reader’s convenience, we briefly outline the crux of this connection.
We use and to denote the right and the left eigenvector for the linearization, and , to denote the right and the left eigenvector for the original problem. The eigenvalue is now fixed as assumed nonzero and finite.
Let z=\left(\begin{array}[]{cccc}z_{1}^{T}&z_{2}^{T}&z_{3}^{T}&z_{4}^{T}\end{array}\right)^{T}\in\mathbb{C}^{4n}, , be a right eigenvector for the eigenvalue () of the linearized problem, i.e. :
[TABLE]
By equating the corresponding block components on the left and on the right we get
[TABLE]
It follows immediately that ; if , then, in addition, and ; if , then also . Using (93) we easily check that is an eigenvector of the original quartic problem. Further, (92) implies that satisfies , and (94) yields , and finally from (95) it follows that . Similarly, if we initially assume that is an eigenvector of the quartic problem, these formulas for the ’s give an eigenvector of (91).
An analogous computation reveals a left eigenvector , using the partitioned left eigenvector of the linearization, as , . Altogether, we obtain the following relations between the two sets of eigenvectors:
[TABLE]
For both the right and the left eigenvector there are four choices to recover and . Reconstruction of the left eigenvector seems easier. We just choose one of the block components or and rescale appropriately.
For the right eigenvector we can choose , , or . Notice that, for the last three choices we have to solve system of linear equations in order to compute the wanted vector. Given all the difficulties in numerical solution of nonlinear eigenvalue problem, we ought to use all alternatives in order to obtain better output – in this case, for instance, we can solve all systems and select the vector with smallest residual.
Remark 5**.**
If , for the corresponding right eigenvector we have and . By the same reasoning as above, we conclude the following connection z=\left(\begin{array}[]{cccc}x^{T}&\mathbf{0}&(Bx)^{T}&(Dx)^{T}\end{array}\right)^{T}.
4.1.1 Computing , or multiple times
Inverting (assuming ) multiple times can be done by reusing initially computed LU decomposition. On the other hand computing , for values of is not that simple because the coefficients of the linear system change with ; flops per eigenvalue to compute the corresponding eigenvector is prohibitive complexity. Fortunately, this can be reduced using a bag of tricks for solving shifted linear systems. In particular, this problem is similar to evaluating the transfer function of a descriptor LTI dynamical system at multiple frequencies [24, §4].
We can compute the triangular-Hessenbeg form of , i.e. a unitary , an upper triangular and an upper Hessenberg matrix can be constructed in time so that , . Hence, for any vector
[TABLE]
which has complexity because is upper Hessenberg. This means that the total work (for all eigenvalues) of choosing the eigenvectors with smallest residuals remains . (Here, the tacit assumption is that is nonsingular and well conditioned with respect to inversion.) These details can be taken into account for a development of an optimized software for multicore architectures; for more information see [3], [4].
Remark 6**.**
In some applications, such as e.g. computing deformation modes of thin-walled structures [35], the cubic term is zero, , so that the shifted systems can be replaced with linear system matrix for all ’s. Other details include e.g. the case of real data and using the complex conjugate eigenpairs to save unnecessary computation. Here we omit those details and leave them for the detailed description of a software implementation, which is a subject of our future work.
4.1.2 Least squares reconstruction of the eigenvectors
Since in a finite precision computation the computed eigenvector is only an approximation (thus noisy), and since is not guaranteed to be well conditioned, it makes sense to turn the conditions (96) into a least squares problem, but keeping in mind than we may have to solve it times (i.e. we may take e.g. only two conditions to form the least squares problem). So, for instance, we can compute by solving the least squares problem
[TABLE]
Actually, the second (and any additional) condition serves as a regularization that can be given a positive weight. Such a strategy can be used for a deeper study of selected eigenpairs. We omit the details for the sake of brevity.
If the data is well scaled, then for some eigenvalues (semi-)normal equations can be used. In general, the least squares problem (97) can be solved efficiently for any eigenvalue by pre-computing the SVD (which actually may be available if we used it for a strong rank revealing of ) and then, for each triple , , , solving in flops the equivalent problem
[TABLE]
If , then, based on Remark 5, the corresponding eigenvector can be found from either of the following least squares problems
[TABLE]
which can be efficiently solved for all eigenvectors of , using one of the approaches discussed above. Other possibilities include e.g. using the bidiagonalization instead of the SVD (of or ).
4.2 Assembling the eigenvectors of the linearization
Let and be the computed right and left eigenvector for the linearization pencil (6). Both right and left eigevectors will have elements if no deflation occurred, otherwise the number of elements will be , where is the total number of zero and infinite eigenvalues deflated. is also the dimension of the truncated pencil which is passed to the QZ algorithm for computation of finite nonzero eigenvalues.
4.2.1 Case 1: No deflation has occurred
Let and be the right and the left eigenvector of the transformed pencil . The corresponding right and the left eigenvectors for the original linearization pencil are and . The right and the left eigenvector for the quartic problem are computed as described in §4.1.
4.2.2 Case 2: Deflation has occurred
Let be the dimension of the deflated linearization , i.e. both and are regular. Let and be the right and the left eigenvector for a finite nonzero eigenvalue .
To recover eigenvectors of the initial linearization, we must lift and to the -dimensional space. For the right eigenvector this is easy; we just append zeros to to get .
For the left eigenvector, let be the vector satisfying . From
[TABLE]
we conclude that . (Note that it follows from the procedure in §3.2.2 that is nonsingular. Namely, is a block upper triangular matrix with the diagonal blocks that are by construction nonsingular.) Now, the left eigenvector for the original linearization is .
The right eigenvectors for the zero eigenvalue span the nullspace of the matrix . The corresponding basis is computed for the orthogonal complement of the range of . To compute this basis we can use the already computed QR factorization of (7) as follows. First compute the QR factorization of . Now, the last columns of represent the basis for the nullspace of the matrix . Similarly, the right eigenvectors of the infinite eigenvalue span the nullspace of the matrix . The basis is computed using the already computed QR factorization (7). Again, compute the QR factorization of , and the last columns of represent the basis for the nullspace of .
The left eigenvectors for the zero eigenvalue are determined as the last columns of the unitary matrix from the corresponding QR factorization, and the left eigenvectors for the infinite eigenvalue are selected as the last columns of the unitary matrix from the QR factorization of .
5 Backward error analysis
As we discussed in §1.1 and §1.2, it is important that the computational errors in the preprocessing phase correspond (in a backward error sense) to small perturbations of the initial coefficients, i.e. that we have strong norm-wise backward stability. Moreover, if the initial coefficient matrices have graded columns, then it is advantageous to have backward error in each column to be small relative to the size of that column (instead of relative to the norm of the whole matrix). In this section, we analyze the backward errors in the proposed preprocessor, where we use a framework of mixed error analysis. As expected, such an analysis is rather technical.
We provide a backward/mixed error analysis for the first two steps of the deflation procedure described in §3.2.2 (only one of and is singular), which includes the key details and principles of the analysis. Extending this further to the first two steps of the general case §3.2.3 (both and singular) would follow the same steps and it is omitted for the sake of brevity.
The following proposition deals with the first step, that is, the deflation of the first batch of zero eigenvalues.
Proposition 1**.**
Let be the computed rank revealing QR factorization of , and let be the computed numerical rank of . Further, let , . Let
[TABLE]
be the computed reduced pencil (51), extracted from the transformed linearization (50). There exists small structured perturbation
[TABLE]
such that corresponds to an exact reduced linearization of a quartic matrix polynomial
[TABLE]
with at least zero eigenvalues, where, for all ,
[TABLE]
and the truncation error from the determination of the numerical rank of is888See Remark 2.
[TABLE]
Here , , are bounded by a moderate function of times the machine precision , and is prescribed threshold parameter.
Proof.
The computed QR factorization of , can be represented as , where is exactly unitary and ; the backward error is induced by rounding errors during the factorization, and is the truncation error from the numerical rank. If we set , then . We can also write , where , and thus
There is an important subtlety here, and it is instructive to discuss it in more detail. In the actually computed matrix , stored in the computer memory, one of its blocks is the numerically computed numerically orthogonal . The backward stability of the QR factorization is usually stated in terms of an exactly unitary matrix , which is an inaccessible object as it is artificially constructed in the proof of backward stability. This is motivated by the desire to be able to say that we have computed the exact QR factorization of a nearby matrix. The matrices and are computed by using the floating point matrix , possibly implicitly as in the LAPACK subroutine xORMQR, or by explicit matrix multiply (xGEMM from BLAS) using explicitly formed , using xORGQR (LAPACK). The computed , can be represented as
[TABLE]
On the other hand, the unit blocks in and in assume exact orthogonality of , which is not feasible in finite precision arithmetic. If we set , then we can represent the computed linearization (50) as
[TABLE]
Now we see at the block position in the left matrix, . Hence, (101) can be justified by a mixed stability scenario – if the computed pencil is changed by to restore identity at the position in the left matrix, then it can be interpreted as an exact transformation of a slightly changed initial pencil.
Alternatively, we can set and model (50) as
[TABLE]
In this case, the block in the right matrix in (101) should be changed from to , by adding , to establish exact equivalence with a slightly perturbed initial pencil. ∎
Remark 7**.**
The forward error introduced in (130) (thus making the model of the analysis of mixed forward-backward type) is due to the fact that in finite precision computation unitarity/orthogonality cannot be guaranteed.999For that reason the QR factorization can only be mixed stable, and in general it is not backward stable. Note that this error is localized to one block of the linearization; its structure can be easily seen from the backward analysis of the e.g. Householder QR factorization.
We now consider the first two steps and show that the algorithm remains mixed stable. The proof is technically more involved, but it is important to see how the reduced linear pencil after small forward modification exactly corresponds to a quartic pencil with backward errors in the initial coefficient matrices. Also, the proof nicely illustrates the benefits of well scaled data.
Theorem 1**.**
Assume the notation of Proposition 1, and let
[TABLE]
[TABLE]
be the computed version of (55). There exist small structured forward perturbation
[TABLE]
of , and backward errors , , such that corresponds to an exactly reduced linearization of a quartic matrix polynomial
[TABLE]
with the exact transformation given in (164) and (218) below. Under mild technical assumption (on the size of n\mbox{\boldmath\varepsilon}), we have, for each column index ,
[TABLE]
where , are mildly growing functions. Further, with , , , as in Proposition 1, it holds that and , where
[TABLE]
The latter shows the benefits of well scaled and balanced and (§1.1.3, §1.1.4, Remark 1).
Proof.
We continue based on the details and the notation from the proof of Proposition 1. The next step is computation of the rank revealing factorization of the block matrix . It is convenient to consider the left matrix in (101) with the relevant blocks already swapped (see (55))
[TABLE]
For the computed factors it holds that
[TABLE]
where is exactly unitary and , is of full row rank,101010The zero block beneath of may be void. and is the backward error of the QR factorization that can be estimated by
[TABLE]
We can push and backward in and , respectively, as follows. First, and
[TABLE]
If and are so scaled that their norms are nearly of the same order, then , will be, respectively, their relatively small perturbations. Further, an analogous conclusion holds also column-wise, which motivates scaling the initial data by diagonal matrices to equilibrate on the matrix elements level.111111See Example 6. Hence, if the additive perturbation is replaced with , remains unchanged, and is precisely as in (161). (Here .) Similarly, using , from Proposition 1, we have
[TABLE]
Now define analogously to (54). The matrix in (143) can be interpreted as an exact transformation of type (130), followed by the transformation of type (55) with , but with initial matrices that are changed as ; , . The transformation reads:
[TABLE]
Consider now the second coefficient. The block swapping on the right matrix (pre-multiplication of the rows by the permutation matrix ) reads
[TABLE]
Recall, ; introduce block-row partition with . Similarly, introduce block-column partitions , . The last column block in the matrix
[TABLE]
is simply . Since we used in the backward error analysis of the left-hand matrix, here we will have to use a mixed error analysis: will be changed by a forward error into . Recall that our model of the analysis (using exactly unitary instead of the computed numerically unitary matrices) will also require small forward perturbation to change into .
Consider now the first two blocks in .
[TABLE]
(Here estimates the backward error for matrix multiplication, 0\leq\epsilon\leq O(n)\mbox{\boldmath\varepsilon}.) In this block too, we will commit a forward error and replace it with
[TABLE]
To estimate this forward change we first note that, for each column index ,
[TABLE]
Hence
[TABLE]
and we conclude that is a column-wise small perturbation of . Computation of is analogous, but for the purpose of mixed stability interpretation, has to be replaced with , which yields
[TABLE]
Hence, if the computed right-hand matrix is changed by a forward perturbation as
[TABLE]
the resulting matrix is the main submatrix of
[TABLE]
∎
6 Numerical examples
In this section, we present numerical examples and compare our new algorithm kvarteig with polyeig from MATLAB, quadeig [20] and kvadeig (including balanced_kvadeig121212balanced_kvadeig denotes the kvadeig algorithm enhanced with balancing by diagonal scaling matrices, see Remark 1.) [14] applied to the linearization (6) and the quadratification (5), respectively.
Our goal is to illustrate the potential of the techniques introduced in kvadeig and kvarteig, and to motivate further development. We in particular stress the benefits of additional balancing of the coefficient matrices, that is used in combination with the well developed parameter scaling. The analysis of backward errors in §5 indicates, and numerical experiments in this section provide empirical evidence of importance of well balanced data. Balancing is applicable, mutatis mutandis, to other solvers as well.
All test examples are taken from the NLEVP benchmark collection [2].
In all examples and figures shown in this section, the eigenpairs are indexed so that the eigenvalues are sorted increasingly in modulus.
Example 1**.**
We first test kvarteig on three examples with the default input values: butterfly (); orr_sommerfeld (); planar waveguide (). The results are tested using the norm-wise (residual) backward error (4).
In the first run of the experiment, polyeig, quadeig, and both variants of kvadeig worked with raw data , , , , , and the parameter scaling is applied in quadeig, kvadeig only to the quadratic pencil from (5). In balanced kvadeig, parameter scaling is combined with diagonal balancing of . For the sake of the experiment, kvarteig worked in two modes: (i) with parameter scaling (designated as kvarteig); and (ii) without parameter scaling, but with the diagonal balancing switched on (designated as balanced kvarteig (-s)).
Switching the scaling off may simulate the case of an unsuccessful parameter scaling of the initial matrix coefficients. Also, this may serve as a simulation of a genuine quadratic problem in which the coefficients are composed of blocks with different parameter dependencies, possibly on different scales – then parameter scaling cannot resolve different scales inside , , . Hence, this is primarily a test of the quadratic solvers as potential tools for quadratification based solution of quartic problems. We refer the reader to §1.1.4, Remark 1, §2.1.1, and [14]. Further, with balanced kvarteig (-s) we want to check whether diagonal balancing can make a difference in the absence (or failure) of the parameter scaling.
The extreme values of over all computed right eigenpairs are given in Table 1:
Note that quadeig and kvadeig had relatively large relative errors for orr_sommerfeld and planar waveguide, while balanced kvadeig performed well despite the fact that it received unscaled original matrices. Although contrived, this example illustrates the main point well – parameter scaling (here applied to ) combined with diagonal balancing is better than parameter scaling alone.
We complete this experiment with the initial parameter scaling included in all methods. It performed well and, as a result, all measured backward errors were in all five methods at most . This is of the order of the machine precision multiplied by a low order polynomial of the dimension of the problem.
Example 2**.**
Structured backward errors provide a better insight into the numerical quality of the computed solutions. For the data of orr_sommerfeld in Example 1, we compute for each right eigenpair the component-wise backward error
[TABLE]
The corresponding error for a left eigenpair is defined analogously. We examine the component-wise backward errors in the orr_sommerfeld example with two sets of defining parameters. Recall, the function from the NLEVP library for generating this quartic eigenvalue problem has three optional input arguments, , and : represents the dimension of the problem, is the frequency, and is the Reynolds number. The default values are: , and (these values are used in Table 1). In the first test, we use these default values.
The values of and are shown for all computed eigenpairs in Figure 2.
In the second run of the test, we increase the Reynolds number to . The norm-wise and the component-wise backward errors for all eigenvalues, are shown in Figure 3 and Figure 4, respectively. Note how the backward error for kvarteig in Figure 3 remains nearly flat at the roundoff level, and how kvadeig also performs well (even with structured backward error for the right eigenpairs), despite being oblivious to the underlying structure of the quadratification and receiving unscaled original coefficients.
A conclusion of this and Example 1 is that quadratic solver equipped with parameter scaling and diagonal balancing might work reasonably well on a quadratification of the quartic problem, even when the scaling of the coefficients of the original quartic problem is omitted or unsuccessful.
Remark 8**.**
The results of this experiment, with the computed backward errors shown in Figure 3 and Figure 4, are instructive. First, in this example quadeig deflated infinite eigenvalues of the quadratic pencil (see (5)), because in the preprocessing stage of the algorithm, the numerical rank of the matrix of order is computed as . On the other hand, the existence of infinite eigenvalues in the original quartic eigenvalue problem depends on the rank of the leading coefficient matrix . If we inspect the singular values131313Singular values are indexed in non-increasing order, . of and of , then, as clearly shown in Figure 5, is numerically of full rank (its condition number is below , so kvarteig safely removed the possibility of infinite eigenvalues). On the other hand, is at the level of dimension of times machine precision and in many algorithms this is the truncation threshold for numerical rank deficiency. Note that parameter scaling of the quadratic pencil (5) cannot remove this problem.
On the other hand, kvadeig (applied to the same ) declared the matrix nonsingular, and thus no infinite eigenvalues where deflated nor found by the QZ algorithm. This is because kvadeig uses more local truncation strategy; it truncates at index if is estimated to be small; see Remark 2 and Example 4. Good results by balanced_kvadeig are due to the additional balancing [14, §4.2], and this example once more justifies our approach in kvadeig (using local truncation strategy and balancing in combination with parameter scaling).
Now, we turn on the parameter scaling, which is a necessary tool for numerical stability of a polynomial eigensolver. Although the scaling described in §1.1.3 is a simple combination of the existing and well known formulas, it seems that it works well. In particular, in many cases it works well for polyeig, as we already showed in Example 1. This is illustrated in the next two numerical experiments with the orr_sommerfeld example of dimensions and .
Example 3**.**
We use the same benchmark problem as in the second part of Example 2 (orr_sommerfeld example with , and .), but initially we scale the matrices as described in §1.1.3, so that all algorithms start with scaled data. This example has no infinite eigenvalues. The results of all algorithms depend on the QZ algorithm, thus the similar results. (It seems that polyeig and kvarteig are a little bit better than kvadeig and quadeig, which makes sense because both work on the original coefficients, while the quadratic solvers work on , , from the quadratification.)
Example 4**.**
We continue experimenting with the orr_sommerfeld example; we choose the default values of the Reynolds number and the frequency , but increase the dimension to , and compute all eigenpairs. The matrix coefficients are scaled using the same strategy as in the previous example.141414Without parameter scaling of the initial data, the Matlab function polyeig failed completely – all computed eigenvalues were of the form .
An application of quadeig to the quadratification (5) returned infinite eigenvalues. With kvadeig and the same quadratification, infinite eigenvalues are detected. On the other hand, if we use balancing (balanced_kvadeig), the leading coefficient matrix is declared regular, and no infinite eigenvalues are detected. The difference is mainly due to the softer drop-off truncation in the rank revealing QR factorization. The result of kvarteig also depends on the truncation strategy. If the truncation of the pivoted QR factorization is done relative to the norm of , the numerical rank is , meaning that infinite eigenvalues are deflated immediately in the preprocessing phase. In the case of drop-off strategy, the matrix is not numerically rank deficient.
The norm-wise and component-wise backward errors for the computed right and left eigenpairs are shown in Figures 8, 9, 10, 11.
Example 5**.**
In this example, we use transposed matrices from the mirror example151515Recall, we analyzed this example in §3.2.5, where we argued that there are nine zero and nine infinite eigenvalues. and scale them as described in §1.1.3. The number of zero and infinite eigenvalues found by the four algorithms were: polyeig (no zeros and infinities); quadeig ( zeros and infinities); kvadeig and kvarteig zeros and infinite eigenvalues. The component-wise and the norm-wise backward errors are given in Figure 12.
Example 6**.**
In this example we illustrate potential benefits of equilibration of the coefficient matrices on the element level, mentioned in Remark 1. Such diagonal scalings balance the absolute values of nonzero entries over all matrices.
We take the butterfly example and pre-multiply its coefficient matrices with diagonal matrix with randomly permuted powers , on the diagonal. This is an entirely artificial step to simulate a situation with ill-conditioning caused by removable scaling (that may originate in an inappropriate scale of physical units). We obtain an equivalent problem, but numerical algorithms may be more or less sensitive to this change of representation.
Then, we compute balancing matrices , (see Remark 1) and examine how this preprocessing () influences the numerical accuracy of the algorithms under study. The computed component-wise backward errors, shown in Figure 13, clearly demonstrate the impact of the balancing .
Note also that without balancing kvadeig still performs well, much better than polyeig and quadeig under the same conditions.
Example 7**.**
In our last example, we checked the least squares approach to recovering the eigenvectors, as described in §4.1.2. The computed backward errors in all tested cases were comparable with the method of selecting the vector with smallest residual. We believe that this least squares approach could be useful for getting good eigenvectors for selected eigenvalues that are of particular importance in some applications.
7 Concluding remarks
We have shown that the proposed algorithm kvarteig for solving quartic eigenvalue problems is a useful contribution that fills the gap in the toolbox for the polynomial eigenvalue problems, both for the full solution of medium size non-structured problems and for solving the projected problems in subspace based methods for large scale structured/sparse problems. Numerical experiments with the benchmark examples from the NLEVP collection show that kvarteig is superior to polyeig from Matlab, or quadeig applied to a quadratification of the original quartic problem. Further, the numerical performances of kvadeig on the quadratificaton of the quartic problem additionally justify the modifications that underpinned the development both in [14] and in this paper.
Given the wide spectrum of applications of the quartic eigenvalue problem, we are certain that our proposed algorithm will prove useful in many computational tasks in applied sciences and engineering. Further, the presented techniques can be adapted for other methods and suitable linearizations of polynomial eigenvalue problems.
An early version of this work is available at [16].
Acknowledgement
This research has been supported by the Croatian Science Foundation (CSF) grants IP-2019-04-6268, and in part (the second author) UIP-2019-04-5200. Parts of this work originate from the second author’s thesis [36]. The authors thank to Serkan Gugercin (Virginia Tech, Blacksburg), Luka Grubišić and Zvonimir Bujanović (University of Zagreb) for valuable comments, and in particular to the three anonymous referees for their constructive criticism and detailed reports.
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1[1] Timo Betcke. Optimal scaling of generalized and polynomial eigenvalue problems. SIAM Journal on Matrix Analysis and Applications , 30(4):1320–1338, 2009.
- 2[2] Timo Betcke, Nicholas J. Higham, Volker Mehrmann, Christian Schröder, and Françoise Tisseur. NLEVP: A collection of nonlinear eigenvalue problems. ACM Transactions on Mathematical Software (TOMS) , 39(2):1–28, 2013.
- 3[3] Nela Bosner, Zvonimir Bujanović, and Zlatko Drmač. Efficient generalized Hessenberg form and applications. ACM Trans. Math. Softw. , 39(3), May 2013.
- 4[4] Nela Bosner, Zvonimir Bujanović, and Zlatko Drmač. Parallel solver for shifted systems in a hybrid CPU–GPU framework. SIAM Journal on Scientific Computing , 40(4):C 605–C 633, 2018.
- 5[5] Peter Businger and Gene H. Golub. Linear least squares solutions by Householder transformations. Numerische Mathematik , 7(3):269–276, 1965.
- 6[6] Carmen Campos and Jose E. Roman. Parallel Krylov solvers for the polynomial eigenvalue problem in SLE Pc. SIAM Journal on Scientific Computing , 38(5):S 385–S 411, 2016.
- 7[7] Hongjia Chen, Akira Imakura, and Tetsuya Sakurai. Improving backward stability of Sakurai–Sugiura method with balancing technique in polynomial eigenvalue problem. Applications of Mathematics , 62(4):357–375, 2017.
- 8[8] Gökhan Danabasoglu and Sedat Biringen. A Chebyshev matrix method for the spatial modes of the Orr–-Sommerfeld equation. International Journal for Numerical Methods in Fluids , 11:1033 – 1037, 11 1990.
