PROGRAM RXG TEST C This program tests the coefficients for RXG against the asymptotic C results. DOUBLE PRECISION RXGCOF(0:45450) DOUBLE PRECISION DLAMDA(3) 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/1D0,0.1D0,10D0/ C WRITE(6,10) 10 FORMAT(1X,'TESTING ASYMPTOTIC EXPRESSIONS FOR COEFFICIENTS OF XG') OPEN(1,FILE='rxg300.dat',STATUS='OLD') READ(1,15) ID,MAXS 15 FORMAT(A4,I5) IF ( ID .NE. ' RXG') THEN WRITE(6,25) 25 FORMAT(1X,'WRONG COEFFICIENTS FOR RXG') STOP ENDIF READ(1,30)RXGCOF 30 FORMAT(D22.16) CLOSE(1) DO 50 J=1,3 WRITE(6,1000)DLAMDA(J) 1000 FORMAT(/1X,'LAMBDA =',F8.3) WRITE(6,100) 100 FORMAT(/2X,'M',6X,'COEF',8X,'G1',5X,'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^G_{11,12} (i=1..3 in paper) G1=3D0*XL**2/XL13 G2=3D0*(XL+12D0*XL**2-4D0*XL**3)/(10D0*XL13) G3=(5D0+181D0*XL-453D0*XL**2+566D0*XL**3-65D0*XL**4) & /(140D0*XL13) ISTEP=1 ELSE XL = 1D0/DLAMDA(J) XLP1=XL+1D0 XL13=XLP1**3 C These are the g_i for X^G_{21,22} G1=3D0*XL/XL13 G2=3D0*(-4D0+12D0*XL+XL*XL)/(10D0*XL13) G3=(-65D0+566D0*XL-453D0*XL**2+181D0*XL**3+5D0*XL**4) & /(140D0*XL*XL13) ISTEP=-1 ENDIF MMIN=150 MMAX=MAXS 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 950 IQ=0,M COEF=COEF+RXGCOF(NM)*ZL NM=NM+ISTEP ZL=ZL*XL 950 CONTINUE COEF=COEF*XLP1**(-M) TEST1=DBLE(M)*(COEF-G1SUM) TEST2=DBLE(M+2)*(TEST1-G2SUM) TEST3=TEST2+G3SUM WRITE(6,60) M,COEF,G1SUM,TEST1,G2SUM,TEST2,TEST3 60 FORMAT(1X,I3,2(D12.4,D11.3),2D14.4) 900 CONTINUE 50 CONTINUE 1100 FORMAT(F13.3,4F16.5) STOP END C BLOCK DATA TSTINI DOUBLE PRECISION RXGCOF COMMON /XGD300/RXGCOF(0:45450) DATA RXGCOF(1)/0D0/ END