|
|
last edited 10 years ago by test1 |
1 2 | ||
Editor:
Time: 2007/11/17 22:09:32 GMT-8 |
||
Note: property change |
changed: - Original Savannah bug 9217 Submitted by: Martin Rubey <kratt6> Submitted on: Fri 06/04/04 at 08:18 Summary: Although axiom can evaluate this sum, it does not. Example of code trigerring the bug: \begin{axiom} f := operator 'f sum(f(i),i=a..b) eval(%,f,x+->x) \end{axiom} Internal Cause first the sum is evaluated. Since the argument 'f(x)' is not a polynomial or rational function, using first iidsum, than idsum of COMBF. Afterwards the substitution is performed. Now the sum has the internal format '%defsum [%A, %A, i, a, b]', which is again evaluated with iidsum and idsum of COMBF. The function 'sum$InnerPolySum' is never called, of course. A general solution is to call sum from within idsum, but in this case, care has to be taken that summation algorithms that can fail (such as Gosper's) do not produce an infinite loop. (In fact I think this is OK, I only did not have the time to check) From kratt6 Tue Oct 4 05:47:07 -0500 2005 From: kratt6 Date: Tue, 04 Oct 2005 05:47:07 -0500 Subject: property change Message-ID: <20051004054707-0500@wiki.axiom-developer.org> Category: => Axiom Library Severity: => serious Status: => open
Original Savannah bug 9217
Submitted by: Martin Rubey
Submitted on: Fri 06/04/04 at 08:18
Summary:
Although axiom can evaluate this sum, it does not.
Example of code trigerring the bug:
f := operator 'f
(1) |
sum(f(i),i=a..b)
(2) |
eval(%,f, x+->x)
(3) |
first the sum is evaluated. Since the argument f(x)
is not a polynomial
or rational function, using first iidsum, than idsum of COMBF. Afterwards
the substitution is performed. Now the sum has the internal format
'%defsum [%A, %A, i, a, b]?', which is again evaluated with iidsum and idsum of
COMBF. The function sum$InnerPolySum
is never called, of course. A general
solution is to call sum from within idsum, but in this case, care has to be
taken that summation algorithms that can fail (such as Gosper's) do not
produce an infinite loop. (In fact I think this is OK, I only did not have
the time to check)