Re: Hold and Equal

*To*: mathgroup at smc.vnet.net*Subject*: [mg73735] Re: Hold and Equal*From*: Peter Pein <petsie at dordos.net>*Date*: Tue, 27 Feb 2007 05:42:23 -0500 (EST)*References*: <erufqm$s7j$1@smc.vnet.net>

Murray Eisenberg schrieb: > How can I produce in an Output cell (under program control) an > expression like the following, > > (a+b)^2 = a^2+ 2 a b + b^2 > > where instead of the usual Equal (==) I get a Set (=), as in traditional > math notation? I want to input the unexpanded (a+b)^2 and have the > expansion done automatically. > > Of course, I can try something like the following: > > (a+b)^2 == Expand[(a+b)^2]) > > So how do I convert the == to =? Of course > > ((a + b)^2 == Expand[(a + b)^2]) /. Equal -> Set > > gives a Set::write error. And > > (Hold[(a + b)^2 == Expand[(a + b)^2]]) /. Equal -> Set > > doesn't actually evaluate the Expand part and leaves the "Hold" wrapper. > > After trying a while, I found HoldForm[#1 = #2] & @@ Through[{Identity, Expand}[(a + b)^2]] but I guess there is an easier way. Peter