0
$\begingroup$

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[2] (a + I b))^4 - α1 α4 1/(2 Sqrt[
          6]) (1/Sqrt[2] (a + I b))^3 (-(a^2 + b^2)/2 + 
        4) + α2 α4 1/(2 Sqrt[3]) (1/
          Sqrt[2] (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[2] (1/Sqrt[2] (a + I b))^2 - α1 α2 1/
       Sqrt[2] (1/Sqrt[2] (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[3]) Conjugate[
        1/Sqrt[2] (a + I b)]^2 ((a^2 + b^2)^2/8 - 2 (a^2 + b^2) + 
        6) + α1 (1/
         Sqrt[2] (a + I b)) - α1^2 (-(a^2 + b^2)/2 + 
        1) - α1 α2 1/Sqrt[2] Conjugate[
       1/Sqrt[2] (a + I b)] (-(a^2 + b^2)/2 + 
        2) - α1 α4 1/(2 Sqrt[6]) Conjugate[
        1/Sqrt[2] (a + I b)]^3 (-(a^2 + b^2)/2 + 4) + 
     1 + α1 Conjugate[1/Sqrt[2] (a + I b)] + α2 1/
       Sqrt[2] Conjugate[
        1/Sqrt[2] (a + I b)]^2 + α4 1/(2 Sqrt[6]) Conjugate[
        1/Sqrt[2] (a + I b)]^4), {a, b}, {x, y}], {-1 < s < 1}]
$\endgroup$
2
  • $\begingroup$ Is your α1 to α4 real or complex? $\endgroup$
    – Leo Fang
    Commented May 21, 2014 at 22:34
  • $\begingroup$ @ Leo Fang, they are real. $\endgroup$
    – user0322
    Commented May 22, 2014 at 11:06

2 Answers 2

2
$\begingroup$

Check if CUDALink is supported on your system.

Needs["CUDALink`"]
CUDAQ[]

If return True use CUDAFourier and CUDAInverseFourier function.

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

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.

$\endgroup$

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.