O que exatamente é o parâmetro de “resolução” do numpy float
Estou buscando um pouco mais de entendimento sobre o parâmetro "resolution" de um float numpy (acho que qualquer float definido por computador para esse assunto).
Considere o seguinte script:
import numpy as np
a = np.finfo(10.1)
print a
Recebo uma saída que, entre outras coisas, é impressa:
precision=15 resolution= 1.0000000000000001e-15
max= 1.797(...)e+308
min= -max
A documentação numpy especifica: "resolução: (número de ponto flutuante do tipo apropriado) A resolução decimal aproximada desse tipo, ou seja, 10 ** - precisão".fonte
a resolução é derivada da precisão, mas infelizmente essa definição é um pouco circular "precisão (int): o número aproximado de dígitos decimais nos quais esse tipo de flutuação é preciso".fonte
Entendo que os números de ponto flutuante são meramente representações finitas de números reais e, portanto, têm erros em sua representação, e que a precisão é provavelmente uma medida desse desvio. Mas, na prática, isso significa que eu deveria esperar resultados errôneos se eu pré-executar operações usando números menores que a resolução? Como quantificar o erro, por exemplo, adição, de dois números de ponto flutuante, dada sua precisão? Se a resolução é tão "grande" quanto 1e-15, por que o menor número permitido seria da ordem de 1e-308?
Agradeço antecipadamente!