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
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
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
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.