Oi, Beatriz! Como você está?
A função allclose é usada para verificar se dois arrays são aproximadamente iguais dentro de uma tolerância especificada. Em vez de exigir uma correspondência exata, allclose avalia se os elementos dos arrays são próximos o suficiente, permitindo pequenas diferenças numéricas.
Os parâmetros rtol e atol são usados para definir essa tolerância:
rtol é a tolerância relativa. Isso significa que ele verifica se a diferença relativa entre os dois valores é menor que rtol. A diferença relativa é calculada como rtol * abs(b) (multiplicação entre a tolerância relativa pelo valor absoluto do segundo array);
atol é a tolerância absoluta, ou seja, a diferença absoluta (subtração) entre os dois arrays.
O allclose retornará True se a diferença absoluta entre os arrays for menor ou igual à soma de atol e a diferença relativa. Essa ideia está expressa nesta equação, Bia: abs(a - b) <= (atol + rtol * abs(b)).
Quanto ao "e" em rtol=1e-05 e atol=1e-08, ele representa a notação científica. Geralmente, quando trabalhamos com números muito grandes ou muito pequenos, optamos por representá-los desta forma, melhorando a realização de cálculos e a legibilidade.
Nesse sentido, o "e" representa a potência de 10 pela qual o número à esquerda é multiplicado. Neste caso, 1e-05 é equivalente a 1 multiplicado por 10 elevado à potência de -5 (0,00001). A mesma ideia pode ser identificada em 1e-08!
Esses são valores-padrão para reconhecermos arrays parecidos com o allclose, contudo, podemos mudá-los conforme as nossas necessidades!
Espero que tenha ficado mais claro, Bia! Qualquer dúvida, fico à disposição.
Abraços!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!