This is an automated email from the git hooks/postreceive script. It was
generated because a ref change was pushed to the repository containing
the project "Maxima, A Computer Algebra System".
The branch, master has been updated
via b5805da90b8b44e87c0ed6d80e4d3ee90144dcc3 (commit)
from 70c70ec2404e51e59d8372292955fcb2742ec97e (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
 Log 
commit b5805da90b8b44e87c0ed6d80e4d3ee90144dcc3
Author: Raymond Toy <toy.raymond@...>
Date: Fri Nov 9 18:41:03 2012 0800
Work around bug 3578373: hgfred([1/2,a+1],[a+2],x)
Don't use the formula is a+1/2 or b+1/2 would be zero because the
formula doesn't give what we want.
diff git a/src/hyp.lisp b/src/hyp.lisp
index 156cd36..a09edc6 100644
 a/src/hyp.lisp
+++ b/src/hyp.lisp
@@ 1437,12 +1437,15 @@
(legf20 (list a b) (list c) var))
((and (alike1 cab '((rat simp) 3 2))
 (not (alike1 c 1)))
+ (not (alike1 c 1))
+ (not (alike1 a 1//2))
+ (not (alike1 b 1//2)))
;; cab = 3/2 e.g. F(a,b;a+b+3/2;z) Reduce to
;; F(a,b;a+b+1/2) and use A&S 15.2.6. But if c = 1, we
;; don't want to reduce c to 0! Problem: The derivative of
;; assoc_legendre_p introduces a unit_step function and the
 ;; result looks very complicate.
+ ;; result looks very complicated. And this doesn't work if
+ ;; a+1/2 or b+1/2 is zero, so skip that too.
(when $trace2f1
(format t "Legendre cab = 3/2~%")
(mformat t " : a = ~A~%" a)
diff git a/tests/rtesthyp.mac b/tests/rtesthyp.mac
index 2adcb6f..b6f2d91 100644
 a/tests/rtesthyp.mac
+++ b/tests/rtesthyp.mac
@@ 2483,3 +2483,11 @@ ratsimp(hgfred([2,1],[1/2],z));
hgfred([n/2, (n1)/2],[1],x);
%f[2,1]([n/2, n/21/2],[1],x);
+
+/*
+ * Bug 3578373: hgfred([1/2,a+1],[a+2],x);
+ *
+ * Just check that we don't get an error about 0 to a negative exponent.
+ */
+hgfred([1/2,a+1],[a+2],x);
+%f[2,1]([1/2, a+1], [a+2], x);

Summary of changes:
src/hyp.lisp  7 +++++
tests/rtesthyp.mac  8 ++++++++
2 files changed, 13 insertions(+), 2 deletions()
hooks/postreceive

Maxima, A Computer Algebra System
