Re: Extract coefficients of a trig polynomial
- To: mathgroup at smc.vnet.net
- Subject: [mg126136] Re: Extract coefficients of a trig polynomial
- From: danl at wolfram.com
- Date: Fri, 20 Apr 2012 07:46:21 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- References: <jmoge7$46g$1@smc.vnet.net>
On Thursday, April 19, 2012 2:55:51 AM UTC-5, Sam Takoy wrote: > Hi, > > Suppose I have an expression that is a trigonometric polynomial in > theta. Is there a way to neatly pick out the coefficients of the > polynomial. I find that FourierCoefficient takes quite a bit of time, > probably because it does a lot of integrations. My coefficients are > very complicated expressions but do not depend on theta. > > Many thanks in advance, > > Sam > > PS: expr = (1/1536)(1536 BesselJ[0,\[Rho]]-72 \[Epsilon]^2 \[Rho]^2 > BesselJ[0,\[Rho]]-80 \[Epsilon]^3 \[Rho]^2 BesselJ[0,\[Rho]]-384 \ > [Epsilon] \[Rho] BesselJ[1,\[Rho]]-144 \[Epsilon]^2 \[Rho] BesselJ[1,\ > [Rho]]-80 \[Epsilon]^3 \[Rho] BesselJ[1,\[Rho]]+10 \[Epsilon]^3 \ > [Rho]^3 BesselJ[1,\[Rho]]-96 \[Epsilon]^2 \[Rho]^2 BesselJ[0,\[Rho]] > Cos[2 \[Theta]]-120 \[Epsilon]^3 \[Rho]^2 BesselJ[0,\[Rho]] Cos[2 \ > [Theta]]-384 \[Epsilon] \[Rho] BesselJ[1,\[Rho]] Cos[2 \[Theta]]-192 \ > [Epsilon]^2 \[Rho] BesselJ[1,\[Rho]] Cos[2 \[Theta]]-120 \[Epsilon]^3 \ > [Rho] BesselJ[1,\[Rho]] Cos[2 \[Theta]]+15 \[Epsilon]^3 \[Rho]^3 > BesselJ[1,\[Rho]] Cos[2 \[Theta]]-24 \[Epsilon]^2 \[Rho]^2 BesselJ[0,\ > [Rho]] Cos[4 \[Theta]]-48 \[Epsilon]^3 \[Rho]^2 BesselJ[0,\[Rho]] > Cos[4 \[Theta]]-48 \[Epsilon]^2 \[Rho] BesselJ[1,\[Rho]] Cos[4 \ > [Theta]]-48 \[Epsilon]^3 \[Rho] BesselJ[1,\[Rho]] Cos[4 \[Theta]]+6 \ > [Epsilon]^3 \[Rho]^3 BesselJ[1,\[Rho]] Cos[4 \[Theta]]-8 \[Epsilon]^3 \ > [Rho]^2 BesselJ[0,\[Rho]] Cos[6 \[Theta]]-8 \[Epsilon]^3 \[Rho] > BesselJ[1,\[Rho]] Cos[6 \[Theta]]+\[Epsilon]^3 \[Rho]^3 BesselJ[1,\ > [Rho]] Cos[6 \[Theta]]) Not sure, but possibly this will do what you have in mind. In[206]:= trigs = Union[Cases[expr, Cos[(_.)*\[Theta]], Infinity]] Out[206]= {Cos[2*\[Theta]], Cos[4*\[Theta]], Cos[6*\[Theta]]} In[207]:= (Coefficient[expr, #1]*#1 & ) /@ trigs Out[207]= {(1/ 1536)*((-96*\[Epsilon]^2*\[Rho]^2*BesselJ[0, \[Rho]] - 120*\[Epsilon]^3*\[Rho]^2*BesselJ[0, \[Rho]] - 384*\[Epsilon]*\[Rho]*BesselJ[1, \[Rho]] - 192*\[Epsilon]^2*\[Rho]*BesselJ[1, \[Rho]] - 120*\[Epsilon]^3*\[Rho]*BesselJ[1, \[Rho]] + 15*\[Epsilon]^3*\[Rho]^3*BesselJ[1, \[Rho]])* Cos[2*\[Theta]]), (1/1536)*((-24*\[Epsilon]^2*\[Rho]^2*BesselJ[0, \[Rho]] - 48*\[Epsilon]^3*\[Rho]^2*BesselJ[0, \[Rho]] - 48*\[Epsilon]^2*\[Rho]*BesselJ[1, \[Rho]] - 48*\[Epsilon]^3*\[Rho]*BesselJ[1, \[Rho]] + 6*\[Epsilon]^3*\[Rho]^3*BesselJ[1, \[Rho]])* Cos[ 4*\[Theta]]), ((-8*\[Epsilon]^3*\[Rho]^2*BesselJ[0, \[Rho]] - 8*\[Epsilon]^3*\[Rho]*BesselJ[1, \[Rho]] + \[Epsilon]^3*\[Rho]^3*BesselJ[1, \[Rho]])*Cos[6*\[Theta]])/ 1536} Daniel Lichtblau Wolfram Research