Re: Re: Log[4]==2*Log[2]

*To*: mathgroup at smc.vnet.net*Subject*: [mg50588] Re: [mg50557] Re: [mg50520] Log[4]==2*Log[2]*From*: DrBob <drbob at bigfoot.com>*Date*: Sat, 11 Sep 2004 06:44:47 -0400 (EDT)*References*: <200409090917.FAA19334@smc.vnet.net> <200409100805.EAA04777@smc.vnet.net>*Reply-to*: drbob at bigfoot.com*Sender*: owner-wri-mathgroup at wolfram.com

>> Mathematica does not apply any simplification rules but justtries to evaluate the expression numerically and, not >> surprisingly, it can't determine if the LHS is zero or not >> up to the required precision. On the contrary, I think the error message itself clearly indicates the difference IS zero to "the required precision". If 50 digits extra precision isn't enough to determine that the difference ISN'T zero, why doesn't Equal return True? Bobby On Fri, 10 Sep 2004 04:05:56 -0400 (EDT), Andrzej Kozlowski <andrzej at akikoz.net> wrote: > On 9 Sep 2004, at 18:17, Andreas Stahel wrote: > >> >> To whom it may concern >> >> the following answer of Mathematica 5.0 puzzeled me >> >> Log[4]==2*Log[2] >> leads to >> >> N::meprec: Internal precision limit $MaxExtraPrecision = 50.` reached >> while \ >> evaluating -2\Log[2]+Log[4] >> >> with the inputs given as answer. But the input >> >> Log[4.0]==2*Log[2] >> >> leads to a sound "True" >> >> Simplify[Log[4]-2*Log[2]] >> leads to the correct 0, but >> Simplify[Log[4]-2*Log[2]==0] >> yields no result >> >> There must be some systematic behind thid surprising behaviour. >> Could somebody give me a hint please >> >> With best regards >> >> Andreas >> -- >> Andreas Stahel E-Mail: Andreas.Stahel at [ANTI-SPAM]hti.bfh.ch >> Mathematics, HTI Phone: ++41 +32 32 16 258 >> Quellgasse 21 Fax: ++41 +32 321 500 >> CH-2501 Biel WWW: www.hta-bi.bfh.ch/~sha >> Switzerland >> >> > > When you enter > > Log[4] - 2*Log[2] == 0 > > Mathematica does not apply any simplification rules but just tries to > evaluate the expression numerically and, not surprisingly, it can't > determine if the LHS is zero or not up to the required precision. > > If you use > > Simplify[Log[4] - 2*Log[2] == 0] > > Mathematica first tries to evaluate the argument of Simplify and the > same thig happens as above, but then it actually applies Simplify to > the output and gets the right answer True. > > The best thing to do is: > > > Simplify[Unevaluated[Log[4]-2*Log[2]==0]] > > > True > > which avoids evaluation of the argument and instead uses Simplify on > the unevaluated input. > > > > Andrzej Kozlowski > Chiba, Japan > http://www.akikoz.net/~andrzej/ > http://www.mimuw.edu.pl/~akoz/ > > > -- DrBob at bigfoot.com www.eclecticdreams.net

**References**:**Log[4]==2*Log[2]***From:*Andreas Stahel <sha@hta-bi.bfh.ch>

**Re: Log[4]==2*Log[2]***From:*Andrzej Kozlowski <andrzej@akikoz.net>