Dear colleague, We have written up a paper entitled "RELATIVISTIC CORRECTIONS TO THE SUNYAEV-ZELDOVICH EFFECT FOR CLUSTERS OF GALAXIES. V. PRECISION ANALYTIC FITTING FORMULA FOR THE CROSSOVER FREQUENCY REGION" and have submitted it to The Astrophysical Journal. We have also uploaded it in astro-ph/0012283. Previously we have published an analytic fitting formula for the exact numerical results in The Astrophysical Journal, 536:31-35, 2000 June 10. Our previous fitting formula has an overall excellent accuracy. However, its accuracy was about 5% in the crossover frequency region where the Sunyaev-Zeldovich signal changes from negative to positive sign. In the present fitting formula we have restricted the temperature range to kT/mc^2 < 0.035, and have succeeded in obtaining a precision analytic fitting formula which has 1% accuracy even in the crossover frequency region. We hope the present fitting formula will be useful for your research. We are herewith sending you a subroutine for the fitting formula. We would like to appreciate whatever comment you might have on our work. Yours sincerely, Naoki Itoh Department of Physics, Sophia University 7-1, Kioi-cho, Chiyoda-ku, Tokyo 102-8554 Japan Telephone 81 (0)3 3238 3431 Telefax 81 (0)3 3238 3341 C===========================================================================C C ANALYTIC FITTING FORMULA FOR THE NUMERICAL RESULT II C C C C 1 X^3 DELTA n(X) C C ---- --------- ------------ C C y Exp(X)-1 n_0(X) C C C C X^3 theta_e*X*Exp(X) C C = ----------- -----------------(Y0+theta_e*Y1 + theta_e^2*Y2 C C Exp(X)-1 EXP(X)-1 C C + theta_e^3*Y3 + theta_e^4*Y4) + R C C C C C C for 0.0 <= theta_e < 0.020 C C C C R = 0 C C C C for 0.020 <= theta_e <= 0.035 C C C C / 0.0 < X < 2.4 C C | C C | R = 0 C C AND | C C | 2.4 <= X <= 15.0 C C | C C \ R = Sum_{i,j}^{10} a_{i,j} Theta_e^{i} Z^{j} C C C C Where Theta_e = 200*(theta_e - 0.02)/3 C C Z = (X - 8.7)/6.3 C C C C DEC. 4 2000 YK IN RI-DA-GROUP C C===========================================================================C IMPLICIT REAL*8 (A-H,O-Z) REAL*8 LLT,LLX,ULT,ULX,ST,SX WRITE (6,*) 'Decision of theta_e region and step' WRITE (6,*) 'Lower limit of theta_e ( >= 0.00) = ?' READ (5,*) LLT WRITE (6,*) 'Upper limit of theta_e ( <= 0.035) = ?' READ (5,*) ULT WRITE (6,*) 'And step = ?' READ (5,*) ST WRITE (6,*) 'Decision of X region and step' WRITE (6,*) 'Lower limit of X ( > 0.0) = ?' READ (5,*) LLX WRITE (6,*) 'Upper limit of X ( <= 15.0) = ?' READ (5,*) ULX WRITE (6,*) 'And step = ?' READ (5,*) SX WRITE (6,2) 2 FORMAT (2X,'theta_e',10X,'X',13X,'Dn/n') DO 101 THETAE = LLT, ULT, ST DO 102 X = LLX, ULX, SX IF (THETAE. LT. 0.02D0) THEN WRITE (6,12) THETAE,X,FINK(THETAE,X) ELSE IF (X. LT. 2.4D0) THEN WRITE (6,12) THETAE,X,FINK(THETAE,X) ELSE WRITE (6,12) THETAE,X,FINK(THETAE,X)+R(THETAE,X) ENDIF ENDIF 102 CONTINUE 101 CONTINUE 12 FORMAT (2(E11.5,TR3),E14.6) STOP END C---------------- SUBFUNCTION R(theta_e,X) ----------------------- REAL*8 FUNCTION R(THETAE,X) IMPLICIT REAL*8 (A-H, O-Z) DIMENSION A(1:121) c Fitting Coefficients a_{i,j} DATA A/2.38348E-04, * 7.70060E-04, 7.61858E-03,-5.11946E-02, 2.46541E-01, * -6.55886E-01, 1.04523E+00,-9.82508E-01, 5.03123E-01, * -1.08542E-01, 2.26789E-04,-5.55171E-04,-9.02681E-03, * 1.78164E-01,-1.94593E+00, 1.08690E+01,-3.59915E+01, * 7.42310E+01,-9.64435E+01, 7.67639E+01,-3.41927E+01, * 6.52867E+00,-4.87242E-03,-1.28519E-02,-1.87023E-01, * 1.05512E+00,-3.55801E+00, 4.42411E+00, 3.94568E+00, * -1.99013E+01, 2.61111E+01,-1.56504E+01, 3.66727E+00, * 3.15750E-03, 4.58081E-02,-7.16782E-01, 6.63376E+00, * -3.08818E+01, 8.52378E+01,-1.46255E+02, 1.57577E+02, * -1.03418E+02, 3.76441E+01,-5.79648E+00, 1.82590E-02, * 1.83934E-02, 1.23170E+00,-7.78160E+00, 2.76593E+01, * -4.88313E+01, 3.29857E+01, 2.49955E+01,-6.15775E+01, * 4.18075E+01,-1.01200E+01,-9.21742E-03,-9.91460E-02, * 1.04791E+00,-7.79860E+00, 2.53107E+01,-4.01387E+01, * 1.82737E+01, 3.43644E+01,-5.81462E+01, 3.44306E+01, * -7.45573E+00,-2.83553E-02, 3.02605E-02,-2.84910E+00, * 1.79093E+01,-6.14780E+01, 1.13587E+02,-1.14236E+02, * 5.43853E+01,-4.15730E+00,-4.21105E+00, 4.33807E-01, * 1.18551E-02, 9.94126E-02,-6.72433E-01, 4.20865E+00, * -9.40878E+00, 1.00474E+01,-1.44360E+01, 4.60361E+01, * -7.82655E+01, 5.95121E+01,-1.68492E+01, 2.03055E-02, * -6.51622E-02, 2.56521E+00,-1.45222E+01, 4.18355E+01, * -6.01877E+01, 4.52390E+01,-3.22989E+01, 4.68655E+01, * -4.31270E+01, 1.41021E+01,-5.19957E-03,-3.55883E-02, * 1.27246E-01,-7.18783E-01, 2.08060E+00,-1.28611E+01, * 5.62636E+01,-1.27553E+02, 1.53193E+02,-9.35633E+01, * 2.29488E+01,-5.51710E-03, 2.89212E-02,-7.71024E-01, * 3.43548E+00,-5.04902E+00,-6.82987E+00, 2.70797E+01, * -1.99352E+01,-1.36621E+01, 2.43417E+01,-8.74479E+00/ THE = (THETAE-0.02d0)*200.d0/3.d0 Z = (X-8.7d0)/6.3d0 R = (A(1)+A(2)*THE+A(3)*THE**2.d0+A(4)*THE**3.d0+A(5)*THE**4.d0 * +A(6)*THE**5.d0+A(7)*THE**6.d0+A(8)*THE**7.d0 * +A(9)*THE**8.d0+A(10)*THE**9.d0+A(11)*THE**10.d0) * +(A(12)+A(13)*THE+A(14)*THE**2.d0 * +A(15)*THE**3.d0+A(16)*THE**4.d0 * +A(17)*THE**5.d0+A(18)*THE**6.d0+A(19)*THE**7.d0 * +A(20)*THE**8.d0+A(21)*THE**9.d0+A(22)*THE**10.d0)*Z * +(A(23)+A(24)*THE+A(25)*THE**2.d0 * +A(26)*THE**3.d0+A(27)*THE**4.d0 * +A(28)*THE**5.d0+A(29)*THE**6.d0+A(30)*THE**7.d0 * +A(31)*THE**8.d0+A(32)*THE**9.d0+A(33)*THE**10.d0) * *Z**(2.d0) * +(A(34)+A(35)*THE+A(36)*THE**2.d0 * +A(37)*THE**3.d0+A(38)*THE**4.d0 * +A(39)*THE**5.d0+A(40)*THE**6.d0+A(41)*THE**7.d0 * +A(42)*THE**8.d0+A(43)*THE**9.d0+A(44)*THE**10.d0) * *Z**(3.d0) * +(A(45)+A(46)*THE+A(47)*THE**2.d0 * +A(48)*THE**3.d0+A(49)*THE**4.d0 * +A(50)*THE**5.d0+A(51)*THE**6.d0+A(52)*THE**7.d0 * +A(53)*THE**8.d0+A(54)*THE**9.d0+A(55)*THE**10.d0) * *Z**(4.d0) * +(A(56)+A(57)*THE+A(58)*THE**2.d0 * +A(59)*THE**3.d0+A(60)*THE**4.d0 * +A(61)*THE**5.d0+A(62)*THE**6.d0+A(63)*THE**7.d0 * +A(64)*THE**8.d0+A(65)*THE**9.d0+A(66)*THE**10.d0) * *Z**(5.d0) * +(A(67)+A(68)*THE+A(69)*THE**2.d0 * +A(70)*THE**3.d0+A(71)*THE**4.d0 * +A(72)*THE**5.d0+A(73)*THE**6.d0+A(74)*THE**7.d0 * +A(75)*THE**8.d0+A(76)*THE**9.d0+A(77)*THE**10.d0) * *Z**(6.d0) * +(A(78)+A(79)*THE+A(80)*THE**2.d0 * +A(81)*THE**3.d0+A(82)*THE**4.d0 * +A(83)*THE**5.d0+A(84)*THE**6.d0+A(85)*THE**7.d0 * +A(86)*THE**8.d0+A(87)*THE**9.d0+A(88)*THE**10.d0) * *Z**(7.d0) * +(A(89)+A(90)*THE+A(91)*THE**2.d0 * +A(92)*THE**3.d0+A(93)*THE**4.d0 * +A(94)*THE**5.d0+A(95)*THE**6.d0+A(96)*THE**7.d0 * +A(97)*THE**8.d0+A(98)*THE**9.d0+A(99)*THE**10.d0) * *Z**(8.d0) * +(A(100)+A(101)*THE+A(102)*THE**2.d0 * +A(103)*THE**3.d0+A(104)*THE**4.d0 * +A(105)*THE**5.d0+A(106)*THE**6.d0+A(107)*THE**7.d0 * +A(108)*THE**8.d0+A(109)*THE**9.d0+A(110)*THE**10.d0) * *Z**(9.d0) * +(A(111)+A(112)*THE+A(113)*THE**2.d0 * +A(114)*THE**3.d0+A(115)*THE**4.d0 * +A(116)*THE**5.d0+A(117)*THE**6.d0+A(118)*THE**7.d0 * +A(119)*THE**8.d0+A(120)*THE**9+A(121)*THE**10.d0) * *Z**(10.d0) RETURN END c------- SUBFUNCTION FINK(theta_e,X) ---------------------- c FINK = F1*(Y0+theta_e*Y1+ ... +theta_e^4*Y4) c------------------------------------------------------------ REAL*8 FUNCTION FINK(THETAE,X) IMPLICIT REAL*8(A-H,O-Z) SH = (DEXP(X/2)-DEXP(-X/2))/2 CH = (DEXP(X/2)+DEXP(-X/2))/2 CTH = CH/SH XT = X*CTH ST = X/SH Y0 = -4.0D0+XT Y1 = -10.0D0+47.0D0*XT/2.0D0-42.0D0*(XT**2.0D0)/5.0D0 * +7.0D0*(XT**3.0D0)/10.0D0 * +(ST**2.0D0)*(-21.0D0/5.0D0+7.0D0*XT/5.0D0) Y2 = -15.0D0/2+1023.0D0*XT/8.0D0-868.0D0*(XT**2.0D0)/5.0D0 * +329.0D0*(XT**3.0D0)/5.0D0-44.0D0*(XT**4.0D0)/5.0D0 * +11.0D0*(XT**5.0D0)/30.0D0+(ST**2.0D0) * *(-434.0D0/5.0D0+658.0D0*XT/5.0D0 * -242.0D0*(XT**2.0D0)/5.0D0 * +143.0D0*(XT**3.0D0)/30.0D0)+(ST**4.0D0) * *(-44.0D0/5.0D0+187.0D0*XT/60.0D0) Y3 = 15.0D0/2+2505.0D0*XT/8.0D0-7098.0D0*(XT**2.0D0)/5.0D0 * +14253.0D0*(XT**3.0D0)/10.0D0-18594.0D0*(XT**4.0D0)/35.0D0 * +12059.0D0*(XT**5.0D0)/140.0D0-128.0D0*(XT**6.0D0)/21.0D0 * +16.0D0*(XT**7.0D0)/105.0D0+(ST**2.0D0) * *(-7098.0D0/10.0D0+14253.0D0*XT/5.0D0 * -102267.0D0*(XT**2.0D0)/35.0D0 * +156767.0D0*(XT**3)/140.0D0 * -1216.0D0*(XT**4.0D0)/7.0D0+64.0D0*(XT**5.0D0)/7.0D0) * +(ST**4.0D0)*(-18594.0D0/35.0D0+205003.0D0*XT/280.0D0 * -1920.0D0*(XT**2.0D0)/7.0D0+1024.0D0*(XT**3.0D0)/35.0D0) * +(ST**6.0D0)*(-544.0D0/21.0D0+992.0D0*XT/105.0D0) Y4 = -135.0D0/32.0D0+30375.0D0*XT/128.0D0 * -62391.0D0*(XT**2.0D0)/10.0D0 * +614727.0D0*(XT**3.0D0)/40.0D0 * -124389.0D0*(XT**4.0D0)/10.0D0 * +355703.0D0*(XT**5.0D0)/80.0D0 * -16568.0D0*(XT**6.0D0)/21.0D0 * +7516.0D0*(XT**7.0D0)/105.0D0 * -22.0D0*(XT**8.0D0)/7.0D0+11.0D0*(XT**9.0D0)/210.0D0 * +(ST**2.0D0)*(-62391.0D0/20.0D0+614727.0D0*XT/20.0D0 * -1368279.0D0*(XT**2.0D0)/20.0D0 * +4624139.0D0*(XT**3.0D0)/80.0D0 * -157396.0D0*(XT**4.0D0)/7.0D0 * +30064.0D0*(XT**5.0D0)/7.0D0-2717.0D0*(XT**6.0D0)/7.0D0 * +2761.0D0*(XT**7.0D0)/210.0D0) * +(ST**4.0D0)*(-124389.0D0/10.0D0 * +6046951.0D0*XT/160.0D0-248520.0*(XT**2.0D0)/7.0D0 * +481024.0D0*(XT**3.0D0)/35.0D0-15972.0D0*(XT**4.0D0)/7.0D0 * +18689.0D0*(XT**5.0D0)/140.0D0) * +(ST**6.0D0)*(-70414.0D0/21.0D0 * +465992.0D0*XT/105.0D0-11792.0D0*(XT**2.0D0)/7.0D0 * +19778.0D0*(XT**3.0D0)/105.0D0) * +(ST**8.0D0)*(-682.0D0/7.0D0+7601.0D0*XT/210.0D0) F1 = THETAE*X*DEXP(X)/(DEXP(X)-1) FINK1= F1*(Y0+THETAE*Y1+THETAE**(2.0D0)*Y2 * +THETAE**(3.0D0)*Y3+THETAE**(4.0D0)*Y4) FINK = X**3.d0/(DEXP(X)-1.d0)*FINK1 RETURN END