NAG C Library Function Document

nag_real_symm_sparse_eigensystem_monit (f12fec)

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, then the option setting function nag_real_symm_sparse_eigensystem_option (f12fdc) need not be called. If, however, you wish to reset some or all of the settings please refer to Section 11 in nag_real_symm_sparse_eigensystem_option (f12fdc) for a detailed description of the specification of the optional parameters.

1
Purpose

nag_real_symm_sparse_eigensystem_monit (f12fec) can be used to return additional monitoring information during computation. It is in a suite of functions which includes nag_real_symm_sparse_eigensystem_init (f12fac), nag_real_symm_sparse_eigensystem_iter (f12fbc), nag_real_symm_sparse_eigensystem_sol (f12fcc) and nag_real_symm_sparse_eigensystem_option (f12fdc).

2
Specification

#include <nag.h>
#include <nagf12.h>
void  nag_real_symm_sparse_eigensystem_monit (Integer *niter, Integer *nconv, double ritz[], double rzest[], const Integer icomm[], const double comm[])

3
Description

The suite of functions is designed to calculate some of the eigenvalues, λ , (and optionally the corresponding eigenvectors, x ) of a standard eigenvalue problem Ax = λx , or of a generalized eigenvalue problem Ax = λBx  of order n , where n  is large and the coefficient matrices A  and B  are sparse, real and symmetric. The suite can also be used to find selected eigenvalues/eigenvectors of smaller scale dense, real and symmetric problems.
On an intermediate exit from nag_real_symm_sparse_eigensystem_iter (f12fbc) with irevcm = 4 , nag_real_symm_sparse_eigensystem_monit (f12fec) may be called to return monitoring information on the progress of the Arnoldi iterative process. The information returned by nag_real_symm_sparse_eigensystem_monit (f12fec) 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.
nag_real_symm_sparse_eigensystem_monit (f12fec) does not have an equivalent function from the ARPACK package which prints various levels of detail of monitoring information through an output channel controlled via an argument value (see Lehoucq et al. (1998) for details of ARPACK routines). nag_real_symm_sparse_eigensystem_monit (f12fec) should not be called at any time other than immediately following an irevcm = 4  return from nag_real_symm_sparse_eigensystem_iter (f12fbc).

4
References

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
Arguments

1:     niter Integer *Output
On exit: the number of the current Arnoldi iteration.
2:     nconv Integer *Output
On exit: the number of converged eigenvalues so far.
3:     ritz[dim] doubleOutput
Note: the dimension, dim, of the array ritz must be at least ncv (see nag_real_symm_sparse_eigensystem_init (f12fac)).
On exit: the first nconv locations of the array ritz contain the real converged approximate eigenvalues.
4:     rzest[dim] doubleOutput
Note: the dimension, dim, of the array rzest must be at least ncv (see nag_real_symm_sparse_eigensystem_init (f12fac)).
On exit: the first nconv locations of the array rzest contain the Ritz estimates (error bounds) on the real nconv converged approximate eigenvalues.
5:     icomm[dim] const IntegerCommunication Array
Note: the dimension, dim, of the array icomm must be at least max1,licomm, where licomm is passed to the setup function  (see nag_real_symm_sparse_eigensystem_init (f12fac)).
On entry: the array icomm output by the preceding call to nag_real_symm_sparse_eigensystem_iter (f12fbc).
6:     comm[dim] const doubleCommunication Array
Note: the dimension, dim, of the array comm must be at least max1,lcomm, where lcomm is passed to the setup function  (see nag_real_symm_sparse_eigensystem_init (f12fac)).
On entry: the array comm output by the preceding call to nag_real_symm_sparse_eigensystem_iter (f12fbc).

6
Error Indicators and Warnings

None.

7
Accuracy

A Ritz value, λ , is deemed to have converged if its Ritz estimate Tolerance × λ . The default Tolerance used is the machine precision given by nag_machine_precision (X02AJC).

8
Parallelism and Performance

nag_real_symm_sparse_eigensystem_monit (f12fec) is not threaded in any implementation.

9
Further Comments

None.

10
Example

This example solves Kx = λKGx  using the Buckling option (see nag_real_symm_sparse_eigensystem_option (f12fdc), where K  and KG  are obtained by the finite element method applied to the one-dimensional discrete Laplacian operator 2u x2  on 0,1 , with zero Dirichlet boundary conditions using piecewise linear elements. The shift, σ , is a real number, and the operator used in the Buckling iterative process is OP = invK - σKG × K  and B = K .

10.1
Program Text

Program Text (f12fece.c)

10.2
Program Data

Program Data (f12fece.d)

10.3
Program Results

Program Results (f12fece.r)