Closed rtoy closed 4 months ago
Imported from SourceForge on 2024-07-06 07:12:02 Created by rtoy on 2007-12-20 15:45:29 Original: https://sourceforge.net/p/maxima/bugs/1309/#52a0
Logged In: YES user_id=28849 Originator: NO
I have seen this before. It seems to come from the call to checksigntm. hyp.lisp, hypgeo.lisp (and irinte.lisp) are the only places that call this function.
The issue with the sign not mattering is caused by bestrig. It wants to return bessel_i or bessel_j depending on if z > 0 or z < 0. But this particular example calls bestrig with the arg z^2, so it should always return the bessel_i result.
Imported from SourceForge on 2024-07-06 07:12:06 Created by rtoy on 2007-12-20 16:21:51 Original: https://sourceforge.net/p/maxima/bugs/1309/#2171
Logged In: YES user_id=28849 Originator: NO
I think checkcoefsignlist contains the information. I think hgfred should bind checkcoefsignlist to nil. When this is done, hgfred no longer remembers stuff.
Imported from SourceForge on 2024-07-06 07:12:09 Created by rtoy on 2007-12-21 01:48:40 Original: https://sourceforge.net/p/maxima/bugs/1309/#2a29
Logged In: YES user_id=28849 Originator: NO
Fixed in hyp.lisp, rev 1.85.
Imported from SourceForge on 2024-07-06 07:12:13 Created by rtoy on 2007-12-21 01:48:40 Original: https://sourceforge.net/p/maxima/bugs/1309/#096e
Imported from SourceForge on 2024-07-06 07:12:16 Created by rtoy on 2007-12-21 01:52:55 Original: https://sourceforge.net/p/maxima/bugs/1309/#8974
Logged In: YES user_id=28849 Originator: NO
Fixed in hyp.lisp, rev 1.85
Imported from SourceForge on 2024-07-06 07:12:01 Created by willisbl on 2007-12-20 15:04:37 Original: https://sourceforge.net/p/maxima/bugs/1309
Consider:
(%i1) hgfred([a],[2*a],x); Is x zero or nonzero? nonzero; (%o1) (bessel_i(a-1/2,x/2)*gamma(a+1/2)*x^(1/2-a)*%e^(x/2))/16^((1/2-a)/2)
The second time, Maxima doesn't ask
(%i2) hgfred([a],[2*a],x);
(%o2) (bessel_i(a-1/2,x/2)*gamma(a+1/2)*x^(1/2-a)*%e^(x/2))/16^((1/2-a)/2)
Maybe the problem has nothing to do with hgfred (a bug in asksign or friends). Also, answering zero instead of nonzero doesn't make any difference to the simplification:
(%i12) hgfred([a],[2*a],z); Is z zero or nonzero? zero; (%o12) (bessel_i(a-1/2,z/2)*gamma(a+1/2)*z^(1/2-a)*%e^(z/2))/16^((1/2-a)/2)