Mathematica 9 is now available
Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2012

[Date Index] [Thread Index] [Author Index]

Search the Archive

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



  • Prev by Date: Re: Extract coefficients of a trig polynomial
  • Next by Date: Re: Extract coefficients of a trig polynomial
  • Previous by thread: Re: Extract coefficients of a trig polynomial
  • Next by thread: Re: Extract coefficients of a trig polynomial