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

• To: mathgroup at smc.vnet.net
• Subject: [mg50557] Re: [mg50520] Log[4]==2*Log[2]
• From: Andrzej Kozlowski <andrzej at akikoz.net>
• Date: Fri, 10 Sep 2004 04:05:56 -0400 (EDT)
• References: <200409090917.FAA19334@smc.vnet.net>
• Sender: owner-wri-mathgroup at wolfram.com

```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]
>
> 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/

```

• Prev by Date: Re: Re: NestList
• Next by Date: Re: Smallest enclosing circle