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
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
In this chapter, the norm of a vector is \(\Vert \cdot \Vert _2\), as defined on p. 211.
- 2.
See Section 4.2.3, p. 120.
- 3.
See Theorem 3.4, p. 83.
- 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.
We get the reference eigenvalues in all examples using the command eig(A) in MATLAB\(^\circledR \). These eigenvalues are computed to high precision.
- 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.
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.
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.
The machine epsilon \(\varepsilon \) represents the upper bound on the relative error due to rounding in floating-point arithmetic.
- 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.
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.
John G.F. Francis (born 1934) is an English computer scientist.
- 13.
James Hardy Wilkinson (1919–1986) was an English mathematician.
- 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.
Karl Adolf Hessenberg (1904–1959) was a German mathematician.
- 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.
See p. 161.
- 18.
See Section 5.1.1, p. 163.
- 19.
See p. 160.
- 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.
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
Corresponding author
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.
A \(=\) randn(5) and tolerance \(\varTheta = \{1e-5,1e-4,1e-3,1e-2,0.1 \}\).
-
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.
$$\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.
$$\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.
A \(=\) randn(5) and the tolerance is \(\varTheta = \{1e-7,1e-5,1e-4,1e-3,1e-2,0.1 \}\).
-
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.
$$\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.
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
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
DOI: https://doi.org/10.1007/978-3-319-57304-5_10
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-57302-1
Online ISBN: 978-3-319-57304-5
eBook Packages: Mathematics and StatisticsMathematics and Statistics (R0)