nag_sparse_sym_basic_diagnostic (f11gfc) (PDF version)
f11 Chapter Contents
f11 Chapter Introduction
NAG C Library Manual

NAG Library Function Document

nag_sparse_sym_basic_diagnostic (f11gfc)

+ Contents

    1  Purpose
    7  Accuracy
    9  Example

1  Purpose

nag_sparse_sym_basic_diagnostic (f11gfc) is the third in a suite of three functions for the iterative solution of a symmetric system of simultaneous linear equations (see Golub and Van Loan (1996)). nag_sparse_sym_basic_diagnostic (f11gfc) returns information about the computations during an iteration and/or after this has been completed. The first function of the suite, nag_sparse_sym_basic_setup (f11gdc), is a setup function, the second function, nag_sparse_sym_basic_solver (f11gec) is the proper iterative solver.
These three functions are suitable for the solution of large sparse symmetric systems of equations.

2  Specification

#include <nag.h>
#include <nagf11.h>
void  nag_sparse_sym_basic_diagnostic (Integer *itn, double *stplhs, double *stprhs, double *anorm, double *sigmax, Integer *its, double *sigerr, const double work[], Integer lwork, NagError *fail)

3  Description

nag_sparse_sym_basic_diagnostic (f11gfc) returns information about the solution process. It can be called both during a monitoring step of the solver nag_sparse_sym_basic_solver (f11gec), or after this solver has completed its tasks. Calling nag_sparse_sym_basic_diagnostic (f11gfc) at any other time will result in an error condition being raised.
For further information you should read the documentation for nag_sparse_sym_basic_setup (f11gdc) and nag_sparse_sym_basic_solver (f11gec).

4  References

Golub G H and Van Loan C F (1996) Matrix Computations (3rd Edition) Johns Hopkins University Press, Baltimore

5  Arguments

1:     itnInteger *Output
On exit: the number of iterations carried out by nag_sparse_sym_basic_solver (f11gec).
2:     stplhsdouble *Output
On exit: the current value of the left-hand side of the termination criterion used by nag_sparse_sym_basic_solver (f11gec).
3:     stprhsdouble *Output
On exit: the current value of the right-hand side of the termination criterion used by nag_sparse_sym_basic_solver (f11gec).
4:     anormdouble *Output
On exit: for CG and SYMMQ methods, the norm A1=A when either it has been supplied to nag_sparse_sym_basic_setup (f11gdc) or it has been estimated by nag_sparse_sym_basic_solver (f11gec) (see also Sections 3 and 5 in nag_sparse_sym_basic_setup (f11gdc)). Otherwise, anorm=0.0 is returned.
For MINRES method, an estimate of the infinity norm of the preconditioned matrix operator.
5:     sigmaxdouble *Output
On exit: for CG and SYMMQ methods, the current estimate of the largest singular value σ1A- of the preconditioned iteration matrix A-=E-1AE-T, when either it has been supplied to nag_sparse_sym_basic_setup (f11gdc) or it has been estimated by nag_sparse_sym_basic_solver (f11gec) (see also Sections 3 and 5 in nag_sparse_sym_basic_setup (f11gdc)). Note that if its<itn then sigmax contains the final estimate. If, on final exit from nag_sparse_sym_basic_solver (f11gec), its=itn, then the estimation of σ1A- may have not converged; in this case you should look at the value returned in sigerr. Otherwise, sigmax=0.0 is returned.
For MINRES method, an estimate of the final transformed residual.
6:     itsInteger *Output
On exit: for CG and SYMMQ methods, the number of iterations employed so far in the computation of the estimate of σ1A-, the largest singular value of the preconditioned matrix A-=E-1AE-T, when σ1A- has been estimated by nag_sparse_sym_basic_solver (f11gec) using the bisection method (see also Sections 3, 5 and 8 in nag_sparse_sym_basic_setup (f11gdc)). Otherwise, its=0 is returned.
7:     sigerrdouble *Output
On exit: for CG and SYMMQ methods, if σ1A- has been estimated by nag_sparse_sym_basic_solver (f11gec) using bisection,
sigerr=maxσ1k-σ1k-1σ1k,σ1k-σ1k-2σ1k ,
where k=its denotes the iteration number. The estimation has converged if sigerrsigtol where sigtol is an input argument to nag_sparse_sym_basic_setup (f11gdc). Otherwise, sigerr=0.0 is returned.
For MINRES method, an estimate of the condition number of the preconditioned matrix.
8:     work[lwork]const doubleCommunication Array
On entry: the array work as returned by nag_sparse_sym_basic_solver (f11gec) (see also Section 3 in nag_sparse_sym_basic_solver (f11gec)).
9:     lworkIntegerInput
On entry: the dimension of the array work (see also Section 5 in nag_sparse_sym_basic_setup (f11gdc)).
Constraint: lwork120.
Note:  although the minimum value of lwork ensures the correct functioning of nag_sparse_sym_basic_diagnostic (f11gfc), a larger value is required by the iterative solver nag_sparse_sym_basic_solver (f11gec) (see also Section 5 in nag_sparse_sym_basic_setup (f11gdc)).
10:   failNagError *Input/Output
The NAG error argument (see Section 3.6 in the Essential Introduction).

6  Error Indicators and Warnings

NE_BAD_PARAM
On entry, argument number value had an illegal value.
On entry, argument value had an illegal value.
NE_INT
On entry, lwork=value.
Constraint: lwork120.
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.
NE_OUT_OF_SEQUENCE
nag_sparse_sym_basic_diagnostic (f11gfc) has been called out of sequence.

7  Accuracy

Not applicable.

8  Further Comments

None.

9  Example

See Section 9 in nag_sparse_sym_basic_setup (f11gdc).

nag_sparse_sym_basic_diagnostic (f11gfc) (PDF version)
f11 Chapter Contents
f11 Chapter Introduction
NAG C Library Manual

© The Numerical Algorithms Group Ltd, Oxford, UK. 2012