Re: Splitting sums in mathematica

*To*: mathgroup at smc.vnet.net*Subject*: [mg126818] Re: Splitting sums in mathematica*From*: Ray Koopman <koopman at sfu.ca>*Date*: Sun, 10 Jun 2012 02:14:18 -0400 (EDT)*Delivered-to*: l-mathgroup@mail-archive0.wolfram.com*References*: <jqusrg$rnm$1@smc.vnet.net>

On Jun 9, 12:09 am, jimbo <james.a.gord... at googlemail.com> wrote: > Hello, > > Does anyone know of a way to algebraically split sums (if that is the > correct name for it) in mathematica? I need to do the following (and > higher-order versions of the same)... > > Sum_over_p [ Sum_over_q ( a_p * a_q ) ] = Sum_over_p_equal_q > (a_p^2) + Sum_over_p_not_equal_q (a_p*a_q) > > ...in other words, turn a nested sum running over two indices into two > sum, one for when the indices are equal, and one for when they are > different? > > I then need to make some substitutions once there are no nested sums > and simplify my answer. I have an equation with many hundreds of terms > in it, so doing it by hand is not an option. I can send a typeset > example if anyone needs clarification > > I have version 5.2 for students > > Thanks in advance > > James Let a = {a1,a2,...}. Then a.a gives the sum of the terms with p == q, and 2*Dot@@Transpose@Subsets[a,{2}] gives the sum of the terms with p != q.