* * $Id: eisst3.F,v 1.1.1.1 1996/04/01 15:02:40 mclareni Exp $ * * $Log: eisst3.F,v $ * Revision 1.1.1.1 1996/04/01 15:02:40 mclareni * Mathlib gen * * #include "gen/pilot.h" SUBROUTINE EISST3(NM,N,AR,RLB,RUB,MM,M,WR,ZR,IERR,WORK) C SOME EIGENVALUES AND CORRESPONDING EIGENVECTORS OF A REAL C SYMMETRIC TRIDIAGONAL MATRIX C DIMENSION AR(NM,2),WR(MM),ZR(NM,NM),WORK(1) WORK(1)=AR(1,2) IF(N.LT.2) GO TO 150 DO 100 I=2,N WORK(I)=AR(I,2) WORK(N+I)=AR(I,1) 100 WORK(2*N+I)=AR(I,1)**2 150 EPS1=0.0 CALL BISECT(N,EPS1,WORK,WORK(N+1),WORK(2*N+1),RLB,RUB,MM,M,WR, X WORK(8*N+1),IERR,WORK(3*N+1),WORK(4*N+1)) IF(IERR.NE.0) RETURN IF(M.EQ.0) RETURN CALL TINVIT(NM,N,WORK,WORK(N+1),WORK(2*N+1),M,WR,WORK(8*N+1),ZR, X IERR,WORK(3*N+1),WORK(4*N+1),WORK(5*N+1),WORK(6*N+1),WORK(7*N+1)) RETURN END