[SciPy-dev] scipy.stats: sf for symmetric distributions.
David Warde-Farley
dwf at cs.toronto.edu
Wed Sep 16 18:24:10 EDT 2009
On 16-Sep-09, at 5:25 PM, Pauli Virtanen wrote:
>> sage: thepdf
>> 1/4*sqrt(2)/(1/2*x^2 + 1)^(3/2)
>> sage: n(2 * integral(thepdf, x, -infinity, -1), prec=100)
>> 0.42264973081037423549085121950
>
> Btw, this integral evaluates to
>
> 1 - 1/sqrt(3)
>
> Now, depending on how you evaluate this in floating point, you get
> different results:
>
> 1. - 1./sqrt(3.) = 0.42264973081037416
> (sqrt(3.) - 1)/sqrt(3.) = 0.42264973081037421
> (3. - sqrt(3.))/3. = 0.42264973081037427
>
> Perhaps the 0.###27 was obtained like this...
It was obtained via 1 - scipy.special(2, 1),
> It's nice if you can actually maintain this level of accuracy in
> scipy.stats in a way that works on all platforms -- doesn't work in
> scipy.special as the boost tests show.
Well, I guess we're still in trouble (depending on the special
function) but perhaps less trouble since we're not doing an
unnecessary subtraction.
Anyway, the ###21 result is closer than ###27 so I'm taking pleasure
in (*extremely*) small things.
David
More information about the SciPy-Dev
mailing list