MathGroup Archive 2012

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

Search the Archive

Re: unexpected behaviour of Sum

Your guess about "something symbolic" was correct:

SetSystemOptions["SymbolicSumThreshold" -> 10^7];

sod[n_] := Plus @@ IntegerDigits[n]

Sum[sod[k], {k, 1 + 10^6}]


Andrzej Kozlowski

On 14 May 2012, at 07:34, perplexed wrote:

> I do not want to say that this is a bug, however I did
> not find, in the Sum documentation, an explanation of this
> behaviour (v8.0.4)
> I defined an innocent function like
> sod[n_]:=Plus@@IntegerDigits[n]
> that compute the sum of the digits of a number.
> (I tried with other functions, so the culprit is not IntegerDigits)
> Then I compute two sums:
> Sum[sod[k],{k,10^6}] which gives 27000001 (ok)
> then 
> Sum[sod[k],{k,1+10^6}] which gives 500001500001 (nonsense).
> then 
> Sum[sod[k],{k,2,1+10^6}] which gives 27000002 (ok)
> so, it seems to me that Sum has a problem when the iterator
> works in a range greater than 10^6.
> Indeed, I made an experiment:
> I set L={}; and defined
> sod[n_]:=(AppendTo[L,n];Plus@@IntegerDigits[n])
> Then Sum[sod[k],{k,1+10^6}] still gives 500001500001 
> and at the end L is equal to {k}, so it seems that
> Sum tried to do something symbolic (??).
> Is this a bug or a feature whose documentation I was not
> able to find? Say, is there an option to fix things ?
> Btw, using ParallelSum instead of Sum works fine (and faster).
> thanks

  • Prev by Date: Phase Plot of Simple Harmonic Motion using Mathematica ??
  • Next by Date: Load part of a package?
  • Previous by thread: unexpected behaviour of Sum
  • Next by thread: Re: unexpected behaviour of Sum