J'écris un programme qui prend des données numériques x et y sous la forme d'un tableau numpy, puis l'intègre (numériquement) sur une région de x. Je l'ai fait et maintenant je commence à m'interroger sur la précision.Sommation précise avec numpy
J'ai remarqué que math.fsum()
corrige certaines erreurs de manière à ce que sum()
ne le fasse pas - numpy.sum
apporte-t-il également ces corrections?
Si j'écris sum = numpy.sum(array)
, ou quelque chose de similaire, le résultat (somme) est-il aussi précis que possible? Je somme des milliers de points de données qui sont eux-mêmes le produit de plusieurs opérations, donc de petites erreurs pourraient s'accumuler. Je ne suis pas assez versé en Python pour savoir s'il y a un module mathématique plus précis que je devrais utiliser lorsque l'exactitude de plusieurs décimales est importante.
Il est pire s'il y a beaucoup de petits summands, ce qui est exact de l'OP cas d'utilisation. 'math.fsum' est définitivement conseillé. –