NAG CL Interface
f02fkc (real_symm_sparse_arnoldi)
Note: this function uses optional parameters to define choices in the problem specification. If you wish to use default
settings for all of the optional parameters, you need only read Sections 1 to 10 of this document. If, however, you wish to reset some or all of the settings this must be done by calling the option setting function f12fdc from the usersupplied function option. Please refer to Section 11 for a detailed description of the specification of the optional parameters.
1
Purpose
f02fkc computes selected eigenvalues and eigenvectors of a real sparse symmetric matrix.
2
Specification
void 
f02fkc (Integer n,
Integer nnz,
const double a[],
const Integer irow[],
const Integer icol[],
Integer nev,
Integer ncv,
double sigma,
Integer *nconv,
double w[],
double v[],
Integer pdv,
double resid[],
Nag_Comm *comm,
NagError *fail) 

The function may be called by the names: f02fkc or nag_eigen_real_symm_sparse_arnoldi.
3
Description
f02fkc computes selected eigenvalues and the corresponding right eigenvectors of a real sparse symmetric matrix
$A$:
A specified number, ${n}_{ev}$, of eigenvalues ${\lambda}_{i}$, or the shifted inverses ${\mu}_{i}=1/\left({\lambda}_{i}\sigma \right)$, may be selected either by largest or smallest modulus, largest or smallest value, or, largest and smallest values (both ends). Convergence is generally faster when selecting larger eigenvalues, smaller eigenvalues can always be selected by choosing a zero inverse shift ($\sigma =0.0$). When eigenvalues closest to a given value are required then the shifted inverses of largest magnitude should be selected with shift equal to the required value.
The sparse matrix
$A$ is stored in symmetric coordinate storage (SCS) format. See
Section 2.1.2 in the
F11 Chapter Introduction.
f02fkc uses an implicitly restarted Arnoldi (Lanczos) iterative method to converge approximations to a set of required eigenvalues and corresponding eigenvectors. Further algorithmic information is given in
Section 9 while a fuller discussion is provided in the
F12 Chapter Introduction. If shifts are to be performed then operations using shifted inverse matrices are performed using a direct sparse solver.
4
References
Golub G H and Van Loan C F (1996) Matrix Computations (3rd Edition) Johns Hopkins University Press, Baltimore
HSL (2011) A collection of Fortran codes for largescale scientific computation
http://www.hsl.rl.ac.uk/
Lehoucq R B, Sorensen D C and Yang C (1998) ARPACK Users' Guide: Solution of Largescale Eigenvalue Problems with Implicitly Restarted Arnoldi Methods SIAM, Philidelphia
5
Arguments

1:
$\mathbf{n}$ – Integer
Input

On entry: $n$, the order of the matrix $A$.
Constraint:
${\mathbf{n}}>0$.

2:
$\mathbf{nnz}$ – Integer
Input

On entry: the dimension of the array
a. The number of nonzero elements in the lower triangular part of the matrix
$A$.
Constraint:
$1\le {\mathbf{nnz}}\le {\mathbf{n}}\times \left({\mathbf{n}}+1\right)/2$.

3:
$\mathbf{a}\left[{\mathbf{nnz}}\right]$ – const double
Input

On entry: the array of nonzero elements of the lower triangular part of the $n$ by $n$ symmetric matrix $A$.

4:
$\mathbf{irow}\left[{\mathbf{nnz}}\right]$ – const Integer
Input

5:
$\mathbf{icol}\left[{\mathbf{nnz}}\right]$ – const Integer
Input

On entry: the row and column indices of the elements supplied in array
a.
If
${\mathbf{irow}}\left[k1\right]=i$ and
${\mathbf{icol}}\left[k1\right]=j$ then
${A}_{ij}$ is stored in
${\mathbf{a}}\left[k1\right]$.
irow does not need to be ordered: an internal sort will force the correct ordering.
Constraint:
irow and
icol must satisfy these constraints:
$1\le {\mathbf{irow}}\left[\mathit{i}\right]\le {\mathbf{n}}$ and
$1\le {\mathbf{icol}}\left[\mathit{i}\right]\le {\mathbf{irow}}\left[\mathit{i}\right]$, for
$\mathit{i}=0,1,\dots ,{\mathbf{nnz}}1$.

6:
$\mathbf{nev}$ – Integer
Input

On entry: the number of eigenvalues to be computed.
Constraint:
$0<{\mathbf{nev}}<{\mathbf{n}}1$.

7:
$\mathbf{ncv}$ – Integer
Input

On entry: the dimension of the array
w.
The number of Arnoldi basis vectors to use during the computation.
At present there is no
a priori analysis to guide the selection of
ncv relative to
nev. However, it is recommended that
${\mathbf{ncv}}\ge 2\times {\mathbf{nev}}+1$. If many problems of the same type are to be solved, you should experiment with increasing
ncv while keeping
nev fixed for a given test problem. This will usually decrease the required number of matrixvector operations but it also increases the work and storage required to maintain the orthogonal basis vectors. The optimal ‘crossover’ with respect to computation time is problem dependent and must be determined empirically.
Constraint:
${\mathbf{nev}}<{\mathbf{ncv}}\le {\mathbf{n}}$.

8:
$\mathbf{sigma}$ – double
Input

On entry: if the
${\mathbf{Shifted\; Inverse}}$ mode has been selected then
sigma contains the real shift used; otherwise
sigma is not referenced. This mode can be selected by setting the appropriate options in the usersupplied function
option.

9:
$\mathbf{monit}$ – function, supplied by the user
External Function

monit is used to monitor the progress of
f02fkc.
monit may be specified as
NULLFN if no monitoring is actually required.
monit is called after the solution of each eigenvalue subproblem and also just prior to return from
f02fkc.
The specification of
monit is:

1:
$\mathbf{ncv}$ – Integer
Input

On entry: the dimension of the arrays
w and
rzest. The number of Arnoldi basis vectors used during the computation.

2:
$\mathbf{niter}$ – Integer
Input

On entry: the number of the current Arnoldi iteration.

3:
$\mathbf{nconv}$ – Integer
Input

On entry: the number of converged eigenvalues so far.

4:
$\mathbf{w}\left[{\mathbf{ncv}}\right]$ – const double
Input

On entry: the first
nconv elements of
w contain the converged approximate eigenvalues.

5:
$\mathbf{rzest}\left[{\mathbf{ncv}}\right]$ – const double
Input

On entry: the first
nconv elements of
rzest contain the Ritz estimates (error bounds) on the converged approximate eigenvalues.

6:
$\mathbf{istat}$ – Integer *
Input/Output

On entry: set to zero.
On exit: if set to a nonzero value
f02fkc returns immediately with
${\mathbf{fail}}\mathbf{.}\mathbf{code}=$ NE_USER_STOP.

7:
$\mathbf{comm}$ – Nag_Comm *
Pointer to structure of type Nag_Comm; the following members are relevant to
monit.
 user – double *
 iuser – Integer *
 p – Pointer
The type Pointer will be
void *. Before calling
f02fkc you may allocate memory and initialize these pointers with various quantities for use by
monit when called from
f02fkc (see
Section 3.1.1 in the Introduction to the NAG Library CL Interface).

10:
$\mathbf{option}$ – function, supplied by the user
External Function

You can supply nondefault options to the Arnoldi eigensolver by repeated calls to
f12fdc from within
option. (Please note that it is only necessary to call
f12fdc; no call to
f12fac is required from within
option.) For example, you can set the mode to
${\mathbf{Shifted\; Inverse}}$, you can increase the
${\mathbf{Iteration\; Limit}}$ beyond its default and you can print varying levels of detail on the iterative process using
${\mathbf{Print\; Level}}$.
If only the default options (including that the eigenvalues of largest magnitude are sought) are to be used then
option may be specified as
NULLFN. See
Section 10 for an example of using
option to set some nondefault options.
The specification of
option is:

1:
$\mathbf{icom}\left[140\right]$ – Integer
Communication Array

On entry: contains details of the default option set. This array must be passed as argument
icomm in any call to
f12fdc.
On exit: contains data on the current options set which may be altered from the default set via calls to
f12fdc.

2:
$\mathbf{com}\left[60\right]$ – double
Communication Array

On entry: contains details of the default option set. This array must be passed as argument
comm in any call to
f12fdc.
On exit: contains data on the current options set which may be altered from the default set via calls to
f12fdc.

3:
$\mathbf{istat}$ – Integer *
Input/Output

On entry: set to zero.
On exit: if set to a nonzero value
f02fkc returns immediately with
${\mathbf{fail}}\mathbf{.}\mathbf{code}=$ NE_USER_STOP.

4:
$\mathbf{comm}$ – Nag_Comm *
Pointer to structure of type Nag_Comm; the following members are relevant to
option.
 user – double *
 iuser – Integer *
 p – Pointer
The type Pointer will be
void *. Before calling
f02fkc you may allocate memory and initialize these pointers with various quantities for use by
option when called from
f02fkc (see
Section 3.1.1 in the Introduction to the NAG Library CL Interface).

11:
$\mathbf{nconv}$ – Integer *
Output

On exit: the number of converged approximations to the selected eigenvalues. On successful exit, this will normally be
nev.

12:
$\mathbf{w}\left[{\mathbf{ncv}}\right]$ – double
Output

On exit: the first
nconv elements contain the converged approximations to the selected eigenvalues.

13:
$\mathbf{v}\left[\mathit{dim}\right]$ – double
Output

Note: the dimension,
dim, of the array
v
must be at least
${\mathbf{pdv}}\times {\mathbf{ncv}}$.
On exit: contains the eigenvectors associated with the eigenvalue
${\lambda}_{\mathit{i}}$, for
$\mathit{i}=1,2,\dots ,{\mathbf{nconv}}$ (stored in
w). For eigenvalue,
${\lambda}_{j}$, the corresponding eigenvector is stored in
${\mathbf{v}}\left[\left(j1\right)\times {\mathbf{pdv}}+\mathit{i}1\right]$, for
$\mathit{i}=1,2,\dots ,n$.

14:
$\mathbf{pdv}$ – Integer
Input

On entry: the stride separating, in the array
v, the elements of a real eigenvector from the corresponding elements of the next eigenvector.
Constraint:
${\mathbf{pdv}}\ge {\mathbf{n}}$.

15:
$\mathbf{resid}\left[{\mathbf{nev}}\right]$ – double
Output

On exit: the residual ${\Vert A{w}_{\mathit{i}}{\lambda}_{\mathit{i}}{w}_{\mathit{i}}\Vert}_{2}$ for the estimates to the eigenpair ${\lambda}_{\mathit{i}}$ and ${w}_{\mathit{i}}$ is returned in ${\mathbf{resid}}\left[\mathit{i}1\right]$, for $\mathit{i}=1,2,\dots ,{\mathbf{nconv}}$.

16:
$\mathbf{comm}$ – Nag_Comm *

The NAG communication argument (see
Section 3.1.1 in the Introduction to the NAG Library CL Interface).

17:
$\mathbf{fail}$ – NagError *
Input/Output

The NAG error argument (see
Section 7 in the Introduction to the NAG Library CL Interface).
6
Error Indicators and Warnings
 NE_ALLOC_FAIL

Dynamic memory allocation failed.
See
Section 3.1.2 in the Introduction to the NAG Library CL Interface for further information.
 NE_BAD_PARAM

On entry, argument $\u2329\mathit{\text{value}}\u232a$ had an illegal value.
 NE_BOTH_ENDS_1

The option ${\mathbf{Both\; Ends}}$ has been set but only $1$ eigenvalue is requested.
 NE_INT

On entry, ${\mathbf{n}}=\u2329\mathit{\text{value}}\u232a$.
Constraint: ${\mathbf{n}}>0$.
On entry, ${\mathbf{nev}}=\u2329\mathit{\text{value}}\u232a$.
Constraint: ${\mathbf{nev}}>0$.
On entry, ${\mathbf{nnz}}=\u2329\mathit{\text{value}}\u232a$.
Constraint: ${\mathbf{nnz}}>0$.
 NE_INT_2

On entry, ${\mathbf{ncv}}=\u2329\mathit{\text{value}}\u232a$ and ${\mathbf{n}}=\u2329\mathit{\text{value}}\u232a$.
Constraint: ${\mathbf{ncv}}\le {\mathbf{n}}$.
On entry, ${\mathbf{ncv}}=\u2329\mathit{\text{value}}\u232a$ and ${\mathbf{nev}}=\u2329\mathit{\text{value}}\u232a$.
Constraint: ${\mathbf{ncv}}>{\mathbf{nev}}$.
On entry, ${\mathbf{nev}}=\u2329\mathit{\text{value}}\u232a$ and ${\mathbf{n}}=\u2329\mathit{\text{value}}\u232a$.
Constraint: ${\mathbf{nev}}<\left({\mathbf{n}}1\right)$.
On entry, ${\mathbf{nnz}}=\u2329\mathit{\text{value}}\u232a$ and ${\mathbf{n}}=\u2329\mathit{\text{value}}\u232a$.
Constraint: ${\mathbf{nnz}}\le {\mathbf{n}}\times \left({\mathbf{n}}+1\right)/2$.
On entry, ${\mathbf{pdv}}=\u2329\mathit{\text{value}}\u232a$ and ${\mathbf{n}}=\u2329\mathit{\text{value}}\u232a$.
Constraint: ${\mathbf{pdv}}\ge {\mathbf{n}}$.
 NE_INTERNAL_ERROR

An internal error has occurred in this function. Check the function call and any array sizes. If the call is correct then please contact
NAG for assistance.
See
Section 7.5 in the Introduction to the NAG Library CL Interface for further information.
A serious error, code
$\left(\u2329\mathit{\text{value}}\u232a,\u2329\mathit{\text{value}}\u232a\right)$, has occurred in an internal call. Check all function calls and array sizes. If the call is correct then please contact
NAG for assistance.
 NE_INVALID_OPTION

The maximum number of iterations, through the optional parameter ${\mathbf{Iteration\; Limit}}$, has been set to a nonpositive value.
 NE_NO_LICENCE

Your licence key may have expired or may not have been installed correctly.
See
Section 8 in the Introduction to the NAG Library CL Interface for further information.
 NE_SINGULAR

On entry, the matrix $\left(A\sigma I\right)$ is numerically singular and could not be inverted. Try perturbing the value of $\sigma $.
 NE_SPARSE_COL

On entry, for $i=\u2329\mathit{\text{value}}\u232a$, ${\mathbf{icol}}\left[i1\right]=\u2329\mathit{\text{value}}\u232a$, ${\mathbf{irow}}\left[i1\right]=\u2329\mathit{\text{value}}\u232a$.
Constraint: $1\le {\mathbf{icol}}\left[i1\right]\le {\mathbf{irow}}\left[i1\right]$.
 NE_SPARSE_ROW

On entry, for $i=\u2329\mathit{\text{value}}\u232a$, ${\mathbf{irow}}\left[i1\right]=\u2329\mathit{\text{value}}\u232a$.
Constraint: $1\le {\mathbf{irow}}\left[i1\right]\le {\mathbf{n}}$.
 NE_TOO_MANY_ITER

The maximum number of iterations has been reached.
The maximum number of iterations $\text{}=\u2329\mathit{\text{value}}\u232a$.
The number of converged eigenvalues $\text{}=\u2329\mathit{\text{value}}\u232a$.
See the function document for further details.
 NE_USER_STOP

User requested termination in
monit,
${\mathbf{istat}}=\u2329\mathit{\text{value}}\u232a$.
User requested termination in
option,
${\mathbf{istat}}=\u2329\mathit{\text{value}}\u232a$.
7
Accuracy
The relative accuracy of a Ritz value (eigenvalue approximation),
$\lambda $, is considered acceptable if its Ritz estimate
$\le {\mathbf{Tolerance}}\times \lambda $. The default value for
${\mathbf{Tolerance}}$ is the
machine precision given by
X02AJC. The Ritz estimates are available via the
monit function at each iteration in the Arnoldi process, or can be printed by setting option
${\mathbf{Print\; Level}}$ to a positive value.
8
Parallelism and Performance
f02fkc is threaded by NAG for parallel execution in multithreaded implementations of the NAG Library.
f02fkc makes calls to BLAS and/or LAPACK routines, which may be threaded within the vendor library used by this implementation. Consult the documentation for the vendor library for further information.
Please consult the
X06 Chapter Introduction for information on how to control and interrogate the OpenMP environment used within this function. Please also consult the
Users' Note for your implementation for any additional implementationspecific information.
f02fkc calls functions based on the ARPACK suite in
Chapter F12. These functions use an implicitly restarted Lanczos iterative method to converge to approximations to a set of required eigenvalues (see the
F12 Chapter Introduction).
In the default
${\mathbf{Regular}}$ mode, only matrixvector multiplications are performed using the sparse matrix
$A$ during the Lanczos process;
f11xec can be used to perform this task. Each iteration is therefore cheap computationally, relative to the alternative,
${\mathbf{Shifted\; Inverse}}$, mode described below. It is most efficient (i.e., the total number of iterations required is small) when the eigenvalues of largest magnitude are sought and these are distinct.
Although there is an option for returning the smallest eigenvalues using this mode (see ${\mathbf{Smallest\; Magnitude}}$ option), the number of iterations required for convergence will be far greater or the method may not converge at all. However, where convergence is achieved, ${\mathbf{Regular}}$ mode may still prove to be the most efficient since no inversions are required. Where smallest eigenvalues are sought and ${\mathbf{Regular}}$ mode is not suitable, or eigenvalues close to a given real value are sought, the ${\mathbf{Shifted\; Inverse}}$ mode should be used.
If the
${\mathbf{Shifted\; Inverse}}$ mode is used (via a call to
f12fdc in
option) then the matrix
$A\sigma I$ is used in linear system solves by the Lanczos process. This is first factorized internally using a direct sparse
$LD{L}^{\mathrm{T}}$ factorization under the assumption that the matrix is indefinite. If the factorization determines that the matrix is numerically singular then the function exits with an error. In this situation it is normally sufficient to perturb
$\sigma $ by a small amount and call
f02fkc again. After successful factorization, subsequent solves are performed by backsubstitution using the sparse factorization.
Finally, f02fkc transforms the eigenvectors. Each eigenvector $w$ is normalized so that ${\Vert w\Vert}_{2}=1$.
The monitoring function
monit provides some basic information on the convergence of the Lanczos iterations. Much greater levels of detail on the Lanczos process are available via option
${\mathbf{Print\; Level}}$. If this is set to a positive value then information will be printed, by default, to standard output. The destination of monitoring information can be changed using the
${\mathbf{Monitoring}}$ option.
9.1
Additional Licensor
The direct sparse factorization is performed by an implementation of HSL_MA97 (see
HSL (2011)).
10
Example
This example solves $Ax=\lambda x$ in ${\mathbf{Shifted\; Inverse}}$ mode, where $A$ is obtained from the standard central difference discretization of the onedimensional Laplacian operator $\frac{{\partial}^{2}u}{\partial {x}^{2}}$ on $\left[0,1\right]$, with zero Dirichlet boundary conditions.
10.1
Program Text
10.2
Program Data
10.3
Program Results
11
Optional Parameters
Internally
f02fkc calls functions from the suite
f12fac,
f12fbc,
f12fcc,
f12fdc and
f12fec. Several optional parameters for these computational functions define choices in the problem specification or the algorithm logic. In order to reduce the number of formal arguments of
f02fkc these optional parameters are also used here and have associated
default values that are usually appropriate. Therefore, you need only specify those optional parameters whose values are to be different from their default values.
Optional parameters may be specified via the usersupplied function
option in the call to
f02fkc.
option must be coded such that one call to
f12fdc is necessary to set each optional parameter. All optional parameters you do not specify are set to their default values.
The remainder of this section can be skipped if you wish to use the default values for all optional parameters.
The following is a list of the optional parameters available. A full description of each optional parameter is provided in
Section 11.1.
11.1
Description of the Optional Parameters
For each option, we give a summary line, a description of the optional parameter and details of constraints.
The summary line contains:
 the keywords, where the minimum abbreviation of each keyword is underlined;
 a parameter value,
where the letters $a$, $i$ and $r$ denote options that take character, integer and real values respectively;
 the default value, where the symbol $\epsilon $ is a generic notation for machine precision (see X02AJC).
Keywords and character values are case and white space insensitive.
Optional parameters used to specify files (e.g.,
${\mathbf{Advisory}}$ and
${\mathbf{Monitoring}}$) have type Integer. This Integer value corresponds with the Nag_FileID as returned by
x04acc. See
Section 10 for an example of the use of this facility.
Advisory   Default $\text{}=0$

(See
Section 3.1.1 in the Introduction to the NAG Library CL Interface for further information on NAG data types.)
If the optional parameter
${\mathbf{List}}$ is set then optional parameter specifications are listed in a
${\mathbf{List}}$ file by setting the option to a file identification (unit) number associated with advisory messages (see
x04acc).
This special keyword may be used to reset all optional parameters to their default values.
Iteration Limit  $i$ 
Default $\text{}=300$

The limit on the number of Lanczos iterations that can be performed before
f12fbc exits. If not all requested eigenvalues have converged to within
${\mathbf{Tolerance}}$ and the number of Lanczos iterations has reached this limit then
f12fbc exits with an error;
f12fcc can still be called subsequently to return the number of converged eigenvalues, the converged eigenvalues and, if requested, the corresponding eigenvectors.
Largest Magnitude   Default 
The Lanczos iterative method converges on a number of eigenvalues with given properties. The default is for
f12fbc to compute the eigenvalues of largest magnitude using
${\mathbf{Largest\; Magnitude}}$. Alternatively, eigenvalues may be chosen which have
${\mathbf{Largest\; Algebraic}}$ part,
${\mathbf{Smallest\; Magnitude}}$, or
${\mathbf{Smallest\; Algebraic}}$ part; or eigenvalues which are from
${\mathbf{Both\; Ends}}$ of the algebraic spectrum.
Optional parameter ${\mathbf{List}}$ enables printing of each optional parameter specification as it is supplied. ${\mathbf{Nolist}}$ suppresses this printing.
Monitoring   Default $\text{}=1$ 
(See
Section 3.1.1 in the Introduction to the NAG Library CL Interface for further information on NAG data types.)
Unless
${\mathbf{Monitoring}}$ is set to
$1$ (the default), monitoring information is output to Nag_FileID
${\mathbf{Monitoring}}$ during the solution of each problem; this may be the same as
${\mathbf{Advisory}}$. The type of information produced is dependent on the value of
${\mathbf{Print\; Level}}$, see the description of the optional parameter
${\mathbf{Print\; Level}}$ in this section for details of the information produced. Please see
x04acc to associate a file with a given Nag_FileID.
Print Level  $i$  Default $\text{}=0$ 
This controls the amount of printing produced by
f02fkc as follows.
$=0$ 
No output except error messages. If you want to suppress all output, set ${\mathbf{Print\; Level}}=0$. 
$>0$ 
The set of selected options. 
$=2$ 
Problem and timing statistics on final exit from f12fbc. 
$\ge 5$ 
A single line of summary output at each Lanczos iteration. 
$\ge 10$ 
If
${\mathbf{Monitoring}}$ is set, then at each iteration, the length and additional steps of the current Lanczos factorization and the number of converged Ritz values; during reorthogonalization, the norm of initial/restarted starting vector; on a final Lanczos iteration, the number of update iterations taken, the number of converged eigenvalues, the converged eigenvalues and their Ritz estimates. 
$\ge 20$ 
Problem and timing statistics on final exit from f12fbc. If
${\mathbf{Monitoring}}$ is set,
then at each iteration, the number of shifts being applied, the eigenvalues and estimates of the symmetric tridiagonal matrix $H$, the size of the Lanczos basis, the wanted Ritz values and associated Ritz estimates and the shifts applied; vector norms prior to and following reorthogonalization. 
$\ge 30$ 
If
${\mathbf{Monitoring}}$ is set,
then on final iteration, the norm of the residual; when computing the Schur form, the eigenvalues and Ritz estimates both before and after sorting; for each iteration, the norm of residual for compressed factorization and the symmetric tridiagonal matrix $H$; during reorthogonalization, the initial/restarted starting vector; during the Lanczos iteration loop, a restart is flagged and the number of the residual requiring iterative refinement; while applying shifts, some indices. 
$\ge 40$ 
If
${\mathbf{Monitoring}}$ is set,
then during the Lanczos iteration loop, the Lanczos vector number and norm of the current residual; while applying shifts, key measures of progress and the order of $H$; while computing eigenvalues of $H$, the last rows of the Schur and eigenvector matrices; when computing implicit shifts, the eigenvalues and Ritz estimates of $H$. 
$\ge 50$ 
If ${\mathbf{Monitoring}}$ is set, then during Lanczos iteration loop: norms of key components and the active column of $H$, norms of residuals during iterative refinement, the final symmetric tridiagonal matrix $H$; while applying shifts: number of shifts, shift values, block indices, updated tridiagonal matrix $H$; while computing eigenvalues of $H$: the diagonals of $H$, the computed eigenvalues and Ritz estimates. 
Note that setting ${\mathbf{Print\; Level}}\ge 30$ can result in very lengthy ${\mathbf{Monitoring}}$ output.
These options define the computational mode which in turn defines the form of operation $\mathrm{OP}\left(x\right)$ to be performed.
${\mathbf{Regular}}$ 
$\mathrm{OP}=A$ 
${\mathbf{Shifted\; Inverse}}$ 
$\mathrm{OP}={\left(A\sigma I\right)}^{1}$ where $\sigma $ is real 
${\mathbf{Regular\; Inverse}}$ 
$\mathrm{OP}={A}^{1}$ 
Tolerance  $r$ 
Default $\text{}=\epsilon $

An approximate eigenvalue has deemed to have converged when the corresponding Ritz estimate is within ${\mathbf{Tolerance}}$ relative to the magnitude of the eigenvalue.