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;