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
    May 21, 2014 at 22:34
  • $\begingroup$ @ Leo Fang, they are real. $\endgroup$
    – user0322
    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$ 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
    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 that you have read and understand our privacy policy and code of conduct.

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