axiom-developer
[Top][All Lists]

## RE: [Axiom-developer] about Expression Integer

 From: Bill Page Subject: RE: [Axiom-developer] about Expression Integer Date: Tue, 21 Feb 2006 12:01:21 -0500

```Ralf,

On February 21, 2006 10:13 AM you wrote:
>
>
> >>        differentiate(p: %,v: OV) ==
> >>              multivariate(differentiate(univariate(p,v)),v)
> >>
> >> where univariate just converts p to an element of
> >> SparseUnivariatePolynomial(%). (BTW, that's already a trick!)
>
> > Alternatively, if we are going to allow constructions in which
> > the coefficient domain of SUP might contain the polynomial
> > variable, then the implementation of 'differentiate' in SUP
> > should be corrected.
>
> Look more closely. SUP does not even know of a variable name.
> So how should it do something else than differentiate with respect
> to the only (unamed) variable it has? It's a univariate polynomial
> in the sense of being a function with finite support from the
> natural numbers to the coefficient ring.
>

I am looking at:

and

but I am confused by this result:

(1) -> S:=SUP EXPR INT

(1)  SparseUnivariatePolynomial Expression Integer
Type: Domain

(2) -> ex1:=(x^2+1)\$S

2
(2)  x  + 1
Type: SparseUnivariatePolynomial Expression Integer

(3) -> differentiate(ex1)\$S

(3)  0
Type: SparseUnivariatePolynomial Expression Integer

Ok, so 'differentiate\$SUP' treated 'x^2+1' as being in the
coefficient domain, right? But:

(4) -> differentiate(ex1,x)\$S

(4)  2x
Type: SparseUnivariatePolynomial Expression Integer

')set message bottomup on' shows that 'differentiate' with
signature '(SUP EXPR INT,SYMBOL) -> SUP EXPR INT' is called
from SUP.

(4) -> differentiate(ex1,x)\$S

Function Selection for differentiate
Arguments: (SUP EXPR INT,VARIABLE x)
Target type: SUP EXPR INT
From:      SUP EXPR INT
-> no appropriate x found in Expression Integer
-> no appropriate x found in Integer
-> no appropriate x found in Expression Integer
-> no appropriate x found in Integer

[1]  signature:   (SUP EXPR INT,SYMBOL) -> SUP EXPR INT
implemented: slot \$\$(Symbol) from SUP EXPR INT

This function seems to come from 'DifferentialExtension' in

and this seems correct to me. So I am confused as to why
'differentiate(univariate(p,v))' does not seem to yield this
same result. Can you help?

It seems to me that the interrelationship between all of these
polynomial categories, domains and packages is remarkably
convoluted. I am not saying necessarily that it does not have
to be this complicated, but certainly we would all benefit
greatly if this could be clearly and completely documented.

Regards,
Bill Page

```