NUMAL Section 4.1

BEGIN SECTION : 4.1 (July, 1974)

AUTHOR     :    J.W. DANIEL.

REVISOR    :    J. KOK.

INSTITUTE  :    MATHEMATICAL CENTRE.

RECEIVED   :    730528 (EULER).
                730917 (SUMPOSSERIES).

BRIEF DESCRIPTION  :

    THIS  SECTION  CONTAINS  TWO  PROCEDURES  FOR  THE  SUMMATION  OF
    CONVERGENT INFINITE SERIES:

    EULER PERFORMS THE  SUMMATION OF AN ALTERNATING SERIES.

    SUMPOSSERIES   PERFORMS  THE  SUMMATION OF A CONVERGENT SERIES WITH
    POSITIVE MONOTONOUSLY  DECREASING TERMS USING THE VAN WIJNGAARDEN
    TRANSFORMATION OF  THE SERIES TO AN ALTERNATING SERIES.

KEYWORDS   :

    SUMMATION,
    SERIES,
    VAN WIJNGAARDEN TRANSFORMATION.


SUBSECTION : EULER.

CALLING SEQUENCE   :

    THE HEADING OF THE PROCEDURE IS    :
    "REAL""PROCEDURE" EULER(AI, I, EPS, TIM);
    "VALUE" EPS, TIM; "INTEGER" I, TIM; "REAL" AI, EPS;
    "CODE" 32010;

    EULER  :    DELIVERS THE COMPUTED SUM OF THE INFINITE SERIES
                SUM( A[I], I:= 0,1,...  )  .

    THE MEANING OF THE FORMAL PARAMETERS IS:
    AI     :    <ARITHMETIC EXPRESSION>;
                THE SUMMAND,
                THIS EXPRESSION WILL BE DEPENDENT ON THE JENSEN
                PARAMETER I;
                AI IS THE I-TH TERM OF THE SERIES (I >= 0).
    I      :    <VARIABLE>;
                JENSEN PARAMETER.
    EPS,TIM:    <ARITHMETIC EXPRESSION>;
                THE SUMMATION IS CONTINUED UNTIL TIM SUCCESSIVE TERMS
                OF THE TRANSFORMED SERIES ARE IN ABSOLUTE VALUE LESS
                THAN EPS.

PROCEDURES USED    :    NONE.

REQUIRED CENTRAL MEMORY    :

    EXECUTION FIELD LENGTH     :    25.

LANGUAGE   :    ALGOL 60.

METHOD AND PERFORMANCE :

    EULER PERFORMS THE SUMMATION OF AN ALTERNATING SEQUENCE BY APPLYING
    EULER'S TRANSFORMATION. BY THIS TRANSFORMATION THE SEQUENCE OF
    TERMS IS REPLACED BY THE SEQUENCE OF MEANS OF TWO SUCCESSIVE TERMS.
    IF NECESSARY THE NEW SEQUENCE IS AGAIN TRANSFORMED BY EULER'S
    TRANSFORMATION. THE SUMMATION STOPS WHEN TIM SUCCESSIVE TERMS OF
    THE (ONCE OR SEVERAL TIMES TRANSFORMED) SEQUENCE ARE IN ABSOLUTE
    VALUE LESS THAN EPS.

REFERENCES :

    P.NAUR, ED.  :  REVISED REPORT ON THE ALGORITHMIC LANGUAGE
    ALGOL 60. COPENHAGEN (1964).

EXAMPLE OF USE     :

    THE PROGRAM :

    "BEGIN""INTEGER" K;

        OUTPUT(61, "("+.8D"+2D")",
            EULER((- 1) ** K / (K + 1) ** 2, K, "- 6, 100))
    "END"

    DELIVERS   :

          +.82246703"+00.


SUBSECTION : SUMPOSSERIES.

CALLING SEQUENCE   :

    THE HEADING OF THE PROCEDURE IS    :

    "REAL""PROCEDURE" SUMPOSSERIES(AI, I, MAXADDUP, MAXZERO, MAXRECURS,
                                   MACHEXP, TIM);
    "VALUE" MAXADDUP, MAXZERO, MAXRECURS, MACHEXP, TIM;
    "REAL" AI, I, MAXZERO; "INTEGER" MAXADDUP, MAXRECURS, MACHEXP, TIM;
    "CODE" 32020;

    SUMPOSSERIES : DELIVERS THE COMPUTED SUM OF THE INFINITE SERIES
                   A[I] , I:= 1,2,....     .

    THE MEANING OF THE FORMAL PARAMETERS IS:
    AI :        <ARITHMETIC EXPRESSION>;
                THE SUMMAND,
                THIS EXPRESSION SHOULD BE DEPENDENT ON THE JENSEN
                PARAMETER I;
                AI IS THE I-TH TERM OF THE SERIES (I >= 1).
    I :         <VARIABLE>;
                JENSEN PARAMETER.
    MAXADDUP :  <ARITHMETIC EXPRESSION>;
                UPPER LIMIT FOR THE NUMBER OF STRAIGHTFORWARD ADDITIONS
                .
    MAXZERO, TIM :
                <ARITHMETIC EXPRESSION>;
                TOLERANCES EPS AND TIM NEEDED FOR A CALL OF THE
                PROCEDURE EULER (THIS SECTION). MAXZERO IS ALSO USED
                AS A TOLERANCE FOR MAXADDUP STRAIGHTFORWARD ADDITIONS.
    MAXRECURS : <ARITHMETIC EXPRESSION>;
                UPPER LIMIT FOR THE RECURSION DEPTH OF THE
                VAN WIJNGAARDEN TRANSFORMATIONS.
    MACHEXP :   <ARITHMETIC EXPRESSION>;
                IN ORDER TO AVOID OVERFLOW AND EVALUATION OF THOSE
                TERMS WHICH CAN BE NEGLECTED, MACHEXP HAS TO BE THE
                LARGEST ADMISSIBLE VALUE X FOR WHICH TERMS WITH INDEX
                J = K * (2 ** X) CAN BE COMPUTED (K IS SMALL).
                OTHERWISE OVERFLOW MIGHT OCCUR IN COMPUTING A VALUE FOR
                THE JENSEN PARAMETER I, WHICH CAN BE AN UNUSUALLY
                HIGH POWER OF 2.

PROCEDURES USED    :    EULER = CP32010.

REQUIRED CENTRAL MEMORY    :

    EXECUTION FIELD LENGTH :  ABOUT 1000 * RECURSION DEPTH.

LANGUAGE   :    ALGOL 60.

METHOD AND PERFORMANCE :

    WHEN THE TERMS AI WITH INDICES
    MAXADDUP + 1, ... , MAXADDUP + TIM ARE ALL LESS THAN MAXZERO,
    CONVERGENCE IS ASSUMED AND SUMPOSSERIES DELIVERS THE SUM OF THE
    SERIES BY STRAIGHTFORWARD ADDITION UNTIL TIM SERIAL TERMS ARE LESS
    THAN MAXZERO. OTHERWISE THE VAN WIJNGAARDEN TRANSFORMATION IS
    APPLIED, YIELDING AN ALTERNATING SERIES WHICH IS SUMMED UP WITH
    EULER'S METHOD. SINCE THE TERMS OF THIS ALTERNATING SERIES ARE
    THEMSELVES INFINITE SERIES WITH POSITIVE TERMS, THE HERE DESCRIBED
    PROCESS  IS RECURSIVELY CALLED FOR THE SUMMATION OF EACH
    TERM THAT IS WANTED BY EULER'S METHOD.
    HOWEVER, ONLY STRAIGHTFORWARD ADDITION IS APPLIED IF THE ALLOWED
    RECURSION LEVEL (SPECIFIED BY MAXRECURS) HAS BEEN REACHED.
    IN THE RECURSION THE PROCESS ASKS FOR TERMS AI WITH INDICES OF
    THE TYPE J * (2 ** K), IN WHICH K CAN BE VERY LARGE. IN ORDER
    TO AVOID OVERFLOW AN UPPER BOUND FOR K MUST BE GIVEN IN MACHEXP.
    IF K EXCEEDS THIS BOUND THE CORRESPONDING TERM IS TAKEN TO BE ZERO.

REFERENCES :

    [1] DANIEL, J.W.   :
        SUMMATION OF A SERIES OF POSITIVE TERMS BY CONDENSATION
        TRANSFORMATIONS. MATH. OF COMP. V.23, P.91-96 (1969).
    [2] WIJNGAARDEN, A. VAN  :
        COURSE SCIENTIFIC COMPUTING B, PROCESS ANALYSIS (DUTCH)
        MATHEMATISCH CENTRUM CR-18 (1965).

EXAMPLE OF USE :

    THE PROGRAM    :

    "BEGIN""COMMENT" 730808, EXAMPLE OF THE USE OF SUMPOSSERIES;

       "REAL" I;
       OUTPUT(61, "("/, +.12D"+DD")",
       SUMPOSSERIES(1 / I ** 2, I, 100, "- 7, 8, 1068, 10))
    "END"

    DELIVERS   :

        +.164493406604"+01
        NUMBER OF TERMS USED   :  462,
        RECURSION DEPTH        :    1.

SOURCE TEXT(S) :
"CODE" 32010;
"CODE" 32020;