Dmitry wrote:

Version 3-1-6 gives me:

> 3x^2-3*x^2;

6x2

Singular interprets 3x^2 as (3x)^2 which is 9*x^2, then the result 6x2 follows

Everything left from the ^ upto an * or + or - is taken as one token,

thus e.g. 2x2y^3 is 8*x^6*y^3;

Certainly a user should know this behaviour

but it seems to be a bit hidden in the manual.

Sadly, it is not stated precisely in the Getting started part:

http://www.singular.uni-kl.de/Manual/la ... .htm#SEC13 But see Section

6.4 Miscellaneous oddities

2. monomials and precedence

http://www.singular.uni-kl.de/Manual/3-1-6/sing_458.htmTo remember:

If the variable names consist only of single letters,

Singular allows to omit the * for the multiplication.

If one do so, then also one don't use the caret ^ for the exponentiation.

Conversely, if you use the long version with ^, then you should put the *, too.