"Bill Page" <[EMAIL PROTECTED]> writes: > Since DMP is the highest level domain constructor, I would expect it to > interpret 'x' as being in the polynomial domain first and only if forced > treat is as being in the underlying coefficient domain.
I believe that this is not always the case, although I don't have an example at hand. However, I would like to restate what William Sit and I were able to agree upon, when we discussed these matters: Axiom is able to deal (more or less) properly with variables bearing the same name but having different meanings. We did not agree on whether we should allow this to happen or not... In other words, consider the following example: > b := monomial(x,[0,0]::DirectProduct(2,NNI))$P > > Can you explain this result? > > (23) -> degree b > > (23) [0,0] > Type: DirectProduct(2,NonNegativeInteger) > > (24) -> b+x > > (24) x + x > Type: DistributedMultivariatePolynomial([x,y],Expression Integer) Here, we have two *different* "variables", the only happen to bear the same name. What I consider very problematic is, that (b+x)::EXPR INT gives 2x. I believe that this can lead to very "surprising" results. In any case, I think it is better not to use such types. Currently, this is not always possible, it would be necessary to introduce a parametrized Expression domain, that takes variables as parameters -- this is on the WishList, by the way. I don't think it would be too much work. Martin _______________________________________________ Axiom-developer mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/axiom-developer
