MathGroup Archive 2012

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

Search the Archive

Re: Splitting sums in mathematica

  • To: mathgroup at smc.vnet.net
  • Subject: [mg126841] Re: Splitting sums in mathematica
  • From: Dana DeLouis <dana01 at me.com>
  • Date: Tue, 12 Jun 2012 02:59:38 -0400 (EDT)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com

Hi.  As a side note, if your data is a range of numbers, there appears to be a closed form if you are using Ray's excellent idea.

diff[a_,b_]:=1/12 (b-a) (-a+b+1) (3 (a+b)^2+a-b-2)

equal[a_,b_]:=1/6 (((3-2 a) a-1) a+(b+1) (2 b+1) b)

// Here's a range of numbers:

rng=Range[12, 9768];

// Indices are equal

rng.rng //Timing
{0.004522, 310715118978}

equal[12, 9768]//Timing
{0.000038, 310715118978}

// Indices are not equal

2*Dot@@Transpose@Subsets[rng,{2}]//Timing
{34.2524,   2276098464473922}
 
diff[12,9768]//Timing
{0.000035, 2276098464473922}

= = = = = = = = = =
HTH  :>)
Dana DeLouis
Mac & Math 8
= = = = = = = = = =


On Jun 9, 3: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





  • Prev by Date: Simple display questions
  • Next by Date: Re: some Experience with webMathematica
  • Previous by thread: Re: Splitting sums in mathematica
  • Next by thread: Re: Splitting sums in mathematica