Propriedade Comutativa Da Adição - DICIONÁTICA - O dicionário da matemática: Propriedade comutativa da adição
DICIONÁTICA - O dicionário da matemática: Propriedade comutativa da adição

Arrumando os números antes de calcular

A propriedade comutativa da adição só existe para dizer que a ordem dos operandos não altera o resultado. Eu vejo gente perder tempo tentando justificá-la como se fosse algo mágico. Não é. É uma das definições mais triviais da aritmética, e também uma das mais mal usadas quando se trata de operações reais. Aqui vai como isso funciona na prática. Você tem uma sequência de parcelas, some na ordem que der na telha, e chega ao mesmo número. Sempre. 7 + 23 dá o mesmo que 23 + 7. A regra vale para qualquer par de números reais, inteiros, racionais ou até complexos. A comutatividade na adição é garantida por definição em quase todos os sistemas numéricos que você vai encontrar no dia a dia.

Entendendo a propriedade comutativa da adição de verdade

O enunciado formal é simples: a + b = b + a para quaisquer a e b pertencentes a um conjunto onde a adição está definida. O truque que ninguém conta é que isso só se aplica quando você está lidando estritamente com adição. Soma com subtração já quebra a coisa, e é aí que muita gente se enrola. Eu trabalhei num projeto de otimização de loops numéricos onde tínhamos que somar dezenas de milhares de valores float. A ideia era reagrupar os termos para minimizar o erro de arredondamento. Reordenar parcelas sozinhas não resolve nada nesse contexto. A propriedade comutativa permite trocar a ordem, sim, mas em ponto flutuante a associaitividade falha. Ou seja, (a + b) + c pode não ser igual a a + (b + c) por causa do acúmulo de erro de precisão. A própria comutatividade funciona, mas o resultado final muda dependendo de como você agrupa.

👉 Clique no botão abaixo para saber mais sobre o assunto!

Minha solução foi usar o algoritmo de soma de Kahan, que compensa o erro de arredondamento durante o acumulo. Sem isso, a diferença entre somar na ordem original e reordenar usando comutatividade podia chegar a 1e-7 em alguns cenários. Com a correção, a variância caiu para 1e-15, que é basically a precisão dupla do IEEE 754. Outro ponto que pula aos olhos: isso não funciona para subtração. 5 - 3 é diferente de 3 - 5. E também não se aplica à multiplicação de matrizes, que é o clássico exemplo que todo livro didático traz pra contrastar. Multiplicação de matrizes é associativa mas não comutativa. Adição de matrizes, por outro lado, é perfeitamente comutativa. Confundir esses dois casos gera erro em cálculo numérico e em álgebra linear básica.

Se você tá montando expressões algébricas ou programando funções de agregação, a propriedade comutativa da adição te dá liberdade para organizar os termos como quiser. Mas saiba que essa liberdade tem custo quando o domínio muda de números exatos para aproximações computacionais. Em cálculos com BigDecimal ou com precisão arbitrária, a comutatividade se mantém intacta porque você controla o arredondamento. Em float padrão, ela se mantém formalmente, mas o resultado numérico final pode divergir por causa de como as operações são agrupadas. Então a recomendação é: use a comutatividade para organizar e agrupar de forma estragética, mas valide o resultado numericamente se a precisão for crítica.