🧮 Computational Mathematics

Inicio · Parte 02 — Álgebra y funciones

042 — Propiedades distributiva, asociativa y conmutativa

basico clase 2 de 20 4 horas demostración algebra_properties

Conmutativa, asociativa y distributiva son válidas en ℝ, pero la asociatividad falla en punto flotante.

Fórmulas

conmutativa: a + b = b + a,  ab = ba
asociativa: (a+b)+c = a+(b+c)
distributiva: a(b+c) = ab + ac

Desarrollo

Las tres propiedades definen la estructura de cuerpo de los números reales, y de ellas se deduce todo el álgebra elemental. La distributiva es la más productiva: conecta la suma con el producto y es la que justifica factorizar, desarrollar y —como vio la clase 002— la regla de los signos.

Conviene notar qué no cumplen ciertas operaciones. La resta no es conmutativa ni asociativa. La división tampoco. La potenciación no es conmutativa (2³ ≠ 3²) ni asociativa (asocia por la derecha, clase 010). Y en la parte 05 aparecerá que el producto de matrices es asociativo pero no conmutativo, lo que cambia por completo cómo se manipulan las expresiones.

El hallazgo incómodo de esta clase es que la asociatividad de la suma falla en punto flotante. (1e16 + 1.0) − 1e16 da 0.0, mientras que 1e16 + (1.0 − 1e16) da 1.0. No es un bug: es la consecuencia directa de que cada suma parcial se redondea, tal como explicó la clase 039.

La conclusión práctica es que las identidades algebraicas son ciertas en ℝ y solo aproximadamente ciertas en float. Reordenar una expresión para simplificarla puede cambiar su resultado numérico, y en cálculo sensible ese reordenamiento debe hacerse con criterio, no automáticamente.

Ejemplo trabajado

Las tres propiedades y su límite en flotante.

a = 2.5,  b = −4.0,  c = 7.25

conmutativa suma      a + b == b + a          True
conmutativa producto  a·b == b·a              True
asociativa en ℝ       (a+b)+c == a+(b+c)      True
distributiva          a(b+c) == ab + ac       True (isclose)

resta no conmutativa  a − b == b − a          False

Asociatividad en float64:
  (1e16 + 1.0) − 1e16  =  0.0
  1e16 + (1.0 − 1e16)  =  1.0
  ¿iguales?  No

Qué calcula el laboratorio

Conmutativa, asociativa y distributiva: válidas en ℝ, no siempre en float.

python classes/part-02-algebra-y-funciones/042-propiedades-distributiva-asociativa-y-conmutativa/lab.py
compmath run 042

Salidas del laboratorio (6)

Muestra de la ejecución real

{
  "conmutativa_suma": true,
  "conmutativa_producto": true,
  "asociativa_suma_en_R": true,
  "distributiva": true,
  "asociativa_falla_en_float": false,
  "resta_no_es_conmutativa": true
}

Errores comunes

Dónde se usa

Justifica toda manipulación algebraica y explica por qué un compilador con optimizaciones agresivas de coma flotante (-ffast-math) puede cambiar resultados.

Idea rectora de la parte

El dominio forma parte de la definición: cambiarlo cambia la función.

Error a evitar

Aplicar log a valores no positivos sin declarar el dominio.

Conexión con IA

Una red neuronal es una composición de funciones parametrizadas. La sigmoide, la softmax y la log-verosimilitud son álgebra de exponenciales y logaritmos.

Bibliografía de la clase

Archivos de la clase