The task is the following, how to extend Mathematica's FourierTransform command in order to be able to analytically deal with non-linear differential equations. To do so it should be able to deal with convolutions and derivatives

One way of dealing with complicated non-linear Partial Differential Equations is to transform them to Fourier space, where the products become convolutions. However the FourierTansform command does not transform products into convolutions. The command


Should result in something like


I tried to create an extension that (robustly) allows this but failed.

Furthermore, in order to deal with PDE's the extension should also be able to deal with derivatives, such that


results in

Convolution[qx f[qx,qy]g[qx,qy],{qx,qy},{kx,ky}]

I think such an extension would be extremely useful, but unfortunately FourierTransform is not very good at recognizing derivatives, and can simply not at all recognize convolutions...

any ideas?


closed as off-topic by dr.blochwave, Sjoerd C. de Vries, m_goldberg, Bob Hanlon, MarcoB Jul 21 '15 at 15:21

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "This question cannot be answered without additional information. Questions on problems in code must describe the specific problem and include valid code to reproduce it. Any data used for programming examples should be embedded in the question or code to generate the (fake) data must be included." – dr.blochwave, Bob Hanlon, MarcoB
If this question can be reworded to fit the rules in the help center, please edit the question.

  • 3
    $\begingroup$ "Any ideas?" Code something, if I t works, well done, if not, post your code and associated question... otherwise, this has a pre-order feel about it. $\endgroup$ – ciao Jul 21 '15 at 4:28
  • 2
    $\begingroup$ You are aware that Convolve[] is built-in? $\endgroup$ – J. M. is away Jul 21 '15 at 5:22
  • 1
    $\begingroup$ In addition to Convolution not being the correct name, your notation for the Fourier transforms should also be different. f[qx, qy] etc. is not the correct form. It would be the (inverse) FourierTransform of f, so the replacement by Convolve would lead to a more complex expression than before. I.e., it's not a simplification, and there's no reason for Mathematica to do it. $\endgroup$ – Jens Jul 21 '15 at 5:32