dseigt
C DSEIGT SOURCE BP208322 20/02/06 21:15:30 10512
c-----------------------------------------------------------------------
c\BeginDoc
c
c\Name: dseigt
c
c\Description:
c Compute the eigenvalues of the current symmetric tridiagonal matrix
c and the corresponding error bounds given the current residual norm.
c
c\Usage:
c call dseigt
c ( RNORM, N, H, LDH, EIG, BOUNDS, WORKL, IERR )
c
c\Arguments
c RNORM Double precision scalar. (INPUT)
c RNORM contains the residual norm corresponding to the current
c symmetric tridiagonal matrix H.
c
c N Integer. (INPUT)
c Size of the symmetric tridiagonal matrix H.
c
c H REAL*8 N by 2 array. (INPUT)
c H contains the symmetric tridiagonal matrix with the
c subdiagonal in the first column starting at H(2,1) and the
c main diagonal in second column.
c
c LDH Integer. (INPUT)
c Leading dimension of H exactly as declared in the calling
c program.
c
c EIG Double precision array of length N. (OUTPUT)
c On output, EIG contains the N eigenvalues of H possibly
c unsorted. The BOUNDS arrays are returned in the
c same sorted order as EIG.
c
c BOUNDS Double precision array of length N. (OUTPUT)
c On output, BOUNDS contains the error estimates corresponding
c to the eigenvalues EIG. This is equal to RNORM times the
c last components of the eigenvectors corresponding to the
c eigenvalues in EIG.
c
c WORKL Double precision work array of length 3*N. (WORKSPACE)
c Private (replicated) array on each PE or array allocated on
c the front end.
c
c IERR Integer. (OUTPUT)
c Error exit flag from dstqrb.
c
c\EndDoc
c
c-----------------------------------------------------------------------
c
c\BeginLib
c
c\Local variables:
c xxxxxx real
c
c\Routines called:
c dstqrb ARPACK routine that computes the eigenvalues and the
c last components of the eigenvectors of a symmetric
c and tridiagonal matrix.
c arscnd ARPACK utility routine for timing. -> deleted by BP in 2020
c dvout ARPACK utility routine that prints vectors.
c dcopy Level 1 BLAS that copies one vector to another.
c
c\Author
c Danny Sorensen Phuong Vu
c Richard Lehoucq CRPC / Rice University
c Dept. of Computational & Houston, Texas
c Applied Mathematics
c Rice University
c Houston, Texas
c
c\Revision history:
c xx/xx/92: Version ' 2.4'
c
c\SCCS Information: @(#)
c FILE: seigt.F SID: 2.4 DATE OF SID: 8/27/96 RELEASE: 2
c
c\Remarks
c None
c
c\EndLib
c
c-----------------------------------------------------------------------
c
subroutine dseigt
& ( rnorm, n, h, ldh, eig, bounds, workl, ierr )
c
c %----------------------------------------------------%
c | Include files for debugging and timing information |
c -INC TARTRAK
c %----------------------------------------------------%
c
c
c %------------------%
c | Scalar Arguments |
c %------------------%
c
integer ierr, ldh, n
REAL*8
& rnorm
c
c %-----------------%
c | Array Arguments |
c %-----------------%
c
REAL*8
& eig(n), bounds(n), h(ldh,2), workl(3*n)
c
c %------------%
c | Parameters |
c %------------%
c
REAL*8
& zero
c
c %---------------%
c | Local Scalars |
c %---------------%
c
integer i, k, msglvl
parameter (msglvl=0)
c
c %----------------------%
c | External Subroutines |
c %----------------------%
c
c
c %-----------------------%
c | Executable Statements |
c %-----------------------%
c T0=0.D0
c T1=0.D0
c
c %-------------------------------%
c | Initialize timing statistics |
c | & message level for debugging |
c %-------------------------------%
c
* call arscnd (t0)
c msglvl = mseigt
c
if (msglvl .gt. 0) then
& '_seigt: main diagonal of matrix H')
if (n .gt. 1) then
& '_seigt: sub diagonal of matrix H')
end if
end if
c
if (ierr .ne. 0) go to 9000
c if (msglvl .gt. 1) then
c call dvout ( n, bounds, ndigit,
c & '_seigt: last row of the eigenvector matrix for H')
c end if
c
c %-----------------------------------------------%
c | Finally determine the error bounds associated |
c | with the n Ritz values of H. |
c %-----------------------------------------------%
c
do 30 k = 1, n
bounds(k) = rnorm*abs(bounds(k))
30 continue
c
* call arscnd (t1)
c tseigt = tseigt + (t1 - t0)
c
9000 continue
c return
c
c %---------------%
c | End of dseigt |
c %---------------%
c
end
					© Cast3M 2003 - Tous droits réservés.
					Mentions légales