【发布时间】:2014-01-04 15:53:01
【问题描述】:
我想分析 Mathematica 中解析表达式的数值稳定性。为此,我想强制 Mathematica 以有限精度对表达式进行数值计算,并以更高的精度与结果进行比较。问题是我并没有真正让它忘记它在后台保留的额外数字,即使我明确告诉它这样做。下面的bug在哪里?
In[466]:= Sin[2.0]
Out[466]= 0.9092974268256817
In[467]:= Block[{$MaxExtraPrecision = 0}, N[Sin[2.0], 2]]
Out[467]= 0.9092974268256817
In[468]:= Block[{$MaxExtraPrecision = 0}, N[Sin[2.0`2], 2]]
Out[468]= 0.91
In[469]:= SetPrecision[%, 16]
Out[469]= 0.9092974268256817
即使在第三个版本中,它也会在后台保留更多数字。
【问题讨论】: