fbpx
Wikipedia

Divide-and-conquer eigenvalue algorithm

Divide-and-conquer eigenvalue algorithms are a class of eigenvalue algorithms for Hermitian or real symmetric matrices that have recently (circa 1990s) become competitive in terms of stability and efficiency with more traditional algorithms such as the QR algorithm. The basic concept behind these algorithms is the divide-and-conquer approach from computer science. An eigenvalue problem is divided into two problems of roughly half the size, each of these are solved recursively, and the eigenvalues of the original problem are computed from the results of these smaller problems.

This article covers the basic idea of the algorithm as originally proposed by Cuppen in 1981, which is not numerically stable without additional refinements.

Background edit

As with most eigenvalue algorithms for Hermitian matrices, divide-and-conquer begins with a reduction to tridiagonal form. For an   matrix, the standard method for this, via Householder reflections, takes   floating point operations, or   if eigenvectors are needed as well. There are other algorithms, such as the Arnoldi iteration, which may do better for certain classes of matrices; we will not consider this further here.

In certain cases, it is possible to deflate an eigenvalue problem into smaller problems. Consider a block diagonal matrix

 

The eigenvalues and eigenvectors of   are simply those of   and  , and it will almost always be faster to solve these two smaller problems than to solve the original problem all at once. This technique can be used to improve the efficiency of many eigenvalue algorithms, but it has special significance to divide-and-conquer.

For the rest of this article, we will assume the input to the divide-and-conquer algorithm is an   real symmetric tridiagonal matrix  . The algorithm can be modified for Hermitian matrices.

Divide edit

The divide part of the divide-and-conquer algorithm comes from the realization that a tridiagonal matrix is "almost" block diagonal.

 

The size of submatrix   we will call  , and then   is  .   is almost block diagonal regardless of how   is chosen. For efficiency we typically choose  .

We write   as a block diagonal matrix, plus a rank-1 correction:

 

The only difference between   and   is that the lower right entry   in   has been replaced with   and similarly, in   the top left entry   has been replaced with  .

The remainder of the divide step is to solve for the eigenvalues (and if desired the eigenvectors) of   and  , that is to find the diagonalizations   and  . This can be accomplished with recursive calls to the divide-and-conquer algorithm, although practical implementations often switch to the QR algorithm for small enough submatrices.

Conquer edit

The conquer part of the algorithm is the unintuitive part. Given the diagonalizations of the submatrices, calculated above, how do we find the diagonalization of the original matrix?

First, define  , where   is the last row of   and   is the first row of  . It is now elementary to show that

 

The remaining task has been reduced to finding the eigenvalues of a diagonal matrix plus a rank-one correction. Before showing how to do this, let us simplify the notation. We are looking for the eigenvalues of the matrix  , where   is diagonal with distinct entries and   is any vector with nonzero entries.

The case of a zero entry is simple, since if wi is zero, ( ,di) is an eigenpair (  is in the standard basis) of   since  .

If   is an eigenvalue, we have:

 

where   is the corresponding eigenvector. Now

 
 
 

Keep in mind that   is a nonzero scalar. Neither   nor   are zero. If   were to be zero,   would be an eigenvector of   by  . If that were the case,   would contain only one nonzero position since   is distinct diagonal and thus the inner product   can not be zero after all. Therefore, we have:

 

or written as a scalar equation,

 

This equation is known as the secular equation. The problem has therefore been reduced to finding the roots of the rational function defined by the left-hand side of this equation.

All general eigenvalue algorithms must be iterative,[citation needed] and the divide-and-conquer algorithm is no different. Solving the nonlinear[disambiguation needed] secular equation requires an iterative technique, such as the Newton–Raphson method. However, each root can be found in O(1) iterations, each of which requires   flops (for an  -degree rational function), making the cost of the iterative part of this algorithm  .

Analysis edit

W will use the master theorem for divide-and-conquer recurrences to analyze the running time. Remember that above we stated we choose  . We can write the recurrence relation:

 

In the notation of the Master theorem,   and thus  . Clearly,  , so we have

 

Above, we pointed out that reducing a Hermitian matrix to tridiagonal form takes   flops. This dwarfs the running time of the divide-and-conquer part, and at this point it is not clear what advantage the divide-and-conquer algorithm offers over the QR algorithm (which also takes   flops for tridiagonal matrices).

The advantage of divide-and-conquer comes when eigenvectors are needed as well. If this is the case, reduction to tridiagonal form takes  , but the second part of the algorithm takes   as well. For the QR algorithm with a reasonable target precision, this is  , whereas for divide-and-conquer it is  . The reason for this improvement is that in divide-and-conquer, the   part of the algorithm (multiplying   matrices) is separate from the iteration, whereas in QR, this must occur in every iterative step. Adding the   flops for the reduction, the total improvement is from   to   flops.

Practical use of the divide-and-conquer algorithm has shown that in most realistic eigenvalue problems, the algorithm actually does better than this. The reason is that very often the matrices   and the vectors   tend to be numerically sparse, meaning that they have many entries with values smaller than the floating point precision, allowing for numerical deflation, i.e. breaking the problem into uncoupled subproblems.

Variants and implementation edit

The algorithm presented here is the simplest version. In many practical implementations, more complicated rank-1 corrections are used to guarantee stability; some variants even use rank-2 corrections.[citation needed]

There exist specialized root-finding techniques for rational functions that may do better than the Newton-Raphson method in terms of both performance and stability. These can be used to improve the iterative part of the divide-and-conquer algorithm.

The divide-and-conquer algorithm is readily parallelized, and linear algebra computing packages such as LAPACK contain high-quality parallel implementations.[citation needed]

References edit

  • Demmel, James W. (1997), Applied Numerical Linear Algebra, Philadelphia, PA: Society for Industrial and Applied Mathematics, ISBN 0-89871-389-7, MR 1463942.
  • Cuppen, J.J.M. (1981). "A Divide and Conquer Method for the Symmetric Tridiagonal Eigenproblem". Numerische Mathematik. 36 (2): 177–195. doi:10.1007/BF01396757. S2CID 120504744.

divide, conquer, eigenvalue, algorithm, this, article, multiple, issues, please, help, improve, discuss, these, issues, talk, page, learn, when, remove, these, template, messages, this, article, includes, list, references, related, reading, external, links, so. This article has multiple issues Please help improve it or discuss these issues on the talk page Learn how and when to remove these template messages This article includes a list of references related reading or external links but its sources remain unclear because it lacks inline citations Please help improve this article by introducing more precise citations May 2024 Learn how and when to remove this message This article needs additional citations for verification Please help improve this article by adding citations to reliable sources Unsourced material may be challenged and removed Find sources Divide and conquer eigenvalue algorithm news newspapers books scholar JSTOR May 2024 Learn how and when to remove this message Learn how and when to remove this message Divide and conquer eigenvalue algorithms are a class of eigenvalue algorithms for Hermitian or real symmetric matrices that have recently circa 1990s become competitive in terms of stability and efficiency with more traditional algorithms such as the QR algorithm The basic concept behind these algorithms is the divide and conquer approach from computer science An eigenvalue problem is divided into two problems of roughly half the size each of these are solved recursively and the eigenvalues of the original problem are computed from the results of these smaller problems This article covers the basic idea of the algorithm as originally proposed by Cuppen in 1981 which is not numerically stable without additional refinements Contents 1 Background 2 Divide 3 Conquer 4 Analysis 5 Variants and implementation 6 ReferencesBackground editAs with most eigenvalue algorithms for Hermitian matrices divide and conquer begins with a reduction to tridiagonal form For an m m displaystyle m times m nbsp matrix the standard method for this via Householder reflections takes 4 3 m 3 displaystyle frac 4 3 m 3 nbsp floating point operations or 8 3 m 3 displaystyle frac 8 3 m 3 nbsp if eigenvectors are needed as well There are other algorithms such as the Arnoldi iteration which may do better for certain classes of matrices we will not consider this further here In certain cases it is possible to deflate an eigenvalue problem into smaller problems Consider a block diagonal matrix T T 1 0 0 T 2 displaystyle T begin bmatrix T 1 amp 0 0 amp T 2 end bmatrix nbsp The eigenvalues and eigenvectors of T displaystyle T nbsp are simply those of T 1 displaystyle T 1 nbsp and T 2 displaystyle T 2 nbsp and it will almost always be faster to solve these two smaller problems than to solve the original problem all at once This technique can be used to improve the efficiency of many eigenvalue algorithms but it has special significance to divide and conquer For the rest of this article we will assume the input to the divide and conquer algorithm is an m m displaystyle m times m nbsp real symmetric tridiagonal matrix T displaystyle T nbsp The algorithm can be modified for Hermitian matrices Divide editThe divide part of the divide and conquer algorithm comes from the realization that a tridiagonal matrix is almost block diagonal nbsp The size of submatrix T 1 displaystyle T 1 nbsp we will call n n displaystyle n times n nbsp and then T 2 displaystyle T 2 nbsp is m n m n displaystyle m n times m n nbsp T displaystyle T nbsp is almost block diagonal regardless of how n displaystyle n nbsp is chosen For efficiency we typically choose n m 2 displaystyle n approx m 2 nbsp We write T displaystyle T nbsp as a block diagonal matrix plus a rank 1 correction nbsp The only difference between T 1 displaystyle T 1 nbsp and T 1 displaystyle hat T 1 nbsp is that the lower right entry t n n displaystyle t nn nbsp in T 1 displaystyle hat T 1 nbsp has been replaced with t n n b displaystyle t nn beta nbsp and similarly in T 2 displaystyle hat T 2 nbsp the top left entry t n 1 n 1 displaystyle t n 1 n 1 nbsp has been replaced with t n 1 n 1 b displaystyle t n 1 n 1 beta nbsp The remainder of the divide step is to solve for the eigenvalues and if desired the eigenvectors of T 1 displaystyle hat T 1 nbsp and T 2 displaystyle hat T 2 nbsp that is to find the diagonalizations T 1 Q 1 D 1 Q 1 T displaystyle hat T 1 Q 1 D 1 Q 1 T nbsp and T 2 Q 2 D 2 Q 2 T displaystyle hat T 2 Q 2 D 2 Q 2 T nbsp This can be accomplished with recursive calls to the divide and conquer algorithm although practical implementations often switch to the QR algorithm for small enough submatrices Conquer editThe conquer part of the algorithm is the unintuitive part Given the diagonalizations of the submatrices calculated above how do we find the diagonalization of the original matrix First define z T q 1 T q 2 T displaystyle z T q 1 T q 2 T nbsp where q 1 T displaystyle q 1 T nbsp is the last row of Q 1 displaystyle Q 1 nbsp and q 2 T displaystyle q 2 T nbsp is the first row of Q 2 displaystyle Q 2 nbsp It is now elementary to show that T Q 1 Q 2 D 1 D 2 b z z T Q 1 T Q 2 T displaystyle T begin bmatrix Q 1 amp amp Q 2 end bmatrix left begin bmatrix D 1 amp amp D 2 end bmatrix beta zz T right begin bmatrix Q 1 T amp amp Q 2 T end bmatrix nbsp The remaining task has been reduced to finding the eigenvalues of a diagonal matrix plus a rank one correction Before showing how to do this let us simplify the notation We are looking for the eigenvalues of the matrix D w w T displaystyle D ww T nbsp where D displaystyle D nbsp is diagonal with distinct entries and w displaystyle w nbsp is any vector with nonzero entries The case of a zero entry is simple since if wi is zero e i displaystyle e i nbsp di is an eigenpair e i displaystyle e i nbsp is in the standard basis of D w w T displaystyle D ww T nbsp since D w w T e i D e i d i e i displaystyle D ww T e i De i d i e i nbsp If l displaystyle lambda nbsp is an eigenvalue we have D w w T q l q displaystyle D ww T q lambda q nbsp where q displaystyle q nbsp is the corresponding eigenvector Now D l I q w w T q 0 displaystyle D lambda I q w w T q 0 nbsp q D l I 1 w w T q 0 displaystyle q D lambda I 1 w w T q 0 nbsp w T q w T D l I 1 w w T q 0 displaystyle w T q w T D lambda I 1 w w T q 0 nbsp Keep in mind that w T q displaystyle w T q nbsp is a nonzero scalar Neither w displaystyle w nbsp nor q displaystyle q nbsp are zero If w T q displaystyle w T q nbsp were to be zero q displaystyle q nbsp would be an eigenvector of D displaystyle D nbsp by D w w T q l q displaystyle D ww T q lambda q nbsp If that were the case q displaystyle q nbsp would contain only one nonzero position since D displaystyle D nbsp is distinct diagonal and thus the inner product w T q displaystyle w T q nbsp can not be zero after all Therefore we have 1 w T D l I 1 w 0 displaystyle 1 w T D lambda I 1 w 0 nbsp or written as a scalar equation 1 j 1 m w j 2 d j l 0 displaystyle 1 sum j 1 m frac w j 2 d j lambda 0 nbsp This equation is known as the secular equation The problem has therefore been reduced to finding the roots of the rational function defined by the left hand side of this equation All general eigenvalue algorithms must be iterative citation needed and the divide and conquer algorithm is no different Solving the nonlinear disambiguation needed secular equation requires an iterative technique such as the Newton Raphson method However each root can be found in O 1 iterations each of which requires 8 m displaystyle Theta m nbsp flops for an m displaystyle m nbsp degree rational function making the cost of the iterative part of this algorithm 8 m 2 displaystyle Theta m 2 nbsp Analysis editW will use the master theorem for divide and conquer recurrences to analyze the running time Remember that above we stated we choose n m 2 displaystyle n approx m 2 nbsp We can write the recurrence relation T m 2 T m 2 8 m 2 displaystyle T m 2 times T left frac m 2 right Theta m 2 nbsp In the notation of the Master theorem a b 2 displaystyle a b 2 nbsp and thus log b a 1 displaystyle log b a 1 nbsp Clearly 8 m 2 W m 1 displaystyle Theta m 2 Omega m 1 nbsp so we have T m 8 m 2 displaystyle T m Theta m 2 nbsp Above we pointed out that reducing a Hermitian matrix to tridiagonal form takes 4 3 m 3 displaystyle frac 4 3 m 3 nbsp flops This dwarfs the running time of the divide and conquer part and at this point it is not clear what advantage the divide and conquer algorithm offers over the QR algorithm which also takes 8 m 2 displaystyle Theta m 2 nbsp flops for tridiagonal matrices The advantage of divide and conquer comes when eigenvectors are needed as well If this is the case reduction to tridiagonal form takes 8 3 m 3 displaystyle frac 8 3 m 3 nbsp but the second part of the algorithm takes 8 m 3 displaystyle Theta m 3 nbsp as well For the QR algorithm with a reasonable target precision this is 6 m 3 displaystyle approx 6m 3 nbsp whereas for divide and conquer it is 4 3 m 3 displaystyle approx frac 4 3 m 3 nbsp The reason for this improvement is that in divide and conquer the 8 m 3 displaystyle Theta m 3 nbsp part of the algorithm multiplying Q displaystyle Q nbsp matrices is separate from the iteration whereas in QR this must occur in every iterative step Adding the 8 3 m 3 displaystyle frac 8 3 m 3 nbsp flops for the reduction the total improvement is from 9 m 3 displaystyle approx 9m 3 nbsp to 4 m 3 displaystyle approx 4m 3 nbsp flops Practical use of the divide and conquer algorithm has shown that in most realistic eigenvalue problems the algorithm actually does better than this The reason is that very often the matrices Q displaystyle Q nbsp and the vectors z displaystyle z nbsp tend to be numerically sparse meaning that they have many entries with values smaller than the floating point precision allowing for numerical deflation i e breaking the problem into uncoupled subproblems Variants and implementation editThe algorithm presented here is the simplest version In many practical implementations more complicated rank 1 corrections are used to guarantee stability some variants even use rank 2 corrections citation needed There exist specialized root finding techniques for rational functions that may do better than the Newton Raphson method in terms of both performance and stability These can be used to improve the iterative part of the divide and conquer algorithm The divide and conquer algorithm is readily parallelized and linear algebra computing packages such as LAPACK contain high quality parallel implementations citation needed References editDemmel James W 1997 Applied Numerical Linear Algebra Philadelphia PA Society for Industrial and Applied Mathematics ISBN 0 89871 389 7 MR 1463942 Cuppen J J M 1981 A Divide and Conquer Method for the Symmetric Tridiagonal Eigenproblem Numerische Mathematik 36 2 177 195 doi 10 1007 BF01396757 S2CID 120504744 Retrieved from https en wikipedia org w index php title Divide and conquer eigenvalue algorithm amp oldid 1223672267, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.