F12 Chapter Contents
F12 Chapter Introduction
NAG Library Manual

# NAG Library Routine DocumentF12AEF

Note:  before using this routine, please read the Users' Note for your implementation to check the interpretation of bold italicised terms and other implementation-dependent details.
Note: this routine uses optional parameters to define choices in the problem specification. If you wish to use default settings for all of the optional parameters, then the option setting routine F12ADF need not be called. If, however, you wish to reset some or all of the settings please refer to Section 11 in F12ADF for a detailed description of the specification of the optional parameters.

## 1  Purpose

F12AEF can be used to return additional monitoring information during computation. It is in a suite of routines consisting of F12AAF, F12ABF, F12ACF, F12ADF and F12AEF.

## 2  Specification

 SUBROUTINE F12AEF ( NITER, NCONV, RITZR, RITZI, RZEST, ICOMM, COMM)
 INTEGER NITER, NCONV, ICOMM(*) REAL (KIND=nag_wp) RITZR(*), RITZI(*), RZEST(*), COMM(*)

## 3  Description

The suite of routines is designed to calculate some of the eigenvalues, $\lambda$, (and optionally the corresponding eigenvectors, $x$) of a standard eigenvalue problem $Ax=\lambda x$, or of a generalized eigenvalue problem $Ax=\lambda Bx$ of order $n$, where $n$ is large and the coefficient matrices $A$ and $B$ are sparse, real and nonsymmetric. The suite can also be used to find selected eigenvalues/eigenvectors of smaller scale dense, real and nonsymmetric problems.
On an intermediate exit from F12ABF with ${\mathbf{IREVCM}}=4$, F12AEF may be called to return monitoring information on the progress of the Arnoldi iterative process. The information returned by F12AEF is:
 – the number of the current Arnoldi iteration; – the number of converged eigenvalues at this point; – the real and imaginary parts of the converged eigenvalues; – the error bounds on the converged eigenvalues.
F12AEF does not have an equivalent routine from the ARPACK package which prints various levels of detail of monitoring information through an output channel controlled via a parameter value (see Lehoucq et al. (1998) for details of ARPACK routines). F12AEF should not be called at any time other than immediately following an ${\mathbf{IREVCM}}=4$ return from F12ABF.
Lehoucq R B (2001) Implicitly restarted Arnoldi methods and subspace iteration SIAM Journal on Matrix Analysis and Applications 23 551–562
Lehoucq R B and Scott J A (1996) An evaluation of software for computing eigenvalues of sparse nonsymmetric matrices Preprint MCS-P547-1195 Argonne National Laboratory
Lehoucq R B and Sorensen D C (1996) Deflation techniques for an implicitly restarted Arnoldi iteration SIAM Journal on Matrix Analysis and Applications 17 789–821
Lehoucq R B, Sorensen D C and Yang C (1998) ARPACK Users' Guide: Solution of Large-scale Eigenvalue Problems with Implicitly Restarted Arnoldi Methods SIAM, Philidelphia

## 5  Parameters

1:     $\mathrm{NITER}$ – INTEGEROutput
On exit: the number of the current Arnoldi iteration.
2:     $\mathrm{NCONV}$ – INTEGEROutput
On exit: the number of converged eigenvalues so far.
3:     $\mathrm{RITZR}\left(*\right)$ – REAL (KIND=nag_wp) arrayOutput
Note: the dimension of the array RITZR must be at least ${\mathbf{NCV}}$ (see F12AAF).
On exit: the first NCONV locations of the array RITZR contain the real parts of the converged approximate eigenvalues.
4:     $\mathrm{RITZI}\left(*\right)$ – REAL (KIND=nag_wp) arrayOutput
Note: the dimension of the array RITZI must be at least ${\mathbf{NCV}}$ (see F12AAF).
On exit: the first NCONV locations of the array RITZI contain the imaginary parts of the converged approximate eigenvalues.
5:     $\mathrm{RZEST}\left(*\right)$ – REAL (KIND=nag_wp) arrayOutput
Note: the dimension of the array RZEST must be at least ${\mathbf{NCV}}$ (see F12AAF).
On exit: the first NCONV locations of the array RZEST contain the Ritz estimates (error bounds) on the converged approximate eigenvalues.
6:     $\mathrm{ICOMM}\left(*\right)$ – INTEGER arrayCommunication Array
Note: the dimension of the array ICOMM must be at least $\mathrm{max}\phantom{\rule{0.125em}{0ex}}\left(1,{\mathbf{LICOMM}}\right)$, where LICOMM is passed to the setup routine  (see F12AAF).
On entry: the array ICOMM output by the preceding call to F12ABF.
7:     $\mathrm{COMM}\left(*\right)$ – REAL (KIND=nag_wp) arrayCommunication Array
Note: the dimension of the array COMM must be at least $\mathrm{max}\phantom{\rule{0.125em}{0ex}}\left(1,{\mathbf{LCOMM}}\right)$, where LCOMM is passed to the setup routine  (see F12AAF).
On entry: the array COMM output by the preceding call to F12ABF.

None.

## 7  Accuracy

A Ritz value, $\lambda$, is deemed to have converged if its Ritz estimate $\le {\mathbf{Tolerance}}×\left|\lambda \right|$. The default Tolerance used is the machine precision given by X02AJF.

Not applicable.

None.

## 10  Example

This example solves $Ax=\lambda Bx$ in shifted-real mode, where $A$ is the tridiagonal matrix with $2$ on the diagonal, $-2$ on the subdiagonal and $3$ on the superdiagonal. The matrix $B$ is the tridiagonal matrix with $4$ on the diagonal and $1$ on the off-diagonals. The shift sigma, $\sigma$, is a complex number, and the operator used in the shifted-real iterative process is $\mathrm{OP}=\text{real}\left({\left(A-\sigma B\right)}_{-1}B\right)$.

### 10.1  Program Text

Program Text (f12aefe.f90)

### 10.2  Program Data

Program Data (f12aefe.d)

### 10.3  Program Results

Program Results (f12aefe.r)