Re: Don't understand behavior of ClearAttributes[Plus,Orderless]
- To: mathgroup at smc.vnet.net
- Subject: [mg84868] Re: Don't understand behavior of ClearAttributes[Plus,Orderless]
- From: dh <dh at metrohm.ch>
- Date: Wed, 16 Jan 2008 23:11:25 -0500 (EST)
- References: <fmkfts$a4l$1@smc.vnet.net>
Hi Alain, a precedence list can be found in the mathematica book: A.2.7. For some info concerning order, see under "Sort". hope this helps, Daniel Alain Cochard wrote: > I see from the archives that it is seldom a good idea to use > ClearAttributes[Plus,Orderless] but I would nevertheless like to > understand why it gives the behavior I expect in some cases and not in > others, as exemplified below. > > Mathematica 6.0 for Linux x86 (32-bit) > Copyright 1988-2007 Wolfram Research, Inc. > > In[1]:= {b + a, j + 1, "/"+">"} > > Out[1]= {a + b, 1 + j, > + /} > > To begin with, is it correct that the default ordering (as above) is > defined by what is called "canonical order" in the documentation? If > so, I found only rudimentary (as it seemed to me anyway) descriptions > of what canonical order is. For example, it is said that > > "Mathematical operators appear in order of decreasing precedence." > > But how am I supposed to know or to determine that "/" is "less > preceding" than ">"? Or maybe there are considered as strings here? > Anyway, the question of why ">" comes before "/" remains. > > Also, I did not find anything regarding ordering/comparison of > elements from different classes of expressions, as I understand "1" > and "j" are. > > (Sorry if answers to these questions are easily found --I did search > for them-- or if some questions don't even make sense.) > > In[2]:= ClearAttributes[Plus,Orderless] > > In[3]:= {b + a, j + 1, "/"+">"} > > Out[3]= {b + a, 1 + j, / + >} > > Here I get the behavior I expect for b + a and "/"+">" (order > unchanged in output) but not for j + 1, changed to 1 + j. Why? > > Thanks for any hint. > Alain > >