## maxima-commits

 [Maxima-commits] Maxima, A Computer Algebra System branch master updated. 5.28.0-99-gb5805da From: Raymond Toy - 2012-11-10 02:41:41 ```This is an automated email from the git hooks/post-receive 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 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 c-a-b '((rat simp) 3 2)) - (not (alike1 c 1))) + (not (alike1 c 1)) + (not (alike1 a -1//2)) + (not (alike1 b -1//2))) ;; c-a-b = 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 c-a-b = 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, (n-1)/2],[1],x); %f[2,1]([-n/2, n/2-1/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/post-receive -- Maxima, A Computer Algebra System ```