Re: Integrate on StudentTDistribution
- To: mathgroup at smc.vnet.net
- Subject: [mg103316] Re: [mg103303] Integrate on StudentTDistribution
- From: Bob Hanlon <hanlonr at cox.net>
- Date: Tue, 15 Sep 2009 04:24:33 -0400 (EDT)
- Reply-to: hanlonr at cox.net
$Version
7.0 for Mac OS X x86 (64-bit) (February 19, 2009)
Break the integral into two segments
expr[nN_, min_, max_] = Assuming[
nN > 0 && Element[x, Reals] && max > min,
Simplify[
Integrate[PDF[StudentTDistribution[nN], x],
{x, -Infinity, max}] -
Integrate[PDF[StudentTDistribution[nN], x],
{x, -Infinity, min}]]]
(Gamma[(nN + 1)/2]*(max*Hypergeometric2F1[1/2, (nN + 1)/2, 3/2,
-(max^2/nN)] - min*Hypergeometric2F1[1/2, (nN + 1)/2, 3/2,
-(min^2/nN)]))/(Sqrt[Pi]*Sqrt[nN]*Gamma[nN/2])
Comparing the results to the CDF
Table[With[{
nN = 5*RandomReal[{0, 1}],
min = RandomReal[{-20, 10}],
max = RandomReal[{10, 40}]},
expr[nN, min, max] - (
CDF[StudentTDistribution[nN], max] -
CDF[StudentTDistribution[nN], min])],
{200}] // Chop // Union
{0}
Bob Hanlon
---- Alexey <lehin.p at gmail.com> wrote:
=============
Hello, I am confused again with different behavior of
Integrate[PDF[StudentTDistribution[nN], x], {x, min, max}]
in Mathematica 7.01 and 5.2.
In the version 5.2:
In[2]:= Assuming[nN > 0 && Element[x, Reals] && max > min,
Integrate[(nN/(nN + x^2))^((1 + nN)/2)/(
Sqrt[nN] Beta[nN/2, 1/2]), {x, min, max}]]
Out[2]= (max Hypergeometric2F1[1/2, (1 + nN)/2, 3/2, -(max^2/nN)] -
min Hypergeometric2F1[1/2, (1 + nN)/2, 3/2, -(min^2/nN)])/(Sqrt[nN]
Beta[nN/2, 1/2])
In the version 7.01:
In[1]:= Assuming[nN > 0 && Element[x, Reals] && max > min,
Integrate[PDF[StudentTDistribution[nN], x], {x, min, max}]]
Out[1]= (1/Beta[nN/2, 1/2])nN^(nN/2)
If[min > 0 && max > 0, (1/
nN)(max min)^-nN (-min^nN Hypergeometric2F1[nN/2, (1 + nN)/2, (
2 + nN)/2, -(nN/max^2)] +
max^nN Hypergeometric2F1[nN/2, (1 + nN)/2, (2 + nN)/
2, -(nN/min^2)]),
Integrate[(nN + x^2)^(-(1/2) - nN/2), {x, min, max},
Assumptions ->
x \[Element] Reals && min <= 0 && max > min && nN > 0]]
Are the requirements min > 0 && max > 0 really necessary?