PROGRAM rxa tst C This program tests the coefficients calculated by the programs axitrx. C DOUBLE PRECISION RXACOF(0:45450), DLAMDA(5) DOUBLE PRECISION G1, G2, G3, G1SUM, G2SUM, G3SUM DOUBLE PRECISION ZL, COEF, XL, XLP1, XL13, TEST1, TEST2, TEST3 CHARACTER*4 ID INTEGER J, ISTEP, IQ, MMIN, MMAX, M, NM, MAXS DATA DLAMDA/1.0D0,0.5D0,0.25D0,0.125D0,2.0D0/ WRITE(6,10) 10 FORMAT(1X,'TESTING ASYMPTOTIC EXPRESSIONS FOR COEFFICIENTS OF XA') OPEN(1,FILE='rxa300.dat',STATUS='OLD') READ(1,15) ID,MAXS 15 FORMAT(A4,I5) IF ( ID .NE. ' RXA' ) THEN WRITE(6,25) 25 FORMAT(1X,'WRONG COEFFICIENTS FOR RXA') STOP ENDIF READ(1,30)RXACOF 30 FORMAT(D22.16) CLOSE (1) DO 1000 J=1,5 WRITE(6,40)DLAMDA(J) 40 FORMAT(/1X,'LAMBDA =',F8.3) WRITE(6,100) 100 FORMAT(/2X,'M',7X,'COEF',8X,'G1',4X,'T1=M(COEF-G1)',3X,'2*G2', & 3X,'T2=(M+2)(T1-2*G2)',2X,'T2+4*G3') C IF(DLAMDA(J) .LE. 1) THEN XL=DLAMDA(J) XLP1=XL+1D0 XL13=XLP1**3 C These are the g_i for X^A_11 and X^A_12 (i=1..3 in paper) G1=2D0*XL**2/XL13 G2=(XL+7D0*XL**2+XL**3)/(5D0*XL13) G3=(1D0+18D0*XL-29D0*XL**2+18D0*XL**3+XL**4)/(42D0*XL13) ISTEP=1 ELSE XL=1D0/DLAMDA(J) XLP1=XL+1D0 XL13=XLP1**3 G1=2D0*XL/XL13 G2=(1D0+7D0*XL+XL**2)/(5D0*XL13) G3=(1D0+18D0*XL-29D0*XL**2+18D0*XL**3+XL**4)/(42D0*XL*XL13) ISTEP=-1 ENDIF MMIN=150 MMAX=300 G1SUM=G1 G2SUM=2D0*G2 G3SUM=4D0*G3 DO 900 M=MMIN,MMAX IF (ISTEP .GT. 0) THEN NM = (M*(M+1))/2 ELSE NM = (M*(M+1))/2 +M ENDIF ZL=1D0 COEF=0D0 DO 800 IQ=0,M COEF=COEF+RXACOF(NM)*ZL NM=NM+ISTEP ZL=ZL*XL 800 CONTINUE COEF=COEF*XLP1**(-M) TEST1=DBLE(M)*(COEF-G1SUM) TEST2=DBLE(M+2)*(TEST1-G2SUM) TEST3=TEST2+G3SUM WRITE(6,860) M,COEF,G1SUM,TEST1,G2SUM,TEST2,TEST3 860 FORMAT(1X,I3,4D12.5,2D13.5) 900 CONTINUE 1000 CONTINUE STOP END