F08 Class
関数リスト一覧   NagLibrary Namespaceへ  ライブラリイントロダクション  本ヘルプドキュメントのchm形式版

This chapter provides methods for the solution of linear least-squares problems, eigenvalue problems and singular value problems, as well as associated computations. It provides methods for:
  • – solution of linear least-squares problems
  • – solution of symmetric eigenvalue problems
  • – solution of nonsymmetric eigenvalue problems
  • – solution of singular value problems
  • – solution of generalized symmetric-definite eigenvalue problems
  • – solution of generalized nonsymmetric eigenvalue problems
  • – solution of generalized singular value problems
  • – solution of generalized linear least-squares problems
  • – matrix factorizations associated with the above problems
  • – estimating condition numbers of eigenvalue and eigenvector problems
  • – estimating the numerical rank of a matrix
  • – solution of the Sylvester matrix equation
Methods are provided for both real and complex data.
The methods in this chapter (F08 class) handle only dense, band, tridiagonal and Hessenberg matrices (not matrices with more specialized structures, or general sparse matrices).
The methods in this chapter have all been derived from the LAPACK project (see Anderson et al. (1999)). They have been designed to be efficient on a wide range of high-performance computers, without compromising efficiency on conventional serial machines.
It is not expected that you will need to read all of the following sections, but rather you will pick out those sections relevant to your particular problem.

Syntax

C#
public static class F08
Visual Basic (Declaration)
Public NotInheritable Class F08
Visual C++
public ref class F08 abstract sealed
F#
[<AbstractClassAttribute>]
[<SealedAttribute>]
type F08 =  class end

Background to the Problems

Linear Least-squares Problems

Orthogonal Factorizations and Least-squares Problems

A number of methods are provided for factorizing a general rectangular m by n matrix A, as the product of an orthogonal matrix (unitary if complex) and a triangular (or possibly trapezoidal) matrix.
A real matrix Q is orthogonal if QTQ=I; a complex matrix Q is unitary if QHQ=I. Orthogonal or unitary matrices have the important property that they leave the 2-norm of a vector invariant, so that
x2 =Qx2,
if Q is orthogonal or unitary. They usually help to maintain numerical stability because they do not amplify rounding errors.
Orthogonal factorizations are used in the solution of linear least-squares problems. They may also be used to perform preliminary steps in the solution of eigenvalue or singular value problems, and are useful tools in the solution of a number of other problems.

QR factorization

LQ factorization

QR factorization with column pivoting

Complete orthogonal factorization

Other factorizations

The Singular Value Decomposition

The singular value decomposition (SVD) of an m by n matrix A is given by
A =UΣVT,  A=UΣVHin the complex case
where U and V are orthogonal (unitary) and Σ is an m by n diagonal matrix with real diagonal elements, σi, such that
σ1σ2σminm,n0.
The σi are the singular values of A and the first minm,n columns of U and V are the left and right singular vectors of A. The singular values and singular vectors satisfy
Avi=σiui  and  ATui=σivior ​AHui=σivi
where ui and vi are the ith columns of U and V respectively.
The computation proceeds in the following stages.
  1. The matrix A is reduced to bidiagonal form A=U1BV1T if A is real (A=U1BV1H if A is complex), where U1 and V1 are orthogonal (unitary if A is complex), and B is real and upper bidiagonal when mn and lower bidiagonal when m<n, so that B is nonzero only on the main diagonal and either on the first superdiagonal (if mn) or the first subdiagonal (if m<n).
  2. The SVD of the bidiagonal matrix B is computed as B=U2Σ V2T , where U2 and V2 are orthogonal and Σ is diagonal as described above. The singular vectors of A are then U=U1U2 and V=V1V2.
If mn, it may be more efficient to first perform a QR factorization of A, and then compute the SVD of the n by n matrix R, since if A=QR and R=UΣVT, then the SVD of A is given by A=QUΣVT.
Similarly, if mn, it may be more efficient to first perform an LQ factorization of A.
This chapter supports two primary algorithms for computing the SVD of a bidiagonal matrix. They are:
(i) the divide and conquer algorithm;
(ii) the QR algorithm.
The divide and conquer algorithm is much faster than the QR algorithm if singular vectors of large matrices are required.

The Singular Value Decomposition and Least-squares Problems

Generalized Linear Least-squares Problems

The simple type of linear least-squares problem described in [Linear Least-squares Problems] can be generalized in various ways.
  1. Linear least-squares problems with equality constraints:
    find ​x​ to minimize ​S=c-Ax22  subject to  Bx=d,
    where A is m by n and B is p by n, with pnm+p. The equations Bx=d may be regarded as a set of equality constraints on the problem of minimizing S. Alternatively the problem may be regarded as solving an overdetermined system of equations
    A B x= c d ,
    where some of the equations (those involving B) are to be solved exactly, and the others (those involving A) are to be solved in a least-squares sense. The problem has a unique solution on the assumptions that B has full row rank p and the matrix A B  has full column rank n. (For linear least-squares problems with inequality constraints, refer to E04 class.)
  2. General Gauss–Markov linear model problems:
    minimize ​y2  subject to  d=Ax+By,
    where A is m by n and B is m by p, with nmn+p. When B=I, the problem reduces to an ordinary linear least-squares problem. When B is square and nonsingular, it is equivalent to a weighted linear least-squares problem:
    find ​x​ to minimize ​B-1d-Ax2.
    The problem has a unique solution on the assumptions that A has full column rank n, and the matrix A,B has full row rank m. Unless B is diagonal, for numerical stability it is generally preferable to solve a weighted linear least-squares problem as a general Gauss–Markov linear model problem.

Generalized Orthogonal Factorization and Generalized Linear Least-squares Problems

Generalized QR Factorization

Generalized RQ Factorization

The generalized RQ (GRQ) factorization of an m by n matrix A and a p by n matrix B is given by the pair of factorizations
A = R Q ,   B = Z T Q
where Q and Z are respectively n by n and p by p orthogonal matrices (or unitary matrices if A and B are complex). R has the form
R = n-mmm(0R12) ,  if ​ mn ,
or
R = nm-n(R11) n R21 ,  if ​ m>n ,
where R12  or R21  is upper triangular. T has the form
T = nn(T11) p-n 0 ,   if ​ pn ,
or
T = pn-pp(T11T12) ,   if ​ p<n ,
where T11  is upper triangular.
Note that if B is square and nonsingular, the GRQ factorization of A and B implicitly gives the RQ factorization of the matrix AB-1 :
AB-1 = RT-1 ZT
without explicitly computing the matrix B-1  or the product AB-1 .
The GRQ factorization can be used to solve the linear equality-constrained least-squares problem (LSE) (see [Generalized Linear Least-squares Problems]). We use the GRQ factorization of B and A (note that B and A have swapped roles), written as
B = T Q   and   A = Z R Q .
We write the linear equality constraints Bx=d  as
T Q x = d ,
which we partition as:
n-ppp(0T12) x1 x2 = d   where   x1 x2 Qx .
Therefore x2  is the solution of the upper triangular system
T12 x2 = d .
Furthermore,
Ax-c2 = ZT Ax - ZT c 2 = RQx - ZT c 2 .
We partition this expression as:
n-ppn-p(R11R12) p+m-n 0 R22 x1 x2 - c1 c2 ,
where c1 c2 ZTc .
To solve the LSE problem, we set
R11 x1 + R12 x2 - c1 = 0
which gives x1  as the solution of the upper triangular system
R11 x1 = c1 - R12 x2 .
Finally, the desired solution is given by
x = QT x1 x2 .

Generalized Singular Value Decomposition (GSVD)

The generalized (or quotient) singular value decomposition of an m by n matrix A and a p by n matrix B is given by the pair of factorizations
A = U Σ1 0,R QT   and   B = V Σ2 0,R QT .
The matrices in these factorizations have the following properties:
U is m by m, V is p by p, Q is n by n, and all three matrices are orthogonal. If A and B are complex, these matrices are unitary instead of orthogonal, and QT  should be replaced by QH  in the pair of factorizations.
R is r by r, upper triangular and nonsingular. 0,R  is r by n (in other words, the 0 is an r by n-r zero matrix). The integer r is the rank of A B , and satisfies rn.
Σ1  is m by r, Σ2  is p by r, both are real, non-negative and diagonal, and Σ1T Σ1 + Σ2T Σ2 = I . Write Σ1T Σ1 = diagα12,,αr2  and Σ2T Σ2 = diagβ12,,βr2 , where αi  and βi  lie in the interval from 0 to 1. The ratios α1 / β1 ,, αr / βr  are called the generalized singular values of the pair A, B. If βi = 0 , then the generalized singular value αi / βi  is infinite.
Σ1  and Σ2  have the following detailed structures, depending on whether m-r0  or m-r<0 . In the first case, m-r0 , then
Σ1 = klk(I0) l 0 C m-k-l 0 0   and   Σ2 = kll(0S) p-l 0 0 .
Here l is the rank of B, k=r-l , C and S are diagonal matrices satisfying C2 + S2 = I , and S is nonsingular. We may also identify α1 = = αk = 1 , αk+i = cii , for i=1,2,, l, β1 = = βk = 0 , and βk+i = sii , for i=1,2,, l . Thus, the first k generalized singular values α1 / β1 ,, αk / βk  are infinite, and the remaining l generalized singular values are finite.
In the second case, when m-r<0 ,
Σ1 = km-kk+l-mk(I00) m-k 0 C 0
and
Σ2 = km-kk+l-mm-k(0S0) k+l-m0 0 I p-l0 0 0 .
Again, l is the rank of B, k=r-l , C and S are diagonal matrices satisfying C2 + S2 = I , and S is nonsingular, and we may identify α1 = = αk = 1 , αk+i = cii , for i=1,2,, m-k , αm+1 = = αr = 0 , β1 = = βk = 0 , βk+i = sii , for i=1,2,, m-k  and βm+1 = = βr = 1 . Thus, the first k generalized singular values α1 / β1 ,, αk / βk  are infinite, and the remaining l generalized singular values are finite.
Here are some important special case of the generalized singular value decomposition. First, if B is square and nonsingular, then r=n and the generalized singular value decomposition of A and B is equivalent to the singular value decomposition of AB-1 , where the singular values of AB-1  are equal to the generalized singular values of the pair A, B:
AB-1 = U Σ1 R QT V Σ2 R QT -1 = U Σ1 Σ2-1 VT .
Second, if the columns of AT BT T  are orthonormal, then r=n, R=I and the generalized singular value decomposition of A and B is equivalent to the CS (Cosine–Sine) decomposition of AT BT T :
A B = U 0 0 V Σ1 Σ2 QT .
Third, the generalized eigenvalues and eigenvectors of ATA - λ BTB  can be expressed in terms of the generalized singular value decomposition: Let
X = Q I 0 0 R-1 .
Then
XT AT AX = 0 0 0 Σ1TΣ1   and   XT BT BX = 0 0 0 Σ2TΣ2 .
Therefore, the columns of X are the eigenvectors of ATA - λ BTB , and ‘nontrivial’ eigenvalues are the squares of the generalized singular values (see also [Generalized Symmetric-definite Eigenvalue Problems]). ‘Trivial’ eigenvalues are those corresponding to the leading n-r columns of X, which span the common null space of ATA  and BTB . The ‘trivial eigenvalues’ are not well defined.

Symmetric Eigenvalue Problems

The symmetric eigenvalue problem is to find the eigenvalues, λ, and corresponding eigenvectors, z0, such that
Az=λz,  A=AT,   where ​A​ is real.
For the Hermitian eigenvalue problem we have
Az=λ z,   A=AH,   where ​ A​ is complex.
For both problems the eigenvalues λ are real.
When all eigenvalues and eigenvectors have been computed, we write
A =ZΛZTor ​A=ZΛZH​ if complex,
where Λ is a diagonal matrix whose diagonal elements are the eigenvalues, and Z is an orthogonal (or unitary) matrix whose columns are the eigenvectors. This is the classical spectral factorization of A.
The basic task of the symmetric eigenproblem methods is to compute values of λ and, optionally, corresponding vectors z for a given matrix A. This computation proceeds in the following stages.
  1. The real symmetric or complex Hermitian matrix A is reduced to real tridiagonal form T. If A is real symmetric this decomposition is A=QTQT with Q orthogonal and T symmetric tridiagonal. If A is complex Hermitian, the decomposition is A=QTQH with Q unitary and T, as before, real symmetric tridiagonal.
  2. Eigenvalues and eigenvectors of the real symmetric tridiagonal matrix T are computed. If all eigenvalues and eigenvectors are computed, this is equivalent to factorizing T as T=SΛST, where S is orthogonal and Λ is diagonal. The diagonal entries of Λ are the eigenvalues of T, which are also the eigenvalues of A, and the columns of S are the eigenvectors of T; the eigenvectors of A are the columns of Z=QS, so that A=ZΛZT (ZΛZH when A is complex Hermitian).
This chapter supports four primary algorithms for computing eigenvalues and eigenvectors of real symmetric matrices and complex Hermitian matrices. They are:
(i) the divide-and-conquer algorithm;
(ii) the QR algorithm;
(iii) bisection followed by inverse iteration;
(iv) the Relatively Robust Representation (RRR).

Generalized Symmetric-definite Eigenvalue Problems

This section is concerned with the solution of the generalized eigenvalue problems Az=λBz, ABz=λz, and BAz=λz, where A and B are real symmetric or complex Hermitian and B is positive-definite. Each of these problems can be reduced to a standard symmetric eigenvalue problem, using a Cholesky factorization of B as either B=LLT or B=UTU (LLH or UHU in the Hermitian case).
With B=LLT, we have
Az=λBzL-1AL-TLTz=λLTz.
Hence the eigenvalues of Az=λBz are those of Cy=λy, where C is the symmetric matrix C=L-1AL-T and y=LTz. In the complex case C is Hermitian with C=L-1AL-H and y=LHz.
Table 1 summarizes how each of the three types of problem may be reduced to standard form Cy=λy, and how the eigenvectors z of the original problem may be recovered from the eigenvectors y of the reduced problem. The table applies to real problems; for complex problems, transposed matrices must be replaced by conjugate-transposes.

Packed Storage for Symmetric Matrices

Band Matrices

If the problem is the generalized symmetric definite eigenvalue problem Az=λBz and the matrices A and B are additionally banded, the matrix C as defined in [Generalized Symmetric-definite Eigenvalue Problems] is, in general, full. We can reduce the problem to a banded standard problem by modifying the definition of C thus:
C =XTAX,   where  X=U-1Q  or ​L-TQ,
where Q is an orthogonal matrix chosen to ensure that C has bandwidth no greater than that of A.
A further refinement is possible when A and B are banded, which halves the amount of work required to form C. Instead of the standard Cholesky factorization of B as UTU or LLT, we use a split Cholesky factorization B=STS, where
S = U11 M21 L22
with U11 upper triangular and L22 lower triangular of order approximately n/2; S has the same bandwidth as B.

Nonsymmetric Eigenvalue Problems

The nonsymmetric eigenvalue problem is to find the eigenvalues, λ, and corresponding eigenvectors, v0, such that
Av=λv.
More precisely, a vector v as just defined is called a right eigenvector of A, and a vector u0 satisfying
uTA=λuTuHA=λuH  when ​u​ is complex
is called a left eigenvector of A.
A real matrix A may have complex eigenvalues, occurring as complex conjugate pairs.
This problem can be solved via the Schur factorization of A, defined in the real case as
A =ZTZT,
where Z is an orthogonal matrix and T is an upper quasi-triangular matrix with 1 by 1 and 2 by 2 diagonal blocks, the 2 by 2 blocks corresponding to complex conjugate pairs of eigenvalues of A. In the complex case, the Schur factorization is
A =ZTZH,
where Z is unitary and T is a complex upper triangular matrix.
The columns of Z are called the Schur vectors. For each k (1kn), the first k columns of Z form an orthonormal basis for the invariant subspace corresponding to the first k eigenvalues on the diagonal of T. Because this basis is orthonormal, it is preferable in many applications to compute Schur vectors rather than eigenvectors. It is possible to order the Schur factorization so that any desired set of k eigenvalues occupy the k leading positions on the diagonal of T.
The two basic tasks of the nonsymmetric eigenvalue methods are to compute, for a given matrix A, all n values of λ and, if desired, their associated right eigenvectors v and/or left eigenvectors u, and the Schur factorization.
These two basic tasks can be performed in the following stages.
  1. A general matrix A is reduced to upper Hessenberg form H which is zero below the first subdiagonal. The reduction may be written A=QHQT with Q orthogonal if A is real, or A=QHQH with Q unitary if A is complex.
  2. The upper Hessenberg matrix H is reduced to Schur form T, giving the Schur factorization H=STST (for H real) or H=STSH (for H complex). The matrix S (the Schur vectors of H) may optionally be computed as well. Alternatively S may be postmultiplied into the matrix Q determined in stage 1, to give the matrix Z=QS, the Schur vectors of A. The eigenvalues are obtained from the diagonal elements or diagonal blocks of T.
  3. Given the eigenvalues, the eigenvectors may be computed in two different ways. Inverse iteration can be performed on H to compute the eigenvectors of H, and then the eigenvectors can be multiplied by the matrix Q in order to transform them to eigenvectors of A. Alternatively the eigenvectors of T can be computed, and optionally transformed to those of H or A if the matrix S or Z is supplied.

Generalized Nonsymmetric Eigenvalue Problem

The generalized nonsymmetric eigenvalue problem is to find the eigenvalues, λ, and corresponding eigenvectors, v0, such that
Av=λBv.
More precisely, a vector v as just defined is called a right eigenvector of the matrix pair A,B, and a vector u0 satisfying
uTA=λuTBuHA=λuHB​ when ​u​ is complex
is called a left eigenvector of the matrix pair A,B.
If B is singular then the problem has one or more infinite eigenvalues λ=, corresponding to Bv=0. Note that if A is nonsingular, then the equivalent problem μAv=Bv is perfectly well defined and an infinite eigenvalue corresponds to μ=0. To deal with both finite (including zero) and infinite eigenvalues, the methods in this chapter do not compute λ explicitly, but rather return a pair of numbers α,β such that if β0 
λ =α/β
and if α0 and β=0 then λ=. β is always returned as real and non-negative. Of course, computationally an infinite eigenvalue may correspond to a small β rather than an exact zero.
The generalized eigenvalue problem can be solved via the generalized Schur factorization of the pair A,B defined in the real case as
A =QSZT,  B=QTZT,
where Q and Z are orthogonal, T is upper triangular with non-negative diagonal elements and S is upper quasi-triangular with 1 by 1 and 2 by 2 diagonal blocks, the 2 by 2 blocks corresponding to complex conjugate pairs of eigenvalues. In the complex case, the generalized Schur factorization is
A =QSZH,  B=QTZH,
where Q and Z are unitary and S and T are upper triangular, with T having real non-negative diagonal elements. The columns of Q and Z are called respectively the left and right generalized Schur vectors and span pairs of deflating subspaces of A and B, which are a generalization of invariant subspaces.
It is possible to order the generalized Schur factorization so that any desired set of k eigenvalues correspond to the k leading positions on the diagonals of the pair S,T.
The two basic tasks of the generalized nonsymmetric eigenvalue methods are to compute, for a given pair A,B, all n values of λ and, if desired, their associated right eigenvectors v and/or left eigenvectors u, and the generalized Schur factorization.
These two basic tasks can be performed in the following stages.
  1. The matrix pair A,B is reduced to generalized upper Hessenberg form H,R, where H is upper Hessenberg (zero below the first subdiagonal) and R is upper triangular. The reduction may be written as A=Q1HZ1T, B=Q1RZ1T in the real case with Q1 and Z1 orthogonal, and A=Q1H Z1H , B=Q1R Z1H  in the complex case with Q1 and Z1 unitary.
  2. The generalized upper Hessenberg form H,R is reduced to the generalized Schur form S,T using the generalized Schur factorization H=Q2S Z2T, R=Q2T Z2T in the real case with Q2 and Z2 orthogonal, and H=Q2 SZ2H, R=Q2T Z2H in the complex case. The generalized Schur vectors of A,B are given by Q=Q1Q2, Z=Z1Z2. The eigenvalues are obtained from the diagonal elements (or blocks) of the pair S,T.
  3. Given the eigenvalues, the eigenvectors of the pair S,T can be computed, and optionally transformed to those of H,R or A,B.
The accuracy with which eigenvalues can be obtained can often be improved by balancing a matrix pair. This is discussed further in [Balancing the generalized eigenvalue problem] below.

The Sylvester Equation and the Generalized Sylvester Equation

Error and Perturbation Bounds and Condition Numbers

In this section we discuss the effects of rounding errors in the solution process and the effects of uncertainties in the data, on the solution to the problem. A number of the methods in this chapter return information, such as condition numbers, that allow these effects to be assessed. First we discuss some notation used in the error bounds of later sections.
For linear equation (see F07 class) and least-squares solvers, we consider bounds on the relative error x-x^/x in the computed solution x^, where x is the true solution. For eigenvalue problems we consider bounds on the error λi-λ^i in the ith computed eigenvalue λ^i, where λi is the true ith eigenvalue. For singular value problems we similarly consider bounds σi-σ^i.
Bounding the error in computed eigenvectors and singular vectors v^i is more subtle because these vectors are not unique: even though we restrict v^i2=1 and vi2=1, we may still multiply them by arbitrary constants of absolute value 1. So to avoid ambiguity we bound the angular difference between v^i and the true vector vi, so that Here arccosθ is in the standard range: 0arccosθ<π. When θvi,v^i is small, we can choose a constant α with absolute value 1 so that αvi-v^i2θvi,v^i.
A number of methods in this chapter return error estimates and/or condition number estimates directly. In other cases Anderson et al. (1999) gives code fragments to illustrate the computation of these estimates, and a number of the F08 class example programs, for the driver methods, implement these code fragments.

Least-squares problems

The singular value decomposition

The computed SVD, U^Σ^V^T, is nearly the exact SVD of A+E, i.e., A+E=U^+δU^Σ^V^+δV^ is the true SVD, so that U^+δU^ and V^+δV^ are both orthogonal, where E2/A2pm,nε, δU^pm,nε, and δV^pm,nε. Here pm,n is a modestly growing function of m and n and ε is the machine precision. Each computed singular value σ^i differs from the true σi by an amount satisfying the bound
σ^i-σipm,nεσ1.
Thus large singular values (those near σ1) are computed to high relative accuracy and small ones may not be.
The angular difference between the computed left singular vector u^i and the true ui satisfies the approximate bound
θu^i,uipm,nεA2gapi
where
gap i = min ji σi-σj
is the absolute gap between σi and the nearest other singular value. Thus, if σi is close to other singular values, its corresponding singular vector ui may be inaccurate. The same bound applies to the computed right singular vector v^i and the true vector vi. The gaps may be easily obtained from the computed singular values.
Let S^ be the space spanned by a collection of computed left singular vectors u^i,iI, where I is a subset of the integers from 1 to n. Let S be the corresponding true space. Then
θS^,Spm,nεA2 gapI .
where
gapI=minσi-σj   for ​ iI,jI
is the absolute gap between the singular values in I and the nearest other singular value. Thus, a cluster of close singular values which is far away from any other singular value may have a well determined space S^ even if its individual singular vectors are ill-conditioned. The same bound applies to a set of right singular vectors v^i,iI.
In the special case of bidiagonal matrices, the singular values and singular vectors may be computed much more accurately (see Demmel and Kahan (1990)). A bidiagonal matrix B has nonzero entries only on the main diagonal and the diagonal immediately above it (or immediately below it). Reduction of a dense matrix to bidiagonal form B can introduce additional errors, so the following bounds for the bidiagonal case do not apply to the dense case.
Using the methods in this chapter, each computed singular value of a bidiagonal matrix is accurate to nearly full relative accuracy, no matter how tiny it is, so that
σ^i-σipm,nεσi.
The computed left singular vector u^i has an angular error at most about
θu^i,uipm,nεrelgapi
where
relgapi= min ji σi-σj / σi+σj
is the relative gap between σi and the nearest other singular value. The same bound applies to the right singular vector v^i and vi. Since the relative gap may be much larger than the absolute gap, this error bound may be much smaller than the previous one. The relative gaps may be easily obtained from the computed singular values.

The symmetric eigenproblem

The computed eigendecomposition Z^Λ^Z^T is nearly the exact eigendecomposition of A+E, i.e., A+E=Z^+δZ^Λ^Z^+δZ^T is the true eigendecomposition so that Z^+δZ^ is orthogonal, where E2/A2pnε and δZ^2pnε and pn is a modestly growing function of n and ε is the machine precision. Each computed eigenvalue λ^i differs from the true λi by an amount satisfying the bound
λ^i-λipnεA2.
Thus large eigenvalues (those near max i λi = A2 ) are computed to high relative accuracy and small ones may not be.
The angular difference between the computed unit eigenvector z^i and the true zi satisfies the approximate bound
θz^i,zipnεA2gapi
if pnε is small enough, where
gapi= min ji λi-λj
is the absolute gap between λi and the nearest other eigenvalue. Thus, if λi is close to other eigenvalues, its corresponding eigenvector zi may be inaccurate. The gaps may be easily obtained from the computed eigenvalues.
Let S^ be the invariant subspace spanned by a collection of eigenvectors z^i,iI, where I is a subset of the integers from 1 to n. Let S be the corresponding true subspace. Then
θS^,SpnεA2 gapI
where
gapI=minλi-λj   for ​ iI,jI
is the absolute gap between the eigenvalues in I and the nearest other eigenvalue. Thus, a cluster of close eigenvalues which is far away from any other eigenvalue may have a well determined invariant subspace S^ even if its individual eigenvectors are ill-conditioned.
In the special case of a real symmetric tridiagonal matrix T, methods in this chapter can compute the eigenvalues and eigenvectors much more accurately. See Anderson et al. (1999) for further details.

The generalized symmetric-definite eigenproblem

The three types of problem to be considered are A-λB, AB-λI and BA-λI. In each case A and B are real symmetric (or complex Hermitian) and B is positive-definite. We consider each case in turn, assuming that methods in this chapter are used to transform the generalized problem to the standard symmetric problem, followed by the solution of the symmetric problem. In all cases
gapi= min ji λi-λj
is the absolute gap between λi and the nearest other eigenvalue.
  1. A-λB. The computed eigenvalues λ^i can differ from the true eigenvalues λi by an amount
    λ^i-λipnεB-12A2.
    The angular difference between the computed eigenvector z^i and the true eigenvector zi is
    θz^i,zipnεB-12A2κ2B 1/2gapi.
  2. AB-λI or BA-λI. The computed eigenvalues λ^i can differ from the true eigenvalues λi by an amount
    λ^i-λipnεB2A2.
    The angular difference between the computed eigenvector z^i and the true eigenvector zi is
    θz^i,ziqnεB2A2κ2B 1/2gapi.
These error bounds are large when B is ill-conditioned with respect to inversion (κ2B is large). It is often the case that the eigenvalues and eigenvectors are much better conditioned than indicated here. One way to get tighter bounds is effective when the diagonal entries of B differ widely in magnitude, as for example with a graded matrix.
  1. A-λB. Let D = diag b11-1/2 ,, b nn -1/2  be a diagonal matrix. Then replace B by DBD and A by DAD in the above bounds.
  2. AB-λI or BA-λI. Let D=diagb11-1/2,,bnn -1/2 be a diagonal matrix. Then replace B by DBD and A by D-1AD-1 in the above bounds.

The nonsymmetric eigenproblem

We let λ^i be the ith computed eigenvalue and λi the ith true eigenvalue. Let v^i be the corresponding computed right eigenvector, and vi the true right eigenvector (so Avi=λi vi). If I is a subset of the integers from 1 to n, we let λI denote the average of the selected eigenvalues: λI=iI λi/ iI1, and similarly for λ^I. We also let SI denote the subspace spanned by vi,iI; it is called a right invariant subspace because if v is any vector in SI then Av is also in SI. S^I is the corresponding computed subspace.
The algorithms for the nonsymmetric eigenproblem are normwise backward stable: they compute the exact eigenvalues, eigenvectors and invariant subspaces of slightly perturbed matrices A+E E , where E p n ε A . Some of the bounds are stated in terms of E2 and others in terms of EF; one may use pnε for either quantity.
Methods are provided so that, for each (λ^i,v^i) pair the two values si and sepi, or for a selected subset I of eigenvalues the values sI and sepI can be obtained, for which the error bounds in Table 2 are true for sufficiently small E, (which is why they are called asymptotic):

Balancing and condition for the nonsymmetric eigenproblem

The generalized nonsymmetric eigenvalue problem

Balancing the generalized eigenvalue problem

As with the standard nonsymmetric eigenvalue problem, there are two preprocessing steps one may perform on a matrix pair A,B in order to make its eigenproblem easier; permutation and scaling, which together are referred to as balancing, as indicated in the following two steps.
  1. The balancing method first attempts to permute A and B to block upper triangular form by a similarity transformation:
    PAPT=F= F11 F12 F13 F22 F23 F33 , PBPT=G= G11 G12 G13 G22 G23 G33 ,
    where P is a permutation matrix, F11, F33, G11 and G33 are upper triangular. Then the diagonal elements of the matrix F11,G11 and G33,H33 are generalized eigenvalues of A,B. The rest of the generalized eigenvalues are given by the matrix pair F22,G22. Subsequent operations to compute the eigenvalues of A,B need only be applied to the matrix F22,G22; this can save a significant amount of work if F22,G22 is smaller than the original matrix pair A,B. If no suitable permutation exists (as is often the case), then there is no gain in efficiency or accuracy.
  2. The balancing method applies a diagonal similarity transformation to F,G, to make the rows and columns of F22,G22 as close as possible in the norm:
    DFD-1= I D22 I F11 F12 F13 F22 F23 F33 I D22-1 I , DGD-1= I D22 I G11 G12 G13 G22 G23 G33 I D22-1 I .
    This transformation usually improves the accuracy of computed generalized eigenvalues and eigenvectors. However, there are exceptional occasions when this transformation increases the norm of the pencil; in this case accuracy could be lower with diagonal balancing.
    See Anderson et al. (1999) for further details.

Other problems

Block Partitioned Algorithms

A number of the methods in this chapter use what is termed a block partitioned algorithm. This means that at each major step of the algorithm a block of rows or columns is updated, and much of the computation is performed by matrix-matrix operations on these blocks. The matrix-matrix operations are performed by calls to the Level 3 BLAS (see F06 class), which are the key to achieving high performance on many modern computers. In the case of the QR algorithm for reducing an upper Hessenberg matrix to Schur form, a multishift strategy is used in order to improve performance. See Golub and Van Loan (1996) or Anderson et al. (1999) for more about block partitioned algorithms and the multishift strategy.
The performance of a block partitioned algorithm varies to some extent with the block size – that is, the number of rows or columns per block. This is a machine-dependent parameter, which is set to a suitable value when the library is implemented on each range of machines. You do not normally need to be aware of what value is being used. Different block sizes may be used for different methods. Values in the range 16 to 64 are typical.
On more conventional machines there is often no advantage from using a block partitioned algorithm, and then the methods use an unblocked algorithm (effectively a block size of 1), relying solely on calls to the Level 2 BLAS (see F06 class again).

References

Inheritance Hierarchy

See Also