MathGroup Archive 2004

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

Search the Archive

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

  • To: mathgroup at smc.vnet.net
  • Subject: [mg50616] Re: [mg50599] Re: [mg50557] Re: [mg50520] Log[4]==2*Log[2]
  • From: DrBob <drbob at bigfoot.com>
  • Date: Mon, 13 Sep 2004 02:19:31 -0400 (EDT)
  • References: <200409120842.EAA01340@smc.vnet.net>
  • Reply-to: drbob at bigfoot.com
  • Sender: owner-wri-mathgroup at wolfram.com

If Equal can't decide equality for exact expressions, then it should return unevaluated. It shouldn't interrupt everything with a useless error message.

Bobby

On Sun, 12 Sep 2004 04:42:10 -0400 (EDT), Andrzej Kozlowski <andrzej at akikoz.net> wrote:

> 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
>>
>
>
>



-- 
DrBob at bigfoot.com
www.eclecticdreams.net


  • Prev by Date: Re: DSolve Question
  • Next by Date: Re: Re: Re: Log[4]==2*Log[2]
  • Previous by thread: Re: Re: Log[4]==2*Log[2]
  • Next by thread: Re: Re: Re: Log[4]==2*Log[2]