Page 147 - Numerical methods for chemical engineering
P. 147

The QR method for computing all eigenvalues                         133



                  below the principal one. These lower nonzero elements can be removed, and convergence
                  accelerated for the case of complex eigenvalues, by using double-shift QR iterations.Ifat
                  iteration k, there appears to be a 2 × 2 diagonal submatrix R jj with approximate eigenvalues
                   [k]    [k]
                         ¯
                  λ  and λ , we perform the two-step iteration
                   j      j
                                                               [k]
                                               Q [k]  R [k]  = A [k]  − λ I
                                                               j
                                                               [k]
                                                      [k]
                                             A [k+1]  = A Q [k]  + λ I
                                                               j                    (3.169)
                                                               [k]
                                         Q [k+1]  R [k+1]  = A [k+1]  − λ I
                                                               j
                                                               [k]
                                         A [k+2]  = R [k+1] Q [k+1]  + λ I
                                                               j
                  and then resume single-shift iterations. For discussion of more complex, and efficient,
                  shifting strategies and algorithms for special classes of matrices (e.g. Hermitian), consult
                  Quateroni et al. (2000) and Stoer & Bulirsch (1993).
                  Example. QR method for a real 4 × 4 matrix
                  We now demonstrate the QR method for the real, anti-symmetric matrix
                                                 4   0   −1   1
                                                               
                                                 0   4    2  −1
                                                               
                                          A =                                     (3.170)
                                                1  −2    4   1  
                                                −1   1   −1   4
                  that has the complex eigenvalues
                                    λ 1,2 = 4 ± 2.8059i  λ 3,4 = 4 ± 0.3564i        (3.171)

                  and is generated (along with a working copy) by
                  A = [40-11;042-1;1-241;-11-14];N= size(A,1);
                     A w=A;
                  A single-shift QR iteration is performed by
                  mu=A w(N,N); [Q,R] = qr(A w - mu*eye(N));
                  A w = R*Q +mu*eye(N);
                                                    [k]
                  We have the following first few values of A ,
                           4.0  −1.0  −2.5  −0.3        4.0  −2.7  −0.8   0.0
                                                                           
                           1.0  4.0   0.6   −0.3        2.7   4.0   0.1   0.1
                                                                           
                                                                           
                           2.5  −0.6  4.0   −0.0        0.9  −0.1   4.0  −0.3
                                                 →                           →
                           0.3  0.3   0.0   4.0        −0.0  −0.1   0.3   4.0
                                    A [1]                        A [2]
                                                       4.0  −2.8 −0.1   −0.0
                                                                           
                                                       2.8  4.0    0.0  −0.0
                                                                           
                                                                           
                                                       0.1  −0.0  4.0   0.4       (3.172)
                                                       0.0  0.0   −0.4   4.0
                                                                A [3]
   142   143   144   145   146   147   148   149   150   151   152