Python numpy máquina epsilon
Eu estou tentando entender o que é epsilon de máquina. Segundo a Wikipedia, ela pode ser calculada da seguinte maneira:
def machineEpsilon(func=float):
machine_epsilon = func(1)
while func(1)+func(machine_epsilon) != func(1):
machine_epsilon_last = machine_epsilon
machine_epsilon = func(machine_epsilon) / func(2)
return machine_epsilon_last
No entanto, é adequado apenas para números de precisão dupla. Estou interessado em modificá-lo para suportar também números de precisão simples. Eu li que numpy pode ser usado, particularmentenumpy.float32
classe. Alguém pode ajudar com a modificação da função?