Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
1998
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*November
*December
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 1998

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Getting rid of annoying zeroes in algebraic expressions

  • To: mathgroup at smc.vnet.net
  • Subject: [mg15239] Re: Getting rid of annoying zeroes in algebraic expressions
  • From: Rolf Mertig <rolf at mertig.com>
  • Date: Sun, 27 Dec 1998 03:58:31 -0500
  • Organization: Mertig Research & Consulting
  • References: <75q1n1$23s@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

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.
RTFM ... :


-- In[3]:= 0. + (a*f)/(0. + f) + (b*f)/(0. + f) + (c*f)/(0. + f)//Chop

Out[3]= a + b + c

In[4]:= ?Chop
Chop[expr] replaces approximate real numbers in expr that are close to
zero by
   the exact integer 0.


Rolf Mertig
Mertig Research & Consulting  
Mathematica training and programming Development and distribution of
FeynCalc  Amsterdam, The Netherlands http://www.mertig.com


  • Prev by Date: Re: Algebra on complex expressions: Collect
  • Next by Date: Re: Triangles and trigonometry
  • Previous by thread: Re: Getting rid of annoying zeroes in algebraic expressions
  • Next by thread: Re: Getting rid of annoying zeroes in algebraic expressions