axiom-developer
[Top][All Lists]

Re: [Axiom-developer] groebner?

 From: Ralf Hemmecke Subject: Re: [Axiom-developer] groebner? Date: Thu, 16 Feb 2006 22:52:40 +0100 User-agent: Thunderbird 1.5 (X11/20051201)

Hi Ray,

I think that is correct.
However, I guess, you are asking AXIOM to do the wrong thing.

HDMP(X, R) represents the polynomial ring R[X]. In your case R is
"Polynomial Integer". If you look up "Polynomial" in Hyperdoc, you will find that this is a domain that allows any symbol as a variable and Integers as coefficients. Roughly speaking, it is Z[Y] (where Y is a infinitely set of variables).

If the groebner routine is given something of the form Z[Y][X] where Z[Y] is the coefficient domain then the result has to be interpreted in Z(Y)[X] (the fraction field of the coefficients ajoint with the variables from the set X).

Unfortunately, in the way you coerce your polynomials X is a subset of Y. In other words the polynomial eq1H lies in the ring of coefficients and is therefore a constant.

Well, computing a Gröbner basis of a non-zero constant always gives the ideal generated by 1. So I would have expected  as an output. But [p] is also correct, since p is an element of Z(Y) and, therefore, invertible. p generates the same ideal as 1 and that is equal to the whole ring Z(Y)[X].

You see, be careful with Polynomial(Integer). The interpreter is not as smart as you may wish in this case. However, you could help by adding the right types.

list: List(Symbol) :=[p,Vr,Vt,e]
eq: HDMP(vars, INT) := ((-Vr^3+Vr^2)*Vt+Vr^3-Vr^2)*p
groebner [eq]

The result is the same as [eq] which is to be expected if you just give one polynomial.

Ralf

On 02/16/2006 01:40 PM, Raymond E. Rogers wrote:
Could someone tell me if this is wrong; or if it's right why?

-------------------------
list:=[p,Vr,Vt,e]
eq1H:=((-Vr^3+Vr^2)*Vt+Vr^3-Vr^2)*p :: HDMP(list,POLY INT)

Excerpt from an axiom session:

(24) -> eq1H
(24) ->
3     2        3     2
(24)  ((- Vr  + Vr )Vt + Vr  - Vr )p
Type:
HomogeneousDistributedMultivariatePolynomial([p,Vr,Vt,e],Polynomial Integer)
(25) -> groebner [eq1H]
(25) ->
(25)  [p]
Type: List
HomogeneousDistributedMultivariatePolynomial([p,Vr,Vt,e],Polynomial Integer)
-----------------------------

Ray

reply via email to