Re: Re: Simplifying If expressions
- To: mathgroup at smc.vnet.net
- Subject: [mg103003] Re: [mg102969] Re: Simplifying If expressions
- From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
- Date: Thu, 3 Sep 2009 19:55:08 -0400 (EDT)
- References: <287030.1251791777166.JavaMail.root@n11> <h7l91h$3cj$1@smc.vnet.net> <200909030941.FAA20932@smc.vnet.net> <614E6D9B-BFF9-434E-B72C-2ACB24FDDD2E@mimuw.edu.pl>
On 3 Sep 2009, at 15:57, Andrzej Kozlowski wrote: > > On 3 Sep 2009, at 11:41, pfalloon wrote: > >> On Sep 2, 6:06 pm, "David Park" <djmp... at comcast.net> wrote: >>> If[x == 0, x, 0]; >>> FullSimplify[%] >>> 0 >>> >>> Piecewise[{{x, x == 0}}, 0]; >>> FullSimplify[%] >>> 0 >>> >>> David Park >>> djmp... at comcast.nethttp://home.comcast.net/~djmpark/ >>> >>> From: beep.beep [mailto:meph... at gmail.com] >>> >>> Hi, >>> >>> When I try to Simplify[If[x==0,x,0]] Mathematica returns If[x==0,= >> x,0] rather >>> than 0. It seems that it does not take into account that left and >>> right >>> if-branches should be simplified using ($Assumptions)&&if- >>> condition and >>> ($Assumptions)&&!if-condition respectively. Is there a way to >>> force that >>> behaviour? >>> >>> Best regards, >>> Ilya >> >> I don't know about anyone else, but I was surprised and troubled to >> see the following result (as pointed out by others in this thread): >> >> In[3]:= If[x==0,x,0] // FullSimplify >> Out[3]= 0 >> >> To me this seems simply incorrect. For example, what about the >> following cases: >> >> In[5]:= With[{x=0.}, If[x==0,x,0]] >> Out[5]= 0. >> >> In[11]:= With[{x=1`20-1}, If[x==0,x,0]] >> Out[11]= 0.*10^-20 >> >> Is this intentional? >> > > Why is this incorrect (in Mathematica)? After all: > > With[{x = 0.}, If[x == 0, x, 0]] == 0 > True > > With[{x = 1.`20. - 1}, If[x == 0, x, 0]] == 0 > True > > Of course it is a matter of interpretation but since all these > values lie in the same equivalence class under Equal it is at least > consistent to return any one of them as the output of FullSimplify > and 0 is the most natural one to choose. > > Andrzej Kozlowski > Sorry, the very last comment (about choosing 0 as the value returned) was the result of a confusion. I meant simply to say that the answer returned by FullSimplify is consistent with the fact that all the numbers 0, 0., 1.`20.-1 are Equal in Mathematica. Andrzej Kozlowski
- References:
- Re: Simplifying If expressions
- From: pfalloon <pfalloon@gmail.com>
- Re: Simplifying If expressions