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

1060 HP MLIB User’s Guide
DSEVRC Return eigenvalue/eigenvector results
norder is the matrix order as specified in the call to
DSEVIN.
Updated global Global communications array for this problem. This
array must be passed, untouched by the user, to
successive subroutines in this package.
Output evalue List of selected eigenvalues.
evectr Corresponding array of eigenvectors. Each eigenvector
is normalized such that
ier Status response:
ier = 0 Normal return.
ier = 800 Incorrect processing path.
ier = 801 levalu not large enough.
ier = 802 ldevct smaller than order of problem.
ier = 803 System error.
ier = 804 Error in input, indices out of range.
Example 1 Retrieve all of the final trust-region eigenvalues and eigenvectors.
INTEGER*4 NEVALS,LDEVCT,NFOUND,IER
REAL*8 EVALUE(100),EVECTR(10000,100),GLOBAL(150)
NEVALS = 100
LDEVCT = 1000
CALL DSEVRC (NEVALS,EVALUE,1,NFOUND,EVECTR,LDEVCT,GLOBAL,
IER)
IF ( IER .NE. 0 ) THEN
handle error condition
ENDIF
Example 2 Retrieve all of the confirmed eigenvalues and the first three discarded
eigenvalues, which lie in a cluster with the last confirmed eigenvalue and the
corresponding eigenvectors.
INTEGER*4 NEVALS,IER
REAL*8 EVALUE(55),EVECTR(10000,100),GLOBAL(150)
NEVALS = 55
LDEVCT = 10000
CALL DSEVRC (NEVALS,EVALUE,1,-3,EVECTR,LDEVCT,GLOBAL,IER)
IF ( IER .NE. 0 ) THEN
handle error condition
ENDIF
x
T
Bx = x
T
Mx =1
(vibration)
x
T
Ax = x
T
Kx =1
(buckling)
x
T
x =1
(ordinary)