Question: How would one properly name constants and variables for Groebner basis computation?

Hello all, 

I am trying to compute the Groebner basis for a set of 3 coupled nonlinear equations. The variables I wish to solve for are A0,B0, and B1; however, my equations also have the variables DC, a, nu, q, and t. I wish to solve the 3 equations in terms of these other 5 variables such that I can substitute in any values I desire and obtain a result. When attempting to put the three equations into the PolynomialIdeal command from the PolynomialIdeals package, Maple gives me an error stating that the inputs must be polynomials with respect to all 8 variables. How would I go about declaring the other 5 variables such that they are considered arbitrary constants? 

I was able to get around the errors by assigning values to these 5 variables, though this is not what I am trying to accomplish. I need these 5 values to remain arbitrary.

I am very new to the concept of Groebner Bases and these commands so any help would be appreciated. I have attached my worksheet for reference. I am also happy to supply any additional information that may be needed to assist with this issue.

Thanks!
 

restart

NULL

``

SED2 := proc (A0, B0, B1) options operator, arrow; (32/3)*(nu+7)*A0^2*Pi*DC/(a^2*(1+nu))+3*DC*Pi*((1+nu)^4*(B0^2+(13/42)*B1^2+(4/5)*B0*B1)*a^2+(328/315)*A0^2*(1+nu)^2*((B0+(142/451)*B1)*nu^3+((323/41)*B0+(1490/451)*B1)*nu^2+(11*B0+(3874/451)*B1)*nu-(1847/41)*B0-(8034/451)*B1)*a+(128/105)*A0^4*(nu^4+18*nu^3+132*nu^2+494*nu+939))/(t^2*a^2*(1+nu)^4)-(1/6)*q*a^2*A0-(-(1/4)/a^2-(1/4)*(5+nu)/(a^2*(1+nu)))*A0*q*a^4-(1/2)*(5+nu)*A0*q*a^2/(1+nu) end proc;

proc (A0, B0, B1) options operator, arrow; (32/3)*(nu+7)*A0^2*Pi*DC/(a^2*(1+nu))+3*DC*Pi*((1+nu)^4*(B0^2+(13/42)*B1^2+(4/5)*B0*B1)*a^2+(328/315)*A0^2*(1+nu)^2*((B0+(142/451)*B1)*nu^3+((323/41)*B0+(1490/451)*B1)*nu^2+(11*B0+(3874/451)*B1)*nu-(1847/41)*B0-(8034/451)*B1)*a+(128/105)*A0^4*(nu^4+18*nu^3+132*nu^2+494*nu+939))/(t^2*a^2*(1+nu)^4)-(1/6)*q*a^2*A0-(-(1/4)/a^2-(1/4)*(5+nu)/(a^2*(1+nu)))*A0*q*a^4-(1/2)*(5+nu)*A0*q*a^2/(1+nu) end proc

(1)

NULL

``

eqA0 := proc (A0, B0, B1) options operator, arrow; diff(SED2(A0, B0, B1), A0) end proc:

eqB0 := proc (A0, B0, B1) options operator, arrow; diff(SED2(A0, B0, B1), B0) end proc:

eqB1 := proc (A0, B0, B1) options operator, arrow; diff(SED2(A0, B0, B1), B1) end proc:

NULL

``

type(SED2, polynom);

true

(2)

type(eqA0, polynom);

true

(3)

type(eqB0, polynom);

true

(4)

type(eqB1, polynom);

true

(5)

NULL

``

with(Groebner):

with(PolynomialIdeals):

NULL

NULL

WL := PolynomialIdeal({eqA0(A0, B0, B1), eqB0(A0, B0, B1), eqB1(A0, B0, B1)})

Error, (in PolynomialIdeals:-PolynomialIdeal) generators must be polynomials with respect to, {A0, B0, B1, DC, a, nu, q, t}

 

NULL

type(WL, PolynomialIdeals:-PolynomialIdeal);

false

(6)

``

NULL

GB := Basis(WL, lexdeg([B0, B1], [A0]))

Error, (in Groebner:-Basis) the first argument must be a list or set of polynomials or a PolynomialIdeal

 

NULL

``

GB[1];

GB[1]

(7)

GB[2];

GB[2]

(8)

GB[3];

GB[3]

(9)

``

``

A00 := solve(GB[1], A0):

A00 := simplify(remove(has, [A00], I)):

A0 := A00[1]

Error, invalid subscript selector

 

B10 := solve(GB[2], B1):

B10 := simplify(remove(has, [B10], I)):

B1 := B10[1]

Error, invalid subscript selector

 

B00 := solve(GB[3], B0):

B00 := simplify(remove(has, [B00], I)):

B0 := B00[1]

Error, invalid subscript selector

 

NULL

``


 

Download Groebner_Basis_Work.mw

 

Please Wait...