Home Ask Login Register

Developers Planet

Your answer is one click away!

Mario February 2016

Terms of an equation in different order

I'm using wxMaxima 15.08.1 (win 10) and when I input this equation

/* [wxMaxima: input   start ] */a*x+b*y+c*z=0;

I get this:

/* [wxMaxima: input   end   ] */cz+by+ax=0

Why does it change the term's position of the expression? It seems like in descending order somehow.

Then, if I type another equation giving all coefficients the same unknown, maxima outputs it just right.

/* [wxMaxima: input   start ] */a*x^2+b*x+c=0;

/* [wxMaxima: input   end   ] */ax^2+bx+x=0


Robert Dodier February 2016

Maxima has its own idea of the canonical ordering of terms in "+" and "*" expressions. The canonical ordering is expressed by the function ordergreatp (equivalently orderlessp) which tells if one term comes after (respectively, before) another term. If you apply sort to a list of terms, they are sorted, by default, according to the canonical order.

By default, "+" terms are displayed in reverse order (reverse of the canonical order). When the global variable powerdisp is true, "+" terms are displayed in the canonical order. You can decide whether one order or the other works better for you.

(%i2) powerdisp;
(%o2)                         false
(%i3) a*x + b*y + c*z;
(%o3)                    c z + b y + a x
(%i4) a*x^2 + b*x + c;
(%o4)                    a x  + b x + c

(%i7) powerdisp : true $
(%i8) a*x + b*y + c*z;
(%o8)                    a x + b y + c z
(%i9) a*x^2 + b*x + c;
(%o9)                    c + b x + a x

Post Status

Asked in February 2016
Viewed 2,698 times
Voted 7
Answered 1 times


Leave an answer

Quote of the day: live life