PROGRAM RZM TST C This program demonstrates the use of the coefficients calculated C by the programs prpstx. The program will produce a table of values C for different values of lambda and s as set in the DATA statements. C DOUBLE PRECISION DLAMDA(5),RZMCOF(0:45450) DOUBLE PRECISION ZL,COEF,TEST2,TEST3 DOUBLE PRECISION XL,XLP1,G3,G3SUM INTEGER I,ISTEP,IQ,MMIN,MMAX,M,NM,J CHARACTER*4 ID DATA DLAMDA/1.0D0,0.25D0,0.125D0,4D0,8D0/ C WRITE(6,10) 10 FORMAT(1X,'TESTING ASYMPTOTIC EXPRESSIONS FOR COEFFICIENTS OF ZM') OPEN(1,FILE='rzm300.dat', STATUS='OLD') READ(1,15) ID,MAXS 15 FORMAT(A4,I5) IF(ID.NE.' RZM') THEN WRITE(6,25) 25 FORMAT(1X,'WRONG COEFFICIENTS FOR RZM') STOP ENDIF READ(1,30)RZMCOF 30 FORMAT(D22.16) CLOSE(1) DO 50 J=1,5 WRITE(6,1000)DLAMDA(J) 1000 FORMAT(/1X,'LAMBDA =',F8.3) WRITE(6,90) 90 FORMAT(/1X,'VALUES OF TERMS IN SERIES') WRITE(6,1100) 1100 FORMAT(/2X,'M',5X,'COEF',5X,'T2=(M+2)*M*COEF',2X,'4*G3',7X, & 'T3=T2+4*G3') IF(DLAMDA(J).GT.1D0) THEN I=2 XL=1D0/DLAMDA(J) ELSE I=1 XL=DLAMDA(J) ENDIF XLP1=XL+1D0 IF(I.EQ.1) THEN G3=-3D0*(XL**2+XL**4)/(10D0*XLP1**3) ISTEP=1 ELSE G3=-3D0*(XL**2+1D0)/(10D0*XL*XLP1**3) ISTEP=-1 ENDIF G3SUM=4D0*G3 MMIN=150 MMAX=300 DO 100 M=MMIN,MMAX IF (ISTEP.GT.0) THEN NM = (M*(M+1))/2 ELSE NM = (M*(M+1))/2 +M ENDIF ZL=XLP1**(-M) COEF=0D0 DO 20 IQ=0,M COEF=COEF+RZMCOF(NM)*ZL NM=NM+ISTEP ZL=ZL*XL 20 CONTINUE TEST2=DBLE(M+2)*DBLE(M)*COEF TEST3=TEST2+G3SUM WRITE(6,60) M,COEF,TEST2,G3SUM,TEST3 60 FORMAT(1X,I3,D12.3,2D13.4,2D13.5) 100 CONTINUE 50 CONTINUE STOP END C BLOCK DATA TSTINI COMMON /ZMD300/RZMCOF(0:45450) DOUBLE PRECISION RZMCOF DATA RZMCOF(1)/0D0/ END