[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug-gsl] hyperg_U(a,b,x) Questions about x<0 and values of a
From: |
Raymond Rogers |
Subject: |
[Bug-gsl] hyperg_U(a,b,x) Questions about x<0 and values of a |
Date: |
Wed, 07 Jul 2010 10:14:34 -0500 |
User-agent: |
Thunderbird 2.0.0.24 (X11/20100411) |
1) I was unable to find the valid domain of the argument a when x<0.
Experimenting yields what seem to be erratic results. Apparently
correct answers occur when {x<0&a<0& a integer}. References would be
sufficient. Unfortunately {x<0,a<0} is exactly the wrong range for my
problem; but the recursion relations can be used to stretch to a>0. If
I can find a range of correct operation for the domain of "a" of width >1.
2) I notice the gsl specfunc testing is only at integer values for a
when x<0.
3) Here is a fairly typical output with using Octave. I compiled and
pushed the 1.14 library in _under_ octave 3.0.5 so I may have caused
problems.
I would appreciate somebody running and checking the results
------------------------------------------------------------------------------------
Octave run:
octave:3> hyperg_U(1.3,1,-6.1)
ans = -0.093750
octave:4> hyperg_U(1.3001,1,-6.1)
error: GSL error 1 at gamma.c, line 1205: domain error
octave:4> hyperg_U(1.3002,1,-6.1)
ans = 0.25000
octave:5> hyperg_U(-3,1,-6.1)
ans = -677.67
octave:6> hyperg_U(-3.001,1,-6.1)
error: GSL error 1 at gamma.c, line 1205: domain error
octave:6> hyperg_U(-3.002,1,-6.1)
error: GSL error 1 at gamma.c, line 1205: domain error
---------------------------------------------------------------------------------------------------------------
Maple (using their library): Unfortunately their program seems to have
found a "naked singularity"; note the step function that occurs around
x+- I . Aside from this Maple has always passed tests on KummerU.
> KummerU(1.3, 1, -6.1);
-0.09771897447 + 0.1092599556 I
> KummerU(1.3001, 1, -6.1);
-0.09767744601 + 0.1092755612 I
> KummerU(1.3002, 1, -6.1);
-0.09763591893 + 0.1092911531 I
> (KummerU(1.3001, 1, -6.1+0.1e-4*I)+KummerU(1.3001, 1, -6.1-0.1e-4*I))*1/2;
-0.09767770036 + 0. I
> KummerU(-3, 1, -6.1);
-677.6710000
> KummerU(-3.001, 1, -6.1);
-679.3233991 - 2.134164421 I
> (KummerU(-3.001, 1, -6.1+0.1e-4*I)+KummerU(-3.001, 1, -6.1-0.1e-4*I))*1/2;
-679.3234068 + 0. I
> KummerU(-3.002, 1, -6.1);
-680.9732011 - 4.278737118 I
4) If somebody wants me to run more tests; I have spent so many hours on
my problem that a few more wouldn't bother me at all. I am slightly
familiar with gdb if required. "Slightly" means responses will probably
take a week :-) .
Ray
- [Bug-gsl] hyperg_U(a,b,x) Questions about x<0 and values of a,
Raymond Rogers <=