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 – Reference Manual: Gamma Functions</title>
<meta name="description" content="GNU Scientific Library – Reference Manual: Gamma Functions">
<meta name="keywords" content="GNU Scientific Library – 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> [<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 & 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<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 > 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> [<a href="Function-Index.html#Function-Index" title="Index" rel="index">Index</a>]</p>
</div>
</body>
</html>
|