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. >From http://wiki.axiom-developer.org/axiom--test--1/src/algebra/PolySpad SparseUnivariatePolynomial(R:Ring): UnivariatePolynomialCategory(R) with ... >From http://wiki.axiom-developer.org/axiom--test--1/src/algebra/PolycatSpad UnivariatePolynomialCategory(R:Ring): Category == Join(PolynomialCategory(R, NonNegativeInteger, SingletonAsOrderedSet), Eltable(R, R), Eltable(%, %), DifferentialRing, DifferentialExtension R) with ... >From http://wiki.axiom-developer.org/axiom--test--1/src/algebra/CatdefSpad DifferentialExtension(R:Ring): Category == Ring with ... if R has PartialDifferentialRing(Symbol) then PartialDifferentialRing(Symbol) add ... 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. _______________________________________________ Axiom-developer mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/axiom-developer
