Re: Thanks for Rearrangement & Format
- To: mathgroup at smc.vnet.net
- Subject: [mg5485] Re: [mg5438] Thanks for Rearrangement & Format
- From: Daniel Lichtblau <danl>
- Date: Wed, 11 Dec 1996 03:16:03 -0500
- Organization: wolfram.com
- Sender: owner-wri-mathgroup at wolfram.com
Susan Rempe wrote: > > Thanks to all who responded to my 2 questions. > The answers I liked best are the following: > > 1). To replace a term in a function without > letting rearrangement occur, clear the > attributes of the operator(s) and make > orderless. Explicitly order terms with Sort. > > In[195]:= t=a+b+c+d; > In[196]:= ClearAttributes[Plus,Orderless] > In[197]:= t[[3]]=x > In[198]:= t > Out[198]= a + b + x + d > In[199]:= Sort[%] > Out[199]= a + b + d + x > >... > Susan Rempe I'd recommend heavily against this method. What you want to do, it appears, is reformat the expression. This can be done by a mix of formatting rules and application of some dummy head e.g. ncPlus to your expression (to replace the head Plus). The method you posted uses a very dangerous tool, removal of Orderless attribute from Plus, to solve a problem that is unrelated to the mathematics of a noncommutative addition operator. Moreover, I very much doubt that the internals of Mathematica will work correctly with such an operator. Which is what you have, once that Orderless attribute has been cleared. Daniel Lichtblau Wolfram Research danl at wolfram.com