Skip to main content
Log in

A real QZ algorithm for structured companion pencils

  • Published:
Calcolo Aims and scope Submit manuscript

Abstract

We design a fast implicit real QZ algorithm for eigenvalue computation of structured companion pencils arising from linearizations of polynomial rootfinding problems. The modified QZ algorithm computes the generalized eigenvalues of an \(N\times N\) structured matrix pencil using O(N) flops per iteration and O(N) memory storage. Numerical experiments and comparisons confirm the effectiveness and the stability of the proposed method.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8

Similar content being viewed by others

Notes

  1. MATLAB is a registered trademark of The Mathworks, Inc.

  2. Both implementations are available for download at http://www.unilim.fr/pages_perso/paola.boito/software.html.

References

  1. Aurentz, J.L., Mach, T., Robol, L., Vandebril, R., Watkins, D.S.: Roots of polynomials: on twisted QR methods for companion matrices and pencils, arXiv:1611.02435 [math.NA] (2016)

  2. Austin, A.P., Kravanja, P., Trefethen, L.N.: Numerical algorithms based on analytic function values at roots of unity. SIAM J. Numer. Anal. 52, 1795–1821 (2014)

    Article  MathSciNet  MATH  Google Scholar 

  3. Betcke, T., Higham, N.J., Mehrmann, V., Schröder, C., Tisseur, F.: NLEVP: a collection of nonlinear eigenvalue problems. ACM Trans. Math. Softw. 39, 7–28 (2013)

    Article  MathSciNet  MATH  Google Scholar 

  4. Boito, P., Eidelman, Y., Gemignani, L.: Implicit QR for companion-like pencils. Math. Comput. 85, 1753–1774 (2016)

    Article  MathSciNet  MATH  Google Scholar 

  5. Corless, R.: Generalized companion matrices for the Lagrange basis. In: Proceedings EACA (2004)

  6. de Boor, C.: An empty exercise. ACM SIGNUM Newslett. 25(4), 2–6 (1990)

    Article  Google Scholar 

  7. Effenberger, C.: Robust solution methods for nonlinear eigenvalue problems, Ph.D. thesis, EPFL (2013)

  8. Eidelman, Y., Gohberg, I.: On a new class of structured matrices. Integral Equ. Oper. Theory 34, 293–324 (1999)

    Article  MathSciNet  MATH  Google Scholar 

  9. Eidelman, Y., Gohberg, I., Haimovici, I.: Separable Type Representations of Matrices and Fast Algorithms. Volume 1. Basics. Completion Problems. Multiplication and Inversion Algorithms, Operator Theory: Advances and Applications. Birkhäuser, Basel (2013)

    MATH  Google Scholar 

  10. Eidelman, Y., Gohberg, I., Haimovici, I.: Separable Type Representations of Matrices and Fast Algorithms. Volume 2. Eigenvalue method, Operator Theory: Advances and Applications. Birkhäuser, Basel (2013)

    MATH  Google Scholar 

  11. Fiedler, M., Markham, T.L.: Completing a matrix when certain entries of its inverse are specified. Linear Algebra Appl. 74, 225–237 (1986)

    Article  MathSciNet  MATH  Google Scholar 

  12. Golub, G.H., Van Loan, C.F.: Matrix Computations, Johns Hopkins Studies in the Mathematical Sciences, 3rd edn. Johns Hopkins University Press, Baltimore, MD (1996)

    Google Scholar 

  13. Jenkins, M.A., Traub, J.F.: Principles for testing polynomial zerofinding programs. ACM Trans. Math. Softw. 1, 26–34 (1975)

    Article  MathSciNet  MATH  Google Scholar 

  14. Lawrence, P.W.: Eigenvalues methods for interpolation bases. University of West Ontario, Electronic Thesis and Dissertation Repository, paper 1359 (2013)

  15. Lawrence, P.W.: Fast reduction of generalized companion matrix pairs for barycentric Lagrange interpolants. SIAM J. Matrix Anal. Appl. 34(3), 1277–1300 (2013)

    Article  MathSciNet  MATH  Google Scholar 

  16. Lawrence, P.W., Corless, R.M.: Stability of rootfinding for barycentric Lagrange interpolants. Numer. Algorithms 65(3), 447–464 (2014)

    Article  MathSciNet  MATH  Google Scholar 

  17. Solov’ëv, S.I.: Preconditioned iterative methods for a class of nonlinear eigenvalue problems. Linear Algebra Appl. 415, 210–229 (2006)

    Article  MathSciNet  MATH  Google Scholar 

  18. Toh, K.-C., Trefethen, L.N.: Pseudozeros of polynomials and pseudospectra of companion matrices. Numer. Math. 68, 403–425 (1994)

    Article  MathSciNet  MATH  Google Scholar 

  19. Watkins, D.S.: Fundamentals of Matrix Computations. Pure and Applied Mathematics (New York), 2nd edn. Wiley-Interscience [John Wiley & Sons], New York (2002)

    Book  Google Scholar 

  20. Watkins, D.S.: The Matrix Eigenvalue Problem: GR and Krylov Subspace Methods. SIAM, Philadelphia (2007)

    Book  MATH  Google Scholar 

Download references

Acknowledgements

Thanks to Thomas Mach for useful suggestions concerning the Fortran implementation of Givens transformations.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to P. Boito.

Additional information

This work was partially supported by GNCS-INDAM and University of Pisa.

Appendix

Appendix

In this appendix we give a formal proof of the correctness of the algorithm stated in Sect. 4. Specifically, we prove the following:

Theorem 1

Let \((A,B)\in {\mathcal {P}}_N\) be a matrix pair with an upper Hessenberg matrix \(A=V-{{\varvec{z}}}{{\varvec{w}}}^*\) from the class \({\mathcal {H}}_N\) and an upper triangular matrix \(B=U-{{\varvec{p}}} {{\varvec{q}}}^*\) from the class \({{\mathcal {T}}}_{N}\) with the unitary matrices \(V\in {{\mathcal {V}}}_{N},U\in {{\mathcal {U}}}_{N}\) and the vectors \({{\varvec{z}}},{{\varvec{w}}},{{\varvec{p}}},{{\varvec{q}}}\in {\mathbb {R}}^N\). Let \(p(z)=\alpha + \beta z +\gamma z^2 \in {\mathbb {R}}[z]\) be a polynomial of degree at most 2. Let QZ be unitary matrices defined as in (2.8), (2.9) where the matrices \(Q_i\) and \(Z_i\), \(1\le i\le N-1\), are generated by the algorithm in Sect. 4. Then \(A_1=Q^** A Z\) and \(B_1=Q^* B Z\) are upper Hessenberg and upper triangular, respectively, and, moreover, \(Q^* p(A B^{-1}) {{\varvec{e}}}_1=\alpha {{\varvec{e}}}_1\) for a suitable scalar \(\alpha \in {\mathbb {R}}\).

Proof

The property \(Q^* p(A B^{-1}) {{\varvec{e}}}_1=\alpha {{\varvec{e}}}_1\) easily follows by construction. The proof of the remaining properties is constructive by showing that \(A_1\) is upper Hessenberg and \(B_1\) is upper triangular and then providing structured representations of the entries of their unitary components \(V_1=Q^* V Z\) and \(U_1=Q^* U Z\). We restrict ourselves to consider \(A_1\) and \(V_1\) since the computation of \(B_1\) and \(U_1\) and of the perturbation vectors can be treated in a similar way.

We treat A and V as block matrices with entries of sizes \(m^A_i\times n^A_j,\;i,j=1,\dots ,N+3\), where

$$\begin{aligned} \begin{aligned} m^A_1&=\dots =m^A_N=1,\;m^A_{N+1}=m^A_{N+2}=m^A_{N+3}=0,\\ n^A_1&=0,\;n^A_2=\dots =n^A_{N+1}=1,\;n^A_{N+2}=n^A_{N+3}=0. \end{aligned} \end{aligned}$$
(6.32)

Relative to this partition the matrix V has diagonal entries

$$\begin{aligned} \begin{aligned}&d_V(1)\;\text{ to } \text{ be } \text{ the }\; 1\times 0\; \text{ empty } \text{ matrix },\\&d_V(k)=\sigma ^V_{k-1}=\sigma ^A_{k-1}+z(k)w(k-1),\;k=2,\dots ,N,\\&d_V(N+1),d_V(N+2),d_V(N+3)\;\text{ to } \text{ be } \text{ the } \;0\times 1,0\times 0,0\times 0\, \text{ empty } \text{ matrices }, \end{aligned} \end{aligned}$$
(6.33)

upper quasiseparable generators

$$\begin{aligned} \begin{aligned}&{\hat{g}}_V(k)=g_V(k),\;k=1,\dots ,N,\quad {\hat{g}}_V(N+1),g_V(N+2)\;\text{ to } \text{ be } \text{ the }\; 0\times 0\\&~~~~~~~~~~~~~~~ \text{ empty } \text{ matrices },\\&{\hat{h}}_V(k)=h_V(k-1),\;k=2,\dots ,N+1,\\&{\hat{h}}_V(N+2),\hat{h}_V(N+3)\;\text{ to } \text{ be } \text{ the }\; 0\times 0\; \text{ empty } \text{ matrices },\\&{\hat{b}}_V(k)=b_V(k-1),\;k=2,\dots ,N,\\&{\hat{b}}_V(N+1),\hat{b}_V(N+2)\;\text{ to } \text{ be } \text{ the } r^V_N\times 0,0\times 0 \text{ empty } \text{ matrices } \end{aligned} \end{aligned}$$
(6.34)

and lower quasiseparable generators

$$\begin{aligned} \begin{aligned}&p_V(k)=z(k),\;k=2,\dots ,N,\\&p_V(N+1),p_V(N+2)\;\text{ to } \text{ be } \text{ the } 0\times 1 \text{ empty } \text{ matrices },\\&q_V(1)\;\text{ to } \text{ be } \text{ the } 1\times 0 \text{ empty } \text{ matrix },\\&q_V(k)=w(k-1),\;k=2,\dots ,N+1,\\&a_V(k)=1,\;k=2,\dots ,N+1. \end{aligned} \end{aligned}$$
(6.35)

Relative to the partition (6.32) the matrix A is a block upper triangular matrix with diagonal entries

$$\begin{aligned} \begin{aligned}&d_A(1)\;\text{ to } \text{ be } \text{ the } 1\times 0 \text{ empty } \text{ matrix },\\&d_A(k)=\sigma ^A_{k-1},\;k=2,\dots ,N,\\&d_A(N+1),d_A(N+2)\;\text{ to } \text{ be } \text{ the } 0\times 1,0\times 0 \text{ empty } \text{ matrices }. \end{aligned} \end{aligned}$$
(6.36)

Moreover using (2.1) we obtain upper quasiseparable of the matrix A relative to the partition (6.32) with orders

$$\begin{aligned} r^A_k=r^V_k+1,\;k=1,\dots ,N,\quad r^A_{N+1}=r^A_{N+2}=0 \end{aligned}$$
(6.37)

by the formulas

$$\begin{aligned}&\begin{aligned}&g_A(k)=\left[ \begin{array}{cc}g_V(k)&-z(k)\end{array}\right] ,\;k=1,\dots ,N,\\&g_A(N+1),g_A(N+2)\;\text{ to } \text{ be } \text{ the } 0\times 0 \text{ empty } \text{ matrices }, \end{aligned} \end{aligned}$$
(6.38)
$$\begin{aligned}&\begin{aligned}&h_A(k)=\left[ \begin{array}{c}h_V(k-1)\\ w(k-1)\end{array}\right] ,\;k=2,\dots ,N+1,\\&h_A(N+2),h_A(N+3)\;\text{ to } \text{ be } \text{ the } 0\times 0 \text{ empty } \text{ matrix },\\&b_A(k)=\left( \begin{array}{cc}b_V(k-1)&{}0\\ 0&{}1\end{array}\right) ,\;k=2,\dots ,N,\\&b_A(N+1),b_A(N+2)\;\text{ to } \text{ be } \text{ the } (r^V_N+1)\times 0,0\times 0 \text{ empty } \text{ matrices }. \end{aligned} \end{aligned}$$
(6.39)

Using (2.8) and setting

$$\begin{aligned} \begin{aligned} {\tilde{S}}^A_1&={\tilde{S}}^A_2=I_N,\quad {\tilde{S}}^A_i={\tilde{Q}}^*_{i-2},\;i=3,\dots ,N+1,\quad {\tilde{S}}^A_{N+2}={\tilde{S}}^A_{N+3}=I_N,\\ {\tilde{T}}^A_1&={\tilde{T}}^A_2={\tilde{T}}^A_3=I_N,\quad {\tilde{T}}^A_i={\tilde{Z}}_{i-3},\;i=4,\dots ,N+2,\quad {\tilde{T}}^A_{N+3}=I_N \end{aligned} \end{aligned}$$
(6.40)

we get

$$\begin{aligned} Q^*={\tilde{S}}^A_{N+3}\cdots {\tilde{S}}^A_1,\quad Z={\tilde{T}}^A_1\cdots {\tilde{T}}^A_{N+3}. \end{aligned}$$
(6.41)

We have

$$\begin{aligned} {\tilde{S}}^A_1&=\mathrm{diag}\{S^A_1,I_{N-1}\},\; {\tilde{S}}^A_2=\mathrm{diag}\{S^A_2,I_{N-2}\};\\ {\tilde{S}}^A_k&=\mathrm{diag}\{I_{k-2},S^A_k,I_{N-k}\},\; k=2,\dots ,N;\\ {\tilde{S}}^A_{N+1}&=\mathrm{diag}\{I_{N-2},S^A_{N+1}\},\; {\tilde{S}}^A_{N+2}=\mathrm{diag}\{I_{N-1},S^A_{N+2}\},\; {\tilde{S}}^A_{N+3}=\mathrm{diag}\{I_N,S^A_{N+3}\} \end{aligned}$$

with

$$\begin{aligned} \begin{aligned}&S^A_1=1,\;S^A_2=I_2,\quad S^A_k=Q^*_{k-2},\;k=3,\dots ,N+1,\quad S^A_{N+2}=1,\\&S^A_{N+3}\;\text{ to } \text{ be } \text{ the } 0\times 0 \text{ empty } \text{ matrix } \end{aligned} \end{aligned}$$
(6.42)

and

$$\begin{aligned} {\tilde{T}}^A_1&=\mathrm{diag}\{T^A_1,I_{N}\},\; {\tilde{T}}^A_2=\mathrm{diag}\{T^A_2,I_{N-1}\},\;{\tilde{T}}^A_3=\mathrm{diag} \{T^A_2,I_{N-2}\};\\ {\tilde{T}}_k&=\mathrm{diag}\{I_{k-4},T^A_k,I_{N-k+1}\},\; k=4,\dots ,N+2;\\ {\tilde{T}}^A_{N+3}&=\mathrm{diag}\{I_{N-1},T^A_{N+3}\} \end{aligned}$$

with

$$\begin{aligned} \begin{aligned}&T^A_1\;\text{ to } \text{ be } \text{ the } 0\times 0 \text{ empty } \text{ matrix },\\&T^A_2=1,\;T^A_3=I_2,\quad T^A_k=Z_{k-3},\;k=4,\dots ,N+2,\quad T^A_{N+3}=1. \end{aligned} \end{aligned}$$
(6.43)

We treat the lower Hessenberg matrix \(Q^*\) as a block matrix with entries of sizes \(\tau ^A_i\times m^A_j,\;i,j=1,\dots ,N+3\), where

$$\begin{aligned} \tau ^A_1=\tau ^A_2=0,\quad \tau ^A_3=\dots =\tau ^A_{N+2}=1,\quad \tau ^A_{N+3}=0. \end{aligned}$$
(6.44)

The matrix \(Q^*\) has the representation considered in Lemma 31.1 in [10] with the matrices \(S_k\;(k=1,\dots ,N+2)\) of sizes \((\tau ^A_1+r^S_1) \times m^A_1,\; (\tau ^A_k+r^S_k)\times (m^A_k+r^S_{k-1})\;(k=2,\dots ,N+1),\;\tau ^A_{N+2}\times (m^A_{N+2}+r^S_{N+1})\), where

$$\begin{aligned} r^S_1=1,\quad r^S_k=2,\;k=2,\dots ,N),\quad r^S_{N+1}=1,\;r^S_{N+2}=0. \end{aligned}$$

We treat the upper Hessenberg matrix Z as a block matrix with entries of sizes \(n^A_i\times \nu ^A_j,\;i,j=1,\dots ,N+2\), where

$$\begin{aligned} \nu ^A_1=\nu ^A_2=\nu ^A_3=0,\quad \nu ^A_4=\dots =\nu ^A_{N+3}=1. \end{aligned}$$
(6.45)

The matrix Z has the representation considered in Lemma 31.1 in [10] with the matrices \(T^A_k\; (k=1,\dots ,N+2)\) of sizes \(n^A_1\times (\nu ^A_1+r^*_1),\;(n^A_k+r^*_{k-1})\times (\nu ^A_k+r^*_k)\; (k=2,\dots ,N+1),\;(n^A_{N+2}+r^*_{N+1})\times \nu ^A_{N+2}\), where

$$\begin{aligned} r^*_1=0,\;r^*_2=1,\quad r^*_k=2,\;k=3,\dots ,N+1,\quad r^*_{N+2}. \end{aligned}$$

Now we apply the structured multiplication algorithm for quasiseparable representations stated in Corollary 31.2 in [10] in order to determine diagonal entries \({\tilde{d}}_A(k)\;(k=3,\dots ,N+2)\) and quasiseparable generators \({\tilde{q}}(j)\;(j=3,\dots ,N+1);\;{\tilde{g}}_A(i)\;(i=3,\dots ,N+2)\) of the matrix \(A_1=Q^*AZ\) as well as auxiliary variables \({\beta }_k^A,f_k^A,\phi _k^A, \varphi _k^A\). The matrix \(A_1\) is obtained as a block one with entries of sizes \(\tau ^A_i\times \nu ^A_j,\;i,j=1,\dots ,N+3\).

For the variables \({\beta }_k={\beta }^A_k,f_k=f^A_k,\phi _k=\phi ^A_k\) used in Corollary 31.2 we use the partitions

$$\begin{aligned} \begin{aligned} {\beta }^A_k&=\left[ \begin{array}{cc}f^A_k&\phi ^A_k\end{array}\right] ,\; \phi ^A_k=\left[ \begin{array}{cc}\varphi ^A_k&-\chi _k\end{array}\right] ,\;k=2,\dots ,N-1, \end{aligned} \end{aligned}$$
(6.46)

with the matrices \(f^A_k,\varphi ^A_k,\chi _k\) of sizes \(2\times 2,2\times r^V_k, 2\times 1\). For \(k=1,\dots ,N-2\) combining Corollary 31.2 with (6.42), (6.43), (6.36) and (6.38),(6.39) we get

$$\begin{aligned} \begin{aligned}&\left( \begin{array}{cc}{\tilde{d}}_A(k+3)&{}{\tilde{g}}_A(k+3)\\ {\tilde{q}}(k+3)&{}\beta ^A_{k+3}\end{array}\right) \\&\quad =Q_{k+1}^* \left( \begin{array}{ccc}f^A_{k+2}&{}\phi ^A_{k+2}h_A(k+2)&{}\phi ^A_{k+2}b_A(k+2)\\ 0&{}\sigma ^A_{k+2}&{}g_A(k+3)\end{array}\right) \left( \begin{array}{cc}Z_k&{}0\\ 0&{}I_{r^A_{k+3}}\end{array}\right) ,\\&k=1,\dots ,N-3,\\&\left( \begin{array}{cc}{\tilde{d}}_A(N+1)&{}{\tilde{g}}_A(N+1)\\ {\tilde{q}}(N+1)&{}\beta ^A_{N+1}\end{array}\right) = Q_{N-1}^*\left( \begin{array}{cc}f^A_N&\phi ^A_Nh_A(N)\end{array}\right) Z_{N-2}. \end{aligned} \end{aligned}$$
(6.47)

Using (6.46) and (6.39) we get

$$\begin{aligned} \phi ^A_{k+2}h_A(k+2)=\epsilon ^A_{k+2},\quad k=1,\dots ,N-2 \end{aligned}$$
(6.48)

and

$$\begin{aligned} \phi ^A_{k+2}b_A(k+2)= \left[ \begin{array}{cc}\varphi ^A_{k+2}b_V(k+2)&-\chi _{k+2}\end{array}\right] , \quad k=1,\dots ,N-3 \end{aligned}$$
(6.49)

with \(\epsilon ^A_{k+2}\) as in (4.14).

Inserting (6.48), (6.49) in (6.47) and using (6.46), (6.38) we obtain

$$\begin{aligned} \begin{aligned}&\left( \begin{array}{cccc}{\tilde{d}}_A(k+3)&{}\times &{}\times &{}\times \\ {\tilde{q}}(k+3)&{}f^A_{k+3}&{}\varphi ^A_{k+3}&{}-\chi _{k+3}\end{array}\right) \\&\quad =Q_{k+1}^*\left( \begin{array}{cccc}f^A_{k+2}&{}\epsilon ^A_{k+2} &{}\varphi ^A_{k+2}b_V(k+2)&{}-\chi _{k+2}\\ 0&{}\sigma ^A_{k+2}&{}g_V(k+3)&{}-z(k+3)\end{array}\right)&\left( \begin{array}{cc}Z_k&{}0\\ 0&{}I_{r^A_{k+3}}\end{array}\right) ,\\&k=1,\dots ,N-3. \end{aligned} \end{aligned}$$
(6.50)

From (6.50) using (4.15) we obtain the relations

$$\begin{aligned} \left( \begin{array}{c}{\tilde{d}}_A(k+3)\\ {\tilde{q}}(k+3)\end{array}\right) = Q_{k+1}^*\left( \begin{array}{c}\Omega _k(1,1)\\ \Omega _k(2,1)\end{array}\right) \end{aligned}$$
(6.51)

and

$$\begin{aligned} \begin{aligned}&\left( \begin{array}{ccc}\times &{}\times &{}\times \\ f^A_{k+3}&{}\varphi ^A_{k+3}&{}-\chi _{k+3}\end{array}\right) \\&\quad =Q_{k+1}^*\left( \begin{array}{ccc}\Omega _k(1:2,2:3)&{}\varphi ^A_{k+2} &{}-\chi _{k+2}\\ \Omega _k(3,2:3)&{}g_V(k+3)&{}-z(k+3)\end{array}\right) ,\quad k=1,\dots ,N-4. \end{aligned} \end{aligned}$$
(6.52)

From (6.51) using (4.16) we have

$$\begin{aligned} {\tilde{d}}_A(k+3)=(\sigma ^A_k)^{(1)},\;k=1,\dots ,N-2 \end{aligned}$$
(6.53)

and

$$\begin{aligned} {\tilde{q}}(k+3)=0,\;k=1,\dots ,N-2. \end{aligned}$$
(6.54)

The formulas (6.44) and (6.45) mean that \((\sigma ^A_k){(1)},\;k=1,\dots ,N-2\) are subdiagonal entries of the matrix \(A_1\) (treated as an usual scalar matrix). The equalities (6.54) imply that \(A_1\) is an upper Hessenberg matrix.

Next we apply the structured multiplication algorithm stated in Lemma 31.1 in [10] to compute (block) upper quasiseparable generators \({\tilde{g}}_V(i)\;(i=1,\dots ,N+2),\;{\tilde{h}}_V(j)\;(j=2,\dots ,N+3), \;{\tilde{b}}_V(k)\;(k=2,\dots ,N+2)\) with orders

$$\begin{aligned} {\tilde{r}}^V_1=r^V_1,\;{\tilde{r}}^V_2=r^V_2+1,\quad {\tilde{r}}^V_k=r^V_k+2,\;k=3,\dots ,N,\;{\tilde{r}}^V_{N+1}=2,\;{\tilde{r}}^V_{N+1}=1 \end{aligned}$$

and diagonal entries \({\tilde{d}}_{V_1}(k)\;(k=1,\dots ,N+3)\) of the matrix \(V_1=Q^*VZ\). The matrix \(V_1\) is obtained as a block one with entries of sizes \(\tau ^A_i\times \nu ^A_j,\;i,j=1,\dots ,N+3\), where the numbers \(\tau ^a_i,\nu ^A_j\) are defined in (6.44), (6.45).

Using Lemma 31.1 and (6.42), (6.43) we obtain that

$$\begin{aligned} \begin{aligned}&\left( \begin{array}{cc}{\tilde{d}}_V(k)&{}{\tilde{g}}_V(k)\\ \times &{}{\Gamma }_k\end{array}\right) \\&\quad =\left( \begin{array}{cc}Q_{k-2}^*&{}0\\ 0&{}1\end{array}\right) \left( \begin{array}{ccc}f^V_{k-1}&{}\quad \phi ^V_{k-1}h_V(k-1)&{}\quad \phi ^V_{k-1}b_V(k-1)\\ z(k){\alpha }_{k-1}&{}\quad \sigma ^V_{k-1}&{}\quad g_V(k)\\ {\alpha }_{k-1}&{}\quad w^*(k-1)&{}\quad 0\end{array}\right) \left( \begin{array}{cc}Z_{k-2}&{}0\\ 0&{}I_{r^V_k}\end{array}\right) ,\\&{\Gamma }_k=\left[ \begin{array}{cc}f^V_k&{}\phi ^V_k\\ {\alpha }_k&{}0\end{array}\right] ,\quad k=4,\dots ,N, \end{aligned} \end{aligned}$$
(6.55)

together with the relation (4.26).

From (6.55) we find that the auxiliary matrices \({\alpha }_k\;(k=3,\dots ,N)\) satisfy the relations

$$\begin{aligned} {\alpha }_3=\left( \begin{array}{cc}w(1)&w(2)\end{array}\right) ,\quad \left( \begin{array}{cc}\times&{\alpha }_k\end{array}\right) = \left( \begin{array}{cc}{\alpha }_{k-1}&w(k-1)\end{array}\right) Z_{k-3},\;k=4,\dots ,N. \end{aligned}$$

Comparing this with (4.4), (4.21) we get

$$\begin{aligned} {\alpha }_k={\gamma }_{k-1}^*,\quad k=3,\dots ,N. \end{aligned}$$
(6.56)

Thus using (6.56) and (6.55) we obtain (4.24), (4.25).

Next we show that the auxiliary variables \(f^A_k,\varphi ^A_k\;(k=3,\dots ,N)\) may be determined via relations (4.5), (4.28). Take \(\gamma _2\) as in (4.4) and assume that for some k with \(1\le k\le N-2\) the relations

$$\begin{aligned} f^A_{k+2}=f^V_{k+2}-\chi _{k+2}\gamma _{k+1}^*,\quad \varphi ^A_{k+2}=\phi _{k+2}^V \end{aligned}$$
(6.57)

hold. By (4.15) and (6.52) we have

$$\begin{aligned} \begin{aligned}&\left( \begin{array}{ccc}{\tilde{d}}_A(k+3)&{}\times &{}\times \\ 0&{}f^A_{k+3}&{}\varphi ^A_{k+3}\end{array}\right) \\&\quad =Q_{k+1}^*\left( \begin{array}{ccc}f^A_{k+2}&{}\quad \epsilon ^A_{k+2}&{}\quad \phi ^V_{k+2}b_V(k+2)\\ 0&{}\quad \sigma ^A_{k+2}&{}\quad g_V(k+3)\end{array}\right) \left( \begin{array}{cc}Z_k&{}0\\ 0&{}I_{r^V_{k+3}}\end{array}\right) . \end{aligned} \end{aligned}$$
(6.58)

Using (4.23) and (4.14) we get

$$\begin{aligned} \begin{aligned}&\left( \begin{array}{cc}f^A_{k+2}&{}\epsilon _{k+2}\\ 0&{}\sigma ^A_{k+2}\end{array}\right) \\&\quad =\left( \begin{array}{lll}f^V_{k+2}-\chi _{k+2}\gamma _{k+1}^*&{}\quad \phi ^V_{k+2}h_V(k+2)-\chi _{k+2}w(k+2)\\ z(k+3)\gamma ^*_{k+1}-z(k+3)\gamma ^*_{k+1} &{}\quad \sigma ^V_{k+2}-z(k+3)w(k+2)\end{array}\right) . \end{aligned} \end{aligned}$$
(6.59)

Thus combining (6.58) and (6.59) together and using (4.24), (4.25) and (4.27) we obtain (4.28). \(\square \)

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Boito, P., Eidelman, Y. & Gemignani, L. A real QZ algorithm for structured companion pencils. Calcolo 54, 1305–1338 (2017). https://doi.org/10.1007/s10092-017-0231-6

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10092-017-0231-6

Keywords

Mathematics Subject Classification

Navigation