446 lines
29 KiB
Markdown
446 lines
29 KiB
Markdown
<!-- source-page: 951 -->
|
|
|
|
For k = 3:
|
|
|
|
$$
|
|
\mathbf {R} _ {3} = \left[ \begin{array}{c c c c} 1 2. 2 8 & - 3. 7 6 1 & 0. 2 7 8 5 & - 0. 0 0 0 5 \\ 0 & 7. 2 0 2 & - 1. 1 7 3 & 0. 0 0 4 4 \\ 0 & 0 & 1. 9 3 8 & - 0. 0 1 8 2 \\ 0 & 0 & 0 & 0. 1 4 5 9 \end{array} \right]
|
|
$$
|
|
|
|
$$
|
|
\mathbf {Q} _ {1} \mathbf {Q} _ {2} \mathbf {Q} _ {3} = \left[ \begin{array}{c c c c} 0. 5 0 1 1 & 0. 5 3 0 2 & 0. 5 7 4 3 & 0. 3 7 1 3 \\ - 0. 6 6 8 2 & - 0. 2 0 7 6 & 0. 3 8 6 0 & 0. 6 0 1 2 \\ 0. 5 0 0 0 & - 0. 5 1 5 7 & - 0. 3 4 9 2 & 0. 6 0 1 8 \\ - 0. 2 2 9 0 & 0. 6 4 0 1 & - 0. 6 3 1 9 & 0. 3 7 2 2 \end{array} \right]
|
|
$$
|
|
|
|
$$
|
|
\mathbf {K} _ {4} = \mathbf {R} _ {3} \mathbf {Q} _ {3} = \left[ \begin{array}{c c c c} 1 2. 7 7 & - 1. 3 7 5 & 0. 0 1 3 5 & 0 \\ - 1. 3 7 5 & 7. 1 6 2 & - 0. 2 4 8 1 & 0 \\ 0. 0 1 3 5 & - 0. 2 4 8 1 & 1. 9 2 2 & - 0. 0 0 1 3 \\ 0 & 0 & - 0. 0 0 1 3 & 0. 1 4 5 9 \end{array} \right]
|
|
$$
|
|
|
|
And after nine iterations, we have
|
|
|
|
$$
|
|
\mathbf {R} _ {9} = \left[ \begin{array}{c c c c} 1 3. 0 9 & - 0. 0 8 6 9 & 0 & 0 \\ 0 & 6. 8 5 4 & - 0. 0 0 0 5 & 0 \\ 0 & 0 & 1. 9 1 0 & 0 \\ 0 & 0 & 0 & 0. 1 4 5 9 \end{array} \right]
|
|
$$
|
|
|
|
$$
|
|
\mathbf {Q} _ {1} \mathbf {Q} _ {2} \mathbf {Q} _ {3} \mathbf {Q} _ {4} \mathbf {Q} _ {5} \mathbf {Q} _ {6} \mathbf {Q} _ {7} \mathbf {Q} _ {8} \mathbf {Q} _ {9} = \left[ \begin{array}{c c c c} 0. 3 7 4 6 & 0. 5 9 9 7 & 0. 6 0 1 5 & 0. 3 7 1 7 \\ - 0. 6 0 3 3 & - 0. 3 6 8 9 & 0. 3 7 1 8 & 0. 6 0 1 5 \\ 0. 5 9 9 7 & - 0. 3 7 4 6 & - 0. 3 7 1 7 & 0. 6 0 1 5 \\ - 0. 3 6 8 9 & 0. 6 0 3 3 & - 0. 6 0 1 5 & 0. 3 7 1 8 \end{array} \right]
|
|
$$
|
|
|
|
$$
|
|
\mathbf {K} _ {1 0} = \left[ \begin{array}{c c c c} 1 3. 0 9 & - 0. 0 2 9 8 & 0 & 0 \\ - 0. 0 2 9 8 & 6. 8 5 4 2 & - 0. 0 0 0 1 & 0 \\ 0 & - 0. 0 0 0 1 & 1. 9 1 0 & 0 \\ 0 & 0 & 0 & 0. 1 4 5 9 \end{array} \right]
|
|
$$
|
|
|
|
Thus we have, after nine steps of QR iteration,
|
|
|
|
$$
|
|
\lambda_ {1} \doteq 0. 1 4 5 9; \quad \phi_ {1} \doteq \left[ \begin{array}{l} 0. 3 7 1 7 \\ 0. 6 0 1 5 \\ 0. 6 0 1 5 \\ 0. 3 7 1 8 \end{array} \right]
|
|
$$
|
|
|
|
$$
|
|
\lambda_ {2} \doteq 1. 9 1 0; \quad \phi_ {2} \doteq \left[ \begin{array}{l} 0. 6 0 1 5 \\ 0. 3 7 1 8 \\ - 0. 3 7 1 7 \\ - 0. 6 0 1 5 \end{array} \right]
|
|
$$
|
|
|
|
$$
|
|
\lambda_ {3} \doteq 6. 8 5 4; \quad \Phi_ {3} \doteq \left[ \begin{array}{l} 0. 5 9 9 7 \\ - 0. 3 6 8 9 \\ - 0. 3 7 4 6 \\ 0. 6 0 3 3 \end{array} \right]
|
|
$$
|
|
|
|
<!-- source-page: 952 -->
|
|
|
|
$$
|
|
\lambda_ {4} \doteq 1 3. 0 9; \quad \phi_ {4} \doteq \left[ \begin{array}{c} 0. 3 7 4 6 \\ - 0. 6 0 3 3 \\ 0. 5 9 9 7 \\ - 0. 3 6 8 9 \end{array} \right]
|
|
$$
|
|
|
|
These results can be compared with the results obtained using the Jacobi method in Example 11.9. It is interesting to note that in the above solution, $\lambda_{1}$ and $\phi_{1}$ converged first and indeed were well predicted after only three QR iterations. This is a consequence of the fact that QR iteration is closely related to inverse iteration (see Example 11.16), in which the lowest eigenvalues and corresponding vectors converge first.
|
|
|
|
Although the QR iteration may look similar to the Jacobi solution procedure, the method is, in fact, completely different. This may be observed by studying the convergence characteristics of the QR solution procedure because it is then found that the QR method is intimately related to inverse iteration. In Example 11.16 we compare QR and inverse iteration, where it is assumed that the matrix K is nonsingular. As we may recall, this assumption is necessary for inverse iteration and can always be satisfied by using a shift (see Section 10.2.3).
|
|
|
|
EXAMPLE 11.16: Show the theoretical relationship between QR and inverse iteration. In the QR method, we obtain after $l$ steps of iteration,
|
|
|
|
$$
|
|
\mathbf {K} _ {l + 1} = \mathbf {Q} _ {l} ^ {T} \mathbf {Q} _ {l - 1} ^ {T} \dots \mathbf {Q} _ {1} ^ {T} \mathbf {K} _ {1} \mathbf {Q} _ {1} \dots \mathbf {Q} _ {l - 1} \mathbf {Q} _ {l}
|
|
$$
|
|
|
|
or $\mathbf{K}_{l + 1} = \mathbf{P}_l^T\mathbf{K}_1\mathbf{P}_l;\quad \mathbf{P}_l = \mathbf{Q}_1\ldots \mathbf{Q}_l$
|
|
|
|
Let us define $\mathbf{S}_l = \mathbf{R}_l\ldots \mathbf{R}_l$
|
|
|
|
Then we have $\mathbf{P}_l\mathbf{S}_l = \mathbf{P}_{l - 1}\mathbf{Q}_l\mathbf{R}_l\mathbf{S}_{l - 1}$
|
|
|
|
$$
|
|
= \mathbf {P} _ {i - 1} \mathbf {K} _ {i} \mathbf {S} _ {i - 1}
|
|
$$
|
|
|
|
If we note that $\mathbf{K}_1\mathbf{P}_{l - 1} = \mathbf{P}_{l - 1}\mathbf{K}_l$
|
|
|
|
we get $\mathbf{P}_i\mathbf{S}_i = \mathbf{K}_1\mathbf{P}_{i - 1}\mathbf{S}_{i - 1}$
|
|
|
|
In an analogous manner we obtain $P_{l-1}S_{l-1} = K_{1}P_{l-2}S_{l-2}$ , and so on, and thus conclude that
|
|
|
|
$$
|
|
\mathbf {P} _ {l} \mathbf {S} _ {l} = \mathbf {K} ^ {l} \tag {a}
|
|
$$
|
|
|
|
Assuming that $\mathbf{K}$ is nonsingular, we have from (a),
|
|
|
|
$$
|
|
\mathbf {P} _ {l} = \mathbf {K} ^ {- l} \mathbf {S} _ {l} ^ {T}
|
|
$$
|
|
|
|
or equating columns on both sides,
|
|
|
|
$$
|
|
\mathbf {P} _ {i} \mathbf {E} = \mathbf {K} ^ {- i} \mathbf {S} _ {i} ^ {T} \mathbf {E} \tag {b}
|
|
$$
|
|
|
|
where $\mathbf{E}$ consists of the last $p$ columns of $\mathbf{I}$ .
|
|
|
|
Consider now inverse iteration on p vectors. This iteration process can be written
|
|
|
|
$$
|
|
\mathbf {K X} _ {k} = \mathbf {X} _ {k - 1} \mathbf {L} _ {k}; \quad k = 1, 2, \dots
|
|
$$
|
|
|
|
where $L_{k}$ is a lower triangular matrix chosen so that $X_{k}^{T}X_{k}=I$ . The matrix $L_{k}$ can be determined using the Gram-Schmidt process on the iteration vectors. Hence, after l steps we have
|
|
|
|
$$
|
|
\mathbf {X} _ {l} = \mathbf {K} ^ {- l} \mathbf {X} _ {0} \overline {{{\mathbf {L}}}} _ {l}; \quad \overline {{{\mathbf {L}}}} _ {l} = \mathbf {L} _ {1} \dots \mathbf {L} _ {l} \tag {c}
|
|
$$
|
|
|
|
<!-- source-page: 953 -->
|
|
|
|
On the other hand, the relation in (b) can be written
|
|
|
|
$$
|
|
\mathbf {P} _ {l} \mathbf {E} = \mathbf {K} ^ {- l} \mathbf {E} \overline {{{\mathbf {S}}}} _ {l} \tag {d}
|
|
$$
|
|
|
|
where $\bar{S}_{l}$ consists of the last p columns and rows of $S_{l}^{T}$ . Using $X_{l}^{T}X_{l}=I$ and $(\mathbf{P}_{l}\mathbf{E})^{T}(\mathbf{P}_{l}\mathbf{E})=\mathbf{I}$ , we obtain from (c) and (d), respectively,
|
|
|
|
$$
|
|
\overline {{{\mathbf {L}}}} _ {i} ^ {- T} \overline {{{\mathbf {L}}}} _ {i} ^ {- 1} = \mathbf {X} _ {0} ^ {T} \mathbf {K} ^ {- 2 i} \mathbf {X} _ {0} \tag {e}
|
|
$$
|
|
|
|
and $\overline{\mathbf{S}}_l^{-T}\overline{\mathbf{S}}_l^{-1} = \mathbf{E}^T\mathbf{K}^{-2l}\mathbf{E}$ (f)
|
|
|
|
The equations in (e) and (f) can now be used to show the relationship between inverse iteration and the QR solution procedure. Namely, if we choose $X_{0} = E$ , we find from (e) and (f) that $\overline{L}_{l} = \overline{S}_{l}$ because these matrices are the Cholesky factors of the same positive definite matrix. However, referring then to (c) and (d), we can conclude that the inverse iteration yields vectors $X_{l}$ which are the last p columns in $P_{l}$ of the QR solution.
|
|
|
|
The relationship between the QR solution method and simple inverse iteration suggests that an acceleration of convergence in the QR iteration described in (11.110) and (11.111) should be possible. This is indeed the case and, in practice, QR iteration is used with shifting; i.e., instead of (11.110) and (11.111), the following decompositions are employed:
|
|
|
|
$$
|
|
\mathbf {K} _ {k} - \mu_ {k} \mathbf {I} = \mathbf {Q} _ {k} \mathbf {R} _ {k} \tag {11.112}
|
|
$$
|
|
|
|
$$
|
|
\mathbf {K} _ {k + 1} = \mathbf {R} _ {k} \mathbf {Q} _ {k} + \mu_ {k} \mathbf {I} \tag {11.113}
|
|
$$
|
|
|
|
where then, as before,
|
|
|
|
$$
|
|
\mathbf {K} _ {k + 1} \rightarrow \Lambda \quad \text { and } \quad \mathbf {Q} _ {1} \dots \mathbf {Q} _ {k - 1} \mathbf {Q} _ {k} \rightarrow \Phi \quad \text { as } k \rightarrow \infty
|
|
$$
|
|
|
|
However, if $\mu_{k}$ is element $(n, n)$ of $\mathbf{K}_k$ , the QR iteration corresponds to Rayleigh quotient iteration, ultimately giving cubic convergence.
|
|
|
|
As pointed out earlier, in practice the QR iteration should be applied after reduction of K to tridiagonal form using Householder transformation matrices; i.e., the QR solution should be applied to the matrix $K_{n-1}$ in (11.95), which we now call $T_{1}$ . When the matrix is tridiagonal, the QR process is very effective; i.e., by experience about $9n^{2}$ operations are required for solution of all eigenvalues. It is also not necessary to formally go through the procedure discussed above and demonstrated in Example 11.15; instead, we may use explicit formulas that relate the elements in $T_{k+1}$ to the elements of $T_{k}, k = 1, 2, \ldots$ (see J. H. Wilkinson [A])
|
|
|
|
Calculation of eigenvectors. The eigenvalues are generally calculated to full machine precision because convergence is very rapid in the QR iteration with shifting. Once the eigenvalues have been evaluated very accurately, we calculate only the required eigenvectors of the tridiagonal matrix $T_{1}$ by simple inverse iteration with shifts equal to the corresponding eigenvalues. Two steps of inverse iteration starting with a full unit vector are usually sufficient. The eigenvectors of $T_{1}$ then need to be transformed with the Householder transformations used to obtain the eigenvectors of K; i.e., denoting the ith eigenvector of $T_{1}$ by $\psi_{i}$ , we have, using the transformation matrices $P_{k}$ in (11.95),
|
|
|
|
$$
|
|
\boldsymbol {\phi} _ {i} = \mathbf {P} _ {1} \mathbf {P} _ {2} \dots \mathbf {P} _ {n - 2} \boldsymbol {\psi} _ {i} \tag {11.114}
|
|
$$
|
|
|
|
With the three basic steps of the HQRI solution method described above, Table 11.2 summarizes the complete procedure and presents the high-speed storage needed and the
|
|
|
|
<!-- source-page: 954 -->
|
|
|
|
TABLE 11.2 Summary of Householder-QR-inverse iteration solution
|
|
|
|
<table><tr><td>Operation</td><td>Calculation</td><td>Number of operations</td><td>Required storage</td></tr><tr><td>Householder transformation</td><td> $\mathbf{K}_{k+1} = \mathbf{P}_{k}^{T} \mathbf{K}_{k} \mathbf{P}_{k};$ $k = 1, 2, \ldots, n - 2; \mathbf{K}_{1} = \mathbf{K}$ </td><td> $\frac{2}{3} n^{3} + \frac{3}{2} n^{2}$ </td><td></td></tr><tr><td>QR iterations</td><td> $\mathbf{T}_{k+1} = \mathbf{Q}_{k}^{T} \mathbf{T}_{k} \mathbf{Q}_{k}; k = 1, 2, \ldots$ $\mathbf{T}_{1} = \mathbf{K}_{n-1}$ </td><td> $9n^{2}$ </td><td>Using symmetry of matrix</td></tr><tr><td>Calculation of $p$ eigenvectors</td><td> $(\mathbf{K}_{n-1} - \lambda_{i} \mathbf{I}) \mathbf{x}_{i}^{(k+1)} = \mathbf{x}_{i}^{(k)};$ $k = 1, 2; i = 1, 2, \ldots, p$ </td><td> $10pn$ </td><td> $\frac{n}{2}(n + 1) + 6n$ </td></tr><tr><td>Transformation of eigenvectors</td><td> $\phi_{i} = \mathbf{P}_{1} \ldots \mathbf{P}_{n-2} \mathbf{x}_{i}^{(3)};$ $i = 1, 2, \ldots, p$ </td><td> $pn(n - 1)$ </td><td></td></tr><tr><td>Total for all eigenvalues and $p$ eigenvectors</td><td></td><td> $\frac{2}{3} n^{3} + \frac{21}{2} n^{2} + pn^{2} + 9pn$ </td><td></td></tr></table>
|
|
|
|
number of operations required. It is noted that the greater part of the total number of operations is used for the Householder transformations in (11.95) and, if many eigenvectors need to be calculated, for the eigenvector transformations in (11.114). Therefore, it is seen that the calculation of the eigenvalues of $T_{1}$ is not very expensive, but the preparation of K in a form that can be used effectively for the iteration process requires most of the numerical effort.
|
|
|
|
It should be noted that Table 11.2 does not include the operations required for transforming a generalized eigenproblem into a standard form. If this transformation is carried out, the eigenvectors calculated in Table 11.2 must also be transformed to the eigenvectors of the generalized eigenproblem as discussed in Section 10.2.5.
|
|
|
|
# 11.3.4 Exercises
|
|
|
|
11.5. Use the Jacobi method to calculate the eigenvalues and eigenvectors of the problems
|
|
|
|
$$
|
|
\begin{array}{l} \left[ \begin{array}{c c} 1 & - 1 \\ - 1 & 1 \end{array} \right] \boldsymbol {\phi} = \lambda \left[ \begin{array}{c c} 1 & 0 \\ 0 & 1 \end{array} \right] \boldsymbol {\phi} \\ \text { and } \quad \left[ \begin{array}{c c} 2 & - 1 \\ - 1 & 1 \end{array} \right] \boldsymbol {\phi} = \lambda \left[ \begin{array}{c c} 1 & 0 \\ 0 & 2 \end{array} \right] \boldsymbol {\phi} \end{array}
|
|
$$
|
|
|
|
11.6. Use the Jacobi method to calculate the eigenvalues and eigenvectors of the eigenproblem in Exercise 10.3.
|
|
11.7. Derive in detail the values for $\alpha$ and $\gamma$ given in (11.89).
|
|
11.8. Perform the QR iteration on the eigenvalue problem
|
|
|
|
$$
|
|
\left[ \begin{array}{c c} 2 & - 1 \\ - 1 & 1 \end{array} \right] \boldsymbol {\Phi} = \lambda \left[ \begin{array}{c c} 1 & 0 \\ 0 & 2 \end{array} \right] \boldsymbol {\Phi}
|
|
$$
|
|
|
|
Note: Here you need to first transform the eigenproblem into a standard form.
|
|
|
|
<!-- source-page: 955 -->
|
|
|
|
# 11.4 POLYNOMIAL ITERATIONS AND STURM SEQUENCE TECHNIQUES
|
|
|
|
The close relationship between the calculation of the zeros of a polynomial and the evaluation of eigenvalues has been discussed in Section 10.2.2. Namely, defining the characteristic polynomial $p(\lambda)$ , where
|
|
|
|
$$
|
|
p (\lambda) = \det (\mathbf {K} - \lambda \mathbf {M}) \tag {11.6}
|
|
$$
|
|
|
|
the zeros of $p(\lambda)$ are the eigenvalues of the eigenproblem $K\phi = \lambda M\phi$ . To calculate the eigenvalues, we therefore may operate on $p(\lambda)$ to extract the zeros of the polynomial, and basically there are two strategies—explicit and implicit evaluation procedures—both of which may use the same basic iteration schemes.
|
|
|
|
In the discussion of the polynomial iteration schemes, we assume that the solution is carried out directly using K and M of the finite element assemblage, i.e., without transforming the problem into a different form. For example, if M is the identity matrix, we could transform K first into tridiagonal form as is done in the HQRI solution (see Section 11.3.3). In case $M \neq I$ , we would need to transform the generalized eigenproblem into a standard form (see Section 10.2.5) before the Householder reduction to a tridiagonal matrix could be performed. Whichever problem we finally consider in the iterative solution of the required eigenvalues, the solution strategy would not be changed. However, if only a few eigenvalues are to be calculated, the direct solution using K and M is nearly always most effective.
|
|
|
|
In conjunction with a polynomial iteration method, it is natural and can be effective to use the Sturm sequence property discussed in Section 10.2.2. We show in this section how this property can be employed.
|
|
|
|
It should be noted that using a polynomial iteration or Sturm sequence method, only the eigenvalues are calculated. The corresponding eigenvectors can then be obtained effectively by using inverse iteration with shifting; i.e., each required eigenvector is obtained by inverse iteration at a shift equal to the corresponding eigenvalue.
|
|
|
|
These techniques—implicit polynomial iterations, Sturm sequence checks, and vector iterations—have been combined in a determinant search algorithm, efficient for small banded systems (see K. J. Bathe [A] and K. J. Bathe and E. L. Wilson [C]).
|
|
|
|
# 11.4.1 Explicit Polynomial Iteration
|
|
|
|
In the explicit polynomial iteration methods, the first step is to write $p(\lambda)$ in the form
|
|
|
|
$$
|
|
p (\lambda) = a _ {0} + a _ {1} \lambda + a _ {2} \lambda^ {2} + \dots + a _ {n} \lambda^ {n} \tag {11.115}
|
|
$$
|
|
|
|
and evaluate the polynomial coefficients $a_{0}, a_{1}, \ldots, a_{n}$ . The second step is to calculate the roots of the polynomial. We demonstrate the procedure by means of an example.
|
|
|
|
EXAMPLE 11.17: Establish the coefficients of the characteristic polynomial of the problem $K\phi = \lambda M\phi$ , where K and M are the matrices used in Example 11.4.
|
|
|
|
The problem is to evaluate the expression
|
|
|
|
$$
|
|
p (\lambda) = \det \left[ \begin{array}{c c c c} 5 - 2 \lambda & - 4 & 1 & 0 \\ - 4 & 6 - 2 \lambda & - 4 & 1 \\ 1 & - 4 & 6 - \lambda & - 4 \\ 0 & 1 & - 4 & 5 - \lambda \end{array} \right]
|
|
$$
|
|
|
|
<!-- source-page: 956 -->
|
|
|
|
Following the rules given in Section 2.2 for the evaluation of a determinant, we obtain
|
|
|
|
$$
|
|
\begin{array}{l} p (\lambda) = (5 - 2 \lambda) \det \left[ \begin{array}{c c c} 6 - 2 \lambda & - 4 & 1 \\ - 4 & 6 - \lambda & - 4 \\ 1 & - 4 & 5 - \lambda \end{array} \right] \\ + (4) \det \left[ \begin{array}{c c c} - 4 & - 4 & 1 \\ 1 & 6 - \lambda & - 4 \\ 0 & - 4 & 5 - \lambda \end{array} \right] + (1) \det \left[ \begin{array}{c c c} - 4 & 6 - 2 \lambda & 1 \\ 1 & - 4 & - 4 \\ 0 & 1 & 5 - \lambda \end{array} \right] \\ \end{array}
|
|
$$
|
|
|
|
$$
|
|
\begin{array}{l} + 4 [ - 4 (5 - \lambda) + 4 ] + 1 6 - (6 - \lambda) \} \\ + 4 \{- 4 [ (6 - \lambda) (5 - \lambda) - 1 6 ] + 4 (5 - \lambda) - 4 \} \\ + \{- 4 [ (- 4) (5 - \lambda) + 4 ] - (6 - 2 \lambda) (5 - \lambda) + 1 \} \\ \end{array}
|
|
$$
|
|
|
|
Hence, $p(\lambda) = (5 - 2\lambda)\{(6 - 2\lambda)[(6 - \lambda)(5 - \lambda) - 16]$
|
|
|
|
and the expression finally reduces to
|
|
|
|
$$
|
|
p (\lambda) = 4 \lambda^ {4} - 6 6 \lambda^ {3} + 2 7 6 \lambda^ {2} - 2 8 5 \lambda + 2 5
|
|
$$
|
|
|
|
In the general case when n is large, we cannot evaluate the polynomial coefficients as easily as in this example. The expansion of the determinant would require about n-factorial operations, which are far too many operations to make the method practical. However, other procedures have been developed; for example, the Newton identities may be used (see, for example, C. E. Fröberg [A]). Once the coefficients have been evaluated, it is necessary to employ a standard polynomial root finder, using, for example, a Newton iteration or secant iteration to evaluate the required eigenvalues.
|
|
|
|
Although the procedure seems most natural to use, one difficulty has caused the method to be almost completely abandoned for the solution of eigenvalue problems. A basic defect of the method is that small errors in the coefficients $a_{0}, \ldots, a_{n}$ cause large errors in the roots of the polynomial. But small errors are almost unavoidable, owing to round-off in the computer. Therefore, an explicit evaluation of the coefficients $a_{0}, \ldots, a_{n}$ from K and M with subsequent solution of the required eigenvalues is not effective in general analysis.
|
|
|
|
# 11.4.2 Implicit Polynomial Iteration
|
|
|
|
In an implicit polynomial iteration solution we evaluate the value of $p(\lambda)$ directly without calculating first the coefficients $a_{0}, \ldots, a_{n}$ in (11.115). The value of $p(\lambda)$ can be obtained effectively by decomposing K - $\lambda M$ into a lower-unit triangular matrix L and an upper triangular matrix S; i.e., we have
|
|
|
|
$$
|
|
\mathbf {K} - \lambda \mathbf {M} = \mathbf {L S} \tag {11.116}
|
|
$$
|
|
|
|
where then $\operatorname{det}(\mathbf{K} - \lambda \mathbf{M}) = \prod_{i=1}^{n} s_{ii}$ (11.117)
|
|
|
|
The decomposition of K - λM is obtained as discussed in Section 8.2, but, as pointed out in Section 8.2.5, may require interchanges when $\lambda > \lambda_{1}$ . When row and corresponding column interchanges are carried out, the coefficient matrix remains symmetric and, in effect, the degree of freedom numbering has then merely been rearranged. In other words, the stiffness and mass matrices of the finite element system actually used correspond to a different degree of freedom numbering than originally specified. On the other hand, if only
|
|
|
|
<!-- source-page: 957 -->
|
|
|
|
row interchanges are employed, a nonsymmetric coefficient matrix is obtained. However, in either case it is important to note that the required row and column interchanges could have been carried out prior to the Gauss elimination process to obtain an “effective” coefficient matrix K - λM that is considered in (11.116), and no more interchanges would then be needed. Each row or column interchange introduced merely effects a change in sign of the determinant. In practice, we do not know the actual row and column interchanges that will be required, but the realization that all interchanges could have been carried out prior to the factorization shows that we can always use the Gauss elimination procedure given in (8.10) to (8.14), provided that we admit that the “effective” initial coefficient matrix may be nonsymmetric. Consider the following example.
|
|
|
|
EXAMPLE 11.18: Use Gauss elimination to evaluate $p(\lambda) = \det(\mathbf{K} - \lambda\mathbf{M})$ , where
|
|
|
|
$$
|
|
\mathbf {K} = \left[ \begin{array}{c c c} 2 & - 1 & 0 \\ - 1 & 4 & - 1 \\ 0 & - 1 & 2 \end{array} \right]; \quad \mathbf {M} = \left[ \begin{array}{c c c} 1 & & \\ & 1 & \\ & & \frac {1}{2} \end{array} \right]; \quad \lambda = 2
|
|
$$
|
|
|
|
In this case we have
|
|
|
|
$$
|
|
\mathbf {K} - \lambda \mathbf {M} = \left[ \begin{array}{r r r} 0 & - 1 & 0 \\ - 1 & 2 & - 1 \\ 0 & - 1 & 1 \end{array} \right]
|
|
$$
|
|
|
|
Since the first diagonal element is zero, we need to use interchanges. Assume that we interchange the first and second rows (and not the corresponding columns); then we effectively factorize $\overline{K} - \lambda\overline{M}$ , where
|
|
|
|
$$
|
|
\overline {{\mathbf {K}}} = \left[ \begin{array}{r r r} - 1 & 4 & - 1 \\ 2 & - 1 & 0 \\ 0 & - 1 & 2 \end{array} \right]; \quad \overline {{\mathbf {M}}} = \left[ \begin{array}{r r r} 0 & 1 & 0 \\ 1 & 0 & 0 \\ 0 & 0 & \frac {1}{2} \end{array} \right]
|
|
$$
|
|
|
|
The factorization of $\overline{\mathbf{K}} - \lambda \overline{\mathbf{M}}$ is now obtained in the usual way (see Examples 10.4 and 10.5),
|
|
|
|
$$
|
|
\overline {{\mathbf {K}}} - \lambda \overline {{\mathbf {M}}} = \left[ \begin{array}{c c c} 1 & & \\ 0 & 1 & \\ 0 & 1 & 1 \end{array} \right] \left[ \begin{array}{c c c} - 1 & 2 & - 1 \\ & - 1 & 0 \\ & & 1 \end{array} \right]
|
|
$$
|
|
|
|
Hence, $\operatorname{det}(\overline{\mathbf{K}} - \lambda \overline{\mathbf{M}}) = (-1)(-1)(1) = 1$
|
|
|
|
and taking account of the fact that the row interchange has changed the sign of the determinant (see Section 2.2), we have
|
|
|
|
$$
|
|
\det (\mathbf {K} - \lambda \mathbf {M}) = - 1
|
|
$$
|
|
|
|
As pointed out above, if in the Gauss elimination no interchanges have been carried out or each row interchange was accompanied by a corresponding column interchange, the coefficient matrix $K - \lambda M$ in (11.116) is symmetric. In this case we have $S = DL^{T}$ , as in Section 8.2.2, and hence,
|
|
|
|
$$
|
|
\det (\mathbf {K} - \lambda \mathbf {M}) = \prod_ {i = 1} ^ {n} d _ {i i} \tag {11.118}
|
|
$$
|
|
|
|
In the determinant search solution method (see K. J. Bathe [A] and K. J. Bathe and E. L. Wilson [C]), we use a factorization only if it can be completed without interchanges and therefore always employ (11.118). In this case, one polynomial evaluation requires
|
|
|
|
<!-- source-page: 958 -->
|
|
|
|
about $\frac{1}{2} nm_{\mathbf{K}}^{2}$ operations, where $n$ is the order of $\mathbf{K}$ and $\mathbf{M}$ and $m_{\mathbf{K}}$ is the half-bandwidth of $\mathbf{K}$ .
|
|
|
|
With a method available for the evaluation of $p(\lambda)$ , we can now employ a number of iteration schemes to calculate a root of the polynomial. One commonly used simple technique is the secant method, in which a linear interpolation is employed; i.e., let $\mu_{k-1} < \mu_{k}$ , then we iterate using
|
|
|
|
$$
|
|
\mu_ {k + 1} = \mu_ {k} - \frac {p (\mu_ {k})}{p (\mu_ {k}) - p (\mu_ {k - 1})} (\mu_ {k} - \mu_ {k - 1}) \tag {11.119}
|
|
$$
|
|
|
|
where $\mu_{k}$ is the $k$ th iterate (see Fig. 11.3). We may note that the secant method in (11.119) is an approximation to the Newton iteration,
|
|
|
|
$$
|
|
\mu_ {k + 1} = \mu_ {k} - \frac {p (\mu_ {k})}{p ^ {\prime} (\mu_ {k})} \tag {11.120}
|
|
$$
|
|
|
|
where $p'(\mu_k)$ is approximated using
|
|
|
|
$$
|
|
p ^ {\prime} (\mu_ {k}) \doteq \frac {p (\mu_ {k}) - p (\mu_ {k - 1})}{\mu_ {k} - \mu_ {k - 1}} \tag {11.121}
|
|
$$
|
|
|
|
An actual scheme for accurately evaluating $p'(\mu_k)$ has been tested but was not found to be effective (see K. J. Bathe [A]).
|
|
|
|

|
|
|
|
<details>
|
|
<summary>line</summary>
|
|
| λ | p(λ) = det(K - λM) |
|
|
| ------- | ------------------ |
|
|
| μk-1 | High |
|
|
| μk | Medium |
|
|
| μk+1 | Low |
|
|
| λ2 | Medium |
|
|
| λ3 | Low |
|
|
</details>
|
|
|
|
Figure 11.3 Secant iteration for calculation of $\lambda_{1}$
|
|
|
|
Another technique commonly used in the solution of complex eigenvalue problems is Muller's method, in which case a quadratic interpolation is employed. A disadvantage of Muller's method in the solution of $K\phi = \lambda M\phi$ is that although the starting values $\mu_{k}$ , $\mu_{k-1}$ , and $\mu_{k-2}$ are real, the calculated value $\mu_{k+1}$ may be complex.
|
|
|
|
It should be noted that so far we have not discussed to which eigenvalue any one of the iteration strategies converges. This depends on the starting iteration values. Using $\mu_{k-1}$ and $\mu_{k}$ both smaller than $\lambda_{1}$ , the Newton and secant iterations converge montonically to $\lambda_{1}$ , as shown in Fig. 11.3, and the ultimate order of convergence is quadratic and linear, respectively. In effect, convergence is achieved in the iterations because $p''(\lambda) > 0$ for
|
|
|
|
<!-- source-page: 959 -->
|
|
|
|
$\lambda < \lambda_{1}$ , which is always the case for any order and bandwidth of K and M. However, convergence cannot be guaranteed for arbitrary starting values $\mu_{k-1}$ and $\mu_{k}$ .
|
|
|
|
In an actual solution scheme, it is effective to first calculate $\lambda_{1}$ and then repeat the algorithm on the characteristic polynomial deflated by $\lambda_{1}$ . This approach can be used to calculate the smallest eigenvalues in succession from $\lambda_{1}$ to the required value $\lambda_{p}$ (see K. J. Bathe [A], K. J. Bathe and E. L. Wilson [C], and Exercise 11.9).
|
|
|
|
Consider the following example of a secant iteration.
|
|
|
|
EXAMPLE 11.19: Use the secant iteration to calculate $\lambda_{1}$ in the eigenproblem $\mathbf{K}\phi = \lambda \mathbf{M}\phi$ , where
|
|
|
|
$$
|
|
\mathbf {K} = \left[ \begin{array}{r r r} 2 & - 1 & 0 \\ - 1 & 4 & - 1 \\ 0 & - 1 & 2 \end{array} \right]; \quad \mathbf {M} = \left[ \begin{array}{c c c} \frac {1}{2} & & \\ & 1 & \\ & & \frac {1}{2} \end{array} \right]
|
|
$$
|
|
|
|
For the secant iteration we need two starting values for $\mu_{1}$ and $\mu_{2}$ that are lower bounds to $\lambda_{1}$ . Let $\mu_{1} = -1$ and $\mu_{2} = 0$ . Then we have
|
|
|
|
$$
|
|
\begin{array}{l} p (- 1) = \det \left[ \begin{array}{c c c} \frac {5}{2} & - 1 & 0 \\ - 1 & 5 & - 1 \\ 0 & - 1 & \frac {5}{2} \end{array} \right] \\ = \det \left[ \begin{array}{c c c} 1 & & \\ - \frac {2}{5} & 1 & \\ 0 & - \frac {5}{2 3} & 1 \end{array} \right] \left[ \begin{array}{c c c} \frac {5}{2} & & \\ & \frac {2 3}{5} & \\ & & \frac {1 0 5}{4 6} \end{array} \right] \left[ \begin{array}{c c c} 1 & - \frac {2}{5} & 0 \\ & 1 & - \frac {5}{2 3} \\ & & 1 \end{array} \right] \\ \end{array}
|
|
$$
|
|
|
|
Hence, $p(-1) = (\frac{5}{2})(\frac{23}{5})(\frac{105}{46}) = 26.25$
|
|
|
|
Similarly, $p(0) = \det \left[ \begin{array}{rrr}2 & -1 & 0\\ -1 & 4 & -1\\ 0 & -1 & 2 \end{array} \right] = 12$
|
|
|
|
Now using (11.119), we obtain as the next shift,
|
|
|
|
$$
|
|
\mu_ {3} = 0 - \frac {1 2}{1 2 - 2 6 . 2 5} [ 0 - (- 1) ]
|
|
$$
|
|
|
|
Hence, $\mu_{3} = 0.8421$
|
|
|
|
Continuing in the same way, we obtain
|
|
|
|
$$
|
|
p (0. 8 4 2 1) = 4. 7 1 5 0
|
|
$$
|
|
|
|
$$
|
|
\mu_ {4} = 1. 3 8 7 1
|
|
$$
|
|
|
|
$$
|
|
p (1. 3 8 7 1) = 1. 8 4 6 7
|
|
$$
|
|
|
|
$$
|
|
\mu_ {5} = 1. 7 3 8 0
|
|
$$
|
|
|
|
$$
|
|
p (1. 7 3 8 0) = 0. 6 3 1 3 6
|
|
$$
|
|
|
|
$$
|
|
\mu_ {6} = 1. 9 2 0 3
|
|
$$
|
|
|
|
$$
|
|
p (1. 9 2 0 3) = 0. 1 6 8 9 9
|
|
$$
|
|
|
|
$$
|
|
\mu_ {7} = 1. 9 8 7 0
|
|
$$
|
|
|
|
<!-- source-page: 960 -->
|
|
|
|
$$
|
|
p (1. 9 8 7 0) = 0. 0 2 6 3 4 7
|
|
$$
|
|
|
|
$$
|
|
\mu_ {8} = 1. 9 9 9 3
|
|
$$
|
|
|
|
Hence, after six iterations we have as an approximation to $\lambda_{1}, \lambda_{1} \doteq 1.9993$ .
|
|
|
|
# 11.4.3 Iteration Based on the Sturm Sequence Property
|
|
|
|
In Section 10.2.2 we discussed the Sturm sequence property of the characteristic polynomials of the problem $K\phi = \lambda M\phi$ and of its associated constraint problems. The main result was the following. Assume that for a shift $\mu_{k}$ , the Gauss factorization of $K - \mu_{k}M$ into $LDL^{T}$ can be obtained. Then the number of negative elements in D is equal to the number of eigenvalues smaller than $\mu_{k}$ . This result can be used directly to construct an algorithm for the calculation of eigenvalues and corresponding eigenvectors. As in the discussion of the polynomial iteration methods, we assume in the following that the solution is performed directly using K and M, although the same strategies could be used after the generalized eigenproblem has been transformed into a different form. Also, as in Section 11.4.2, the solution method to be presented solves only for the eigenvalues, and the corresponding eigenvectors would be calculated using inverse iteration with shifting (see Section 11.2.3).
|
|
|
|
Consider that we want to solve for all eigenvalues between $\lambda_{l}$ and $\lambda_{u}$ , where $\lambda_{l}$ and $\lambda_{u}$ are the lower and upper limits, respectively. For example, we may have a case such as depicted in Fig. 11.4 or $\lambda_{l}$ may be zero, in which case we would need to solve for all eigenvalues up to the value $\lambda_{u}$ . The basis of the solution procedure is the triangular factorization of $K - \mu_{k}M$ , where $\mu_{k}$ is selected in such way as to obtain from the positive or negative signs of the diagonal elements in the factorization meaningful information about the unknown and required eigenvalues. The following solution procedure, known as the bisection method, may be used (refer to Fig. 11.4 for a typical example):
|
|
|
|
1. Factorize $\mathbf{K} - \lambda_{l}\mathbf{M}$ and hence find how many eigenvalues, say $q_{l}$ , are smaller than $\lambda_{l}$ .
|
|
2. Apply the Sturm sequence check at K - $\lambda_{u}M$ and hence find how many eigenvalues, say $q_{u}$ , are smaller than $\lambda_{u}$ . There are thus $q_{u} - q_{l}$ eigenvalues between $\lambda_{u}$ and $\lambda_{l}$ .
|
|
|
|

|
|
|
|
<details>
|
|
<summary>line</summary>
|
|
| λ | p(λ) = det (K - λM) |
|
|
|-------|---------------------|
|
|
| λ_I | ~0.5 |
|
|
| BS2 | ~0.2 |
|
|
| BS3 | ~0.1 |
|
|
| BS1 | ~0.3 |
|
|
| BS5 | ~0.4 |
|
|
| BS6 | ~0.2 |
|
|
| BS7 | ~0.1 |
|
|
| λ_u | ~0.3 |
|
|
</details>
|
|
|
|
Figure 11.4 Use of Sturm sequence property to isolate eigenvalues
|