Код: Выделить всё
In [26]: import numpy as np
In [27]: np.sin(np.pi)
Out[27]: 1.2246467991473532e-16
В некоторой степени , я не уверен, допустимо ли считать вычисленный результат неточным: его абсолютная ошибка находится в пределах одного машинного эпсилона (для двоичного кода 64), тогда как относительная ошибка равна +inf - вот почему я чувствую себя несколько сбитым с толку. Есть идеи?
[Изменить] Я полностью понимаю, что вычисления с плавающей запятой могут быть неточными. Но большинству библиотек с плавающей запятой удается выдавать результаты с небольшим диапазоном ошибок. Здесь относительная ошибка равна +inf, что кажется неприемлемым. Представьте себе, что мы хотим посчитать
Код: Выделить всё
1/(1e-16 + sin(pi))
Подробнее здесь: https://stackoverflow.com/questions/393 ... ome-points
Мобильная версия