HP MLIB User's Guide Vol. 2 7th Ed.

1018 HP MLIB User’s Guide
DSEVCK Check accuracy of results
Name DSEVCK
Check accuracy of results
Purpose This subprogram performs an a posteriori check on the accuracy of the
computed eigenvalues and eigenvectors. The eigenvectors should satisfy the
following pairs of equations:
The subroutine computes the relevant matrix-matrix products to confirm that
these equations hold to a reasonable numerical accuracy.
Usage VECLIB:
INTEGER*4 ier
LOGICAL*4 nodscd, ortwrn
REAL*8 discrp, global(150)
CALL DSEVCK(nodscd, ortwrn, discrp, global, ier)
VECLIB8:
INTEGER*8 ier
LOGICAL*4 nodscd, ortwrn
REAL*8 discrp, global(150)
CALL DSEVCK(nodscd, ortwrn, discrp, global, ier)
Input nodscd If .TRUE., check only the eigenpairs whose eigenvalues
are confirmed to lie in the single final trust region. If
FALSE., check all of the computed eigenpairs,
including those from ’discardable’ eigenvalues.
Updated global Global communications array for this problem. This
array must be passed, untouched by the user, to
successive subroutines in this package.
Output ortwrn If .TRUE., the maximum relative discrepancy detected
by checking the validity of these equations exceeded
what was expected for the accuracy tolerance used in
the eigenextraction.
discrp Maximum relative discrepancy detected.
ier Status response:
X
T
KX = diag({λ
i
}),
X
T
MX = I
(vibration)
X
T
K
δ
X = diag({1/λ
i
}),
X
T
KX = I
(buckling)
X
T
AX = diag({λ
i
}),
X
T
X = I
(ordinary)