HP MLIB User's Guide Vol. 2 7th Ed.
Chapter 15 Sparse Eigenvalues and Eigenvectors 1035
Eigenextraction DSEVES
Example 1 Compute the lowest 10 eigenvalues of a structural engineering vibration
analysis, where matrix A is the stiffness matrix K, matrix B is the mass matrix
M, and matrices K and M are positive definite or semi definite.
INTEGER*4 NFOUND,NDISCD,IER,WARNNG
CALL DSEVES (10,’LOWEST’,’VIBRATION’,.FALSE.,-1.0D30,
.FALSE,.1.0D30,1.0D30,NFOUND,NDISCD,GLOBAL,IER,
WARNNG)
IF ( IER .NE. 0 ) THEN
handle error condition
ENDIF
IF ( IER .GE. 0 ) THEN
retrieve eigenvalues and/or eigenvectors
ENDIF
Example 2 Compute the lowest negative eigenvalue and corresponding eigenvector for a
structural engineering buckling analysis, where the matrix A is the stiffness
matrix K and the matrix B is the geometric stiffness matrix K
δ
. The matrix K is
positive semi definite.
INTEGER*4 NFOUND,NDISCD,IER,WARNNG
CALL DSEVES (1,’LOWEST’,’BUCKLING’,.FALSE.,-1.0D30,
.TRUE.,0.0D0,0.0D0,NFOUND,NDISCD,GLOBAL,IER,WARNNG)
IF ( IER .NE. 0 ) THEN
handle error condition
ENDIF
IF ( IER .GE. 0 ) THEN
retrieve eigenvalues and/or eigenvectors
ENDIF
Example 3 Compute the 200 eigenvalues and corresponding eigenvectors closest to
3.14159 for a sparse matrix A.
INTEGER*4 NFOUND,NDISCD,IER,WARNNG
CALL DSEVES (1,’NEAREST’,’ORDINARY’,.FALSE.,-1.0D30,
.FALSE.,1.0D30,3.14159D0,NFOUND,NDISCD,GLOBAL,IER,
WARNNG)
IF ( IER .NE. 0 ) THEN
handle error condition
ENDIF
IF ( IER .GE. 0 ) THEN
retrieve eigenvalues and/or eigenvectors
ENDIF