"Bill Page" <[EMAIL PROTECTED]> writes:

> 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)
> 
>               1
>    (2)  x + -----
>             y + 1
>    Type: DistributedMultivariatePolynomial([x,y],Expression Integer)


This is very dangerous!

> 
> (3) -> (y+1/(x+1))$DMP([x,y],EXPR INT)
> 
>               1
>    (3)  y + -----
>             x + 1
>    Type: DistributedMultivariatePolynomial([x,y],Expression Integer)

DON'T!

> 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?

This has been thourougly discussed, see 

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

and the threads mentioned therein.

The main problem you will encounter with the expression above is that you are
really introducing two *different* variables x, so, some time later you may
have Axiom saying x <> x.

The construction above somehow works if you can make sure that your sets of
variables are separated, i.e., when the coefficients contain variables
a,b,c,... and the variables of the polynomial are x,y,z. This is clearly not
the case above.

Martin



_______________________________________________
Axiom-developer mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/axiom-developer

Reply via email to