Robert Lewis wrote on July 9, 2011: > > All, > > I occasionally use Maple for Groebner basis calculations. I thought I > knew what to do, but recently have hit a problem I don't understand. > > I am aware of the page > > http://www.maplesoft.com/support/help/Maple/view.aspx?path=Groebner/Basis_algorithms > > I have a system of equations and I want a GB that will produce one > polynomial that contains only the variable ca. (So I want to solve > for ca, in essence.) The system of equations is at the end of this > note. > > I have tried > > out := fgb_gbasis(sys, [b, c, d, e, f, rr, t50], [ca]); > > out := fgb_gbasis(sys, [b, c, d, e, f, t50, rr], [ca]) > > out := Basis(sys, prod(tdeg(rr, b, c, d, e, f, t50), tdeg(ca))) > > out := Basis(sys, lexdeg([b, c, d, e, f, t50, rr], [ca])); > > out := Basis(sys, lexdeg([rr, b, c, d, e, f, t50], [ca])) > > out := Basis(sys, plex(rr, b, c, d, e, f, t50, ca)) > > out := Basis(sys, prod(plex(rr, b, c, d, e, f, t50), plex(ca))) > > Nothing works. In all cases, there is no polynomial in the GB > containing ONLY ca. > > I tried rearranging the order of the equations. I also tried > Triangularize, but that crashes Maple after 10 minutes or so. This is > Maple12. > > Robert H. Lewis > > > - e^2 + d^2 - 2*ca*b*d + b^2 , > - t50^2*e^2 - e^2 - 2*t50^2*d*e - 2*d*e - t50^2*d^2 - d^2 + t50^2*c^2 + c^2 - rr*t50^2*c - 2*t50*c > + rr*c + t50^2 + 1 , > - t50^2*f^2 - f^2 + t50^2*e^2 + e^2 - 4*t50*e + t50^2 + 1 , > e^2 - d*e + d^2 - b^2 , > f^2 + d*f + d^2 - c^2 , > f^2 - e*f + e^2 - 1, > rr^2 - 3, > t50^6 - 33*t50^4 + 27*t50^2 - 3 >
I have played around a bit with this system using the GROEBNER_BASIS function of Derive 6.10, which computes a minimal/reduced basis for a lexicographical order of monomials, presumably via the Buchberger algorithm. In the Derive function, the lexicographical order is defined by the variable vector supplied as a second argument; thus, to obtain equations for ca, this variable has to be placed last in the vector.
Preliminary experiments suggested that the following variable order might produce a comparatively compact basis,
but I lost patience and stopped the calculation when the intermediate result approached 50 MBytes. Instead, I removed the one equation that depends on t50 alone, t50^6 - 33*t50^4 + 27*t50^2 - 3, and fixed t50 at small integer values. (I suppose that a solution for the original irrational roots could be obtained by systematically substituting nearby rational numbers and interpolating.) On a modern computer, the calculations for fixed t50 = -1, 0, 1 are just a matter of minutes:
where the Groebner-basis elements have subsequently been factored. Although no first element does here depend on ca alone, solutions for the variable pair [ca,b] are easily obtained from the corresponding subset of two or three elements:
[b=-SQRT(3)/3,b=SQRT(3)/3,ca=1 AND b=1,ca=1 AND b=-1,ca=1 AND b=~ 1/2,ca=1 AND b=-1/2,ca=-1 AND b=1,ca=-1 AND b=-1,ca=-1 AND b=1/2~ ,ca=-1 AND b=-1/2,ca=5*SQRT(7)/14 AND b=SQRT(21)/3,ca=5*SQRT(7)/~ 14 AND b=-SQRT(21)/3,ca=-5*SQRT(7)/14 AND b=SQRT(21)/3,ca=-5*SQR~ T(7)/14 AND b=-SQRT(21)/3]
for t50 = -1, 0, 1 respectively. Thus all three cases admit solutions where ca is arbitrary. For other values like t50 = 2, however, Derive's algorithm again requires much more memory, and takes longer than I cared too wait.