ARPACK relies heavily upon a number of basic operations and algorithms provided by the BLAS and LAPACK . These have contributed greatly to the robustness, accuracy, and computational performance of ARPACK. The most important of these with respect to performance is the BLAS subroutine _gemv . For a fixed number nev of requested eigenvalues and a fixed length ncv Arnoldi basis, the computational cost scales linearly with n, the order of the matrix. The rate of execution (in FLOPS) for the IRA iteration is asymptotic to the rate of execution of _gemv.
In the outline of the implementation described in Figure 5.1, is a upper Hessenberg matrix, , and the residual vector is -orthogonal to the columns of . For each j,
where OP and are defined with respect to one of the computational modes described in Chapter 3.The integer k denotes the desired number of eigenvalue approximations and this may, at times, be greater than the users request for nev approximations. The integer will be the largest size factorization constructed. An eigenvalue of is a Ritz value of OP and is the corresponding Ritz vector when (A formal definition of Ritz value and vector is given in Chap. 4). The normalization is assumed throughout.
and
.
by calling Xgetv0,
unless the initial vector is provided by the caller.
of length
maxiter
,
Arnoldi/Lanczos
factorization to a length
factorization. Reverse communication is
performed to compute matrix-vector products with
and
possibly
.
and the associated error bounds.
Call Xseigt for the symmetric eigenvalue problem or
Xneigh otherwise.
and
.
The
eigenvalues in the set
are the desired approximations
while the remaining eigenvalues in the set
are to be used
as shifts.
eigenvalues in
satisfy the
convergence criterion, or if iter > maxiter.
Determine
shifts
.
If the exact shift strategy is used, the eigenvalues of
are
used as shifts, otherwise the
shifts are provided through a reverse
communication interface. If
, exit the loop.
steps of the implicitly shifted QR algorithm on
with shifts
to get
where
and
are upper Hessenberg and orthogonal
matrices, respectively.
denote the matrix consisting of the first
columns of
and
the leading principal
submatrix of
of order
Update
to get the new length
Arnoldi factorization
(See Algorithm 3, Chapter 4 ).
if a spectral transformation was used.