Re: //N bug, but WHY?
- To: mathgroup at smc.vnet.net
- Subject: [mg58649] Re: //N bug, but WHY?
- From: Peter Pein <petsie at dordos.net>
- Date: Tue, 12 Jul 2005 05:21:33 -0400 (EDT)
- References: <data3n$mec$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
symbio schrieb:
> Evaluating (using //N) two exact same expressions, gives wrong answer unless
> fullsimplify is used first, I spent 2 days on a problem thinking my answer
> was wrong, but turned out Mathematica 5 was giving me buggy answers, I
> debugged it to this point, but WHY in the world is this happening? Please
> help!!!
>
> cut and paste below to see the test case:
>
> In[243]:=
> \!\(\(Cosh[\(43\ \[Pi]\)\/\@2] + \((1 - Cosh[43\ \@2\ \[Pi]])\)\ Csch[
> 43\ \@2\ \[Pi]]\ Sinh[\(43\ \[Pi]\)\/\@2] // FullSimplify\) //
> N\[IndentingNewLine]
> Cosh[\(43\ \[Pi]\)\/\@2] + \((1 - Cosh[43\ \@2\ \[Pi]])\)\ Csch[
> 43\ \@2\ \[Pi]]\ Sinh[\(43\ \[Pi]\)\/\@2] // N\)
> Out[243]=
> \!\(6.551787517854307`*^-42\)
> Out[244]=
> \!\(\(-1.9342813113834067`*^25\)\)
>
>
>
> thanks,
>
The simplified expression is Sech[(43*Pi)/Sqrt[2]], wich is - with
respect to numeric evaluation - completely different from
Cosh[(43*Pi)/Sqrt[2]] + (1 - Cosh[43*Sqrt[2]*Pi]) * Csch[43*Sqrt[2]*Pi]
* Sinh[(43*Pi)/Sqrt[2]]], where rounding errors occur, which are "blown
up" by the large numbers (Exp[43*Pi/Sqrt[2]] is about 3*10^41). You
can't expect a correct result using 16-digit numerics. Try instead:
Block[{$MaxExtraPrecision = 86},
N[Cosh[(43*Pi)/Sqrt[2]] + (1 -
Cosh[43*Sqrt[2]*Pi])*Csch[43*Sqrt[2]*Pi]*Sinh[(43*Pi)/Sqrt[2]],
$MachinePrecision]]
this will give you:
6.551787517854344014050058*10^-42
--
Peter Pein
Berlin
http://people.freenet.de/Peter_Berlin/