zbunk.f 1.3 KB

1234567891011121314151617181920212223242526272829303132333435
  1. SUBROUTINE ZBUNK(ZR, ZI, FNU, KODE, MR, N, YR, YI, NZ, TOL, ELIM,
  2. * ALIM)
  3. C***BEGIN PROLOGUE ZBUNK
  4. C***REFER TO ZBESK,ZBESH
  5. C
  6. C ZBUNK COMPUTES THE K BESSEL FUNCTION FOR FNU.GT.FNUL.
  7. C ACCORDING TO THE UNIFORM ASYMPTOTIC EXPANSION FOR K(FNU,Z)
  8. C IN ZUNK1 AND THE EXPANSION FOR H(2,FNU,Z) IN ZUNK2
  9. C
  10. C***ROUTINES CALLED ZUNK1,ZUNK2
  11. C***END PROLOGUE ZBUNK
  12. C COMPLEX Y,Z
  13. DOUBLE PRECISION ALIM, AX, AY, ELIM, FNU, TOL, YI, YR, ZI, ZR
  14. INTEGER KODE, MR, N, NZ
  15. DIMENSION YR(N), YI(N)
  16. NZ = 0
  17. AX = DABS(ZR)*1.7321D0
  18. AY = DABS(ZI)
  19. IF (AY.GT.AX) GO TO 10
  20. C-----------------------------------------------------------------------
  21. C ASYMPTOTIC EXPANSION FOR K(FNU,Z) FOR LARGE FNU APPLIED IN
  22. C -PI/3.LE.ARG(Z).LE.PI/3
  23. C-----------------------------------------------------------------------
  24. CALL ZUNK1(ZR, ZI, FNU, KODE, MR, N, YR, YI, NZ, TOL, ELIM, ALIM)
  25. GO TO 20
  26. 10 CONTINUE
  27. C-----------------------------------------------------------------------
  28. C ASYMPTOTIC EXPANSION FOR H(2,FNU,Z*EXP(M*HPI)) FOR LARGE FNU
  29. C APPLIED IN PI/3.LT.ABS(ARG(Z)).LE.PI/2 WHERE M=+I OR -I
  30. C AND HPI=PI/2
  31. C-----------------------------------------------------------------------
  32. CALL ZUNK2(ZR, ZI, FNU, KODE, MR, N, YR, YI, NZ, TOL, ELIM, ALIM)
  33. 20 CONTINUE
  34. RETURN
  35. END