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 18:41:37 -0500

```On February 21, 2006 4:53 PM Ralf Hemmecke wrote:
> ...
> > (4) -> differentiate(ex1,x)\$S
>
> > This function seems to come from 'DifferentialExtension'
>
> No. I rather think it comes from 'PartialDifferentialRing(Symbol)'.
> Look at Hyperdoc. Browse SUP and view Operations->Origins (Filter
> "differentiate").

I think Hyperdoc is confused.

SparseUnivariatePolynomial(R:Ring): UnivariatePolynomialCategory(R) with ...

UnivariatePolynomialCategory(R:Ring): Category ==
Join(PolynomialCategory(R, NonNegativeInteger, SingletonAsOrderedSet),
Eltable(R, R), Eltable(%, %), DifferentialRing,
DifferentialExtension R) with ...

DifferentialExtension(R:Ring): Category == Ring with ...
if R has PartialDifferentialRing(Symbol) then
PartialDifferentialRing(Symbol)

if R has PartialDifferentialRing Symbol then
differentiate(x:%, v:Symbol):% ==
differentiate(x, differentiate(#1, v)\$R)

------------

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

I think what we need really is:

differentiate(univariate(p),v)

but I am having a disagreement with SPAD about how to write this.
See:

http://wiki.axiom-developer.org/SandBoxPolynomial

> Not really. I think there is a bug here, since x is sometimes
> treated as the indeterminate of SUP and sometimes not.

This makes sense to me:

'x' is an indeterminante (kernel?) of 'SUP(R:Ring)' if 'x' is
an indeterminante of R,

i.e. by extension in the same sense in which differentiation
is extended to SUP, see ')sh SUP':

differentiate : (%,Symbol) -> % if R has PDRING SYMBOL

But the list of indeterminantes of 'SUP' can be larger than the
list of variables (fixed at 1 and denoted '?' for 'SUP').

Maybe that is a bit confusing compared to common usage. :(

>
> > It seems to me that the interrelationship between all of these
> > polynomial categories, domains and packages is remarkably
> > convoluted.
>
> I don't really think so. The problematic thing is to take
> "Expression Integer" as an argument in the construction of SUP.
>
> Could you explain in which sense SUP(Expression Integer) should be
> semantically different from Expression(Integer)?

SUP(Expression Integer) has an extra (but unspecified) variable:
the "polynomial variable".

>
> Isn't an element of SUP(Expression Integer) also an expression?

No, only the members of 'SUP(EXPR INT)' of degree 0. For example:

monomial(x,1)\$SUP EXPR INT

cannot be converted to 'EXPR INT'.

> It is obvious that Axiom can construct SUP(Expression Integer),
> but does this make sense?

Yes, I think so.

>
> I do not fully understand the "Expression" constructor, but
> I somehow consider it as a domain that contains every expression.

No. The 'Rep' of 'Expression x' is 'FRAC MPOLY x'. It cannot
possibly contain every expression.

> Therefore, I think constructing higher domains that are built on
> Expression should not yield a bigger class than Expression itself.
>

Unfortunately 'Expression' is not a "GeneralExpression" or even
Aldor's 'ExpressionTree'. But I agree that really Axiom needs a
'GeneralExpression' of this kind.

> What would be the relation between SUP(Expression Integer) and
> Expression(Integer) on a semantic level? Equality, subset, superset?
>

There is a sense in which 'EXPR INT' is a SubDomain of 'SUP EXPR INT'
in so much as it is always possible to coerce a member of 'EXPR INT'
to 'SUP EXPR INT' but the reverse conversion is only possible for
members of 'SUP EXPR INT' of degree 0.

Regards,
Bill Page.

```

reply via email to