Items tagged with basis basis Tagged Items Feed

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 generate all basis of a set? (rather an the one basis that basis generates)

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

Hi all,

I am considering a scenario in which I have, for example, four matrices, A, B, C, and D, which form a basis for all of the (numerical) calculations I am doing.  (For example, A + B = i*C, etc.)  Right now, if I add A and B, I get a matrix back whose elements are i*C, but I cannot get Maple to express it as i*C.  As a simple example, let:

A = (1 0 // 0 1 )

B = (0 1 // -1 0)

C = (i i // -i i)

Then A + B returns (1 1 // -1 1); I'd like for Maple to "intelligently" give iC. can I get Maple to expand a given matrix (A+B) in terms of a particular basis (here, simply C)?

Thank you.


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 

 V = {(2a + b + c, 3a + b + 2c, 2a + c, b + 7c)|a, b, c ∈ R} forms a subspace of R^4 
 Show that {(2, 3, 2, 0),(1, 1, 0, 1),(0, 1, 1, 6)} is an (ordered) basis B for V . 

toally confused on how to do this??..please help!!

I am trying to take out the intersection between two bases from one of the original basis. I have two matrices (A and B) and want to find the intesection between the range (or column space) of A and the null space of B. The range of A is 


For some reason, the column space is not presented as a list, but with square brakes, so I convert this into a list of vectors:

X2:=SumBasis([X1[1],X1[2]])    %If I use the command Basis, it returns again square brakets, not sure why... 

The null space of B



X5:= X2\cap X4 % I am using latex code for the intersection symbol...

The result is the empty set! Evidently, X2 and X3 are differnt bases.

Any help would be really welcome! Many thanks!


1 2 3 Page 1 of 3