[Top][All Lists]

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

Re: [Axiom-developer] about Expression Integer

From: Ralf Hemmecke
Subject: Re: [Axiom-developer] about Expression Integer
Date: Sat, 18 Feb 2006 20:37:02 +0100
User-agent: Thunderbird 1.5 (X11/20051201)

1/ Can I (or cannot) remain Expressions as x+1/(y+1) y+1/(x+1)
and do not have a single denominator.

Unfortunately, I have no idea, how to do this. :-(

But, I'd like to warn you. Don't follow Bill's suggestion.

There are however more complex domains which do include
expressions of the same form as you wrote above. The interpreter
is not able to find these automatically, but you can help by
specifying more exactly what you want. In the compiler you must
always provide this additional information. For example:

(2) -> (x+1/(y+1))$DMP([x,y],EXPR INT)

   (2)  x + -----
            y + 1
   Type: DistributedMultivariatePolynomial([x,y],Expression Integer)

In this case your expression is a member of the specified domain and
no conversion is necessary, but notice that the 2nd term is a monomial
of degree 0 since this domain has coefficients that can be expressions.
You might consider this result ambiguous since the entire expression
could be consider a term degree 0, but apparently the domain DMP
attempts construct a polynomial of highest degree? To know for sure
we would probably have to consult the source code for DMP.

Right. In order to know what will happen, a user would have to consult
the source code. That's completely unsatisfactory.

Even more, I think the interpreter should forbid to construct things
like DistributedMultivariatePolynomial([x,y],Expression Integer).

Take, for example (axiom--main--1--patch-47)

P := DistributedMultivariatePolynomial([x,y],Expression Integer)
a: P := x
degree a

Are you sure that you expected

      Type: DirectProduct(2,NonNegativeInteger)

as output, given the fact that x is an element of the coefficient domain?

Now, it is totally clear that


also gives

      Type: DirectProduct(2,NonNegativeInteger)



   (5)  - x
  Type: DistributedMultivariatePolynomial([x,y],Expression Integer)

yields also a completely correct output. ;-) However, I guess, most
people find this confusing.


reply via email to

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