Forcing 'Plus' to format nicely
- To: mathgroup at smc.vnet.net
- Subject: [mg8155] Forcing 'Plus' to format nicely
- From: crose at c2.telstra-mm.net.au (Colin Rose)
- Date: Sat, 16 Aug 1997 11:50:59 -0400
- Organization: Theoretical Research Institute
- Sender: owner-wri-mathgroup at wolfram.com
Greetings
I have a fn that gives output like this:
In[] ww = f[blah]
Out[]=
{ t[{6}], 2 t[{5,1}], 3 t[{4,2}], t[{4,1,1}], 2 t[{3,3}], 4 t[{3,2,1}],
t[{2,2,2}], t[{2,2,1,1}]}
Note how the t terms are nicely sorted: {6}, then {5, 1}, then {4, 2} etc
My desired output is actually Plus@@ww, but doing so ruins my nice ordering:
eg In[] Plus@@ww
Out[]
t[{6}]+2 t[{3,3}]+3 t[{4,2}]+2 t[{5,1}]+t[{2,2,2}]+4 t[{3,2,1}]+t[{4,1,1}]+
t[{2,2,1,1}]
Any ideas how one can circumvent this problem inside a Module ?
One approach I thought of is as follows:
In[] Unprotect[Plus]; ClearAttributes[Plus, Orderless]; Plus@@ww
Out[431]=
t[{6}] + 2 t[{5,1}] + 3 t[{4,2}] + t[{4,1,1}] + 2 t[{3,3}] +
4 t[{3,2,1}] + t[{2,2,2}] + t[{2,2,1,1}]
Unfortunately, in order to be a good citizen, I still have to
turn SetAttributes[Plus, Orderless]; Protect[Plus] back on in the same
Module[]. I don't see how one can do this AFTER generating the output
to screen (v3). Any ideas? It's driving me nuts.
Cheerio
Colin
--
Colin Rose
tr(I) - Theoretical Research Institute
______________________________________
crose at c2.telstra-mm.net.au
http://www.usyd.edu.au/su/tri/