Description

The suite of functions is designed to calculate some of the eigenvalues, λλ, (and optionally the corresponding eigenvectors, xx) of a standard eigenvalue problem Ax = λxAx=λx, or of a generalized eigenvalue problem Ax = λBxAx=λBx of order nn, where nn is large and the coefficient matrices AA and BB are banded, real and symmetric.

Following a call to the initialization function nag_sparseig_real_symm_band_init (f12ff), nag_sparseig_real_symm_band_solve (f12fg) returns the converged approximations to eigenvalues and (optionally) the corresponding approximate eigenvectors and/or an orthonormal basis for the associated approximate invariant subspace. The eigenvalues (and eigenvectors) are selected from those of a standard or generalized eigenvalue problem defined by real banded symmetric matrices. There is negligible additional computational cost to obtain eigenvectors; an orthonormal basis is always computed, but there is an additional storage cost if both are requested.

The banded matrices AA and BB must be stored using the LAPACK storage format for banded nonsymmetric matrices; please refer to Section [Packed storage] in the F07 Chapter Introduction for details on this storage format.

nag_sparseig_real_symm_band_solve (f12fg) is based on the banded driver functions dsbdr1 to dsbdr6 from the ARPACK package, which uses the Implicitly Restarted Lanczos iteration method. The method is described in Lehoucq and Sorensen (1996) and Lehoucq (2001) while its use within the ARPACK software is described in great detail in Lehoucq et al. (1998). This suite of functions offers the same functionality as the ARPACK banded driver software for real symmetric problems, but the interface design is quite different in order to make the option setting clearer and to combine the different drivers into a general purpose function.

nag_sparseig_real_symm_band_solve (f12fg), is a general purpose forward communication function that must be called following initialization by nag_sparseig_real_symm_band_init (f12ff). nag_sparseig_real_symm_band_solve (f12fg) uses options, set either by default or explicitly by calling nag_sparseig_real_symm_option (f12fd), to return the converged approximations to selected eigenvalues and (optionally):

–

the corresponding approximate eigenvectors;

–

an orthonormal basis for the associated approximate invariant subspace;

If the default option Vectors = RITZVectors=RITZ (see nag_sparseig_real_symm_option (f12fd)) has been selected then z contains the final set of eigenvectors corresponding to the eigenvalues held in d. The real eigenvector associated with eigenvalue
i − 1i-1, for i = 1,2, … ,nconvi=1,2,…,nconv, is stored in the iith column of z.

If the option Vectors (see nag_sparseig_real_symm_option (f12fd)) has been set to Schur or Ritz and a separate array z has been passed then the first nconv × nnconv×n elements of v will contain approximate Schur vectors that span the desired invariant subspace.

No shifts could be applied during a cycle of the implicitly restarted Lanczos iteration. One possibility is to increase the size of ncv relative to nev (see Section [Parameters] in (f12ff) for details of these parameters).