Re: Getting rid of annoying zeroes in algebraic expressions
- To: mathgroup at smc.vnet.net
- Subject: [mg15249] Re: [mg15228] Getting rid of annoying zeroes in algebraic expressions
- From: jtischer at col2.telecom.com.co (Cl-Jurgen Tischer)
- Date: Sun, 27 Dec 1998 03:58:40 -0500
- Organization: Universidad del Valle
- Sender: owner-wri-mathgroup at wolfram.com
Sean, first, on my computer your two versions where equivalent. In[1]:= xx=0. + (a*f)/(0. + f) + (b*f)/(0. + f) + (c*f)/(0. + f); In[2]:= xx /. 0. + (q_) -> q Out[2]= (a*f)/(0. + f) + (b*f)/(0. + f) + (c*f)/(0. + f) In[3]:= 0. + (a*f)/(0. + f) + (b*f)/(0. + f) + (c*f)/(0. + f) /. 0. + (q_) -> q Out[3]= (a*f)/(0. + f) + (b*f)/(0. + f) + (c*f)/(0. + f) Second, it's easy to get what you want: In[4]:= xx //. 0. + (q_) -> q Out[4]= a+b+c or if you like it more In[5]:= Chop[xx] Out[5]= a+b+c Jurgen "Ross, Sean" wrote: > > Let xx be the result of some algebraic manipulations which, for some > reason, mathematica thinks the real zeroes ought to be kept and I think > they ought to be dropped. > > xx=0. + (a*f)/(0. + f) + (b*f)/(0. + f) + (c*f)/(0. + f) > > xx/.Plus[0.,q_]->q > > returns > > 0. + (a*f)/(0. + f) + (b*f)/(0. + f) + (c*f)/(0. + f) > > while > > 0. + (a*f)/(0. + f) + (b*f)/(0. + f) + (c*f)/(0. + f)/.Plus[0.,q_->q] > > returns the expected > > a+b+c. > > xx is supposed to be equivalent to the expression, but in this case, it > is not. > I can't write a function to automatically drop zeroes if expressions > behave differently when they are alone on an input line and when they > are set equal to a symbol. Does anyone know how to eliminate this kind > of behavior? I am sure it has something to do with some obscure step > in the "standard evaluation cycle" and that there is probably a long, > convoluted explanation as to why someone would want this behavior, but > I don't and I would appreciate it if someone could tell me how to get > rid of it or circumvent it. > > Thanks, > > Sean Ross > > Please reply to rosss at plk.af.mil as I no longer subscribe to the > mathgroup. >