gammaln
Logarithmic gamma function
Syntax
Description
Examples
Logarithmic Gamma Function for Numeric and Symbolic Arguments
Depending on its arguments, gammaln
returns floating-point or exact symbolic results.
Compute the logarithmic gamma function for these numbers. Because these numbers are not symbolic objects, you get floating-point results.
A = gammaln([1/5, 1/2, 2/3, 8/7, 3])
A = 1.5241 0.5724 0.3032 -0.0667 0.6931
Compute the logarithmic gamma function for the numbers converted to symbolic
objects. For many symbolic (exact) numbers, gammaln
returns
results in terms of the gammaln
, log
, and
gamma
functions.
symA = gammaln(sym([1/5, 1/2, 2/3, 8/7, 3]))
symA = [ gammaln(1/5), log(pi^(1/2)), gammaln(2/3),... log(gamma(1/7)/7), log(2)]
Use vpa
to approximate symbolic results with floating-point
numbers:
vpa(symA)
ans = [ 1.5240638224307845248810564939263,... 0.57236494292470008707171367567653,... 0.30315027514752356867586281737201,... -0.066740877459477468649396334098109,... 0.69314718055994530941723212145818]
Definition of the Logarithmic Gamma Function on Complex Plane
gammaln
is defined for all complex
arguments, except negative infinity.
Compute the logarithmic gamma function for positive integer arguments. For such
arguments, the logarithmic gamma function is defined as the natural logarithm of the
gamma function, gammaln(x) = log(gamma(x))
.
pos = gammaln(sym([1/4, 1/3, 1, 5, Inf]))
pos = [ log((pi*2^(1/2))/gamma(3/4)), log((2*pi*3^(1/2))/(3*gamma(2/3))), 0, log(24), Inf]
Compute the logarithmic gamma function for nonpositive integer arguments. For
nonpositive integers, gammaln
returns
Inf
.
nonposint = gammaln(sym([0, -1, -2, -5, -10]))
nonposint = [ Inf, Inf, Inf, Inf, Inf]
Compute the logarithmic gamma function for complex and negative rational
arguments. For these arguments, gammaln
returns unresolved
symbolic calls.
complex = gammaln(sym([i, -1 + 2*i , -2/3, -10/3]))
complex = [ gammaln(1i), gammaln(- 1 + 2i), gammaln(-2/3), gammaln(-10/3)]
Use vpa
to approximate symbolic results with floating-point
numbers:
vpa(complex)
ans = [ - 0.65092319930185633888521683150395 - 1.8724366472624298171188533494366i,... - 3.3739449232079248379476073664725 - 3.4755939462808110432931921583558i,... 1.3908857550359314511651871524423 - 3.1415926535897932384626433832795i,... - 0.93719017334928727370096467598178 - 12.566370614359172953850573533118i]
Compute the logarithmic gamma function of negative infinity:
gammaln(sym(-Inf))
ans = NaN
Plot Logarithmic Gamma Function
Plot the logarithmic gamma function on the interval from 0 to 10.
syms x fplot(gammaln(x),[0 10]) grid on
To see the negative values better, plot the same function on the interval from 1 to 2.
fplot(gammaln(x),[1 2])
grid on
Handle Expressions Containing Logarithmic Gamma Function
Many functions, such as diff
and
limit
, can handle expressions containing
lngamma
.
Differentiate the logarithmic gamma function:
syms x diff(gammaln(x), x)
ans = psi(x)
Compute the limits of these expressions containing the logarithmic gamma function:
syms x limit(1/gammaln(x), x, Inf)
ans = 0
limit(gammaln(x - 1) - gammaln(x - 2), x, 0)
ans = log(2) + pi*1i
Input Arguments
Algorithms
For single or double input to gammaln(x)
, x
must
be real and positive.
For symbolic input,
gammaln(x)
is defined for all complexx
except the singular points 0, -1, -2, ... .For positive real
x
,gammaln(x)
represents the logarithmic gamma functionlog(gamma(x))
.For negative real
x
or for complexx
, gammaln(x) = log(gamma(x)) + f(x)2πi where f(x) is some integer valued function. The integer multiples of 2πi are chosen such thatgammaln(x)
is analytic throughout the complex plane with a branch cut along the negative real semi axis.For negative real
x
,gammaln(x)
is equal to the limit oflog(gamma(x))
from ‘above’.
Version History
Introduced in R2014a