NUMAL Section 4.2.2
BEGIN SECTION : 4.2.2 (December, 1979)
AUTHOR : P.W. HEMKER.
CONTRIBUTOR : F.GROEN.
INSTITUTE : MATHEMATICAL CENTRE.
RECEIVED : 740620.
BRIEF DESCRIPTION :
TRICUB COMPUTES THE DEFINITE INTEGRAL OF A FUNCTION OF TWO
VARIABLES OVER A TRIANGULAR DOMAIN.
KEYWORDS :
INTEGRATION,
QUADRATURE,
MOREDIMENSIONAL QUADRATURE,
CUBATURE,
DEFINITE INTEGRAL.
CALLING SEQUENCE :
THE HEADING OF THE PROCEDURE READS :
"REAL" "PROCEDURE" TRICUB ( XI, YI, XJ, YJ, XK, YK, F, RE, AE );
"VALUE" XI, YI, XJ, YJ, XK, YK, RE, AE;
"REAL" XI, YI, XJ, YJ, XK, YK, RE, AE;
"REAL" "PROCEDURE" F;
"CODE" 32075;
TRICUB := THE COMPUTED VALUE OF THE DEFINITE INTEGRAL OF THE
FUNCTION F ( X, Y ) OVER THE TRIANGULAR DOMAIN T WITH
VERTICES ( XI, YI ), ( XJ, YJ ) AND ( XK, YK ).
THE MEANING OF THE FORMAL PARAMETERS IS :
XI, YI: <ARITHMETIC EXPRESSION>;
ENTRY : THE COORDINATES OF THE FIRST VERTEX OF THE
TRIANGULAR DOMAIN OF INTEGRATION;
XJ, YJ: <ARITHMETIC EXPRESSION>;
ENTRY : THE COORDINATES OF THE SECOND VERTEX OF THE
TRIANGULAR DOMAIN OF INTEGRATION;
XK, YK: <ARITHMETIC EXPRESSION>;
ENTRY : THE COORDINATES OF THE THIRD VERTEX OF THE
TRIANGULAR DOMAIN OF INTEGRATION;
REMARK: THE ALGORITHM IS SYMMETRICAL IN THE VERTICES; THIS
IMPLIES THAT THE RESULT OF THE PROCEDURE (ON ALL COUNTS) IS
INVARIANT FOR ANY PERMUTATION OF THE VERTICES.
F : <PROCEDURE IDENTIFIER>;
THE HEADING OF THIS PROCEDURE READS:
"REAL" "PROCEDURE" F ( X, Y ); "REAL" X, Y;
THIS PROCEDURE DEFINES THE INTEGRAND;
AE, RE: <ARITHMETIC EXPRESSION>;
ENTRY: THE REQUIRED ABSOLUTE AND RELATIVE ERROR
RESPECTIVELY. ONE SHOULD TAKE FOR "AE" AND "RE"
VALUES WHICH ARE GREATER THAN THE ABSOLUTE AND
RELATIVE ERROR IN THE COMPUTATION OF THE INTEGRAND F.
PROCEDURES USED : NONE.
REQUIRED CENTRAL MEMORY :
THE PROCESS IS PROGRAMMED RECURSIVELY. AT EACH RECURSION LEVEL 43
REAL NUMBERS ARE USED. HOWEVER, FOR ANY PROPERLY CHOSEN VALUES OF
RE AND AE THE RECURSION DEPTH WILL NOT EXCEED THE NUMBER OF BITS IN
A REAL'S MANTISSA.
RUNNING TIME : DEPENDS STRONGLY ON THE INTEGRAL TO COMPUTE.
METHOD AND PERFORMANCE :
A NESTED SEQUENCE OF CUBATURE RULES OF ORDER 2, 3, 4 AND 5
IS APPLIED. IF THE DIFFERENCE BETWEEN THE RESULT WITH THE
4-TH DEGREE RULE AND THE RESULT WITH THE 5-TH DEGREE RULE
IS TOO LARGE, THEN THE TRIANGLE IS DIVIDED INTO FOUR CONGRUENT
TRIANGLES. THIS PROCESS IS APPLIED RECURSIVELY IN ORDER TO
OBTAIN AN ADAPTIVE CUBATURE ALGORITHM.
REFERENCES :
[1].P.W.HEMKER,
A SEQUENCE OF NESTED CUBATURE RULES,
MATH.CENTRE, AMSTERDAM, REPORT NW 3/73.
EXAMPLE OF USE:
THE FOLLOWING PROGRAM EVALUATES THE INTEGRAL OF
F ( X, Y ) = COS ( X ) * COS ( Y ) OVER THE TRIANGLE T WITH
VERTICES ( 0, 0 ), ( O, PI/2 ) AND ( PI/2, PI/2 ).
ON EACH LINE ARE LISTED :
A: THE REQUIRED RELATIVE AND ABSOLUTE PRECISION;
B: THE COMPUTED VALUE OF THE INTEGRAL;
C: THE NUMBER OF CALLS OF THE FUNCTION F,
"BEGIN"
"INTEGER" N,C,I,K; "REAL" PI,ACC,R,S;
"REAL" "PROCEDURE" E(X,Y); "REAL" X,Y;
"BEGIN" C:= C+1;
"IF" C> 20000 "THEN" "GOTO" CC;
E:= COS(X) * COS(Y);
"END" E;
PI:= 3.14159265359;
"FOR" ACC:= "-1,"-2,"-3,"-4,"-5,"-6,"-7,"-8,"-9,"-10,"-11 "DO"
"BEGIN" C:=0; OUTPUT(61,"("+.D"+ZD,2B,+.14D"+2ZD,2B,10ZD,/")",
ACC, TRICUB(0,0,0,PI/2,PI/2,PI/2,E,ACC,ACC) ,C);
"END";
CC: OUTPUT(61,"("*")");
"END"
RESULTS:
+.1" +0 +.50063973801970" +0 7
+.1" -1 +.50063973801970" +0 7
+.1" -2 +.50063973801970" +0 7
+.1" -3 +.49999110261504" +0 10
+.1" -4 +.49999848959226" +0 13
+.1" -5 +.49999848959226" +0 13
+.1" -6 +.49999997378240" +0 43
+.1" -7 +.49999999209792" +0 133
+.1" -8 +.49999999893172" +0 313
+.1" -9 +.49999999985571" +0 733
+.1"-10 +.49999999998692" +0 1723
SOURCE TEXT(S):
"CODE" 32075;