MathGroup Archive 2005

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

Search the Archive

Re: coefficient of a polynomial term

  • To: mathgroup at smc.vnet.net
  • Subject: [mg59382] Re: coefficient of a polynomial term
  • From: Bill Rowe <readnewsciv at earthlink.net>
  • Date: Sun, 7 Aug 2005 03:47:25 -0400 (EDT)
  • Sender: owner-wri-mathgroup at wolfram.com

On 8/6/05 at 1:29 AM, tma at nus.edu.sg (Tun Myint Aung) wrote:

>One more question again! How to extract the coefficient of a
>polynomial term. For example:

>poly = 2 x^2 +3 x*y +4 y^2+x^3

>I would like to get 2 for first term, 3 for second term, 4 for
>third term and so on..

It is very easy to extract the coefficients of a polynomial using CoefficientList, i.e.,

CoefficientList[poly, x]
{4*y^2, 3*y, 2, 1}

Or in two variables

CoefficientList[poly, {x, y}]
{{0, 0, 4}, {0, 3, 0}, {2, 0, 0}, {1, 0, 0}}

But note, Mathematica first puts the polynomial in cannonical order before extracting the coefficients.

Possibly something a bit closer to what you want would be done by first converting the polynomial to a list, i.e.,

List@@poly
{2*x^2, x^3, 3*x*y, 4*y^2}

then using rules to set x,y to one, i.e.

List@@poly /. {x -> 1, y -> 1}
{2, 1, 3, 4}

But this still doesn't put them in the order you specified and I really don't recommend this approach. The problem with doing this or trying to get the specific order you specified is information loss. Unless the list of coefficients is kept in a standard order there is no way to recover the polynomial from the list of coefficients. With the order output by CoefficientList, recovery of the polynomial can be done by

Plus@@MapIndexed[#1*x^(First[#2] - 1)&, 
   CoefficientList[poly, x]]
x^3 + 2*x^2 + 3*y*x + 4*y^2

--
To reply via email subtract one hundred and four


  • Prev by Date: Exp-Trig Manipulation
  • Next by Date: Re: String[bring] vs "bring"
  • Previous by thread: Re: coefficient of a polynomial term
  • Next by thread: Re: coefficient of a polynomial term