# Simplifying Fourier transform of a complicated function

I would like to evaluate the following expression but takes too much time. I would be greatly appreciate for any comments to make it fast.

Clear[a, b];

FullSimplify[
FourierTransform[
Exp[-1/2 (1 - s) (a^2 + b^2)]*(α4 1/2 Sqrt[
6] (1/Sqrt (a + I b))^4 - α1 α4 1/(2 Sqrt[
6]) (1/Sqrt (a + I b))^3 (-(a^2 + b^2)/2 +
4) + α2 α4 1/(2 Sqrt) (1/
Sqrt (a + I b))^2 ((a^2 + b^2)^2/8 - 2(a^2 + b^2) +
6) + α4^2 1/
24 ((a^2 + b^2)^6/16 - 2 (a^2 + b^2)^3 + 18 (a^2 + b^2)^2 -
48 (a^2 + b^2) + 24) + α2 1/
Sqrt (1/Sqrt (a + I b))^2 - α1 α2 1/
Sqrt (1/Sqrt (a + I b)) (-(a^2 + b^2)/2 +
2) + α2^2 ((a^2 + b^2)^2/8 - (a^2 + b^2) +
1) + α2 α4 1/(2 Sqrt) Conjugate[
1/Sqrt (a + I b)]^2 ((a^2 + b^2)^2/8 - 2 (a^2 + b^2) +
6) + α1 (1/
Sqrt (a + I b)) - α1^2 (-(a^2 + b^2)/2 +
1) - α1 α2 1/Sqrt Conjugate[
1/Sqrt (a + I b)] (-(a^2 + b^2)/2 +
2) - α1 α4 1/(2 Sqrt) Conjugate[
1/Sqrt (a + I b)]^3 (-(a^2 + b^2)/2 + 4) +
1 + α1 Conjugate[1/Sqrt (a + I b)] + α2 1/
Sqrt Conjugate[
1/Sqrt (a + I b)]^2 + α4 1/(2 Sqrt) Conjugate[
1/Sqrt (a + I b)]^4), {a, b}, {x, y}], {-1 < s < 1}]

• Is your α1 to α4 real or complex? May 21, 2014 at 22:34
• @ Leo Fang, they are real. May 22, 2014 at 11:06

Needs["CUDALink"]
CUDAQ[]


If return True use CUDAFourier and CUDAInverseFourier function.

• The OP is doing a symbolic Fourier transform with FourierTransform. CUDAFourier does a discrete numerical transform like Fourier`. May 22, 2014 at 11:42
• : CUDA was not able to find a valid CUDA driver in my system. @ Simon Woods you are right it finds the discrete Fourier transform May 22, 2014 at 11:53

It is sufficiently faster now by modifying

Clear[a, b];

Assuming[$-1<s<1$ && $\{a, b, \alpha1, \alpha 2,\alpha 4, x, y\}$$\in$Reals,

v = Simplify[the expression]

FourierTransform[v, {a, b}, {x, y}]

It is sufficiently faster now.