Je cherche à comprendre ce qu'est l'epsilon machine. Selon Wikipédia, cela peut être calculé comme suit :
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
Cependant, cela convient uniquement aux nombres en double précision. Je suis intéressé à le modifier pour supporter également les nombres en simple précision. J'ai lu que numpy peut être utilisé, en particulier la classe numpy.float32
. Est-ce que quelqu'un peut m'aider à modifier la fonction?