I have a relatively simple analytic expression
(-1.4676*10^-6 + 1.24345*10^-6 I) (1. + Cos[tt])^2 (-4.4958*10^6 +
1.08256*10^6 Cos[tt] - 231135. Cos[tt]^2 + 44216.1 Cos[tt]^3 -
7621.15 Cos[tt]^4 + 1227.17 Cos[tt]^5 - 154.92 Cos[tt]^6 +
33.5441 Cos[tt]^7 + 0.688651 Cos[tt]^8 +
1. Cos[tt]^9) (-1.4025264490430390469 Cos[
0.8443926998901367188 t] + (0. +
1.40253 I) Sin[(0.844393 + 0. I) t]) (Cos[(2. + 0. I) (Pi +
pp + 0.422196 r - (0. + 0.416136 I) Cos[tt])] + (0. +
1. I) Sin[(2. + 0. I) (Pi + pp +
0.422196 r - (0. + 0.416136 I) Cos[tt])])
and I would like to get the FourierCoefficients
in pp
from it. If I simply apply FourierCoefficient
, I get the error message:
Factor::lrgexp: Exponent is out of bounds for function Factor.
Now, through a combination of TrigToExp
, Expand
, and Collect
, I can single out the Exp[2 I pp]
and then apply FourierCoefficient
. However, the resulting expression is rather lengthy, which is a problem since I need to integrate over tt
afterwards (takes a long time). In practice, up to some normalization factor, I could also just set pp->0
and be done with it; while that is a rather quick solution, I also have cases, in which the expression contains more than just on non-zero Fourier coefficient. In this cases, I cannot set pp->0
.
So now I am wondering, whether there is a neat trick with which I don't have to Expand
the expression and collect all the respective exponentials, but still obtain an analytic expression.