how to do integration for gamma function with limits
Show older comments
clc
clear all
syms x
int(gamma(x),x,0,1)
9 Comments
David Goodmanson
on 14 Jul 2020
Edited: David Goodmanson
on 15 Jul 2020
Hi M^2,
This doesn't seem likely to have an explicit solution, even with different limits of integration than 0 to 1. gamma(x) has a pole with residue 1 at x=0 and hence behaves like 1/x near the + side of the origin. So the integral from 0 to any positive x will diverge.
Maths Maths
on 15 Jul 2020
David Goodmanson
on 15 Jul 2020
yes, why not.
Walter Roberson
on 15 Jul 2020
Edited: Walter Roberson
on 15 Jul 2020
It is a bit difficult to evaluate below 10^-53 as the lower bound, but in that area, the integral is increasing for each additional power of 10 that I push it.
10^-52 : 119.487730
10^-53 : 121.790316
10^-54 : 124.092901
10^-55 : 126.395486
Interesting, this is looking like a constant 2.3025851 for each additional digit -- which is log(10) . The integral is looking to be just a bit more than -log10(10^-N) for 10^-N in my test, which is log10(x) ... and since log10(0) is infinity then as you got to 0 as the lower bound, the integral would be infinite.
This is not a removable discontinuity across 0. limit(gamma(x),x=0+) is +infinity but limit(gamma(x),x=0-) is -infinity.
David Goodmanson
on 15 Jul 2020
gamma(z) = gamma(1+z)/z
Integral(gamma(z)) = Integral(gamma(z+1)/z -1/z + 1/z)
= Integral(gamma(z+1)-1)/z) + log(z)
Taking a look at the integrand numerator: Since gamma(1) = 1, (gamma(z+1)-1) is 0 when z = 0. Consequently (gamma(z+1)-1)/z equals a constant at z = 0. The integrand is bounded, so the integral can be integrated all the way down to small z with no problem. All the singular behavior is in the log term at the end. This says that
I = Integral{small,1} gamma(z) dz = C + log(z) |{small,1}
I = C -log(small) % the result
where
C = Integral{small,1} (gamma(z+1)-1)/z)
is a slowly varying function of 'small'. So as a check it should be true that
I + log(small) = C % slowly varying
I can't integrate down as close to zero as Walter, but
C = integral(@(x) gamma(x),1e-23,1) +log(1e-23)
C = -0.246695210286852
C = integral(@(x) gamma(x),1e-22,1) +log(1e-22)
C = -0.246690599165717
Unfortunately, although the basic idea is demonstrated, the result for 1e-52 is
I = -log(1e-52) - .24669
I = 119.4877
compared to Walter's 'about 121'.
Walter Roberson
on 15 Jul 2020
I revised after my "about 121" and gave more exact values. 119.4877 is excellent agreement.
Maths Maths
on 18 Jul 2020
Edited: Walter Roberson
on 19 Jul 2020
Maths Maths
on 25 Jul 2020
Walter Roberson
on 25 Jul 2020
It is not realistic that you would be able to find a closed form integral for that. You have t to unknown powers that are not guaranteed to be positive integers or even real-valued, and you have t^(-alp) where alp is an expression involving sin(t).
It is not even possible to find a closed form expression for int(t^sin(t), t, 0, 1)
Answers (0)
Categories
Find more on Mathematics in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!