NUMAL Section 2.2.2.1
BEGIN SECTION : 2.2.2.1 (November, 1978)
AUTHOR: C.G. VAN DER LAAN
CONTRIBUTORS: C.G. VAN DER LAAN, M. VOORINTHOLT
INSTITUTE: REKENCENTRUM RIJKSUNIVERSITEIT GRONINGEN
RECEIVED: 780601
BRIEF DESCRIPTION:
THIS SECTION CONTAINS SIX PROCEDURES FOR THE EVALUATION
OF ORTHOGONAL POLYNOMIALS:
ORTPOL,ORTPOLSYM: EVALUATE AN ORTHOGONAL POLYNOMIAL,
ALLORTPOL,ALLORTPOLSYM: EVALUATE ALL ORTHOGONAL POLYNOMIALS OF
DEGREE LESS THAN A GIVEN POSITIVE INTEGER.
SUMORTPOL,SUMORTPOLSYM: EVALUATE A SERIES OF
ORTHOGONAL POLYNOMIALS.
THE PROCEDURES ENDING WITH SYM ARE EFFICIENT VERSIONS FOR
SYMMETRICAL POLYNOMIALS (I.E. ODD INDEXED POLYNOMIALS THAT ARE ODD
FUNCTIONS AND EVEN INDEXED POLYNOMIALS THAT ARE EVEN FUNCTIONS);
KEYWORDS:
ORTHOGONAL POLYNOMIAL,
SERIES OF ORTHOGONAL POLYNOMIALS,
LINEAR THREE TERM (IN)HOMOGENEOUS RECURRENCE RELATION.
DATA AND RESULTS:
ORTHOGONAL POLYNOMIALS CAN BE CHARACTERIZED BY A RECURRENCE
RELATION OF THE FOLLOWING FORM
A1[K] * F[K+1](X) = (A2[K] + X * A3[K]) * F[K](X)
- A4[K] * F[K-1](X),
WHERE AI[K] ARE REAL NUMBERS. SEE FOR INSTANCE TABLE 22.7 IN
ABRAMOWITZ AND STEGUN (1964) FOR THE CLASSICAL ORTHOGONAL
POLYNOMIALS. BY AN ELEMENTARY TRANSFORMATION, THE COEFFICIENTS
IN THE RECURRENCE RELATION ABOVE CAN BE MADE SUCH THAT
THE RECURRENCE RELATION IS GIVEN BY
P[K+1](X) = (X - B[K]) * P[K](X) - C[K] * P[K-1](X),
P[0](X) = 1, P[1](X) = X - B[0].
IN THIS WAY WE OBTAIN A NORMALIZATION OF THE ORTHOGONAL POLYNOMIAL
SUCH THAT THE LEADING COEFFICIENT IN THE EXPLICIT REPRESENTATION OF
P[K](X) EQUALS 1.
AS A CONSEQUENCE THE FOLLOWING RELATION HOLDS BETWEEN THE VALUES
OBTAINED BY OUR PROCEDURES (E.G. ORTPOL) AND THE VALUES FROM
THE REPRESENTATION IN ABRAMOWITZ AND STEGUN (1964) (I.C. F)
N-1
ORTPOL[N](X) = PROD (A1[K]/A3[K]) * F[N](X) ,
K=0
WHERE A1[K], A3[K], F[N] ARE DETERMINED BY 22.4 AND 22.7 IN
ABRAMOWITZ AND STEGUN(1964). WE NOTICE THAT OVERFLOW/UNDERFLOW
MAY OCCUR EARLIER AS A CONSEQUENCE OF OUR NORMALIZATION.
IN ORDER TO AVOID MISTAKES WHEN OBTAINING THE RECURRENCE
COEFFICIENTS THE FOLLOWING TABLE GIVES THE RECURRENCE COEFFICIENTS
FOR THE CLASSICAL ORTHOGONAL POLYNOMIALS (NOTE THAT THE FIRST AND
SECOND POLYNOMIAL ARE DEFINED BY THE NORMALIZATION AND B[0]):
POLYNOMIAL KIND : RECURRENCE COEFFICIENTS
----------------------:--------------------------------------------
: B[K] : C[K]
:-----------------------:--------------------
CHEBYSHEV (1-ST KIND) : 0 : 1/2 , K=1
: : 1/4 , K>1
: :
CHEBYSHEV (2-ND KIND) : 0 : 1/4
: :
LEGENDRE : 0 : K**2/(4*K**2-1)
: :
JACOBI : -(ALPHA**2-BETA**2)/ : 4*(1+ALPHA)*
: ((2*K+ALPHA+BETA)* : (1+BETA)/((ALPHA+
: (2*K+ALPHA+BETA+2)) : BETA+2)**2*(ALPHA+
: : BETA+3)) , K=1
: :
: : 4*K*(K+ALPHA)*
: : (K+BETA)*(K+ALPHA+
: : BETA)/((2*K+ALPHA+
: : BETA)**2*((2*K+
: : ALPHA+BETA)**2-1))
: : , K>1
: :
: : (ALPHA,BETA > -1)
: :
LAGUERRE : 2*K+ALPHA+1 : K*(K+ALPHA)
: :
HERMITE : 0 : K/2
IN GENERAL THE RECURRENCE COEFFICIENTS MAY BE OBTAINED BY USE OF
THE PROCEDURE RECCOF. THE ABOVE TABLE IS OBTAINED BY ADAPTION
OF TABLE 22.7,ABRAMOWITZ AND STEGUN (1964) P. 782, AS FOLLOWS:
(NOTE THAT N>=1; FOR N=0 CONSULT 22.4)
B[I]:=-A2[I]/A3[I] , I=0,1,...,N-1
C[I]:=(A4[I]*A1[I-1])/(A3[I]*A3[I-1]) , I=1,2,...,N-1.
METHOD AND PERFORMANCE:
LET THE ORTHOGONAL POLYNOMIAL BE DEFINED BY
P[K+1](X)=(X-B[K])*P[K](X)-C[K]*P[K-1](X) , K=1,2,...N-1
WHERE B[0:N-1], C[1:N-1] CONTAIN THE RECURRENCE COEFFICIENTS AND
P[1](X)=X-B[0], P[0](X)=1 (SEE STOER 1972, P. 119).
THEN
N-1 / X-B[K] 1 \ / 1 \
P[N](X) = (X-B[0],1) * PROD [ ] [ ] , N=1,2,.....
K=1 \ -C[K] 0 / \ 0 /
AND
A[0]+A[1]*P[1](X)+...+A[N]*P[N](X)=
N J-1 / X-B[K] 1 \ / A[J] \
A[0] + (X-B[0],1) * SUM PROD [ ] [ ] .
J=1 K=1 \ -C[K] 0 / \ 0 /
THESE EXPRESSIONS ARE EVALUATED BY A GENERALISED HORNER RULE.
(SEE ALSO LUKE, 1969, P. 327).
REFERENCES:
ABRAMOWITZ, M. & I. STEGUN (1964):
HANDBOOK OF MATHEMATICAL FUNCTIONS,
NATIONAL BUREAU OF STANDARDS, WASHINGTON D.C.
LUKE, Y.L. (1969):
THE SPECIAL FUNCTIONS AND THEIR APPROXIMATIONS I,
ACADEMIC PRESS, LONDON, NEW YORK.
STOER, J. (1972):
EINFUEHRUNG IN DIE NUMERISCHE MATHEMATIK I,
SPRINGER VERLAG, BERLIN.
SUBSECTION: ORTPOL.
CALLING SEQUENCE:
THE DECLARATION OF THE PROCEDURE IN THE CALLING PROGRAM READS:
"REAL" "PROCEDURE" ORTPOL(N,X,B,C); "VALUE" N,X;
"INTEGER" N; "REAL" X; "ARRAY" B,C;
"CODE" 31044;
ORTPOL DELIVERS THE VALUE OF THE ORTHOGONAL POLYNOMIAL OF
DEGREE N FOR THE ARGUMENT X AS DETERMINED BY THE
RECURRENCE COEFFICIENTS.
THE MEANING OF THE FORMAL PARAMETERS IS:
N: <ARITHMETIC EXPRESSION>;
ENTRY: THE DEGREE OF THE POLYNOMIAL;
X: <ARITHMETIC EXPRESSION>;
ENTRY: THE ARGUMENT OF THE ORTHOGONAL POLYNOMIAL;
B,C: <ARRAY IDENTIFIER>;
"ARRAY" B[0:N-1], C[1:N-1];
ENTRY: THE RECURRENCE COEFFICIENTS (SEE DATA AND RESULTS).
SUBSECTION: ORTPOLSYM.
CALLING SEQUENCE:
THE DECLARATION OF THE PROCEDURE IN THE CALLING PROGRAM READS:
"REAL" "PROCEDURE" ORTPOLSYM(N,X,C); "VALUE" N,X;
"INTEGER" N; "REAL" X; "ARRAY" C;
"CODE" 31048;
ORTPOLSYM DELIVERS THE VALUE OF THE ORTHOGONAL POLYNOMIAL OF
DEGREE N FOR THE ARGUMENT X AS DETERMINED BY THE
RECURRENCE COEFFICIENTS.
THE MEANING OF THE FORMAL PARAMETERS IS:
N: <ARITHMETIC EXPRESSION>;
ENTRY: THE DEGREE OF THE POLYNOMIAL;
X: <ARITHMETIC EXPRESSION>;
ENTRY: THE ARGUMENT OF THE ORTHOGONAL POLYNOMIAL;
C: <ARRAY IDENTIFIER>;
"ARRAY" C[1:N-1];
ENTRY: THE RECURRENCE COEFFICIENTS (SEE DATA AND RESULTS).
SUBSECTION: ALLORTPOL.
CALLING SEQUENCE:
THE DECLARATION OF THE PROCEDURE IN THE CALLING PROGRAM READS:
"PROCEDURE" ALLORTPOL(N,X,B,C,P);
"VALUE" N,X; "INTEGER" N; "REAL" X; "ARRAY" B,C,P;
"CODE" 31045;
THE MEANING OF THE FORMAL PARAMETERS IS:
N,X,B,C: SEE ORTPOL (THIS SECTION);
P: <ARRAY IDENTIFIER>;
"ARRAY" P[0:N];
EXIT: P[K] CONTAINS, FOR THE ARGUMENT, THE VALUE OF THE
K-TH ORTHOGONAL POLYNOMIAL AS DEFINED BY THE
RECURRENCE COEFFICIENTS.
SUBSECTION: ALLORTPOLSYM.
CALLING SEQUENCE:
THE DECLARATION OF THE PROCEDURE IN THE CALLING PROGRAM READS:
"PROCEDURE" ALLORTPOLSYM(N,X,C,P);
"VALUE" N,X; "INTEGER" N; "REAL" X; "ARRAY" C,P;
"CODE" 31049;
THE MEANING OF THE FORMAL PARAMETERS IS:
N,X,C: SEE ORTPOLSYM (THIS SECTION);
P: <ARRAY IDENTIFIER>;
"ARRAY" P[0:N];
EXIT: P[K] CONTAINS, FOR THE ARGUMENT, THE VALUE OF THE
K-TH ORTHOGONAL POLYNOMIAL AS DEFINED BY THE
RECURRENCE COEFFICIENTS.
SUBSECTION: SUMORTPOL.
CALLING SEQUENCE:
THE DECLARATION OF THE PROCEDURE IN THE CALLING PROGRAM READS:
"REAL" "PROCEDURE" SUMORTPOL(N,X,B,C,A);
"VALUE" N,X; "INTEGER" N; "REAL" X; "ARRAY" B,C,A;
"CODE" 31047;
SUMORTPOL : DELIVERS THE VALUE OF THE POLYNOMIAL
A[0]+A[1]*P[1](X)+...+A[N]*P[N](X)
WHERE P[K](X) IS THE K-TH ORTHOGONAL POLYNOMIAL.
THE MEANING OF THE FORMAL PARAMETERS IS:
N,X,B,C: SEE ORTPOL (THIS SECTION);
A: <ARRAY IDENTIFIER>;
"ARRAY" A[0:N];
ENTRY: THE COEFFICIENTS OF THE SERIES EXPANSION
A[0]+A[1]*P[1](X)+...+A[N]*P[N](X)
WHERE P[K](X) IS THE K-TH ORTHOGONAL POLYNOMIAL
AS DEFINED BY THE RECURRENCE COEFFICIENTS.
SUBSECTION: SUMORTPOLSYM.
CALLING SEQUENCE:
THE DECLARATION OF THE PROCEDURE IN THE CALLING PROGRAM READS:
"REAL" "PROCEDURE" SUMORTPOLSYM(N,X,C,A);
"VALUE" N,X; "INTEGER" N; "REAL" X; "ARRAY" C,A;
"CODE" 31058;
SUMORTPOLSYM : DELIVERS THE VALUE OF THE POLYNOMIAL
A[0]+A[1]*P[1](X)+...+A[N]*P[N](X)
WHERE P[K](X) IS THE K-TH ORTHOGONAL POLYNOMIAL.
THE MEANING OF THE FORMAL PARAMETERS IS:
N,X,C: SEE ORTPOLSYM (THIS SECTION);
A: <ARRAY IDENTIFIER>;
"ARRAY" A[0:N];
ENTRY: THE COEFFICIENTS OF THE SERIES EXPANSION
A[0]+A[1]*P[1](X)+...+A[N]*P[N](X)
WHERE P[K](X) IS THE K-TH ORTHOGONAL POLYNOMIAL
AS DEFINED BY THE RECURRENCE COEFFICIENTS.
EXAMPLE OF USE:
THE FOLLOWING PROGRAM DELIVERS THE VALUES OF THE
LAGUERRE POLYNOMIAL OF DEGREES 0,1,2,3,4,5 FOR X=0 BY MEANS OF THE
PROCEDURE ALLORTPOL (B[K]=2*K+1, C[K]=K**2):
"BEGIN" "ARRAY" B[0:4], C[1:4], P[0:5];
"INTEGER" I;
B[0]:=1;
"FOR" I:=1 "STEP" 1 "UNTIL" 4 "DO"
"BEGIN" B[I]:=2*I+1;
C[I]:=I**2;
"END" I;
ALLORTPOL(5,0,B,C,P);
OUTPUT(61,"("2/,6(2B,+2ZD.D)")",P);
"END" PROGRAM;
RESULTS (NOTE THE DIFFERENCE WITH FIGURE 22.9 IN ABRAMOWITZ AND
STEGUN (1964) BECAUSE OF THE NORMALIZATION):
+1.0 -1.0 +2.0 -6.0 +24.0 -120.0
SOURCE TEXTS:
"CODE" 31044;
"CODE" 31048;
"CODE" 31045;
"CODE" 31049;
"CODE" 31047;
"CODE" 31058;