Items tagged with order


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?

I am somewhat surprised to find that


say, returns 1. Does that really make mathematical sense with diff(f(x),x) here being the argument of a function?

PS: I bumped into this issue because I was trying to write down some structured type, or some other matching criterium, that will return true for some scalarly quantity consisting of any number of functions and their derivatives if and only if all arguments to all functions have differential order zero. This criterium would exclude the above function, for instance.

Update: Just for the sake of completeness, or as a service to any visitor to this thread, the above was readily resolved as being due to a blunder of mine, see a comment of mine below. The thread, though, developed into a quite interesting one concerning issues with conserved currents, and related, in the case of Grassmann-odd quantities, issues that are at the time of writing still unresolved.

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 :)


We solve the following ode in the interval (0,Pi):


bcs=u(0)=0, u(Pi)=0;

Stating one example of many conditions for such equation to have a
valid solution

Many thanks



Hello people in mapleprimes,
I have a question.
I appended two pictures where from the same code, two different orders of
expression appear.
How can I do for this so as not to get error messages?
The cause of this is simplify(%,symbolic) brings different order of term a__0^(-k)*F__D ahead of a parenthesis in a jpg.file and F__D*a__0^(-k) after
that parenthesis in another jpg.fine both in the line above that of  "dairihensu1."

In this case, What I can do?
Please help me.
Best wishes.


Original code is

e7_4:=F__D*(Omega+1)*beta/(beta-1) = F__I*a__D^(-k)*a__0^k+T^((sigma-k-1)/(-1+sigma))*F__D*phi^(k/(-1+sigma))+F__D;

    local b1;
  end proc;

A case without error.

A case with a error.


I wonder if there is any way to sort expressions like




how to sort  to


I would like to know how to order a sequence of number from smallest to largest. This is if I have both real and imaginary numbers. Any help would be rgeatly appreciated! Thank you in advance.

Kind regards,

Gamiba Man

I'm displaying two plots - one a line and one a series of points. The idea is that I'm showing a fit curve onto a set of experimental data. I want the dots, which are fairly fat, to sit on top of the line. But whichever order I display the two plots in, the line is sitting on top of the dots. This looks wrong. Does anyone know how to put it right?

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



In this section, we will consider several linear dynamical systems in which each mathematical model is a differential equation of second order with constant coefficients with initial conditions specifi ed in a time that we take as t = t0.

All in maple.

(in spanish)





****** My question *****

for k from 0 to n do    # n is any integer.

func := f(x):             # func is any funciton of x.

D := diff(func, x$k);   # The maple don't allow to uses k but I want to diff k-th order in each k-loop.

end do;                    # How to diff func for k-th times in each k-loop.

Dear people in Mapleprimes,


I have a question about the ordering of monomials in a polynomial.

I hope you will help me understand how Maple works about it.

I inputed the polynomial as is written in black below.

Then, the outcome was blue, which ordering I could understand well: total degree ordering where at first 

those who have the order of 6 are collected which are 14 x^3*y^3, 6x*y^5, and then the following was those which 

have the order of 5: 21*x^5, -35 x^4*y, 9*x^3*y^2,-15*x^2*y^3, ... and so on.

And, among those who have the same order, lexical ordering was done, that is among 14 x^3*y^3, 6x*y^5, one which 

came first was the one with the larger degree about x, and among 21*x^5, -35 x^4*y, 9*x^3*y^2,-15*x^2*y^3, 

the first was 21*x^5, the second was -35*x^4*y, and so one, which was the ordering following the exponent about x.


And, then, I calculated Factor(polynomial) mod 7, which meaning I know.

Then, the result was 2*(x*y+2)*(3*y^3+x^2+3x*y)y.

I can understand the ordering among x*y and 2 in x*y+2, and that among 3y^3, x^2 and 3x*y in 3y^3+x^2*3x*y.

But, I can't understand why (x*y+2) comes at the first term, with 3 y^3+x^2+3x*y following it, and with y coming last.


This might be a trivial question. But, I hope you will teach me about this.


Best wishes.




polynomial := 14*x^3*y^3+6*x*y^5+21*x^5-35*x^4*y+9*x^3*y^2-15*x^2*y^3+12*y^4+18*x^2*y-30*x*y^2



`mod`(Factor(polynomial), 7)






Given expr:=sin(n*x); and say I want to find its value at n=1,x=Pi/2, I found I can do

subs({n=1,x=Pi/2},expr); eval(%);

or combine into one

eval(subs({n=1,x=Pi/2},expr); ----(1)

But also one can write

eval(expr,{n=1,x=Pi/2}); ----- (2)

So if someone wants to just find value of expression as above, it seems (2) is much simpler than (1) since no need to call subs, it is done automatically. Is there anything else I am overlooking?

Only problem I see in the above, is that subs() uses different order: subs({},expr), while eval is:  eval(expr,{}); The other way around.

It would have been better if the order was the same in the API, to reduce confusion.



Hi every body:

i have a second order ode and will convert to two ode of first order with maple,how do this work???

eq := diff(y(x), x, x)+2*y(x)+y(x)^2 = 0

Hi there,


I'd like to solve 7th order implicit simultaneous equation such as below, so I tried to do it by solve command.

However the calculation wasn't over although three hours passed.


eq1 := f1(a,b,c,d,e,f,g) = 0;

eq2 := f2(a,b,c,d,e,f,g) = 0;




eq7 := f7(a,b,c,d,e,f,g) = 0;


Just for your information, the eq1 and eq6 are written as follows specifically.

eq1 := -a-b-c-d-e-f-g+0.501857 = 0

eq6 := a*b*c*d*e*f+a*b*c*d*e*g+a*b*c*d*f*g+a*b*c*e*f*g+a*b*d*e*f*g+a*c*d*e*f*g+b*c*d*e*f*g+a*b*c*d*e+a*b*c*d*f+a*b*c*d*g+a*b*c*e*f+a*b*c*e*g+a*b*c*f*g+a*b*d*e*f+a*b*d*e*g+a*b*d*f*g+a*b*e*f*g+a*c*d*e*f+a*c*d*e*g+a*c*d*f*g+a*c*e*f*g+a*d*e*f*g+b*c*d*e*f+b*c*d*e*g+b*c*d*f*g+b*c*e*f*g+b*d*e*f*g+c*d*e*f*g-0.5281141885e-3+1.01894577*10^(-12)*I = 0


And the program code I used is:



Here is the specification of my computer.

OS: Windows 7 Enterprise 64bit

CPU: Intel Core i7-3520M 2.90 GHz

Memory: 4.00 GB


How can I handle this problem? Is the specification not enough to solve the equation? Do I need to leave my computer more and more time?

Any help would be appriciated.

1 2 3 Page 1 of 3