Re: bug ?
- To: mathgroup at smc.vnet.net
- Subject: [mg122379] Re: bug ?
- From: DrMajorBob <btreat1 at austin.rr.com>
- Date: Thu, 27 Oct 2011 06:28:45 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- References: <j862b6$5ls$1@smc.vnet.net> <201110262140.RAA00119@smc.vnet.net>
- Reply-to: drmajorbob at yahoo.com
"I guess that a fan of Mathematica could argue that it must be a feature
because this behavior is well known to WRI and has not been changed, and
WRI would change it if it were a bug, so it must be a feature."
Sad, but true!
Bobby
On Wed, 26 Oct 2011 16:40:25 -0500, Richard Fateman
<fateman at cs.berkeley.edu> wrote:
> On 10/25/2011 3:17 AM, swiss wrote:
>> Following rational function has a double pole matched by a double root
>> at (4+\sqrt{17})/4.
>
>> The first result is correct, the other ones are false, but come without
>> warning.
> >
>> Can somebody explain this to me?
>
> As you know, you are dividing by zero. That's why you take a limit.
> If you are not doing arithmetic NOT with the exact values you think you
> have, but some other numbers more or less nearby, you get different
> results.
>
>
> Consider a slight variation on your input 54..
>
> -(((s (4 s - 5)^2 - (5 + 3 Sqrt[17])/8 (4 s + 1)) ((4 s - 5)^2 -
> 4 (5 + 3 Sqrt[17])/8 (4 s - 7)))/(16 s^2 - 32 s - 1)^2) /.
> s -> 1/4 (4 + Sqrt[17.0000000000000000])
>
> which returns Indeterminate.
>
> Although
>
> -(((s (4 s - 5)^2 - (5 + 3 Sqrt[17])/8 (4 s + 1)) ((4 s - 5)^2 -
> 4 (5 + 3 Sqrt[17])/8 (4 s - 7)))/(16 s^2 - 32 s - 1)^2) /.
> s -> 1/4 (4 + Sqrt[17.000000000000000])
>
> (one fewer "0") in there, returns without comment, 0.09375.
>
> Is this a bug? I am sure that some people will call it a feature.
> It is a result of compromises made in numerics.
>
>
> Your example on line 52 is more interesting.
>
> Let q =
> -(((s (4 s - 5)^2 - (5 + 3 Sqrt[17])/
> 8 (4 s + 1)) ((4 s - 5)^2 -
> 4 (5 + 3 Sqrt[17])/8 (4 s - 7)))/(16 s^2 - 32 s - 1)^2) /.
> s -> 1/4 (4 + Sqrt[17])
>
> Then
>
> Simplify[q] returns, as you show, 1/16* (1+2*Sqrt[17])
> FullSimplify[q] returns the same
> N[q] returns 0.
> N[q,1] returns Indeterminate (with warning)
> Expand[q] returns 0
>
> Map[N,Distribute[q]] returns -1.49737* 10^14 [A HUGE number!]
>
> Oh, for fun, take that q value and do this:
>
> qq= (q/. 17 -> r)
>
> That is, replace all the instances of 17 with r.
>
> Limit[qq, r->17] is 1/16*(1+2*Sqrt[17])
>
> which is of course not the same as output 50, but is the result of
> Simplify.
>
> Some of the results about can be explained by a feature/bug that is
> likely to be in Mathematica. That is essentially a rule that says if
> one is computing a product like A * B, and one is able to simplify A
> to zero, there is no need to look at B. The product is zero. Probably
> other programs like Mathematica do the same thing, by the way.
>
> In this case B = 1/0, but B wasn't examined. So that is an
> explanation. It is a result of a heuristic in the Simplify program.
>
> Is it a bug or a feature? Well, it wouldn't be the first time that
> something in Mathematica is simultaneously declared to be a feature and
> produces um, mathematically questionable results. I guess that a fan of
> Mathematica could argue that it must be a feature because this behavior
> is well known to WRI and has not been changed, and WRI would change it
> if it were a bug, so it must be a feature. :)
>
>
>
>
>
>> In[50]:= Limit[-(((s (4 s - 5)^2 - (5 + 3 Sqrt[17])/
>> 8 (4 s + 1)) ((4 s - 5)^2 -
>> 4 (5 + 3 Sqrt[17])/8 (4 s - 7)))/(16 s^2 - 32 s - 1)^2),
>> s -> 1/4 (4 + Sqrt[17])]
>>
>> Out[50]= 1/544 (331 - 19 Sqrt[17])
>>
>> In[51]:= 1/544 (331 - 19 Sqrt[17]) // N
>>
>> Out[51]= 0.46445
>>
>> In[52]:= -(((s (4 s - 5)^2 - (5 + 3 Sqrt[17])/
>> 8 (4 s + 1)) ((4 s - 5)^2 -
>> 4 (5 + 3 Sqrt[17])/8 (4 s - 7)))/(16 s^2 - 32 s - 1)^2) /.
>> s -> 1/4 (4 + Sqrt[17]) // Simplify
>>
>> Out[52]= 1/16 (1 + 2 Sqrt[17])
>>
>> In[53]:= 1/16 (1 + 2 Sqrt[17]) // N
>>
>> Out[53]= 0.577888
>>
>> In[54]:= -(((s (4 s - 5)^2 - (5 + 3 Sqrt[17])/
>> 8 (4 s + 1)) ((4 s - 5)^2 -
>> 4 (5 + 3 Sqrt[17])/8 (4 s - 7)))/(16 s^2 - 32 s - 1)^2) /.
>> s -> 1/4 (4 + Sqrt[17.])
>>
>> Out[54]= 0.09375
>>
>
>
--
DrMajorBob at yahoo.com
- References:
- Re: bug ?
- From: Richard Fateman <fateman@cs.berkeley.edu>
- Re: bug ?