login  home  contents  what's new  discussion  bug reports     help  links  subscribe  changes  refresh  edit

Edit detail for #212 substituting for an operator in a sum does not apply the summation algorithms revision 2 of 2

1 2
Editor: test1
Time: 2014/05/06 17:09:55 GMT+0
Note:

added:

From test1 Tue May 6 17:09:55 +0000 2014
From: test1
Date: Tue, 06 May 2014 17:09:55 +0000
Subject: 
Message-ID: <20140506170955+0000@axiom-wiki.newsynthesis.org>

Severity: serious => minor 


Submitted by : (unknown) at: 2007-11-17T22:09:32-08:00 (17 years ago)
Name :
Axiom Version :
Category : Severity : Status :
Optional subject :  
Optional comment :

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:

fricas
(1) -> f := operator 'f

\label{eq1}f(1)
Type: BasicOperator?
fricas
sum(f(i),i=a..b)

\label{eq2}\sum_{
\displaystyle
{i = a}}^{
\displaystyle
b}{f \left({i}\right)}(2)
Type: Expression(Integer)
fricas
eval(%,f,x+->x)

\label{eq3}\sum_{
\displaystyle
{i = a}}^{
\displaystyle
b}i(3)
Type: Expression(Integer)

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)

property change --kratt6, Tue, 04 Oct 2005 05:47:07 -0500 reply
Category: => Axiom Library Severity: => serious Status: => open

Severity: serious => minor