File: Gamma-Functions.html

package info (click to toggle)
gsl-ref-html 2.3-1
  • links: PTS
  • area: non-free
  • in suites: bullseye, buster, sid
  • size: 6,876 kB
  • ctags: 4,574
  • sloc: makefile: 35
file content (159 lines) | stat: -rw-r--r-- 8,468 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 The GSL Team.

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with the
Invariant Sections being "GNU General Public License" and "Free Software
Needs Free Documentation", the Front-Cover text being "A GNU Manual",
and with the Back-Cover Text being (a) (see below). A copy of the
license is included in the section entitled "GNU Free Documentation
License".

(a) The Back-Cover Text is: "You have the freedom to copy and modify this
GNU Manual." -->
<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
<head>
<title>GNU Scientific Library &ndash; Reference Manual: Gamma Functions</title>

<meta name="description" content="GNU Scientific Library &ndash; Reference Manual: Gamma Functions">
<meta name="keywords" content="GNU Scientific Library &ndash; Reference Manual: Gamma Functions">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="Function-Index.html#Function-Index" rel="index" title="Function Index">
<link href="Gamma-and-Beta-Functions.html#Gamma-and-Beta-Functions" rel="up" title="Gamma and Beta Functions">
<link href="Factorials.html#Factorials" rel="next" title="Factorials">
<link href="Gamma-and-Beta-Functions.html#Gamma-and-Beta-Functions" rel="previous" title="Gamma and Beta Functions">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
-->
</style>


</head>

<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Gamma-Functions"></a>
<div class="header">
<p>
Next: <a href="Factorials.html#Factorials" accesskey="n" rel="next">Factorials</a>, Up: <a href="Gamma-and-Beta-Functions.html#Gamma-and-Beta-Functions" accesskey="u" rel="up">Gamma and Beta Functions</a> &nbsp; [<a href="Function-Index.html#Function-Index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="Gamma-Functions-1"></a>
<h4 class="subsection">7.19.1 Gamma Functions</h4>
<a name="index-gamma-functions"></a>

<p>The Gamma function is defined by the following integral,
</p>
<div class="example">
<pre class="example">\Gamma(x) = \int_0^\infty dt  t^{x-1} \exp(-t)
</pre></div>

<p>It is related to the factorial function by <em>\Gamma(n)=(n-1)!</em>
for positive integer <em>n</em>.  Further information on the Gamma function
can be found in Abramowitz &amp; Stegun, Chapter 6.  
</p>
<dl>
<dt><a name="index-gsl_005fsf_005fgamma"></a>Function: <em>double</em> <strong>gsl_sf_gamma</strong> <em>(double <var>x</var>)</em></dt>
<dt><a name="index-gsl_005fsf_005fgamma_005fe"></a>Function: <em>int</em> <strong>gsl_sf_gamma_e</strong> <em>(double <var>x</var>, gsl_sf_result * <var>result</var>)</em></dt>
<dd><p>These routines compute the Gamma function <em>\Gamma(x)</em>, subject to <em>x</em>
not being a negative integer or zero.  The function is computed using the real
Lanczos method. The maximum value of <em>x</em> such that <em>\Gamma(x)</em> is not
considered an overflow is given by the macro <code>GSL_SF_GAMMA_XMAX</code>
and is 171.0.
</p></dd></dl>

<dl>
<dt><a name="index-gsl_005fsf_005flngamma"></a>Function: <em>double</em> <strong>gsl_sf_lngamma</strong> <em>(double <var>x</var>)</em></dt>
<dt><a name="index-gsl_005fsf_005flngamma_005fe"></a>Function: <em>int</em> <strong>gsl_sf_lngamma_e</strong> <em>(double <var>x</var>, gsl_sf_result * <var>result</var>)</em></dt>
<dd><a name="index-logarithm-of-Gamma-function"></a>
<p>These routines compute the logarithm of the Gamma function,
<em>\log(\Gamma(x))</em>, subject to <em>x</em> not being a negative
integer or zero.  For <em>x&lt;0</em> the real part of <em>\log(\Gamma(x))</em> is
returned, which is equivalent to <em>\log(|\Gamma(x)|)</em>.  The function
is computed using the real Lanczos method.
</p></dd></dl>

<dl>
<dt><a name="index-gsl_005fsf_005flngamma_005fsgn_005fe"></a>Function: <em>int</em> <strong>gsl_sf_lngamma_sgn_e</strong> <em>(double <var>x</var>, gsl_sf_result * <var>result_lg</var>, double * <var>sgn</var>)</em></dt>
<dd><p>This routine computes the sign of the gamma function and the logarithm of
its magnitude, subject to <em>x</em> not being a negative integer or zero.  The
function is computed using the real Lanczos method.  The value of the
gamma function and its error can be reconstructed using the relation 
<em>\Gamma(x) = sgn * \exp(result\_lg)</em>, taking into account the two 
components of <var>result_lg</var>.
</p></dd></dl>

<dl>
<dt><a name="index-gsl_005fsf_005fgammastar"></a>Function: <em>double</em> <strong>gsl_sf_gammastar</strong> <em>(double <var>x</var>)</em></dt>
<dt><a name="index-gsl_005fsf_005fgammastar_005fe"></a>Function: <em>int</em> <strong>gsl_sf_gammastar_e</strong> <em>(double <var>x</var>, gsl_sf_result * <var>result</var>)</em></dt>
<dd><a name="index-Regulated-Gamma-function"></a>
<p>These routines compute the regulated Gamma Function <em>\Gamma^*(x)</em>
for <em>x &gt; 0</em>. The regulated gamma function is given by,
</p>
<div class="example">
<pre class="example">\Gamma^*(x) = \Gamma(x)/(\sqrt{2\pi} x^{(x-1/2)} \exp(-x))
            = (1 + (1/12x) + ...)  for x \to \infty
</pre></div>
<p>and is a useful suggestion of Temme.
</p></dd></dl>

<dl>
<dt><a name="index-gsl_005fsf_005fgammainv"></a>Function: <em>double</em> <strong>gsl_sf_gammainv</strong> <em>(double <var>x</var>)</em></dt>
<dt><a name="index-gsl_005fsf_005fgammainv_005fe"></a>Function: <em>int</em> <strong>gsl_sf_gammainv_e</strong> <em>(double <var>x</var>, gsl_sf_result * <var>result</var>)</em></dt>
<dd><a name="index-Reciprocal-Gamma-function"></a>
<p>These routines compute the reciprocal of the gamma function,
<em>1/\Gamma(x)</em> using the real Lanczos method.
</p></dd></dl>

<dl>
<dt><a name="index-gsl_005fsf_005flngamma_005fcomplex_005fe"></a>Function: <em>int</em> <strong>gsl_sf_lngamma_complex_e</strong> <em>(double <var>zr</var>, double <var>zi</var>, gsl_sf_result * <var>lnr</var>, gsl_sf_result * <var>arg</var>)</em></dt>
<dd><a name="index-Complex-Gamma-function"></a>
<p>This routine computes <em>\log(\Gamma(z))</em> for complex <em>z=z_r+i
z_i</em> and <em>z</em> not a negative integer or zero, using the complex Lanczos
method.  The returned parameters are <em>lnr = \log|\Gamma(z)|</em> and
<em>arg = \arg(\Gamma(z))</em> in <em>(-\pi,\pi]</em>.  Note that the phase
part (<var>arg</var>) is not well-determined when <em>|z|</em> is very large,
due to inevitable roundoff in restricting to <em>(-\pi,\pi]</em>.  This
will result in a <code>GSL_ELOSS</code> error when it occurs.  The absolute
value part (<var>lnr</var>), however, never suffers from loss of precision.
</p></dd></dl>

<hr>
<div class="header">
<p>
Next: <a href="Factorials.html#Factorials" accesskey="n" rel="next">Factorials</a>, Up: <a href="Gamma-and-Beta-Functions.html#Gamma-and-Beta-Functions" accesskey="u" rel="up">Gamma and Beta Functions</a> &nbsp; [<a href="Function-Index.html#Function-Index" title="Index" rel="index">Index</a>]</p>
</div>



</body>
</html>