include 'debug.h' ndigit = -3 logfil = 6 msgets = 0 msaitr = 0 msapps = 0 msaupd = 1 msaup2 = 0 mseigt = 0 mseupd = 0The parameter logfil specifies the logical unit number of the output file. The parameter ndigit specifies the number of decimal digits and the width of the output lines. A positive value of ndigit specifies that 132 columns are used during output and a negative value specifies eighty columns are to be used. The values of the remaining parameters indicate the output levels from the indicated routines.
For the above example, msaitr indicates the level of output requested for the subroutine ssaitr or dsaitr. The above configuration will give a breakdown of the number of matrix vector products required, the total number of iterations, the number of re-orthogonalization steps and an estimate of the time spent in each routine and phase of the computation. The output displayed by Figure B.1 is produced.
========================================== = Symmetric implicit Arnoldi update code = = Version Number: 2.1 = = Version Date: 11/15/95 = ========================================== = Summary of timing statistics = ========================================== Total number update iterations = 8 Total number of OP*x operations = 125 Total number of B*x operations = 0 Total number of reorthogonalization steps = 125 Total number of iterative refinement steps = 0 Total number of restart steps = 0 Total time in user OP*x operation = 0.020002 Total time in user B*x operation = 0.000000 Total time in Arnoldi update routine = 0.210021 Total time in ssaup2 routine = 0.190019 Total time in basic Arnoldi iteration loop = 0.110011 Total time in reorthogonalization phase = 0.070007 Total time in (re)start vector generation = 0.000000 Total time in trid eigenvalue subproblem = 0.040004 Total time in getting the shifts = 0.000000 Total time in applying the shifts = 0.040004 Total time in convergence testing = 0.000000 |
The user is encouraged to experiment with the other settings once some familiarity has been gained with the routines. The sample drivers discussed in Chapter 2 use the trace debugging capability.
The include statement sets up the storage declarations that are solely associated with this trace debugging feature. The structure of debug.h is displayed in Figure B.2. The parameters on the line starting with msaupd are for the symmetric codes, while the next two lines are for the nonsymmetric and complex arithmetic codes, respectively. A comprehensive break down of each parameter is listed in Table B.1.
c c\SCCS Information: @(#) c FILE: debug.h SID: 2.3 DATE OF SID: 11/16/95 RELEASE: 2 c c %---------------------------------% c | See debug.doc for documentation | c %---------------------------------% integer logfil, ndigit, mgetv0, & msaupd, msaup2, msaitr, mseigt, msapps, msgets, & mseupd, mnaupd, mnaup2, mnaitr, mneigh, mnapps, & mngets, mneupd, mcaupd, mcaup2, mcaitr, mceigh, & mcapps, mcgets, mceupd common /debug/ & logfil, ndigit, mgetv0, & msaupd, msaup2, msaitr, mseigt, msapps, msgets, & mseupd, mnaupd, mnaup2, mnaitr, mneigh, mnapps, & mngets, mneupd, mcaupd, mcaup2, mcaitr, mceigh, & mcapps, mcgets, mceupd |
1|cRoutine | 1cLevel | 1c|Description |
mYaupd | 1 | Print the total number of iterations taken, the number |
of converged Ritz values, the Ritz values and corres- | ||
ponding Ritz estimates, and various timing statistics. | ||
mYaup2 | 1 | Print the current iteration and the number of converged |
Ritz values. Upon exit, print the number of converged | ||
Ritz values, the Ritz values and estimates. | ||
2 | Print the length of the Arnoldi extended factorization, | |
the norm of its residual vector. Print NEV and NP, | ||
the Ritz values and estimates at each iteration. | ||
3 | Print the real and imaginary parts of all the Ritz | |
values and associated Ritz estimates, NEV, NP, NUMCNV, | ||
NCONV. Print the shifts. If the exact shift strategy is | ||
used, also print the associated Ritz estimates of the | ||
shifts. Print the norm of the residual of the | ||
compressed factorization and the compressed upper | ||
Hessenberg matrix. | ||
mYaitr | 1 | Notification of a restart. |
2 | Print the number of Arnoldi vector being generated and | |
the norm of the current residual. | ||
3 | Print the columns of the Hessenberg matrix as | |
they are generated, reorthogonalization and iterative | ||
refinement information, the final upper Hessenberg | ||
matrix of order K+NEV, and | ||
mYeigh | 2 | Print the last row of the Schur matrix for , and the |
last row of the eigenvector matrix for | ||
3 | Print the initial upper Hessenberg matrix, the computed | |
eigenvalues associated Ritz estimates. | ||
mYapps | 1 | Print information about where deflation occurred. |
2 | Print sigmak, betak, order of the final Hessenberg | |
matrix, and the final compressed upper Hessenberg | ||
matrix. | ||
3 | Print implicit application of shift number, real and | |
imaginary part of the shift, and the indices of the | ||
submatrix that the shift is applied. | ||
mYeupd | 2 | Print the NCV eigenvalues. Print the final |
set of converged Ritz values. | ||
3 | Print the reordered eigenvalues. |