# How do you put conditions on indices in a sum?

I'm relatively inexperienced with mathematica, so I apologize if this is a trivial question. I want to take a double sum over a function $f(i,j)$ of two indices, of the form $$\sum_{i = -\infty}^\infty \sum_{j = 0\atop j\not = i}^m f(i,j).$$ That is, in the inner sum I want to sum over only those indices $j$ in my range of summation that satisfy the assumption $j \not = i$. How can I input such a sum to Mathematica?

-
Use Boole[] or KroneckerDelta[]. See this as well. –  Ｊ. Ｍ. May 26 at 9:14
Change function inside sum to: Sign[Abs[i - j]] f[i,j], not very elegant but it works. –  Kuba May 26 at 9:24

You can use Boole as follows:

Sum[f[i, j] Boole[i != j], {j, 0, m}, {i, -Infinity, Infinity}]


Here's an example where f[i, j] = Sin[i] Cos[j]

Sum[Sin[i] Cos[j] Boole[i != j], {j, 0, 3}, {i, 0, 3}]


Which gives

Sin[1] + Cos[2] Sin[1] + Cos[3] Sin[1] + Sin[2] + Cos[1] Sin[2] +
Cos[3] Sin[2] + Sin[3] + Cos[1] Sin[3] + Cos[2] Sin[3]

-
Thanks a lot, this is very helpful. –  Nick Strehlke May 27 at 3:12
@NickStrehlke, glad I could help. –  RunnyKine May 27 at 5:21
You can use If to put the condition in the argument of the sum. It would be something like
Sum[If[i != j, f[i, j], 0], {i, -Infinity, Infinity}, {j, 0, m}]

where If[i != j, f[i,j], 0] tells Mathematica to use $f(i,j)$ in the sum if $i\neq{j}$ or 0 if $i=j$.