Разница, кажется, вызвана только процедурами форматирования:
>>> '%.30f' % math.cos(60./180.*math.pi)
'0.500000000000000111022302462516'
>>> '%.30f' % np.cos(60./180.*np.pi)
'0.500000000000000111022302462516'
Обратите внимание, что np.cos
возвращает np.float64
, а не float
, и, очевидно, этот тип печатается по-другому по умолчанию. На обычном оборудовании они оба реализованы как 64-битные double
, поэтому нет никакой реальной разницы в точности.