This notebook's Convolve won't symbolically evaluate this one dimensional convolution in tau:


Is this because the variable tau appears inside Sqrt? If so, how can one get Mathematica to perform this symbolic convolution?

  • $\begingroup$ As far as I know the product of DiracDeltas isn't defined. $\endgroup$ Commented Mar 27, 2022 at 15:38
  • $\begingroup$ @UlrichNeumann I don't argee. Mathematica evaluates the following simpler function Convolve[DiracDelta[tau - r0], DiracDelta[tau], tau, z] $\endgroup$
    – mikado
    Commented Mar 27, 2022 at 16:14
  • $\begingroup$ I didn't know how to make DiracDelta plural in a title such that it wouldn't be confused with me asserting there was such a thing as Wolfram language function DiracDeltas. $\endgroup$ Commented Mar 27, 2022 at 17:59
  • $\begingroup$ @mikado Thanks for your comment. You're right, via Fouriertransform the convolution is defined! $\endgroup$ Commented Mar 28, 2022 at 6:02

1 Answer 1


To evaluate the convolution you need the transformation rule

enter image description here

( see wikipedia )

xi = Solve[Sqrt[rho^2 + tau^2] - r0 == 0, tau]
gsi = D[Sqrt[rho^2 + tau^2] - r0, tau] /. xi
res = (Flatten[xi] /. Rule -> Subtract)
dirac = Total@MapThread[DiracDelta[#1]/ Abs[#2] &, {res, gsi}]


Convolve[dirac, DiracDelta[tau], tau, z]
(*DiracDelta[Sqrt[r0^2 - rho^2] - z]/Abs[Sqrt[r0^2 - rho^2]/Sqrt[r0^2]] + 
DiracDelta[Sqrt[r0^2 - rho^2] + z]/Abs[Sqrt[r0^2 - rho^2]/Sqrt[r0^2]] *)
  • $\begingroup$ You should add a caveat to your answer that it doesn't work in the case of multiple dimensions. This caveat is needed because the example given uses a fairly common cylindrical coordinate form. Indeed, if I'd correctly understood the problem I was really trying to solve, I would have stated in the title that it was in cylindrical coordinates, as I did in this question: math.stackexchange.com/questions/4414678/… $\endgroup$ Commented Mar 29, 2022 at 13:09
  • $\begingroup$ Don't understand, what you mean: Here we have a onedimensional integration along tau with scalar argument inside DiracDelta I think. $\endgroup$ Commented Mar 29, 2022 at 16:20
  • $\begingroup$ I changed the question to make your answer not mislead those of us who have more than 1 dimension to deal with. So your answer is ok without the caveat now. Although You might consider changing the formula in your answer to match: Sqrt[1+tau^2] == 0 $\endgroup$ Commented Mar 30, 2022 at 14:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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