РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
454 of 541 menu

Атрибут eps

Атрибут eps класса finfo возвращает машинную точность (machine epsilon) для конкретного типа данных с плавающей запятой. Машинная точность - это наименьшее положительное число ε такое, что 1.0 + ε != 1.0 в арифметике данного типа. Это значение характеризует относительную точность вычислений с числами этого типа.

Атрибут доступен только для экземпляров класса finfo, которые создаются путём передачи типа данных (например, float32 или float64) в конструктор класса finfo.

Синтаксис

np.finfo(dtype).eps

Пример

Давайте получим машинную точность для типа float64 (это стандартный тип для чисел с плавающей запятой в NumPy):

import numpy as np eps_value = np.finfo(np.float64).eps print(eps_value)

Результат выполнения кода:

2.220446049250313e-16

Пример

Теперь получим машинную точность для типа float32 и сравним её с точностью для типа float64:

import numpy as np eps32 = np.finfo(np.float32).eps eps64 = np.finfo(np.float64).eps print(eps32) print(eps64)

Результат выполнения кода:

1.1920929e-07 2.220446049250313e-16

Как видно, машинная точность для типа float32 значительно больше (то есть грубее), чем для float64, что соответствует разной точности этих типов данных.

Пример

Продемонстрируем практический смысл машинной точности. Попробуем прибавить к единице число, меньшее eps, и число, равное eps:

import numpy as np eps = np.finfo(np.float64).eps res1 = 1.0 + eps / 2 res2 = 1.0 + eps print(res1 == 1.0) print(res2 == 1.0)

Результат выполнения кода:

True False

Прибавление половины машинной точности не меняет единицу, а прибавление самой eps уже даёт результат, отличный от единицы.

Смотрите также

  • класс finfo,
    который предоставляет информацию о типах с плавающей запятой
  • атрибут min,
    который возвращает минимальное положительное число для типа
  • атрибут max,
    который возвращает максимальное число для типа
  • атрибут precision,
    который возвращает приблизительную десятичную точность типа
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить