Re: Simplifying Ploynomials

*To*: mathgroup at smc.vnet.net*Subject*: [mg5678] Re: Simplifying Ploynomials*From*: Daniel Lichtblau <danl>*Date*: Tue, 7 Jan 1997 11:22:53 -0500*Organization*: wolfram.com*Sender*: owner-wri-mathgroup at wolfram.com

Ersek_Ted%PAX1A at mr.nawcad.navy.mil wrote: > > Dear Math Group, > > The two polynomials "messy" and "clean" below are equivalentl. > > messy = c0 + a*c1 - b*c1 + a^2*c2 - 2*a*b*c2 + b^2*c2 > > clean = c0 + c1(a-b) + c2(a-b)^2 > > If I get a polynomial like the messy one, how can I get Mma > to convert is to the clean polynimial. > > I don't yet have Version 3..0. > Using Collect and Factor in version 2.2 does no good. > Maybe FullSimplify in version 3.0 will work. > > Still I would like to do this without using FullSimplify, > because it can take a very long time. > > Please Help > T.E. Simplify and FullSimplify both give In[3]:= Simplify[messy] Out[3]= c0 + (a - b) (c1 + (a - b) c2) To get the factorized coefficients in version 3.0, you can use either the three-argument form of Collect, or else the grossly-underdocumented MonomialList followed by Factor. In[8]:= MonomialList[messy, {c0,c1,c2}, CoefficientDomain->RationalFunctions] 2 2 Out[8]= {c0, (a - b) c1, (a - 2 a b + b ) c2} In[9]:= Apply[Plus, Map[Factor, %]] 2 Out[9]= c0 + (a - b) c1 + (a - b) c2 In[10]:= Collect[messy, {c0,c1,c2}, Factor] 2 Out[10]= c0 + (a - b) c1 + (a - b) c2 Daniel Lichtblau Wolfram Research danl at wolfram.com