home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / fortran / library / ssp / sequence / teul.for < prev   
Encoding:
Text File  |  1985-11-29  |  3.0 KB  |  102 lines

  1. C
  2. C     ..................................................................
  3. C
  4. C        SUBROUTINE TEUL
  5. C
  6. C        PURPOSE
  7. C           COMPUTE THE SUM OF FCT(K) FOR K FROM ONE UP TO INFINITY.
  8. C
  9. C        USAGE
  10. C           CALL TEUL(FCT,SUM,MAX,EPS,IER)
  11. C           PARAMETER FCT REQUIRES AN EXTERNAL STATEMENT.
  12. C
  13. C        DESCRIPTION OF PARAMETERS
  14. C           FCT    - NAME OF AN EXTERNAL FUNCTION SUBPROGRAM USED.
  15. C                    IT COMPUTES THE K-TH TERM OF THE SERIES TO ANY
  16. C                    GIVEN INDEX K.
  17. C           SUM    - RESULTANT VALUE CONTAINING ON RETURN THE SUM OF
  18. C                    THE GIVEN SERIES.
  19. C           MAX    - INPUT VALUE, WHICH SPECIFIES THE MAXIMAL NUMBER
  20. C                    OF TERMS OF THE SERIES THAT ARE RESPECTED.
  21. C           EPS    - INPUT VALUE, WHICH SPECIFIES THE UPPER BOUND OF
  22. C                    THE RELATIVE ERROR.
  23. C                    SUMMATION IS STOPPED AS SOON AS FIVE TIMES IN
  24. C                    SUCCESSION THE ABSOLUTE VALUE OF THE TERMS OF THE
  25. C                    TRANSFORMED SERIES ARE FOUND TO BE LESS THAN
  26. C                    EPS*(ABSOLUTE VALUE OF CURRENT SUM).
  27. C           IER    - RESULTANT ERROR PARAMETER CODED IN THE FOLLOWING
  28. C                    FORM
  29. C                     IER=0  - NO ERROR
  30. C                     IER=1  - REQUIRED ACCURACY NOT REACHED WITH
  31. C                              MAXIMAL NUMBER OF TERMS
  32. C                     IER=-1 - THE INTEGER MAX IS LESS THAN ONE.
  33. C
  34. C        REMARKS
  35. C           NO ACTION BESIDES ERROR MESSAGE IN CASE MAX LESS THAN ONE.
  36. C
  37. C        SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED
  38. C           THE EXTERNAL FUNCTION SUBPROGRAM FCT(K) MUST BE FURNISHED
  39. C           BY THE USER.
  40. C
  41. C        METHOD
  42. C           EVALUATION IS DONE BY MEANS OF A SUITABLY REFINED EULER
  43. C           TRANSFORMATION. FOR REFERENCE, SEE
  44. C           F.B.HILDEBRAND, INTRODUCTION TO NUMERICAL ANALYSIS,
  45. C           MCGRAW/HILL, NEW YORK/TORONTO/LONDON, 1956, PP.155-160, AND
  46. C           P. NAUR, REPORT ON THE ALGORITHMIC LANGUAGE ALGOL 60,
  47. C           CACM, VOL.3, ISS.5 (1960), PP.311.
  48. C
  49. C     ..................................................................
  50. C
  51.       SUBROUTINE TEUL (FCT,SUM,MAX,EPS,IER)
  52. C
  53.       DIMENSION Y(15)
  54. C
  55. C        TEST ON WRONG INPUT PARAMETER MAX
  56. C
  57.       IF(MAX)1,1,2
  58.     1 IER=-1
  59.       GOTO 12
  60. C
  61. C        INITIALIZE EULER TRANSFORMATION
  62. C
  63.     2 IER=1
  64.       I=1
  65.       M=1
  66.       N=1
  67.       Y(1)=FCT(N)
  68.       SUM=Y(1)*.5
  69. C
  70. C        START EULER-LOOP
  71. C
  72.     3 J=0
  73.     4 I=I+1
  74.       IF(I-MAX)5,5,12
  75.     5 N=I
  76.       AMN=FCT(N)
  77.       DO 6 K=1,M
  78.       AMP=(AMN+Y(K))*.5
  79.       Y(K)=AMN
  80.     6 AMN=AMP
  81. C
  82. C        CHECK EULER TRANSFORMATION
  83. C
  84.       IF(ABS(AMN)-ABS(Y(M)))7,9,9
  85.     7 IF(M-15)8,9,9
  86.     8 M=M+1
  87.       Y(M)=AMN
  88.       AMN=.5*AMN
  89. C
  90. C        UPDATE SUM
  91. C
  92.     9 SUM=SUM+AMN
  93.       IF(ABS(AMN)-EPS*ABS(SUM))10,10,3
  94. C
  95. C        TEST END OF PROCEDURE
  96. C
  97.    10 J=J+1
  98.       IF(J-5)4,11,11
  99.    11 IER=0
  100.    12 RETURN
  101.       END
  102.