"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
