340 lines
16 KiB
Plaintext
340 lines
16 KiB
Plaintext
ARPACK provides a means to trace the progress of the computation
|
|
as it proceeds. Various levels of output may be specified
|
|
from no output, level = 0, to voluminous, level = 3.
|
|
The following statements may be used within the calling program to
|
|
initiate and request this output.
|
|
|
|
include 'debug.h'
|
|
ndigit = -3
|
|
logfil = 6
|
|
msgets = 0
|
|
msaitr = 0
|
|
msapps = 0
|
|
msaupd = 1
|
|
msaup2 = 0
|
|
mseigt = 0
|
|
mseupd = 0
|
|
|
|
The 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 following output 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 include statement sets up the storage declarations that are
|
|
solely associated with this trace debugging feature. "debug.h"
|
|
has the following structure:
|
|
|
|
---------------------------------------------------------------------
|
|
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
|
|
---------------------------------------------------------------------
|
|
|
|
|
|
The parameters "msaupd, msaup2, msaitr, mseigt, msapps, msgets, mseupd"
|
|
are for the symmetric codes, while
|
|
"mnaupd, mnaup2, mnaitr, mneigh, mnapps, mngets, mneupd" are for the
|
|
nonsymmetric codes and, finally,
|
|
"mcaupd, mcaup2, mcaitr, mceigh, mcapps, mcgets, mceupd" are for the complex
|
|
arithmetic codes. A comprehensive break down of each parameter is given
|
|
below.
|
|
|
|
==========================================================
|
|
=== Common to symmetric, nonsymmetric and complex code ===
|
|
==========================================================
|
|
|
|
|
|
logfil: unit number where the logfile (debug) is written
|
|
|
|
ndigit: number of digits used in the debug output
|
|
ndigit < 0: printing is done with 72 columns.
|
|
ndigit > 0: printing is done with 132 columns.
|
|
|
|
mgetv0 > 0: print residual vector generated.
|
|
|
|
======================================
|
|
=== Specific to the symmetric code ===
|
|
======================================
|
|
|
|
msaupd > 0: *Print the number of iterations taken,
|
|
number of "converged" eigenvalues,
|
|
final Ritz values and corresponding Ritz estimates.
|
|
*Print various timing statistics.
|
|
|
|
msaup2 > 0: *Print major iteration number,
|
|
number of "converged" Ritz values on exit,
|
|
B-norm of the residual vector of length NCV factorization,
|
|
B-norm of the residual vector of length NEV factorization,
|
|
residual norm before exit,
|
|
Ritz values and corresponding Ritz estimates before exit.
|
|
msaup2 > 1: print number of unreduced submatrices,
|
|
Ritz values and corresponding Ritz estimates of the current
|
|
T matrix, actual values for NEV and NP,
|
|
wanted Ritz values and corresponding Ritz estimates,
|
|
shifts selected.
|
|
msaup2 > 2: print "unwanted" Ritz values and corresponding Ritz
|
|
estimates, order NCV matrix T (diagonal and off-diagonal),
|
|
unwanted Ritz values and error bounds.
|
|
|
|
msaitr > 0: print iteration number, residual norm, restart info
|
|
print if an off diagonal element of T became negative.
|
|
msaitr > 1: print the final matrix T.
|
|
msaitr > 2: print Arnoldi vector no. generate at iteration j,
|
|
b-norm of residual vector at each iteration,
|
|
print rnorm and rnorm1 for iterative refinement,
|
|
print wnorm and rnorm used for Re-orthogonalization,
|
|
V^T * B * (resid/B-norm(resid)),
|
|
print the results of whether the current residual vector is
|
|
orthogonal to the current Lanczos basis.
|
|
msaitr > 3: print the matrix T at each iteration.
|
|
print the residual vector and arnoldi vectors.
|
|
|
|
mseigt > 0: print the current matrix T.
|
|
|
|
msgets > 0: print NEV and NP,
|
|
eigenvalues of and corresponding Ritz estimates of the
|
|
current T matrix.
|
|
|
|
msapps > 0: print information about deflation at row/column no.
|
|
msapps > 1: print initial matrix T
|
|
print sigmak, betak and matrix T after all shifts
|
|
msapps > 2: print the matrix T after the application of each shift.
|
|
msapps > 3: updated residual for next iteration.
|
|
|
|
mseupd > 1: print eigenvalues of the final T matrix,
|
|
the last row of the eigenvector matrix for T,
|
|
if reordered, reordered last row of the eigenvector matrix,
|
|
reordered NCV Ritz values of the final T matrix,
|
|
if type = 'REGULAR', untransformed "converged" Ritz values
|
|
and corresponding Ritz estimates,
|
|
NCV Ritz values of the final T matrix,
|
|
last row of the eigenvector matrix for T,
|
|
if reordered, reordered last row of the eigenvector matrix,
|
|
reordered NCV Ritz values of the final T.
|
|
|
|
mseupd > 2: print the matrix T.
|
|
|
|
=========================================
|
|
=== Specific to the nonsymmetric code ===
|
|
=========================================
|
|
|
|
mnaupd > 0: *Print the number of iterations taken,
|
|
number of "converged" eigenvalues,
|
|
real and imaginary parts of the converged Ritz values
|
|
and their corresponding Ritz estimates,
|
|
*Print various timing statistics.
|
|
|
|
mnaup2 > 0: *Print major iteration number.
|
|
*Print the number of "converged" Ritz values on exit,
|
|
and the real and imaginary parts of the "converged" Ritz
|
|
values and corresponding Ritz estimates.
|
|
mnaup2 > 1: *Print the length of the Arnoldi Factorization,
|
|
and the B-norm of its residual vector.
|
|
*Print NEV and NP, real and imaginary parts of the "wanted"
|
|
Ritz values and associated Ritz estimates at each
|
|
iteration.
|
|
*Print the B-norm of the residual of the compressed
|
|
factorization and the compressed upper Hessenberg matrix H.
|
|
mnaup2 > 2: *Print the real and imaginary parts of all the Ritz values
|
|
and associated Ritz estimates, NEV, NP, NUMCNV, NCONV.
|
|
*Print the real and imaginary parts of the shifts. If the
|
|
exact shift strategy is used, print the associated Ritz
|
|
estimates of the shifts.
|
|
*Print the real and imaginary parts of the Ritz values
|
|
and the corresponding Ritz estimates obtained from _neigh.
|
|
|
|
mnaitr > 0: *Print if a restart is needed.
|
|
mnaitr > 1: *Print the number of Arnoldi vector being generated and
|
|
the B-norm of the current residual.
|
|
mnaitr > 2: *Print j-th column of the Hessenberg matrix H.
|
|
*Print reorthogonalization and iterative refinement information,
|
|
*Print the final upper Hessenberg matrix of order K+NEV.
|
|
mnaitr > 3: *Print V^T*B*resid/(B-norm(resid)).
|
|
mnaitr > 4: *Print current upper Hessenberg matrix.
|
|
mnaitr > 5: *Print updated arnoldi vectors and the residual vector.
|
|
|
|
mneigh > 1: *Print the last row of the Schur matrix for H, and
|
|
the last row of the eigenvector matrix for H.
|
|
mneigh > 2: *Print the entering upper Hessenberg matrix.
|
|
*Print the real and imaginary part of eigenvalues
|
|
of the current Hessenberg matrix, and associated
|
|
Ritz estimates.
|
|
|
|
mngets > 0: *Print the real and imaginary parts of the Ritz values
|
|
of the Hessenberg matrix and their the corresponding
|
|
error bounds, KEV, NP.
|
|
|
|
mnapps > 0: *Print information about where deflation occurred.
|
|
mnapps > 1: *Print sigmak, betak, order of the final Hessenberg matrix,
|
|
and the final compressed upper Hessenberg matrix.
|
|
mnapps > 2: *Print implicit application of shift number, real and imaginary
|
|
part of the shift.
|
|
*Print the indices of the submatrix that the shift is applied.
|
|
mnapps > 3: *Print the matrix H before and after the application of
|
|
each shift, updated residual for next iteration.
|
|
mnapps > 4: *Print the accumulated orthogonal Hessenberg matrix Q,
|
|
updated matrix of Arnoldi vectors.
|
|
|
|
mneupd > 0: *Print the number of converged Ritz values, B-norm of the
|
|
residual, all NCV Ritz values and error bounds.
|
|
mneupd > 1: *Print the final upper Hessenberg matrix computed by _naupd.
|
|
*If Ritz vectors are requested, print real and imaginary parts
|
|
of the eigenvalues and the last row of the Schur vectors as
|
|
computed by _neupd.
|
|
mneupd > 2: *If Ritz vectors are requested, print the threshold eigenvalue
|
|
used for re-ordering.
|
|
*If Ritz vectors are requested, print the number of eigenvalues
|
|
to reorder and the number of converged Ritz values.
|
|
*If Ritz vectors are requested, print the upper quasi-matrix
|
|
computed by _neupd.
|
|
*If Ritz vectors are requested, print the real and imaginary
|
|
part of the Ritz values.
|
|
*If Ritz vectors are requested, print the last row of the
|
|
eigenvector matrix.
|
|
*Print the NCV Ritz estimates in the original system.
|
|
mneupd > 3: *Print the integer array of pointers.
|
|
*If Ritz vectors are requested, print the eigenvector matrix.
|
|
*If Ritz vectors are requested, print the reordered upper
|
|
quasi-triangular matrix.
|
|
mneupd > 4: *If Ritz vectors are requested, print the Q matrix of the QR
|
|
factorization of the matrix representing the wanted invariant
|
|
subspace.
|
|
*If Ritz vectors are requested, print the Schur vectors.
|
|
*If Ritz vectors are requested, print the reordered Schur vectors.
|
|
|
|
|
|
====================================
|
|
=== Specific to the complex code ===
|
|
====================================
|
|
|
|
mcaupd > 0: *Print the number of iterations taken,
|
|
number of "converged" eigenvalues, the converged Ritz values
|
|
and their corresponding Ritz estimates,
|
|
*Print various timing statistics.
|
|
|
|
mcaup2 > 0: *Print major iteration number.
|
|
*Print the number of "converged" Ritz values on exit, and the
|
|
"converged" Ritz values and corresponding Ritz estimates.
|
|
mcaup2 > 1: *Print the length of the Arnoldi Factorization,
|
|
and the B-norm of its residual vector.
|
|
*Print NEV and NP, the "wanted" Ritz values and associated Ritz
|
|
estimates at each iteration.
|
|
*Print the B-norm of the residual of the compressed
|
|
factorization and the compressed upper Hessenberg matrix H.
|
|
mcaup2 > 2: *Print the all the Ritz values and associated Ritz estimates,
|
|
NEV, NP, NUMCNV, NCONV.
|
|
*Print the shifts. If the exact shift strategy is used, print the
|
|
associated Ritz estimates of the shifts.
|
|
*Print the Ritz values and the corresponding Ritz estimates obtained
|
|
from _neigh.
|
|
|
|
mcaitr > 0: *Print if a restart is needed.
|
|
mcaitr > 1: *Print the number of Arnoldi vector being generated and
|
|
the B-norm of the current residual.
|
|
mcaitr > 2: *Print j-th column of the Hessenberg matrix H.
|
|
*Print reorthogonalization and iterative refinement information,
|
|
*Print the final upper Hessenberg matrix of order K+NEV.
|
|
mcaitr > 3: *Print V^T*B*resid/(B-norm(resid)).
|
|
mcaitr > 4: *Print current upper Hessenberg matrix.
|
|
mcaitr > 5: *Print updated Arnoldi vectors and the residual vector.
|
|
|
|
mceigh > 1: *Print the last row of the Schur matrix for H, and
|
|
the last row of the eigenvector matrix for H.
|
|
mceigh > 2: *Print the entering upper Hessenberg matrix.
|
|
*Print the eigenvalues of the current Hessenberg matrix, and
|
|
associated Ritz estimates.
|
|
|
|
mcgets > 0: *Print the real and imaginary parts of the Ritz values
|
|
of the Hessenberg matrix and their the corresponding
|
|
error bounds, KEV, NP.
|
|
|
|
mcapps > 0: *Print information about where deflation occurred.
|
|
mcapps > 1: *Print sigmak, betak, order of the final Hessenberg matrix,
|
|
and the final compressed upper Hessenberg matrix.
|
|
mcapps > 2: *Print implicit application of shift number, the shift.
|
|
*Print the indices of the submatrix that the shift is applied.
|
|
mcapps > 3: *Print the matrix H before and after the application of
|
|
each shift, updated residual for next iteration.
|
|
mcapps > 4: *Print the accumulated unitary Hessenberg matrix Q, and the
|
|
updated matrix of Arnoldi vectors.
|
|
|
|
mceupd > 0: *Print the number of converged Ritz values, B-norm of the
|
|
residual, all NCV Ritz values and error bounds.
|
|
mceupd > 1: *Print the final upper Hessenberg matrix computed by _naupd.
|
|
*If Ritz vectors are requested, print the eigenvalues and the
|
|
last row of the Schur vectors as computed by _neupd.
|
|
mceupd > 2: *If Ritz vectors are requested, print the threshold eigenvalue
|
|
used for re-ordering.
|
|
*If Ritz vectors are requested, print the number of eigenvalues
|
|
to reorder and the number of converged Ritz values.
|
|
*If Ritz vectors are requested, print the upper quasi-matrix
|
|
computed by _neupd.
|
|
*If Ritz vectors are requested, print the Ritz values.
|
|
*If Ritz vectors are requested, print the last row of the
|
|
eigenvector matrix.
|
|
*Print the NCV Ritz estimates in the original system.
|
|
mceupd > 3: *Print the integer array of pointers.
|
|
*If Ritz vectors are requested, print the eigenvector matrix.
|
|
mceupd > 4: *If Ritz vectors are requested, print the Q matrix of the QR
|
|
factorization of the matrix representing the wanted invariant
|
|
subspace.
|
|
*If Ritz vectors are requested, print the Schur vectors.
|
|
|
|
|
|
|