Skip to main content

Algorithms for the Nonsymmetric Eigenvalue Problem

  • Chapter
  • First Online:
Numerical Linear Algebra: Theory and Applications

Abstract

In this chapter, we will present the main algorithms for solving the nonsymmetric eigenvalue problem using direct methods. Direct methods are usually applied to dense matrices, and iterative methods such as the Rayleigh–Ritz method and Lanczos’s algorithm are applied to sparse matrices. Iterative methods usually can compute not all of the eigenvalues and eigenvectors, but only some subset, and their convergence depends on the structure of the matrix.

The original version of this chapter was revised. An Erratum to this book can be found at https://doi.org/10.1007/978-3-319-57304-5_10

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 49.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 64.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 99.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    In this chapter, the norm of a vector is \(\Vert \cdot \Vert _2\), as defined on p. 211.

  2. 2.

    See Section 4.2.3, p. 120.

  3. 3.

    See Theorem 3.4, p. 83.

  4. 4.

    All MATLAB\(^\circledR \) programs referenced on this page can be found on the online version of Chapter 1 (https://doi.org/10.1007/978-3-319-57304-5_1).

  5. 5.

    We get the reference eigenvalues in all examples using the command eig(A) in MATLAB\(^\circledR \). These eigenvalues are computed to high precision.

  6. 6.

    All MATLAB\(^\circledR \) programs referenced on this page can be found on the online version of Chapter 1 (https://doi.org/10.1007/978-3-319-57304-5_1).

  7. 7.

    All MATLAB\(^\circledR \) programs referenced on this page can be found on the online version of Chapter 1 (https://doi.org/10.1007/978-3-319-57304-5_1).

  8. 8.

    The MATLAB\(^\circledR \) programs can be found on the online version of Chapter 1 (https://doi.org/10.1007/978-3-319-57304-5_1).

  9. 9.

    The machine epsilon \(\varepsilon \) represents the upper bound on the relative error due to rounding in floating-point arithmetic.

  10. 10.

    The MATLAB\(^\circledR \) programs can be found on the online version of Chapter 1 (https://doi.org/10.1007/978-3-319-57304-5_1).

  11. 11.

    The MATLAB\(^\circledR \) programs can be found on the online version of Chapter 1 (https://doi.org/10.1007/978-3-319-57304-5_1).

  12. 12.

    John G.F. Francis (born 1934) is an English computer scientist.

  13. 13.

    James Hardy Wilkinson (1919–1986) was an English mathematician.

  14. 14.

    The MATLAB\(^\circledR \) programs can be found on the online version of Chapter 1 (https://doi.org/10.1007/978-3-319-57304-5_1).

  15. 15.

    Karl Adolf Hessenberg (1904–1959) was a German mathematician.

  16. 16.

    The MATLAB\(^\circledR \) programs can be found on the online version of Chapter 1 (https://doi.org/10.1007/978-3-319-57304-5_1).

  17. 17.

    See p. 161.

  18. 18.

    See Section 5.1.1, p. 163.

  19. 19.

    See p. 160.

  20. 20.

    All MATLAB\(^\circledR \) programs referenced on this page can be found on the online version of Chapter 1 (https://doi.org/10.1007/978-3-319-57304-5_1).

  21. 21.

    All MATLAB\(^\circledR \) programs referenced on this page can be found on the online version of Chapter 1 (https://doi.org/10.1007/978-3-319-57304-5_1).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Larisa Beilina .

Questions

Questions

Do the following exercises, explaining the results that you have obtained.

10.1

(Programming)

Use the MATLAB\(^\circledR \) program PowerM.m of Section 1.9 to test the power method and to compute the largest eigenvalue of the matrix A.Footnote 20 Try the following examples when the matrix A and the tolerance \(\varTheta \) in Algorithm 10.1, p. 345, are defined as follows:

  1. 1.

    A \(=\) randn(5) and tolerance \(\varTheta = \{1e-5,1e-4,1e-3,1e-2,0.1 \}\).

  2. 2.

    \(A =\text {diag}(\text {ones}(2n, 1)) + \text {diag}(\text {ones}(2n-1,1), 1) + \text {diag}(\text {ones}(2n-1,1),-1)\) for each number \(n=3,4,5\) and tolerance \(\varTheta {=} \{1e{-}12,1e-10, 1e-8, 1e-7\)}.

  3. 3.
    $$\begin{aligned} A = \left( \begin{array}{cccc} 1 &{} 1e6 &{} 0 &{} 0 \\ 0 &{} 2 &{} 1 &{} 0 \\ 1 &{} 2 &{} 3 &{} 10 \\ 0 &{} 0 &{} -1 &{} 4 \end{array}\right) \end{aligned}$$
    (10.14)

    and tolerance \(\varTheta = \{ 1e-12,1e-10, 1e-8\}\).

  4. 4.
    $$\begin{aligned} A = \left( \begin{array}{cccccc} 1 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 \\ 0 &{} 2 &{} 1 &{} 0 &{} 0 &{} 0\\ 0 &{} 0 &{} 2 &{} 0 &{} 0 &{} 0 \\ 0 &{} 0 &{} 0 &{} 3 &{} 1e2 &{} 1e4 \\ 0 &{} 0 &{} 0 &{} 0 &{} 3 &{} 1e2 \\ 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 3 \end{array}\right) \end{aligned}$$
    (10.15)

    and tolerance \(\varTheta = \{1e-10,1e-8, 1e-6, 1e-4, 1e-3 \}\).

10.2

(Programming)

Use the MATLAB\(^\circledR \) program InverseIteration.m of Section 1.10 to test the inverse iteration method for the computation of the eigenvalue of the matrix A that is closest to the shift \(\sigma \). Try all examples of matrix A and tolerance \(\varTheta \) as in Question 10.1. Choose also different shifts \(\sigma \). For a stopping criterion using tolerance \(\varTheta \), we refer to Algorithm 10.2, p. 348.

10.3

(Programming)

Use the MATLAB\(^\circledR \) program MethodOrtIter.m of Section 1.11 to test the method of orthogonal iteration for the computation of the eigenvalues of the matrix A.Footnote 21 Try all examples of matrix A and tolerance \(\varTheta \) defined in Question 10.1. For a stopping criterion using tolerance \(\varTheta \), we refer to Algorithm 10.3, p. 351.

10.4

(Programming)

Use the MATLAB\(^\circledR \) program MethodQR_iter.m of Section 1.12 to test the method of QR iteration for the computation of the eigenvalues of the matrix A. Try all examples of matrix A and tolerance \(\varTheta \) defined in Question 10.1. For a stopping criterion using tolerance \(\varTheta \), we refer to Algorithm 10.4, p. 355.

10.5

(Programming)

Use the MATLAB\(^\circledR \) program MethodQR_shift.m of Section 1.13 to test the method of QR iteration with the shift \(\sigma =A(n, n)\) for the computation of the eigenvalues of the matrix A. Try all examples of matrix A and tolerance \(\varTheta \) defined in Question 10.1. For a stopping criterion using tolerance \(\varTheta \), we refer to Algorithm 10.5, p. 356.

10.6

(Programming)

Use the MATLAB\(^\circledR \) program MethodQR_Wshift.m of Section 1.14 to test the method of QR iteration with Wilkinson’s shift for the computation of the eigenvalues of the matrix A. Try all examples of matrix A and tolerance \(\varTheta \) defined in Question 10.1. For a stopping criterion using tolerance \(\varTheta \), we refer to Algorithm 10.5, p. 356.

10.7

(Programming)

Use the MATLAB\(^\circledR \) program HessenbergQR.m of Section 1.15 to test the reduction of the matrix A to an upper Hessenberg matrix. Try the following examples when the matrix A and the tolerance \(\varTheta \) are defined thus:

  1. 1.

    A \(=\) randn(5) and the tolerance is \(\varTheta = \{1e-7,1e-5,1e-4,1e-3,1e-2,0.1 \}\).

  2. 2.

    \(A =\text {diag}(\text {ones}(2n, 1)) + \text {diag}(\text {ones}(2n-1,1), 1) + \text {diag}(\text {ones}(2n-1,1),-1)\) for each number \(n=3,4,5\) and tolerance \(\varTheta = \{1e-12,1e-10, 1e-8, 1e-7 \}\).

  3. 3.
    $$\begin{aligned} A = \left( \begin{array}{cccc} 1 &{} 1e6 &{} 0 &{} 0 \\ 0 &{} 2 &{} 1e-3 &{} 0\\ 0 &{} 0 &{} 3 &{} 10 \\ 0 &{} 0 &{} -1 &{} 4 \end{array}\right) \end{aligned}$$
    (10.16)

    and tolerance \(\varTheta = \{ 1e-12,1e-10, 1e-8\}\).

  4. 4.

    Each tolerance from the set \(\varTheta = \{1e-10,1e-8, 1e-6, 1e-4, 1e-3 \}\) and the matrix \(A=(1,0,0,0,0,0;0,2,1,0,0,0;0,0,2,0,0,0;0,0,0,1e4,1,1;0,0,0,0,1e2,1; 0,0,0,0,0,1e4) + \text {diag}(\text {ones}(5,1),-1)\).

Rights and permissions

Reprints and permissions

Copyright information

© 2017 Springer International Publishing AG

About this chapter

Cite this chapter

Beilina, L., Karchevskii, E., Karchevskii, M. (2017). Algorithms for the Nonsymmetric Eigenvalue Problem. In: Numerical Linear Algebra: Theory and Applications. Springer, Cham. https://doi.org/10.1007/978-3-319-57304-5_10

Download citation

Publish with us

Policies and ethics