RE: Rebuilding polygon from CoefficientList?
- To: mathgroup at smc.vnet.net
- Subject: [mg20191] RE: [mg20164] Rebuilding polygon from CoefficientList?
- From: "Ersek, Ted R" <ErsekTR at navair.navy.mil>
- Date: Tue, 5 Oct 1999 04:04:21 -0400
- Sender: owner-wri-mathgroup at wolfram.com
Holger Strauss wrote: ------------------------ I have a mixed polynomial poly in several variables vars. cl = CoefficientList[poly, vars] gives a multi-dimensional matrix of coefficients. Can anyone help with an algorithm/expression that re-constructs the original poly given cl and vars? (In practice, I'd like to manipulate the coefficients before reconstructing the polynomial; otherwise this wouldn't make sense). ----------------------------- My solution is given below. It should work quite well. In[1]:= terms[coeff_,expon_List,vars_List]:= coeff*Times@@MapThread[Power,{vars,expon}] CoefficientsToPolynomial[coeffs_,vars_]/; Length[Dimensions[coeffs]]===Length[vars]:= Plus@@Flatten[MapIndexed[terms[#1,#2-1,vars]&,coeffs,{-1}]] In[3]:= cl=CoefficientList[(2+3x-2y+z)^3, {x,y,z}] Out[3]= {{{8, 12, 6, 1}, {-24, -24, -6, 0}, {24, 12, 0, 0}, {-8, 0, 0, 0}}, {{36, 36, 9, 0}, {-72, -36, 0, 0}, {36, 0, 0, 0}, {0, 0, 0, 0}}, {{54, 27, 0, 0}, {-54, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}}, {{27, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}}} In[4]:= poly=CoefficientsToPolynomial[cl,{a,b,c}]; Factor[poly] Out[4]= (2 + 3*a - 2*b + c)^3 You might want to read about CoefficientList, MapIndexed at my web page. The URL is given below. -------------------- Regards, Ted Ersek For Mathematica tips, tricks see http://www.dot.net.au/~elisha/ersek/Tricks.html