Python Numpy Machine Epsilon
Estoy tratando de entender qué es la máquina épsilon. Según la Wikipedia, se puede calcular de la siguiente manera:
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
Sin embargo, es adecuado solo para números de doble precisión. Estoy interesado en modificarlo para admitir también números de precisión simples. Leí que se puede usar numpy, particularmentenumpy.float32
clase. ¿Alguien puede ayudar a modificar la función?