Items tagged with basis


how to calculate basis <1,4,0>, <1,0,4> for eigenvalue 2;

how to calculate basis <1,0,1> for eigenvalue -1;

A := Matrix([[-2,1,1],[0,2,0],[-4,1,3]]);

sys1 := Eigenvalues(A)[1]*IdentityMatrix(3)-A;

sys1 := Eigenvalues(A)[2]*IdentityMatrix(3)-A;
sys1 := Eigenvalues(A)[3]*IdentityMatrix(3)-A;



but not <1,4,0>, <1,0,4> for eigenvalue 2


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.





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




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:



type(SED2, polynom);



type(eqA0, polynom);



type(eqB0, polynom);



type(eqB1, polynom);









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}



type(WL, PolynomialIdeals:-PolynomialIdeal);





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















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







how to check the dependency of groebner basis or a set of polynomials?

I need  some examples s.t. the computation of their lexicographic Groebner basis is heavy?

Thank you so much.

I solve a linear system of equations which is rank deficient. Naturally, when Maple solves it symbolically, it chooses some of its variables to use them as a basis to express the solution. 

In a specific problem I'm solving, the basis chosen by Maple is -very- smart, showing a good exploitation of the problem structure. 

I'm curious as to what kind of factorization is used by default, or if there's a lot of by hand "black magic" involved, what are its general characteristics. 


Best regards


I was using Maple18 for the Ideal Membership Problem. While checking it I got the following error

Error, (in F4:-GroebnerBasis) argument `[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-48,-48,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]/A1[119295][119295]` is incorrect or out of order

Please tell me, how can I resolve this error ?.

Thank You.

do not know why Basis got error in this case.

how to calculate this Basis?

prej := Matrix([[diff(eq2,a),diff(eq2,b),diff(eq2,c)],[diff(eq3,a),diff(eq3,b),diff(eq3,c)],[diff(eq4,a),diff(eq4,b),diff(eq4,c)]]);
jaco := Determinant(prej);
jaco := -a*b*c^2+c^2;
g3 := [diff(jaco,a),diff(jaco,b),diff(jaco,c)];
K := [r-g3[1],u-g3[2],v-g3[3]];
G := Basis(K, 'tord', degrevlex(r,u,v));

Error, (in LinearAlgebra:-Basis) invalid input: LinearAlgebra:-Basis expects its 1st argument, V, to be of type {Vector, {list(Vector), set(Vector)}} but received [b*c^2+r, a*c^2+u, 2*a*b*c-2*c+v]


T := lexdeg([x,y,z],[e1,e2]);
intermsof1 := y;
intermsof2 := -z;
GB := Basis([e1-intermsof1, e2-intermsof2], 'tord',T);
result := NormalForm(y^2-x*z, GB,'tord', T);
result := NormalForm(y^2-x*z, GB, T);

originally Basis do not have error when without parameter 'tord'

after it has argument error, it has to be added extra parameter tord

NormalForm has the same error too.

i do not understand why it has error, how to solve?

i just want to express y^2-x*z in terms of y and -z



how to get maple to do linear algebra in Z_2 (integers modulo 2)

I don't want it to solve and then reduce mod 2 I want it to work over Z_2 so basis([ [1,1,1], [1,-1,1 ]) = [1,1,1]  etc

g:=Groebner:-Basis([a-2.0*b,b-2], plex);

Groebner:-Reduce(a, g, plex); 

Error, (in content/polynom) general case of floats not handled

How to solve this problem simply?


i use a not good example's polynomials to illustrate the idea

T := lexdeg([a,b,c],[e1,e2, e3]);
GB := Basis([e1-u1, e2-u2, e3-u3],T);
result := NormalForm(a*b+b*c, GB, T);

now result is to express a*b+b*c in terms of e1, e2, e3 which represent u1, u2, u3.

is it possible to use preimage to find possible u1,u2,u3 if unknown u1,u2,u3 and given known eqx?

How to use preimage to find possible eqx if given known u1,u2,u3 to find eqx in NormalForm(eqx, GB, T)?


what i confused in code below is that if i know it in terms of -1*e1+2*e2+*e3

it already can be used to find eqx, it seems reasonable to put source1list as unknown to find eqx  or find unknown eq1, eq2, eq3 if given known eqx.

source1 := PolynomialRing([e1, e2, e3]);
target1 := PolynomialRing([a, b, c]);
source1list := [...];
target1list := [eq1, eq2, eq3];
cs := PolynomialMapPreimage(target1list, source1list, source1, target1);
Info(cs, source1);
[[e1-e2-e3], [1]]

follow Computing non-commutative Groebner bases and Groebner bases for modules

in maple 12

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


then i find in maple 15 help file is changed from module M := [seq(Vector(subsop(i+1 = 1, [F[i], 0, 0, 0])), i = 1 .. 3)]

to array M := [seq( s^3*F[i] + s^(3-i), i=1..3)];

though it can run, but when apply other example can not run

such as


F := [2*x^2+3*y+z^2, x^2*z^2+z+2*x, x^4*y^7+3*x];
M := [seq( s^3*F[i] + s^(3-i), i=1..3)];
A := poly_algebra(x,y,z,s);
T := MonomialOrder(A, lexdeg([s], [x,y,z]), {s});
G := Groebner[Basis](M, T);
Error, (in Groebner:-Basis) the first argument must be a list or set of polynomials or a PolynomialIdeal

G1 := select(proc(a) evalb(degree(a,s)=3) end proc, G);
[seq(Vector([seq(coeff(j,s,3-i), i=0..3)]), j=G1)];
C := Matrix([seq([seq(coeff(j,s,3-i), i=1..3)], j=G1)]);
GB := map(expand, convert(C.Vector(F), list));
Groebner[Basis](F, tdeg(x,y,z));

#page 320 and 322 of book Singular introduction to commutative algebra

it return too many recursion 


hilbertseries([a+a*c, a+a*b, a+b+c]);

eq1 := a+a*c;

eq2 := a+a*b;

eq3 := a+b+c;

eq1a := Homogenize(eq1, h);

eq2a := Homogenize(eq2, h);

eq3a := Homogenize(eq3, h);


GB := Basis([eq1a,eq2a,eq3a], T3); #a


#MonomialHilbertPoincare(LeadingMonomial(GB[1],T3), LeadingMonomial(GB[2],T3), LeadingMonomial(GB[3],T3));



MonomialHilbertPoincare := proc (I3)

#I3:=[LeadingMonomial(GB[1],T3), LeadingMonomial(GB[2],T3), LeadingMonomial(GB[3],T3)];


varj := [h,c,b,a];

I2 := InterReduce(I3, T2);

s := nops(I2);

if I2[1] = 0 then return 1 end if:

if I2[1] = 1 then return 0 end if:

if degree(I2[s]) = 1 then return (1-varj[1])^s end if:

lt := LeadingTerm(I2[s],T2);

leadexp := [degree(lt[2],h),degree(lt[2],c),degree(lt[2],b),degree(lt[2],a)];

j := 1;

for z from 1 to nops(leadexp) do

                if leadexp[j] = 0 then

                                j := j + 1;

                end if:


finallist := [];

for z from 1 to nops(GB) do

                finallist := [op(finallist), GB[z]+varj[j]];


quotientlist := Generators(Quotient(GB, varj[j]));

finallist2 := [];

for z from 1 to nops(quotientlist) do

                finallist2 := [op(finallist2), op(z,quotientlist)];


return MonomialHilbertPoincare(finallist) + varj[1]*MonomialHilbertPoincare(finallist2);

end proc;

F:=[LeadingMonomial(GB[1],T3), LeadingMonomial(GB[2],T3), LeadingMonomial(GB[3],T3)];



Let Poly2 denote the vector space of polynomials

(with real coefficients) of degree less than 3.

Poly2 = {a1t^2+ a2 t+ a3 |a1; a2; a3 €R}

You may assume that {1,t; t^2}is a basis for Poly2.

(1) Show that L1 = {t^2 + 1; t-2 ; t + 3}and L2 = {2 t^2 + t; t^2 + 3; t}

are bases for Poly2.

(2) Let = 8t^2- 4+ 6 and = 7t^2- t + 9. Find the coordinates for

and with respect to the basis L1 and with respect to the basis L2

(3) find the coordinate change matrix P from the basis L1 to the basis L2.find P^-1

Just I answer part (1) can you help me to answer 2 and 3 

1 2 3 Page 1 of 3