MathGroup Archive 2007

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Order of terms

  • To: mathgroup at smc.vnet.net
  • Subject: [mg77767] Re: Order of terms
  • From: David Bailey <dave at Remove_Thisdbailey.co.uk>
  • Date: Sat, 16 Jun 2007 03:31:01 -0400 (EDT)
  • References: <f4r3ic$980$1@smc.vnet.net>

Thomas Madden wrote:
> Given
> 
> 
> In[1]:= c[p_] := Sum[Subscript[a, k]* Subscript[b, n - k], {n, 0, p}, {k, 0,
> n}]
> 
> 
> 
> How can I get the output in the same order that the double sum is written?
> For example I would like to have the output from c[2] be
> 
> 
> 
> In[3]:= Hold[Subscript[a, 0]Subscript[b, 0]+Subscript[a, 0]Subscript[b,
> 1]+Subscript[a, 1]Subscript[b, 0]+Subscript[a, 0]Subscript[b,
> 2]+Subscript[a, 1]Subscript[b, 1]+Subscript[a, 2]Subscript[b, 0]]
> 
> 
> rather than the default
> 
> 
> c[2]
> 
> Thanks in advance for any and all replies.
> 
> Thomas
> 

First, as dh has pointed out, Plus re-orders its arguments, so it is 
necessary to replace Sum by Table to preserve the desired order in the 
first place:

c[p_]:=Table[Subscript[a,k]*Subscript[b,n-k],{n,0,p},{k,0,n}]

Now it is possible to display the expression thus:

Flatten[c[3]] /. List[s__] :> HoldForm[Plus[s]]

Note that this expression is wrapped in the invisible HoldForm - which 
is required in order to preserve the ordering. If you need to paste it 
into another expression it is important to remove this wrapper - e.g. by 
applying the rule HoldForm->Identity

David Bailey
http://www.dbaileyconsultancy.co.uk



  • Prev by Date: Re: Re: Re: TableAlignments broken in Version 6?
  • Next by Date: Re: Eigenvalues
  • Previous by thread: Re: Order of terms
  • Next by thread: Search works, but Search & Replace fails, with subscripts