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