Read-only forum archive

A "syntax"/notation problem

A "syntax"/notation problem

Dmitry · Thu Jan 16, 2014 10:46 am

Version 3-1-6 gives me:
> 3x^2-3*x^2;
6x2

(And of course this difference between 3x^2 and 3*x^2 influences other computations, e.g. Milnor number etc.)
It is difficult to always remember, especially if one works with other computer systems. Could you correct this in the future version?

Thanks!

Re: A "syntax"/notation problem

gorzel · Thu Jan 16, 2014 6:47 pm

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.htm

To 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.

Re: A "syntax"/notation problem

Dmitry · Sun Jan 19, 2014 8:17 am

ok, thanks :D