Non commutativité multiplication
Bonjour,
Etant nouveau sur le forum, je m'excuse par avance si la question a déjà été posée.
Je travaille avec des variables (des atomes tels que 2H, 15N, 17O, etc...) dont les valeurs sont associées à des lois binomiales et multinomiales. Lorsque je combine ces différentes variables entre elles j'observe que le produit des variables n'est pas toujours parfaitement commutatif. J'ai joint un fichier excel avec mes données d'entrées et un exemple de non commutativité. J'ai remis un screen ci-dessous pour + de clarté
Ici, on voit que pour la combinaison 2H*15N*17O je n'obtiens pas tout à fait la même chose selon l'ordre dans lequel j'effectue les multiplications des 3 éléments de base. Ce n'est pas grand chose mais il y a une petite différence de résultat, alors qu'en théorie on devrait avoir le même résultat non ? (car ce sont les mêmes éléments que l'on multiplie entre eux mais simplement l'ordre a été changé).
Savez-vous d'où peut bien provenir ce phénomène? Est-ce lié à un nombre maximale de décimales que excel garde pendant ses calculs? Y'a-t-il un moyen de s'affranchir de ce phénomène de non commutativité de la multiplication?
Merci par avance pour votre temps et vos explications :)
Salut Zanki,
Je présume que tu approches des limites d'Excel. Probablement que ces chiffres calculés presque à l'infini finissent par avoir des petites différences tout au bout !
Je ne sais pas quel degré de précision tu as besoin, mais pourquoi ne pas arrondir tes calculs de base ? Dans le fichier ci-joint, j'ai arrondi les trois chiffres compris dans tes multiplications et ça donne le même résultat. Ensuite, je me suis rendu compte que l'arrondi d'un seul des 3 chiffres suffisait (voir mes différentes feuilles dans le fichier ci-joint).
Cordialement.
Bonjour Yvouille,
Merci pour ta réponse. Effectivement j'avais pensé à cette solution d'arrondi. Mais je ne sais pas si cette solution marchera pour tout type de situation. Par exemple si j'utilise d'autres probabilité d'entrée ou alors si je combine + que 3 variables (4, 5, 6, etc...). L'idéal serait de savoir combien de chiffres Excel garde dans ses variables quand il fait ses calculs. J'ai fait quelques recherches et il semblerait que les variables décimales soient stockées sous forme "d'entier non signés 96 bits" ce qui permettrait une précision de 28 chiffres maximum après la virgule.
Bref à part la piste de l'arrondi je ne vois pas vraiment d'autres solutions pour régler ce problème de "non commutativité de la multiplication" (dans l'optique après de tester l'égalité de différentes cellules provenant de même combinaison mais associées avec un ordre différent).
Si tu peux te contenter d'une précision aussi vague de d'arrondir tes calculs à 28 chiffres après la virgule - au lieu que ce soit d'une précision presque sans fin - je suis persuadé que tu pourras commuter tes données comme bon te semble.
Et tu as toujours la possibilité d'effectuer des calculs comparatifs comme tu l'as fait sur ton fichier.
Amicalement.