Divide-and-conquer eigenvalue algorithms are a class of
eigenvalue algorithm
In numerical analysis, one of the most important problems is designing efficient and Numerical stability, stable algorithms for finding the eigenvalues of a Matrix (mathematics), matrix. These eigenvalue algorithms may also find eigenvectors.
Eig ...
s for
Hermitian {{Short description, none
Numerous things are named after the French mathematician Charles Hermite (1822–1901):
Hermite
* Cubic Hermite spline, a type of third-degree spline
* Gauss–Hermite quadrature, an extension of Gaussian quadrature m ...
or
real
Real may refer to:
Currencies
* Brazilian real (R$)
* Central American Republic real
* Mexican real
* Portuguese real
* Spanish real
* Spanish colonial real
Music Albums
* ''Real'' (L'Arc-en-Ciel album) (2000)
* ''Real'' (Bright album) (201 ...
symmetric matrices
In linear algebra, a symmetric matrix is a square matrix that is equal to its transpose. Formally,
Because equal matrices have equal dimensions, only square matrices can be symmetric.
The entries of a symmetric matrix are symmetric with r ...
that have recently (circa 1990s) become competitive in terms of
stability
Stability may refer to:
Mathematics
* Stability theory, the study of the stability of solutions to differential equations and dynamical systems
** Asymptotic stability
** Linear stability
** Lyapunov stability
** Orbital stability
** Structural st ...
and
efficiency with more traditional algorithms such as the
QR algorithm
In numerical linear algebra, the QR algorithm or QR iteration is an eigenvalue algorithm: that is, a procedure to calculate the eigenvalues and eigenvectors of a matrix. The QR algorithm was developed in the late 1950s by John G. F. Francis and b ...
. The basic concept behind these algorithms is the
divide-and-conquer approach from
computer science
Computer science is the study of computation, automation, and information. Computer science spans theoretical disciplines (such as algorithms, theory of computation, information theory, and automation) to practical disciplines (includin ...
. An
eigenvalue
In linear algebra, an eigenvector () or characteristic vector of a linear transformation is a nonzero vector that changes at most by a scalar factor when that linear transformation is applied to it. The corresponding eigenvalue, often denot ...
problem is divided into two problems of roughly half the size, each of these are solved
recursively
Recursion (adjective: ''recursive'') occurs when a thing is defined in terms of itself or of its type. Recursion is used in a variety of disciplines ranging from linguistics to logic. The most common application of recursion is in mathematic ...
, and the eigenvalues of the original problem are computed from the results of these smaller problems.
Here we present the simplest version of a divide-and-conquer algorithm, similar to the one originally proposed by Cuppen in 1981. Many details that lie outside the scope of this article will be omitted; however, without considering these details, the algorithm is not fully stable.
Background
As with most eigenvalue algorithms for Hermitian matrices, divide-and-conquer begins with a reduction to
tridiagonal
In linear algebra, a tridiagonal matrix is a band matrix that has nonzero elements only on the main diagonal, the subdiagonal/lower diagonal (the first diagonal below this), and the supradiagonal/upper diagonal (the first diagonal above the main ...
form. For an
matrix, the standard method for this, via
Householder reflection
In linear algebra, a Householder transformation (also known as a Householder reflection or elementary reflector) is a linear transformation that describes a reflection (mathematics), reflection about a plane (mathematics), plane or hyperplane conta ...
s, takes
floating point operations, or
if
eigenvector
In linear algebra, an eigenvector () or characteristic vector of a linear transformation is a nonzero vector that changes at most by a scalar factor when that linear transformation is applied to it. The corresponding eigenvalue, often denote ...
s are needed as well. There are other algorithms, such as the
Arnoldi iteration In numerical linear algebra, the Arnoldi iteration is an eigenvalue algorithm and an important example of an iterative method. Arnoldi finds an approximation to the eigenvalues and eigenvectors of general (possibly non-Hermitian) matrices by con ...
, 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
In mathematics, a block matrix or a partitioned matrix is a matrix that is '' interpreted'' as having been broken into sections called blocks or submatrices. Intuitively, a matrix interpreted as a block matrix can be visualized as the original ma ...
:
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
. Although the algorithm can be modified for Hermitian matrices, we do not give the details here.
Divide
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
. Note that the remark about
being almost block diagonal is true regardless of how
is chosen (i.e., there are many ways to so decompose the matrix). However, it makes sense, from an efficiency standpoint, to 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
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 w
i is zero, (
,d
i) 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
In mathematics, a rational function is any function that can be defined by a rational fraction, which is an algebraic fraction such that both the numerator and the denominator are polynomials. The coefficients of the polynomials need not be ...
defined by the left-hand side of this equation.
All general eigenvalue algorithms must be iterative, and the divide-and-conquer algorithm is no different. Solving the
nonlinear
In mathematics and science, a nonlinear system is a system in which the change of the output is not proportional to the change of the input. Nonlinear problems are of interest to engineers, biologists, physicists, mathematicians, and many other ...
secular equation requires an iterative technique, such as the
Newton–Raphson method
In numerical analysis, Newton's method, also known as the Newton–Raphson method, named after Isaac Newton and Joseph Raphson, is a root-finding algorithm which produces successively better approximations to the roots (or zeroes) of a real ...
. 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
As is common for divide and conquer algorithms, we 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 mathematics, a recurrence relation is an equation according to which the nth term of a sequence of numbers is equal to some combination of the previous terms. Often, only k previous terms of the sequence appear in the equation, for a paramete ...
:
:
In the notation of the Master theorem,
and thus
. Clearly,
, so we have
:
Remember that 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
In computing, floating-point arithmetic (FP) is arithmetic that represents real numbers approximately, using an integer with a fixed precision, called the significand, scaled by an integer exponent of a fixed base. For example, 12.345 can be r ...
precision, allowing for ''numerical deflation'', i.e. breaking the problem into uncoupled subproblems.
Variants and implementation
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.
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
Parallel computing is a type of computation in which many calculations or processes are carried out simultaneously. Large problems can often be divided into smaller ones, which can then be solved at the same time. There are several different for ...
, and
linear algebra
Linear algebra is the branch of mathematics concerning linear equations such as:
:a_1x_1+\cdots +a_nx_n=b,
linear maps such as:
:(x_1, \ldots, x_n) \mapsto a_1x_1+\cdots +a_nx_n,
and their representations in vector spaces and through matric ...
computing packages such as
LAPACK
LAPACK ("Linear Algebra Package") is a standard software library for numerical linear algebra. It provides routines for solving systems of linear equations and linear least squares, eigenvalue problems, and singular value decomposition. It al ...
contain high-quality parallel implementations.
References
*.
*
{{Numerical linear algebra
Numerical linear algebra
Divide-and-conquer algorithms