NUMAL Section 6.5.2
BEGIN SECTION : 6.5.2 (March, 1977)
AUTHOR(S): H.FIOLET, N.TEMME.
INSTITUTE: MATHEMATICAL CENTRE.
RECEIVED: 740317.
BRIEF DESCRIPTION:
THIS SECTION CONTAINS TWO PROCEDURES:
THE PROCEDURE SINCOSINT CALCULATES THE SINE INTEGRAL SI(X) AND
THE COSINE INTEGRAL CI(X) DEFINED BY
SI(X) = INTEGRAL FROM 0 TO X OF SIN(T)/T DT
AND
CI(X) = GAMMA + LN(ABS(X)) +
INTEGRAL FROM 0 TO X OF (COS(T)-1)/T DT,
WHERE GAMMA DENOTES EULER'S CONSTANT
(SEE [1] EQ. 5.2.1 AND 5.2.2);
THE AUXILIARY PROCEDURE SINCOSFG CALCULATES F(X) AND G(X)
DEFINED BY
F(X) = CI(X) * SIN(X) - (SI(X) - PI / 2) * COS(X)
AND
G(X) =-CI(X) * COS(X) - (SI(X) - PI / 2) * SIN(X);
FOR X=0 THE VALUES OF CI(X), F(X) AND G(X) ARE UNDEFINED;
THE FOLLOWING RELATIONS CONCERNING NEGATIVE X ARE VALID:
SI(-X) = -SI(X), CI(-X) = CI(X), F(-X) = -F(X), G(-X) = G(X).
KEYWORDS: SINE INTEGRAL,
COSINE INTEGRAL.
SUBSECTION: SINCOSINT.
CALLING SEQUENCE:
THE HEADING OF THE PROCEDURE READS :
"PROCEDURE" SINCOSINT(X,SI,CI); "VALUE" X; "REAL" X, SI, CI;
"CODE" 35084;
THE MEANING OF THE FORMAL PARAMETERS IS :
X : <ARITHMETIC EXPRESSION>;
ENTRY: THE (REAL) ARGUMENT OF SI(X) AND CI(X);
SI: <VARIABLE>;
EXIT: THE VALUE OF SI(X);
CI: <VARIABLE>;
EXIT: THE VALUE OF CI(X).
PROCEDURES USED:
SINCOSFG = CP35385,
CHEPOLSUM = CP31046.
RUNNING TIME:
"IF" ABS(X) <= 4 "THEN" ABOUT 3.8 MSEC
"ELSE" ABOUT 7.5 MSEC .
LANGUAGE: ALGOL 60.
METHOD AND PERFORMANCE:
SEE METHOD AND PERFORMANCE OF THE PROCEDURE SINCOSFG
(THIS SECTION).
SUBSECTION: SINCOSFG.
CALLING SEQUENCE:
THE HEADING OF THE PROCEDURE READS :
"PROCEDURE" SINCOSFG(X,F,G); "VALUE" X; "REAL" X, F, G;
"CODE" 35085;
THE MEANING OF THE FORMAL PARAMETERS IS :
X: <ARITHMETIC EXPRESSION>;
ENTRY: THE (REAL) ARGUMENT OF F(X) AND G(X);
F: <VARIABLE>;
EXIT: THE VALUE OF F(X);
G: <VARIABLE>;
EXIT: THE VALUE OF G(X).
PROCEDURES USED:
SINCOSINT = CP35084,
CHEPOLSUM = CP31046.
RUNNING TIME:
"IF" ABS(X) <= 4 "THEN" ABOUT 4.7 MSEC
"ELSE" ABOUT 6.5 MSEC .
LANGUAGE: ALGOL 60.
METHOD AND PERFORMANCE:
IF ABS(X) <= 4 THE SINE AND COSINE INTEGRALS ARE REPRESENTED BY
TRUNCATED CHEBYSHEV SERIES. ON THIS INTERVAL THE FUNCTIONS F AND G
ARE CALCULATED BY MEANS OF THE EQUATIONS GIVEN IN THE BRIEF
DESCRIPTION.
IF ABS(X) > 4 THE FUNCTIONS F AND G ARE REPRESENTED BY TRUNCATED
CHEBYSHEV SERIES. IN THIS CASE THE SINE AND COSINE INTEGRALS ARE
COMPUTED BY MEANS OF THE FOLLOWING RELATIONS:
SI(X) = PI / 2 - F(X) * COS(X) - G(X) * SIN(X)
AND
CI(X) = F(X) * SIN(X) - G(X) * COS(X).
THE FUNCTION VALUES ARE COMPUTED WITH A RELATIVE PRECISION OF
ABOUT "-13.
WHEN USING THE PROCEDURE SINCOSINT FOR LARGE VALUES OF X , THE
RELATIVE ACCURACY MAINLY DEPENDS ON THE ACCURACY OF THE FUNCTIONS
SIN(X) AND COS(X).
REFERENCES:
[1].M.ABRAMOWITZ AND I.STEGUN (EDS.),1964.
HANDBOOK OF MATHEMATICAL FUNCTIONS WITH FORMULAS, GRAPHS AND
MATHEMATICAL TABLES.
APPL. MATH. SER. 55, U.S.GOVT. PRINTING OFFICE,WASHINGTON, D.C.
[2].R.BULIRSCH.
NUMERICAL CALCULATION OF THE SINE, COSINE AND FRESNEL INTEGRALS
HANDBOOK SERIES SPECIAL FUNCTIONS.
NUM. MATH. 9, 1967, PP380-385.
EXAMPLE OF USE:
IN THE FOLLOWING PROGRAM WE COMPUTE THE VALUES OF SI(X), CI(X),
F(X) AND G(X) FOR X = 1;
"BEGIN"
"REAL" SI, CI, F, G;
SINCOSINT(1, SI, CI);
SINCOSFG(1, F, G);
OUTPUT(61,"("4B,"("SI(1)= ")",N,2B,"("CI(1)= ")",N/")",SI,CI);
OUTPUT(61,"("4B,"(" F(1)= ")",N,2B,"(" G(1)= ")",N ")", F, G);
"END"
THIS PROGRAM DELIVERS:
SI(1)= +9.46083070367166"-001 CI(1)= +3.37403922900972"-001
F(1)= +6.21449624235829"-001 G(1)= +3.43377961556442"-001
SOURCE TEXT(S):
"CODE" 35084;
"CODE" 35085;