10
$\begingroup$

Bug persisting through version 11.2.0


I was trying to evaluate the following sum.

$$ \frac{2}{m}\sum_{\substack{\text{odd }k\\1\leq k\leq m-1}} f(\frac{m+2+\sqrt{m^2-4k+4}}{2})+f(\frac{m+2-\sqrt{m^2-4k+4}}{2}). $$

And I wrote the following Mathematica code.

2/m Sum[f[1/2 (2 + m + Sqrt[4 - 4 k + m^2])] +
        f[1/2 (2 + m - Sqrt[4 - 4 k + m^2])], {k, 1, -1 + m, 2}]

Then I tested it with $f(x)=x^2$ and $m=60$. I defined

f[x_] = x^2

and evaluated

2/m Sum[f[1/2 (2 + m + Sqrt[4 - 4 k + m^2])] +
     f[1/2 (2 + m - Sqrt[4 - 4 k + m^2])], {k, 1, -1 + m, 2}] /.
  m -> 60 // N

which gave

(* 3664. *)

However, if I split the sum into two parts, it ends with a very different value:

 2/m Sum[f[1/2 (2 + m + Sqrt[4 - 4 k + m^2])], {k, 1, -1 + m, 2}] +
 2/m Sum[f[1/2 (2 + m - Sqrt[4 - 4 k + m^2])], {k, 1, -1 + m, 2}] /. m->60 //N

gives

(* 4.6048 + 1.12029*10^-13 I *)

What is the problem here? There seems to be no problem if $f(x)=x^p$ and $p$ is fractional. I tried $p=1.1$, $1.5$, $2.1$, etc., and both answers agree. Looks like the problem occurs when $p$ is an integer...

$\endgroup$
  • $\begingroup$ I still get the discrepancy on 11.0.0 (Windows). You see the bug fixed on your side? $\endgroup$ – user31159 Sep 11 '16 at 9:55
  • $\begingroup$ @Xavier Sorry, the bug of the main thread post still exists... however I cannot reproduce the bug of the last piece of code in the last reply... $\endgroup$ – user58955 Sep 13 '16 at 0:40
10
$\begingroup$

There is a symbolic calculation bug in there:

Let's define:

plus[k_, m_]  := f[1/2 (2 + m + Sqrt[4 - 4 k + m^2])];
minus[k_, m_] := f[1/2 (2 + m - Sqrt[4 - 4 k + m^2])];

While

(With[{m = 60}, Sum[minus[k, m], {k, 1, -1 + m, 2}]] // N) ==
               (Sum[minus[k, m], {k, 1, -1 + m, 2}] /. m -> 60 // N)

(* True *)

on the other hand:

(With[{m = 60}, Sum[plus[k, m], {k, 1, -1 + m, 2}]] // N) ==
               (Sum[plus[k, m], {k, 1, -1 + m, 2}] /. m -> 60 // N)

(* False *)

So the term with the HurwitzZeta[ ..] functions is in error.

$\endgroup$
  • $\begingroup$ This example has been fixed in MMA 11.2.0. I got True for the 'on the other hand' expression. But the problem in the original problem still exists $\endgroup$ – user58955 Sep 19 '17 at 14:50
6
$\begingroup$

This is interesting! Here's a partial answer (so more of a long comment):

Clear[f]
f[x_] = x^2;
Sum[f[1/2 (2 + m + Sqrt[4 - 4 k + m^2])], {k, 1, -1 + m, 2}]

and the output is:

enter image description here

whereas

Sum[f[1/2 (2 + m - Sqrt[4 - 4 k + m^2])], {k, 1, -1 + m, 2}]

doesn't evaluate (i.e. it returns itself), and

Sum[f[1/2 (2 + m + Sqrt[4 - 4 k + m^2])] + f[1/2 (2 + m - Sqrt[4 - 4 k + m^2])], {k, 1, -1 + m, 2}]
(* -(1 + Floor[1/2 (-2 + m)]) (-2 - 2 m - m^2 + 2 Floor[1/2 (-2 + m)]) *)

You will note that if you set the terms with the HurwitzZeta function to zero, then these two expressions are identical up to a factor of 1/2. The HurwitzZeta functions would cancel each other out if the arguments for two of those functions didn't have the Floor[m/2] pieces in them.


Now, if we evaluate the sums symbolically first (the 2/m doesn't make a difference), we get

Clear[f, f1]
f1 = Sum[f[1/2 (2 + m + Sqrt[4 - 4 k + m^2])] + 
         f[1/2 (2 + m - Sqrt[4 - 4 k + m^2])], {k, 1, -1 + m, 2}];
f1 = f1 /. m -> 60 // Expand;
f[x_] = x^2;
f1 // N
(* 109920. *)

and

Clear[f]
f1 = Sum[f[1/2 (2 + m + Sqrt[4 - 4 k + m^2])], {k, 1, -1 + m, 2}] + 
  Sum[f[1/2 (2 + m - Sqrt[4 - 4 k + m^2])], {k, 1, -1 + m, 2}];
f1 = f1 /. m -> 60 // Expand;
f[x_] = x^2;
f1 // N
(* 109920. *)

which indicates to me that they should be equal.


On the other hand,

Sum[(1/2 (2 + 60 + Sqrt[4 - 4 k + 60^2]))^2 + (1/2 (2 + 60 - Sqrt[4 - 4 k + 60^2]))^2, {k, 1, -1 + 60, 2}] // N
Sum[(1/2 (2 + 60 - Sqrt[4 - 4 k + 60^2]))^2, {k, 1, -1 + 60, 2}] +
   Sum[(1/2 (2 + 60 - Sqrt[4 - 4 k + 60^2]))^2, {k, 1, -1 + 60, 2}] // N
(* 109920 *)
(* 71.3744 *)

I perhaps suspect a bug. However, I also suspect that if the second sum evaluated, it would have terms that would cancel the HurwitzZeta functions in the first term, so perhaps it's instead some sort of problem there.

$\endgroup$
  • $\begingroup$ The bug in the 'on the other hand' part seems fixed in MMA 11.0.0 $\endgroup$ – user58955 Sep 13 '16 at 0:42
  • $\begingroup$ In MMA 11.2.0, the second expression in the 'on the other hand' part evaluates to 138.144061345985... $\endgroup$ – user58955 Sep 19 '17 at 14:52
  • $\begingroup$ @user58955. Actually, it does in my copy of V10.0.1, too, so I'm not sure what version I used in this answer. Probably V8. $\endgroup$ – march Sep 19 '17 at 15:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.