[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)
1
(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
[1,0]
Type: DirectProduct(2,NonNegativeInteger)
as output, given the fact that x is an element of the coefficient domain?
Now, it is totally clear that
degree(a/x)
also gives
[1,0]
Type: DirectProduct(2,NonNegativeInteger)
since
a/x
1
(5) - x
x
Type: DistributedMultivariatePolynomial([x,y],Expression Integer)
yields also a completely correct output. ;-) However, I guess, most
people find this confusing.
Ralf
- [Axiom-developer] about Expression Integer, Francois Maltey, 2006/02/16
- Re: [Axiom-developer] about Expression Integer, Martin Rubey, 2006/02/17
- RE: [Axiom-developer] about Expression Integer, Bill Page, 2006/02/17
- Re: [Axiom-developer] about Expression Integer, Martin Rubey, 2006/02/18
- Re: [Axiom-developer] about Expression Integer,
Ralf Hemmecke <=
- RE: [Axiom-developer] about Expression Integer, Bill Page, 2006/02/19
- Re: [Axiom-developer] about Expression Integer, Martin Rubey, 2006/02/19
- RE: [Axiom-developer] about Expression Integer, Bill Page, 2006/02/19
- Re: [Axiom-developer] about Expression Integer, Martin Rubey, 2006/02/19
- DMP([x], DMP([x], Integer)) (was Re: [Axiom-developer] about Expression Integer), Ralf Hemmecke, 2006/02/20
- RE: [Axiom-developer] about Expression Integer, Bill Page, 2006/02/20
- Re: [Axiom-developer] about Expression Integer, Francois Maltey, 2006/02/20
- RE: [Axiom-developer] about Expression Integer, Bill Page, 2006/02/20
- Re: [Axiom-developer] about Expression Integer, Ralf Hemmecke, 2006/02/21
- RE: [Axiom-developer] about Expression Integer, Bill Page, 2006/02/21