Re: How to get an optimal simplification?

*To*: mathgroup at smc.vnet.net*Subject*: [mg89441] Re: How to get an optimal simplification?*From*: Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com>*Date*: Mon, 9 Jun 2008 06:20:27 -0400 (EDT)*Organization*: The Open University, Milton Keynes, UK*References*: <g2iir2$rj5$1@smc.vnet.net>

yaqi wrote: > I expected to get: > {t1,t2,t3} > > with the expression: > Simplify[{a - b, b - c, c - a}, {t1 == a - b, t2 == b - c, t3 == c - > a}] > > But I only get {-t2-t3,t2,t3}, which is a little bit annoying. > > I know I can do the simplifications separately like, > Simplify[Simplify[Simplify[{a - b, b - c, c - a}, t1 == a - b], t2 > == b - c], t3 == c - a] > > But I still like to get the optimal result with one simplify > operation. > > Is there an answer? (the answer is useful for one of my big > derivations.) I am not sure if the following will apply straightforwardly to your bigger expressions, but you could use a list of rules with the *ReplaceRepeated[]* operator (short cut //. double-forward slash and period, though in your example *ReplaceAll[]* is enough) or compute a *GroebnerBasis[]* for the variables t1, t2, t3, and eliminating a, b, and c. For instance, In[1]:= {a - b, b - c, c - a} //. {a - b -> t1, b - c -> t2, c - a -> t3} Out[1]= {t1, t2, t3} In[2]:= GroebnerBasis[{a - b, b - c, c - a, t1 - a + b, t2 - b + c, t3 - c + a}, {t1, t2, t3}, {a, b, c}] Out[2]= {t3, t2, t1} Regards, -- Jean-Marc