Approximative Intervalle in Mathematica sind strikt nach aussen
gerundet. Die nach aussen Rundung erfolgt auf der letzten gueltigen
Stelle, daher ist sie in der normalen OutputForm nicht sichtbar. Man
sieht sie z.B. in der InputForm:
In[1]:= t=Interval[SetPrecision[1,30]]
Out[1]= Interval[{1.00000000000000000000000000000,
1.00000000000000000000000000000}]
In[2]:= InputForm[t]
Out[2]//InputForm=
Interval[{0.99999999999999999999999999999842227818956`30,
1.00000000000000000000000000000157772181044`30}]
Oder wenn man alle Bits nutzt um zu einer exakten Zahl zu konvertieren:
In[3]:= SetPrecision[t,Infinity]
633825300114114700748351602687
Out[3]= Interval[{------------------------------,
633825300114114700748351602688
633825300114114700748351602689
> ------------------------------}]
633825300114114700748351602688
In[4]:= %[[1,2]]-%[[1,1]] // N[#, 22]&
-30
Out[4]= 3.155443620884047221647 10
Aehnlich mit dem E^2 Beispiel:
In[22]:= t1=N[Interval[E^2],30]
Out[22]= Interval[{7.3890560989306502272304274606,
> 7.3890560989306502272304274606}]
In[23]:= t1Exact=SetPrecision[t1,Infinity]
292710668716546811563227956237
Out[23]= Interval[{------------------------------,
39614081257132168796771975168
146355334358273405781613978119
> ------------------------------}]
19807040628566084398385987584
In[24]:= N[E^2-t1Exact[[1,1]],30]
-29
Out[24]= 1.07564982641914258054044481981 10
In[25]:= N[t1Exact[[1,2]]-E^2,30]
-29
Out[25]= 1.44870507028809519677708658909 10
Michael Trott
Wolfram Research, Inc.
|