A long while ago I was able to integrate with Mathematica:
$$\int_0^1 \delta(1-x)\delta(x) f(x) \,dx = 0$$
using Integrate[DiracDelta[1-x] DiracDelta[x] f[x], {x, 0, 1}]. Now, it just returns unevaluated. What can I do to make it integrate it?
Asked
Active
Viewed 268 times
3
QuantumDot
- 19,601
- 7
- 45
- 121
3 Answers
2
You can split up the interval of integration:
Integrate[DiracDelta[1 - x] DiracDelta[x] f[x], {x, 0, 1/2, 1}]
(* 0 *)
Still, it seems a bit inconvenient.
Michael E2
- 235,386
- 17
- 334
- 747
-
I cannot locate any documentation on splitting up the interval of integration. Can you please provide a reference/link to this feature. Thanks. – Bob Hanlon Mar 15 '15 at 04:08
-
@BobHanlon I can't remember how I knew this. You can find an example in the docs for
Integrate(search for "contour"). See also http://mathematica.stackexchange.com/q/20300. – Michael E2 Mar 15 '15 at 12:36
1
With v10.0.2 it appears to work only for infinite bounds or using NIntegrate
$Version
"10.0 for Mac OS X x86 (64-bit) (December 4, 2014)"
Integrate[DiracDelta[1 - x] DiracDelta[x] f[x], {x, -Infinity, Infinity}]
0
Integrate[DiracDelta[x, 1 - x] f[x], {x, -Infinity, Infinity}]
0
NIntegrate[DiracDelta[1 - x] DiracDelta[x] f[x], {x, 0, 1}, AccuracyGoal -> 5]
0.
NIntegrate[DiracDelta[x, 1 - x] f[x], {x, 0, 1}, AccuracyGoal -> 5]
0.
Bob Hanlon
- 157,611
- 7
- 77
- 198
1
Indeed, the integral should give zero even with finite bounds. This workaround seems to give the desired result:
Limit[
Integrate[
DiracDelta[1 - x] DiracDelta[x] f[x], {x, ϵ, 1}], ϵ -> 0]
(* ==> 0 *)
But it works only because it effectively cuts off the lower bound and thus the lower delta function.
Jens
- 97,245
- 7
- 213
- 499
fto eval this? Supposef[x]=1/(DiracDelta[1 - x] DiracDelta[x])– george2079 Mar 14 '15 at 15:54