[Numpy-discussion] Suggestions for GSoC Projects

Jennifer stone jenny.stone125 at gmail.com
Sun Mar 2 17:16:57 EST 2014


sp.hyp2f1(10,5,-300.5,0.5)
>>>>-6.5184949735e+156
The present implementation of the function in scipy, involves one Euler
Transform followed by the application of Power Series (as a and b turn
negative after Euler Transform is applied once). This most probably
blows up the values of function as |c|>>>|a| or |b|.
In one of the attempts to debug this the function hyp2f1 (when c<0; a,b>0;
|c|>>a,b)
was made to call hys2f1 (power series) without Euler Transformation. The
result was the same
as what mpmath gives when the precision is less (~100), as the error
tolerance
for hys2f1 is high. (MACHEP of order 10^-17). On increasing the sensitivity
by
changing the local tolerance to the order of 10^-200, it works perfect.

What are the implications of adopting this method in the cases where hyp2f1
fails to give accurate results? Except of course the fact that this
implementation
would be heavy.


> Our current hyp2f1 implementation does use recurrences (hyp2f1ra), but
> perhaps they are not invoked for this case. The problem here can be the
> accurate determination of the convergence region for each parameter value.
>
> The straight-forwardness of power series and its resemblance to mpmath
tempted
me to first try with hys2f1, However I have a strong feeling that owing to
strong sensitivity
of recurrence function in general, the implementation will be much faster.
However
direct implementation without a change in sensitivity fails to give the
required answer.
Regards
Jenny

>
> --
> Pauli Virtanen
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20140303/6aabbbb4/attachment.html>


More information about the NumPy-Discussion mailing list