Inicio · Parte 02 — Álgebra y funciones
conmutativa: a + b = b + a, ab = ba
asociativa: (a+b)+c = a+(b+c)
distributiva: a(b+c) = ab + ac
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.
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
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
conmutativa_sumaconmutativa_productoasociativa_suma_en_Rdistributivaasociativa_falla_en_floatresta_no_es_conmutativa{
"conmutativa_suma": true,
"conmutativa_producto": true,
"asociativa_suma_en_R": true,
"distributiva": true,
"asociativa_falla_en_float": false,
"resta_no_es_conmutativa": true
}
Justifica toda manipulación algebraica y explica por qué un compilador con optimizaciones agresivas de coma flotante (-ffast-math) puede cambiar resultados.
Una red neuronal es una composición de funciones parametrizadas. La sigmoide, la softmax y la log-verosimilitud son álgebra de exponenciales y logaritmos.
10.1145/103162.103163 verificado en Crossref (2026-08-19).