Items tagged with monomial


In the Maple help to use a matrix defined monomial order it is said to define a matrix and a list of variables and then typing 'matrix'(M,V). But I fail to use it. A very simple example:

Groebner[LeadingMonomial](y^3+x*y, 'matrix'(M, V));

But Maple shows this error:


Error, invalid input: Groebner:-LeadingMonomial expects its 2nd argument, tord, to be of type {MonomialOrder, ShortMonomialOrder}, but received matrix(Matrix(2, 2, {(1, 1) = 1, (1, 2) = 0, (2, 1) = 0, (2, 2) = 1}), [x, y])

What is wrong?

Hi everyone

I am stuck in my code. I have a multivariate polynomial and I am trying to define an order on the variables such that I can write my polynomials in a desired normal form. I tried with the Groebner package but that's quite different from what I want.

I want to define the order on the variables as u[i]=v[i] and u[i]<u[i+1].

Lets say my polynomial is f then,

input f= u[1]^2+u[2]+v[3]

output f = v[3]+u[2]+u[1]^2.

If there is a clash between u and v then, either of them can come first, for example,

input f= u[1]^2+u[2]+v[3]+u[3]^2

 output f=v[3]+u[3]^2+u[2]+u[1]^2 or f=u[3]^2+v[3]+u[2]+u[1]^2

I hope my question is clear. Thank you for helping me out. Your time is much appreciated :)


I wonder whether someone out there would give some ideas on how to implement a problem involving monomials (or polynomials if you wish).

dx/dt=f(x,y,z), dy/dt=g(x,y,z) and dz/dt=h(x,y,z) where f, g and h are polynomial functions of x,y,z.   

For instance, I need a test that returns false in:

a) dx/dt=f(x,z), dydt=anything, dz/dt=h(x,z) or 

b) dx/dt=f(x,y), dydt=g(x,y), dz/dt=anything.

c) dx/dt=anything, dy/dt=g(y,z), dz/dt=h(y,z)

that is, if two derivatives are related only between themselves, a false should be returned.  An example where a false should be returned is

[x*y*theta[5]+x*theta[2], x*y*theta[15], x*theta[22]+y*theta[23]+z*theta[24]] = [f(x,y),g(x,y),h(x,y,z)] where theta[5] .. theta[24]  are the coefficients.  

Many thanks.


PS. I am trying to avoid "for" in the solution in case I need to add another derivative but could not come up with a solution. In that case I need to test 3 variables instead of 2 and then 2 variables (as in the examples).


Unfortunately I got stuck again when trying to work with monomials.  Consider the following set of set of monomials:

f := [theta[1]*y+theta[2]*z,theta[3]+theta[4]*x+theta[5]*y+theta[6]*z+theta[7]*x*y+theta[8]*x*z+theta[9]*y*z,theta[10]*x+theta[11]*y+theta[12]*z+theta[14]*x*y+theta[15]*x*z+theta[16]*y*z+theta[17]*x^2+theta[18]*y*y+theta[19]*z*z+theta[20]];


x, y and z are the variables and thetas are the coefficients.  The coefficients theta can be zero and I need to classify the resulting set as valid or not.   Here are some examples of not valid sets



fffff :=[theta[1]*y+theta[2]*z,theta[3]+theta[4]*x+theta[5]*y+theta[6]*z+theta[7]*x*y+theta[8]*x*z+theta[9]*y*z,theta[12]*z+theta[19]*z*z+theta[20]];

that is, the first coordinate of the set cannot be a function of x alone, the second coordinate cannot be a function of y alone and the third coordinate cannot be a function of z only.  


I could not figure out how to do that automatically, can you help me, please?


Many thanks.





I wonder if there is a function to retrieve only the monomials from a multivariable polynomial in x, y and z. Below is one such polynomail.



and the result


Many thanks




How can I compute F from G according to the following text? (I implemented this but I need a more efficient implementation.)


Given a set G of polynomials which are a subset of k[U, X] and a monomial order with U << X, we want to comput set F from G s.t.

1. F is subset of G and for any two distinct f1, f2 in F , neither lpp (f1) is a multiple of lpp (f2) nor lpp (f2) is a multiple of lpp (f1).

2. for every polynomial g in G, there is some polynomial f in F such that lpp (g) is a multiple of
lpp (f ), i.e. ⟨lpp (F )⟩ = ⟨lpp (G)⟩,


It is worth nothing that F is not unique.

Example:  Let us consider G = {ax^2 − y, ay^2 − 1, ax − 1, (a + 1)x − y, (a + 1)y − a} ⊂ Q[a, x, y], with the lexicographic order on terms with a < y < x.

Then F = {ax − 1, (a + 1)y − a} and F ′ = {(a + 1)x − y, (a + 1)y − a} are both considered set.

please not that K[U,X] is a parametric polynomial ring (U is e sequence of parameters and X is a sequence of variables).

lpp(f) is leading monomial of f w.r.t. variables X. For example lpp(a*x^2+b*y)= x^2.

Let A and B be two lists of monomials. I want a new list C contained that monomials of A where not divide by any monomial of B. For example if A=[x,y,x^2y,xy^2,y^2] and B=[x^2,y^3] then C=[x,y,xy^2,y^2].

I have a monomial in 8 letters j_0, j_1, j_3, j_4, j_6, j_10, j_11, j_15 with corresponding exponents b_0, b_1, b_3, b_4, b_6, b_10, b_11, b_15. I would like Maple to calculate 0*b_0 + 1*b_1 +3*b_3 +...15*b_15. I know indets returns a list of the variables, but I am not sure how to pull off the indices and exponents? Thank you very much for the help!

Page 1 of 1