Re: Re: Log[4]==2*Log[2]
- To: mathgroup at smc.vnet.net
- Subject: [mg50599] Re: [mg50557] Re: [mg50520] Log[4]==2*Log[2]
- From: Andrzej Kozlowski <andrzej at akikoz.net>
- Date: Sun, 12 Sep 2004 04:42:10 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
Actually, I don't think Mathematica does any real "determining" since it does not replace the exact values given in the input by numerical approximations. The message issued is, I think, purely formal. Mathematica could not determine anything because it tries to compare the numbers "numerically" without using approximate numerical values, which can't be done. (You have to apply N for it to use numerical values). That't what I meant by "not surprisingly". I don't think I really understand your point? ANdrzej On 11 Sep 2004, at 01:52, DrBob wrote: >>> 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. > > 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 >
- Follow-Ups:
- Re: Re: Re: Log[4]==2*Log[2]
- From: DrBob <drbob@bigfoot.com>
- Re: Re: Re: Log[4]==2*Log[2]