Re: Simplify

*To*: mathgroup at smc.vnet.net*Subject*: [mg91096] Re: Simplify*From*: Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com>*Date*: Wed, 6 Aug 2008 05:04:25 -0400 (EDT)*Organization*: The Open University, Milton Keynes, UK*References*: <g791is$9ng$1@smc.vnet.net>

Cetin Haftaoglu wrote: > I have a simple question about to simplify a expression (a list/matrices). I > have a list like > > {2 cet1, 0, -2 cet1, cet1, 0, -cet1} > > And I want to extract if possible the factor cet1, so I become a list like > > cet1{2, 0, -2, 1, 0, -1} Note that the above expression is *not* a list: This is the product of a symbol by a list. Evaluating such an expression will result in the original list (cet1 is distributed over the list). > How can I extract the factor? Among many other methods, you could use a transformation rule or a function such as *Coefficient[]* (Note that the last expression uses the non-commutative multiplication sign "**" to prevent distributivity): In[1]:= lst = {2 cet1, 0, -2 cet1, cet1, 0, -cet1} lst /. cet1 -> 1 Coefficient[lst, cet1] cet1 (lst /. cet1 -> 1) cet1 ** (lst /. cet1 -> 1) Out[1]= {2 cet1, 0, -2 cet1, cet1, 0, -cet1} Out[2]= {2, 0, -2, 1, 0, -1} Out[3]= {2, 0, -2, 1, 0, -1} Out[4]= {2 cet1, 0, -2 cet1, cet1, 0, -cet1} Out[5]= cet1 ** {2, 0, -2, 1, 0, -1} Regards, -- Jean-Marc