axiom-developer
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Axiom-developer] Re: Patches


From: William Sit
Subject: [Axiom-developer] Re: Patches
Date: Fri, 18 Jun 2004 12:11:54 -0400

Hi Manuel:

Thanks for pitching in. Martin and I have been making guessing games on your
Axiom code. Your input will definitely help in making necessary patches.

The Thread Patches has branched out into:
EXPR POLY INT
Bugs in combfunc.spad and partial patch

> - The definite summation operator %defsum takes 5 arguments as follows:
>     f  - the expression being summed, depends on a dummy summation variable
>     v  - the dummy summation variable
>     k  - the symbol to use for the summation variable when displaying
>     a  - the lower bound
>     b  - the upper bound
>   For differentiation, it is viewed as a function of the 3 arguments f,a,b
>   and the chain rule is used, although my interpretation of the partial
>   derivative of the sum function with respect to the summation bounds is
>   wrong. I have to remember the reasons for the design, but the current
>   formula encoded in dvdsum is the following:
> 
>     D(sum(f(i),i=1..b)) = sum((Df)(i),i=a..b) + f(a) Da + f(b) Db

The Axiom version has:

      D(sum(f(i),i=a..b)) = sum((Df)(i),i=a..b) - f(a) Da + f(b) Db

>   for any derivation D. In the case of indefinite summation, a is an
>   arbitrary constant, so that formula becomes
> 
>     D(sum(f(i),i=..n) = sum((Df)(i),i=..n) + f(n) Dn
> 
>   which is encoded in dvsum.
>   Both are clearly wrong when the bounds are not constant, 

I still do not know under what conditions dvdsum applies (correctly). Do you
mean that it applies only when Da = - and Db = 0? In that case, why bother with
those terms? The formula (with the minus sign on f(a)Da) looks very much like
Leibniz' rule for differentiating under an integral sign, but I was not able to
find any such reference or formula.

>   I do not have
>   the correct derivative at hand when the sum is not expressible in closed
>   form as a function of the bounds.

Is there such a formula?

>   If there is agreement to return an unevaluated derivative when the bounds
>   are not constants w.r.t. D, I can probably patch dvdsum and dvsum to do 
> this.

Well, I think there are cases when the bounds are not constant wrt D, but the
summation can be done in closed form (such as sums of powers). Those cases
should return an evaluated (hopefully correct) answer. But when a closed form is
not available (to the current version of Axiom), the original input should be
returned. Mathematica uses many special functions to replace summations and
perform differentiation afterwards. Axiom is not set up to do any such things
yet, I believe. I tried, but just like Martin had, and found it impossible to
"hold" the differentiation operator without getting into an infinite loop.
(Holding the summation is ok). It seems this cannot be done in combfunc.spad
alone.

Many thanks for your inputs.

William




reply via email to

[Prev in Thread] Current Thread [Next in Thread]