GNU Octave
4.4.1
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
d9lgic.f
Go to the documentation of this file.
1
*DECK D9LGIC
2
DOUBLE PRECISION
FUNCTION
d9lgic (A, X, ALX)
3
C***BEGIN PROLOGUE D9LGIC
4
C***SUBSIDIARY
5
C***PURPOSE Compute the log complementary incomplete Gamma function
6
C for large X and for A .LE. X.
7
C***LIBRARY SLATEC (FNLIB)
8
C***CATEGORY C7E
9
C***TYPE DOUBLE PRECISION (R9LGIC-S, D9LGIC-D)
10
C***KEYWORDS COMPLEMENTARY INCOMPLETE GAMMA FUNCTION, FNLIB, LARGE X,
11
C LOGARITHM, SPECIAL FUNCTIONS
12
C***AUTHOR Fullerton, W., (LANL)
13
C***DESCRIPTION
14
C
15
C Compute the log complementary incomplete gamma function for large X
16
C and for A .LE. X.
17
C
18
C***REFERENCES (NONE)
19
C***ROUTINES CALLED D1MACH, XERMSG
20
C***REVISION HISTORY (YYMMDD)
21
C 770701 DATE WRITTEN
22
C 890531 Changed all specific intrinsics to generic. (WRB)
23
C 890531 REVISION DATE from Version 3.2
24
C 891214 Prologue converted to Version 4.0 format. (BAB)
25
C 900315 CALLs to XERROR changed to CALLs to XERMSG. (THJ)
26
C 900720 Routine changed from user-callable to subsidiary. (WRB)
27
C***END PROLOGUE D9LGIC
28
DOUBLE PRECISION
a, x, alx,
eps
, fk, p, r, s, t, xma, xpa,
d1mach
29
SAVE
eps
30
DATA
eps
/ 0.d0 /
31
C***FIRST EXECUTABLE STATEMENT D9LGIC
32
IF
(
eps
.EQ.0.d0)
eps
= 0.5d0*
d1mach
(3)
33
C
34
xpa = x + 1.0d0 - a
35
xma = x - 1.d0 - a
36
C
37
r = 0.d0
38
p = 1.d0
39
s = p
40
DO
10 k=1,300
41
fk = k
42
t = fk*(a-fk)*(1.d0+r)
43
r = -t/((xma+2.d0*fk)*(xpa+2.d0*fk)+t)
44
p = r*p
45
s = s + p
46
IF
(
abs
(p).LT.
eps
*s)
GO TO
20
47
10
CONTINUE
48
CALL
xermsg (
'SLATEC'
,
'D9LGIC'
,
49
+
'NO CONVERGENCE IN 300 TERMS OF CONTINUED FRACTION'
, 1, 2)
50
C
51
20 d9lgic = a*alx - x +
log
(s/xpa)
52
C
53
RETURN
54
END
log
OCTAVE_EXPORT octave_value_list or N dimensional array whose elements are all equal to the base of natural logarithms The constant ex $e satisfies the equation log(e)
d1mach
double precision function d1mach(i)
Definition:
d1mach.f:20
abs
static T abs(T x)
Definition:
pr-output.cc:1696
eps
#define eps(C)
Definition:
Vt102Emulation.cpp:274
liboctave
external
slatec-fn
d9lgic.f
Generated on Sat Sep 1 2018 14:01:45 for GNU Octave by
1.8.14