Re: CoefficientList
- To: mathgroup at smc.vnet.net
- Subject: [mg74536] Re: CoefficientList
- From: Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com>
- Date: Sat, 24 Mar 2007 05:24:33 -0500 (EST)
- Organization: The Open University, Milton Keynes, UK
- References: <eu1pgs$ev0$1@smc.vnet.net>
Luke wrote: > I'm having a little trouble understanding how CoefficientList works > for multivarate polynomials. In the Mathematica book, there is this > example: > t = (1 + x)^3 (1 - y - x)^2 > > Expand[t] > 1 + x - 2x^2 - 2x^3 + x^4 + x^5 - 2y - 4xy + 4x^3y + 2x^4y + y^2 + > 3xy^2 + 3x^2y^2 + x^3y^2 > CoefficientList[t,{x,y}] > {{1, -2, 1}, {1, -4, 3}, {-2, 0, 3}, {-2, 4, 1}, {1, 2, 0}, {1, 0, 0}} > > I am confused as to what each entry of the output of the > CoefficientList corresponds to. The Handbook says: > For multivariate polynomials, CoefficientList gives an array of the > coefficients for each power of each variable. > > So what exactly do the entries of the first item, {1,-2,1}, correspond > to? Is it the 0 order terms? Why three entries then? Is > corresponding to the 1, the x, and the -2y? What is the order of each > of these lists? Maybe I'm just being dense, but it isn't immediately > obvious to me how this is structured, and the Handbook is extremely > terse in its description. > > Any help would be greatly appreciated. > > Thanks, > ~Luke > > Hi Luke, Say we have a multivariate polynomial in x and y with highest powers n and m, respectively. The function CoefficientList returns a rectangular array where the rows correspond to the increasing powers of x (0 to n, from top to bottom) and the column columns correspond to the increasing powers of y (0 to m, from left to right). Each entry displays the corresponding coefficient. For instance, In[1]:= p = a + b*x^3 + c*x^2*y + d*x*y^2 + e*y^3; Exponent[p, {x, y}] CoefficientList[p, {x, y}] TableForm[%, TableHeadings -> {{x^0, x^1, x^2, x^3}, {y^0, y^1, y^2, y^3}}] Out[2]= {3, 3} Out[3]= {{a, 0, 0, e}, {0, 0, d, 0}, {0, c, 0, 0}, {b, 0, 0, 0}} Out[4]= Out[8]//TableForm= 2 3 1 y y y 1 a 0 0 e x 0 0 d 0 2 x 0 c 0 0 3 x b 0 0 0 HTH, Jean-Marc