Re: Clip[] doesn't work as expected
- To: mathgroup at smc.vnet.net
- Subject: [mg115376] Re: Clip[] doesn't work as expected
- From: Leonid Shifrin <lshifr at gmail.com>
- Date: Sun, 9 Jan 2011 02:19:54 -0500 (EST)
This behavior is correct, and there is nothing to warn about. You use
machine-precision arithmetic,
and your result is within machine epsilon of 1:
In[1]:=Chop[Clip[1.00000000000000036,{0,1}]-1]
Out[1] = 0
If you want exact result, you need fixed higher precision, and exact bounds
in Clip, such as:
In[2]:= Clip[N[1+36*10^(-17),20],{0,1}]
Out[2]= 1
Regards,
Leonid
On Fri, Jan 7, 2011 at 12:11 PM, Yen Lee Loh <yenleeloh1 at gmail.com> wrote:
> On Mathematica v7.0.1 on Mac OS X,
>
>
> Clip[1.00000000000000036, {0., 1.}]
>
>
> gives
>
>
> 1.0000000000000004
>
>
> upon close examination of the output. The documentation does not warn of
> this behavior.
> I have not checked if the same thing happens in Mathematica v8.
> Just thought I would let you know.
>
> Yen Lee
>
>
>