我想了解什麼是機器epsilon。根據維基百科,它可以計算如下:蟒蛇numpy機epsilon
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
但是,它只適用於雙精度數字。我有興趣修改它以支持單精度數字。我讀過可以使用numpy,尤其是numpy.float32
類。任何人都可以幫助修改該功能嗎?
這個函數是一般足以與所有精度一起工作。只需傳遞'numpy.float32'作爲參數即可! –