NUMAL Section 4.2.3.2
BEGIN SECTION : 4.2.3.2 (November, 1976)
AUTHOR: M.BAKKER.
INSTITUTE: MATHEMATICAL CENTRE, AMSTERDAM.
RECEIVED: 760131.
BRIEF DESCRIPTION:
THIS SECTION CONTAINS THE FOLLOWING PROCEDURES:
(1) GSS JAC WGHTS:
GIVEN THE TWO PARAMETERS ALFA AND BETA,THIS PROCEDURE
CALCULATES THE N ZEROS OF THE N-TH JACOBI POLYNOMIAL
AND THE CORRESPONDING GAUSS-CHRISTOFFEL NUMBERS NEEDED FOR
THE N-POINT GAUSS-JACOBI QUADRATURE OVER [-1,+1]
WITH WEIGHT FUNCTION
W(X) = (1-X)**ALFA*(1+X)**BETA;
(2) GSS LAG WGHTS:
GIVEN THE PARAMETER ALFA,THIS PROCEDURE
CALCULATES THE N ZEROS OF THE N-TH LAGUERRE POLYNOMIAL
AND THE GAUSS-CHRISTOFFEL NUMBERS NEEDED FOR THE
N-POINT GAUSS-LAGUERRE QUADRATURE OF F(X) OVER
(0, INFINITY) WITH RESPECT TO THE WEIGHT FUNCTION
W(X) = X**ALFA*EXP(-X).
THESE PROCEDURES CAN BE USED FOR GAUSSIAN QUADRATURE-
RULES OF THE JACOBI AND LAGUERRE TYPE.LET THE WEIGHT
FUNCTION W(X) AND THE INTERVAL(A,B) DETERMINE THE
SYSTEM OF POLYNOMIALS ORTHOGONAL ON (A,B) WITH RESPECT
TO W(X).THEN THE N-POINT GAUSSIAN QUADRATURE RULE
APPROXIMATES THE INTEGRAL
TO X=B
INTEGRAL F(X) W(X) DX
FROM X=A
BY THE EXPRESSION
J=N
SUM W[J] F(X[J])
J=1
WHERE THE ABSCISSAS X[J] ARE THE ZEROS OF THE N-TH
POLYNOMIAL AND W[J] ARE THE CORRESPONDING GAUSS-CHRISTOFFEL
NUMBERS.
KEYWORDS:
GAUSSIAN QUADRATURE,
ZEROS OF ORTHOGONAL POLYNOMIALS,
GAUSS-CHRISTOFFEL NUMBERS,
GAUSSIAN WEIGHTS.
LANGUAGE: ALGOL 60.
REFERENCES:
[1] M.ABRAMOWITZ AND I.A. STEGUN.
HANDBOOK OF MATHEMATICAL FUNCTIONS, CH.22,
[2] J.STOER,
EINFUEHRUNG IN DIE NUMERISCHE MATHEMATIK 1,
SPRINGER VERLAG, BERLIN, HEIDELBERG, GOETTINGEN.
SUBSECTION: GSS JAC WGHTS.
CALLING SEQUENCE:
THE DECLARATION OF THE PROCEDURE IN THE CALLING PROGRAM READS:
"PROCEDURE" GSS JAC WGHTS(N, ALFA, BETA, X, W);
"VALUE" N, ALFA, BETA;
"INTEGER" N; "REAL" ALFA, BETA; "ARRAY" X, W;
"CODE" 31425;
THE MEANING OF THE FORMAL PARAMETERS IS:
N: <ARITHMETIC EXPRESSION>;
THE UPPER BOUND OF THE ARRAYS X AND W; N>=1;
ALFA, BETA: <ARITHMETIC EXPRESSION>;
THE PARAMETERS OF THE WEIGHT FUNCTION FOR
THE JACOBI POLYNOMIALS; ALFA, BETA > -1;
X; <ARRAY IDENTIFIER>;
"ARRAY" X[1:N];
EXIT: X[I] IS THE I-TH ZERO OF THE N-TH JACOBI POLYNOMIAL;
W: <ARRAY IDENTIFIER>;
"ARRAY" W[1:N];
EXIT: W[I] IS THE GAUSS-CHRISTOFFEL NUMBER
ASSOCIATED WITH THE I-TH ZERO OF THE N-TH JACOBI POLYNOMIAL.
PROCEDURES USED:
GAMMA = CP 35061;
ALL JAC ZER = CP 31370.
REQUIRED CENTRAL MEMORY:
TWO AUXILIARY ARRAYS OF N REALS ARE USED.
RUNNING TIME: ROUGHLY PROPORTIONAL TO N CUBED.
METHOD AND PERFORMANCE:
AS IS WELL-KNOWN,THE GAUSSIAN QUADRATURE RULES ARE
BASED ON THE ZEROS OF ORTHOGONAL POLYNOMIALS.
PROCEDURES FOR THE COMPUTATION OF THESE ZEROS CAN
BE FOUND IN SECTION 3.6.2.
AFTER THE COMPUTATION OF THE ZEROS OF THE JACOBI POLYNOMIAL
THE GAUSSIAN WEIGHTS ARE COMPUTED OF THE FORMULA
J=N-1
W[I]=1/( SUM P(J, ALFA, BETA, X[I])**2)
J=0
WHERE P(J, ALFA, BETA, X[I]) IS THE J-TH ORTHONORMAL
JACOBI POLYNOMIAL;SEE FURTHER [2],CH.III.
EXAMPLE OF USE:
THE PROGRAM
"BEGIN""COMMENT" EVALUATION OF THE INTEGRAL
TO X=1
INTEGRAL (1+X)**2 * (1-X) * EXP(X) DX
FROM X=-1
BY MEANS OF FIVE POINT GAUSS-JACOBI QUADRATURE.
THE EXACT VALUE IS 2*EXP(1)-10/EXP(1);
"REAL" ALFA, BETA, INT; "INTEGER" N; "ARRAY" X, W[1:5];
"REAL" "PROCEDURE" F(X); "VALUE" X; "REAL" X; F:=EXP(X);
ALFA:= 1; BETA:= 2; N:= 5; INT:= 0;
GSS JAC WGHTS( N, ALFA, BETA, X, W);
"FOR" N:= 1 "STEP" 1 "UNTIL" 5 "DO" INT:= INT + W[N] * F(X[N]);
OUTPUT(61, "(" /, 4B+D. 4D"+ZD")", INT - 2 * EXP(1) + 10 / EXP(1))
"END"
PRINTS THE FOLOWING RESULT:
-1.5932"-10
SUBSECTION: GSS LAG WGHTS.
CALLING SEQUENCE:
THE DECLARATION OF THE PROCEDURE IN THE CALLING PROGRAM READS:
"PROCEDURE" GSS LAG WGHTS (N, ALFA, X, W);
"VALUE" N, ALFA;
"INTEGER" N; "REAL" ALFA; "ARRAY" X, W;
"CODE" 31427;
THE MEANING OF THE FORMAL PARAMETERS IS:
N: <ARITHMETIC EXPRESSION>;
THE UPPER BOUND OF THE ARRAYS X AND W; N>=1;
ALFA: <ARITHMETIC EXPRESSION>;
THE PARAMETER OF THE WEIGHT FUNCTION FOR THE
LAGUERRE POLYNOMIALS;
ALFA>-1;
X: <ARRAY IDENTIFIER>;
"ARRAY" X[1: N];
EXIT: X[I] IS THE I-TH ZERO OF THE N-TH
LAGUERRE POLYNOMIAL;
W: <ARRAY IDENTIFIER>;
"ARRAY" W[1: N];
EXIT: W[I] IS THE GAUSSIAN WEIGHT CORRESPONDING
WITH THE I-TH ZERO OF THE N-TH LAGUERRE POLYNOMIAL.
PROCEDURES USED:
GAMMA = CP 35061,
ALL LAG ZER = CP 31371.
REQUIRED CENTRAL MEMORY:
TWO AUXILIARY ARRAYS OF N REALS ARE USED.
RUNNING TIME:
ROUGHLY PROPORTIONAL TO N CUBED.
METHOD AND PERFORMANCE:
THE ZEROS AND WEIGHTS ARE COMPUTED IN THE SAME
WAY AS IN THE PROCEDURE GSS JAC WGHTS.
EXAMPLE OF USE:
THE PROGRAM
"BEGIN" "COMMENT" COMPUTATION OF THE INTEGRAL FROM 0 TO INFINITY OF
SIN(X)*EXP(-X) BY MEANS OF A TEN POINT GAUSS-LAGUERRE
QUADRATURE.THE EXACT VALUE IS 0.5;
"REAL" INT;"INTEGER" N;"ARRAY" X, W[1:10];
"REAL""PROCEDURE" F(X); "VALUE"X; "REAL"X; F:=SIN(X);
GSS LAG WGHTS(10, 0, X, W); INT:=0;
"FOR" N:=10 "STEP" -1 "UNTIL" 1 "DO" INT:= INT + W[N] * F(X[N]);
OUTPUT(61, "("-D.4D"-ZD")", INT-0.5)
"END"
PRINTS THE RESULT:
2.0497" -7
SOURCE TEXTS:
"CODE" 31425;
"CODE" 31427;