Я был бы признателен, если бы вы посмотрели. Я не думаю, что это квалифицируется как ошибка, но, возможно, как запрос функции.

нциально связано сэто Вопрос, что именно здесь происходит с форматированием чисел?

In[1]  := InputForm @ 3.12987*10^-270
Out[1] := 3.12987`*^-270

In[2]  := InputForm @ 3.12987*10^-271
Out[2] := 3.1298700000000003`*^-271

Если вы используете*10.^ в качестве множителя переход - это то место, где вы наивно ожидаете:

In[3]  := InputForm @ 3.12987*10.^-16
Out[3] := 3.12987`*^-16

In[4]  := InputForm @ 3.12987*10.^-17
Out[4] := 3.1298700000000004`*^-17

в то время как*^ продвигает переход немного дальше, хотя именно точность машины начинает ослабевать:

In[5]  := InputForm @ 3.12987*^-308
Out[5] := 3.12987`*^-308

In[6]  := InputForm @ 3.12987*10.^-309
Out[6] := 3.12987`15.954589770191008*^-309

База начинает распадаться только намного позже

In[7]  := InputForm @ 3.12987*^-595
Out[7] := 3.12987`15.954589770191005*^-595

In[8]  := InputForm @ 3.12987*^-596
Out[8] := 3.1298699999999999999999999999999999999999`15.954589770191005*^-596

Я предполагаю, что эти переходы относятся к формату, в котором Mathematica внутренне хранит свои цифры, но кто-нибудь знает или хочет рискнуть образованным предположением, как?

Ответы на вопрос(1)

Ваш ответ на вопрос