3
$\begingroup$

When integrate the indefinite integral Cos[nx]Cos[kx] about x, where both k and n are positive integer, the result is Pi when n equals to k and 0 when n is unequal to k. However, the code

sol = Integrate[Cos[n*x]*Cos[k*x], {x, -Pi, Pi}, 
  Assumptions -> n ∈ Integers && k ∈ Integers && n > 0 && k > 0]

gives the result (k Sin[π k + π n] - n Sin[π k + π n] + k Sin[π k - π n] + n Sin[π k - π n])/(k^2 - n^2). enter image description here

And then use the Simplify function,

Simplify[sol, Assumptions -> n ∈ Integers && k ∈ Integers && n > 0 && k > 0]

gives the result 0. Shouldn't that Integrate returns a Piecewise function like Piecewise[{{Pi, n == k}, {0, n != k}}] instead?

$\endgroup$
0

1 Answer 1

5
$\begingroup$

This is well know issue. One way to handle it is

Simplify[ sol, 
 Assumptions -> Element[n, Integers] && Element[k, Integers] && n > 0 && k > 0 && k != n]

(* 0 *)

And

Simplify[ Limit[sol, k -> n], 
 Assumptions -> Element[n, Integers] && Element[k, Integers] && n > 0 && k > 0 && k == n ]

(* Pi *)

See

should-integrate-detect-orthogonality-of-functions-in-the-integrand

And

What assumptions to use to check for orthogonality

And

should-integrate-have-given-zero-for-this-integral

And

proper-way-to-simplify-integral-result-in-mathematica-given-integer-constraints

And

usage-of-assuming-for-integration

$\endgroup$
2
  • $\begingroup$ You can shorten the Limit to Limit[sol, k -> n, Assumptions -> Element[n, Integers]] $\endgroup$
    – Bob Hanlon
    Jan 24, 2019 at 5:41
  • $\begingroup$ @BobHanlon thanks. I am sure you are right. I was only copying what the OP had in there. But good point. $\endgroup$
    – Nasser
    Jan 24, 2019 at 5:56

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