Hi Bruno,

I am sorry that I (as author of the InfinitePolynomialRing stuff) did
not answer before.

On 2014-04-16, BJ <[email protected]> wrote:
> The output looks something like this:
>
> [-e_8 + e_4^2, -e_10 + e_6*e_4, -1382*e_12 + 2205*e_8*e_4 + 500*e_6^2 -
>> 1323*e_4^3, -10*e_14 + 21*e_10*e_4 + 22*e_8*e_6 - 33*e_6*e_4^2,
>> 45606*e_12*e_4 + 65000*e_10*e_6 + 42042*e_8^2 - 63063*e_8*e_4^2 -
>> 71500*e_6^2*e_4, 126126*e_14*e_4 + 212828*e_12*e_6 + 309582*e_10*e_8 -
>> 154791*e_10*e_4^2 - 378378*e_8*e_6*e_4 - 71500*e_6^3, 858000*e_14*e_6 +
>> 1337776*e_12*e_8 - 501666*e_12*e_4^2 + 760500*e_10^2 -
>> 1287000*e_10*e_6*e_4 - 693693*e_8^2*e_4 - 786500*e_8*e_6^2]
>
>
> These list elements should be interpreted as relations between the 
> variables e_i (for even i), so that, for instance, the first one should be 
> interpreted as e_8 = e_4^2.
>
> Moreover, I know that these relations should allow me to inductively 
> express each e_k in terms of e_4 and e_6.

The original purpose of InfinitePolynomialRing is to implement the algorithm of
Aschenbrenner and Hillar for the computation of "symmetric Gröbner bases". This
means: You would be in a situation where any permutation of indices applied
to a relation between the e[i] results in another relation between the
e[i]. In your example, you could easily deduce that all coefficients
would be trivial if you would allow to freely permute indices:

 sage: SI = M.ideal(L)
 sage: SG = SI.groebner_basis()
 sage: SG
 [e_1]

Do you have any permutation action at all on your coefficients? Say, if
you have a relation then shifting all coefficients by 1 will result in
another relation? If I recall correctly, it is not implemented yet, but
it should be possible (without being able to guarantee termination of
the algorithm, though) to consider a subgroup of the full permutation
group.

> For instance, the second relation 
> shows that e_10 = e_4e_6. The third relation -1382*e_12 + 2205*e_8*e_4 + 
> 500*e_6^2 -1323*e_4^3 = 0 allows me (using a pen and paper...) to express 
> e_12 only in terms of e_4 and e_6, by using e_8 = e_4^2.
>
> What I would like is to be able, for each k in the appropriate range, to 
> obtain a polynomial f_k(u,v) with rational coefficients, such that f_k(e_4, 
> e_6) = e_k.

Well, if you have any *finite* list of relations and no index
permutations on it, then you could simply use classical (non-symmetric)
Gröbner bases. In fact, by your construction, all element of your list L
are "classical" polynomials. Hence, it should be easy to get a
polynomial ring with the variables involved in this list, and hopefully
such that e_j>e_i for j>i, because then the Gröbner basis will tell you
how to express e_k in terms of e_4,e_6 for k>6.

Let's try:

  sage: I = ideal(L)
  sage: I
  Ideal (-e_8 + e_4^2, -e_10 + e_6*e_4, -1382*e_12 + 2205*e_8*e_4 +
  500*e_6^2 - 1323*e_4^3, -10*e_14 + 21*e_10*e_4 + 22*e_8*e_6 -
  33*e_6*e_4^2, 45606*e_12*e_4 + 65000*e_10*e_6 + 42042*e_8^2 -
  63063*e_8*e_4^2 - 71500*e_6^2*e_4, 126126*e_14*e_4 + 212828*e_12*e_6 +
  309582*e_10*e_8 - 154791*e_10*e_4^2 - 378378*e_8*e_6*e_4 -
  71500*e_6^3, 858000*e_14*e_6 + 1337776*e_12*e_8 - 501666*e_12*e_4^2 +
  760500*e_10^2 - 1287000*e_10*e_6*e_4 - 693693*e_8^2*e_4 -
  786500*e_8*e_6^2) of Multivariate Polynomial Ring in e_14, e_12, e_10,
  e_8, e_6, e_4, e_0 over Rational Field
  sage: G
  [e_14 - e_6*e_4^2, e_12 - 250/691*e_6^2 - 441/691*e_4^3, e_10 -
  e_6*e_4, e_8 - e_4^2, e_6^3 + 38367/5500*e_6*e_4^3, e_6^2*e_4 +
  1617/2000*e_4^4, e_6*e_4^4, e_4^5]
  sage: P = G.ring()
  sage: P
  Multivariate Polynomial Ring in e_14, e_12, e_10, e_8, e_6, e_4, e_0
  over Rational Field
  sage: P('e_10').reduce(G)
  e_6*e_4
  sage: P('e_12').reduce(G)
  250/691*e_6^2 + 441/691*e_4^3
  sage: P('e_14').reduce(G)
  e_6*e_4^2

Does this solve your problem?

I am very sorry for the late answer.

Best regards,
Simon



  



-- 
You received this message because you are subscribed to the Google Groups 
"sage-support" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-support.
For more options, visit https://groups.google.com/d/optout.

Reply via email to