|
|
response to a Math-Forum post by Robert Lewis
Posted:
Sep 11, 2011 5:48 PM
|
|
In a Math-Forum post named "Using Groebner Basis routines in Maple" (which I never saw at the Aioe.org NNTP server)
<http://mathforum.org/kb/thread.jspa?threadID=2278179&tstart=0>
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,
sys:=[-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]
GROEBNER_BASIS(sys,[rr,f,e,d,c,b,t50,ca])
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:
GROEBNER_BASIS(DELETE(sys,8),[rr,f,e,d,c,b,ca])
t50:=-1
[(b+1)^2*(b-1)^2*(2*ca+1)*(2*ca-1),(b+1)^2*(b-1)^2*(b-2*ca),-9*b~ ^4-16*b^2*ca^4+20*b^2*ca^2+14*b^2+16*c*ca^4-20*c*ca^2+4*c+16*ca^~ 4-20*ca^2-5,3*b^4*ca-4*b^3*ca^2+4*b^3+8*b^2*ca^3-14*b^2*ca+4*b*c~ *ca^2-4*b*c+4*b*ca^2-4*b-8*c*ca^3+8*c*ca-8*ca^3+11*ca,(b+1)*(b-1~ )*(b^2+c-1),3*b^4-4*b^2*ca^2-5*b^2+3*c^2+4*c*ca^2-c+4*ca^2+2,57*~ b^4-36*b^3*ca-8*b^2*ca^2-106*b^2+36*b*c*ca+36*b*ca+8*c*ca^2-8*c+~ 8*ca^2+36*d+49,12*b^4-20*b^2*ca^2-13*b^2+20*c*ca^2-2*c+20*ca^2+1~ 8*e+19,-87*b^4+36*b^3*ca+40*b^2*ca^2+170*b^2-36*b*c*ca-36*b*ca-4~ 0*c*ca^2+40*c-40*ca^2+36*f-83,rr^2-3]
t50:=0
[(ca+1)*(ca-1)*(28*ca^2-25)*(3*b^2-1),(ca+1)*(ca-1)*(3*b^2-1)*(3~ *b^2-7),(3*b^2-1)*(108*b^4-135*b^2+2800*ca^2-2773),108*b^4+924*b~ ^2*ca^2-1113*b^2+18*c^2-308*ca^2+335,-1620*b^5*ca-21084*b^3*ca^3~ +23109*b^3*ca+7028*b*ca^3-7523*b*ca+90*d,(-56*b*ca^3+56*b*ca+15*~ e)*(3*b^2-1),108*b^4+1428*b^2*ca^2-1563*b^2-476*ca^2+18*e^2+503,~ 540*b^5*ca+6468*b^3*ca^3-7215*b^3*ca-2156*b*ca^3+2345*b*ca-36*e+~ 18*f,756*b^4*c+8652*b^2*c*ca^2-9741*b^2*c-2884*c*ca^2+3325*c+108~ *rr]
t50:=1
[(b+1)^2*(b-1)^2*(2*ca+1)*(2*ca-1),(b+1)^2*(b-1)^2*(b+2*ca),9*b^~ 4+16*b^2*ca^4-20*b^2*ca^2-14*b^2+16*c*ca^4-20*c*ca^2+4*c-16*ca^4~ +20*ca^2+5,3*b^4*ca+4*b^3*ca^2-4*b^3+8*b^2*ca^3-14*b^2*ca+4*b*c*~ ca^2-4*b*c-4*b*ca^2+4*b+8*c*ca^3-8*c*ca-8*ca^3+11*ca,(b+1)*(1-b)~ *(b^2-c-1),3*b^4-4*b^2*ca^2-5*b^2+3*c^2-4*c*ca^2+c+4*ca^2+2,-57*~ b^4-36*b^3*ca+8*b^2*ca^2+106*b^2-36*b*c*ca+36*b*ca+8*c*ca^2-8*c-~ 8*ca^2+36*d-49,-12*b^4+20*b^2*ca^2+13*b^2+20*c*ca^2-2*c-20*ca^2+~ 18*e-19,87*b^4+36*b^3*ca-40*b^2*ca^2-170*b^2+36*b*c*ca-36*b*ca-4~ 0*c*ca^2+40*c+40*ca^2+36*f+83,rr^2-3]
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=-1,b=1]
[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]
[b=-1,b=1]
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.
Martin.
|
|