Axiom Computer Algebra System  Bugs: bug #9217, substituting for an operator in a...
You are not allowed to post comments on this tracker with your current authentication level.
bug #9217: substituting for an operator in a sum does not apply the summation algorithms
Submitter:  Martin Rubey <kratt6>  
Submitted:  Fri 04 Jun 2004 08:18:34 AM UTC  
Category:  None  Severity:  3  Normal 
Item Group:  code bug  Status:  transferred 
Privacy:  Public  Assigned to:  None 
Originator Name:  kratt6  Open/Closed:  Open 
Release:  tla from may 2004  Reproducibility:  None 
Fixed Release:  
Error message:  
Example of code trigerring the bug:  eval(sum(f(i),i=a..b),f,x+>x) 

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

No files currently attached
Depends on the following items: None found
Items that depend on this one: None found
There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.
Follow 2 latest changes.
Date  Changed by  Updated Field  Previous Value  =>  Replaced by 

20051003  billpage1  Status  None  transferred  
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)  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) 
(6) > eval(sum(f(i),i=a..b),f,x+>x)
b
+
(6) > i
+
i= a
Type: Expression Integer
Although axiom can evaluate this sum, it does not.