🧮 Computational Mathematics

Inicio · Parte 00 — Pensamiento matemático desde cero

010 — Orden de operaciones y paréntesis

cero-absoluto clase 10 de 20 4 horas demostración operator_precedence

La precedencia y la asociatividad determinan qué expresión representa una cadena de símbolos.

Fórmulas

orden: paréntesis → potencias → producto/división → suma/resta
la potenciación asocia por la derecha: a**b**c = a**(b**c)
−a**n = −(aⁿ)

Desarrollo

Una expresión escrita en una línea es una notación comprimida de un árbol. 2+3*4 no es ambiguo para una máquina porque las reglas de precedencia determinan un único árbol: la multiplicación se agrupa antes que la suma. La ambigüedad está solo en la cabeza de quien lee sin conocer las reglas.

Dos reglas concentran casi todos los errores. La primera es la asociatividad de la potenciación por la derecha: 232 es 2(32) = 2⁹ = 512. Es la convención matemática estándar y la que implementan Python, R y las calculadoras científicas; algunas hojas de cálculo hacen lo contrario, lo que produce discrepancias reales entre un cuaderno y un script.

La segunda es que el signo menos unario tiene menor precedencia que la potenciación: −3**2 es −(3²) = −9, no (−3)² = 9. Este error aparece constantemente al trasladar una fórmula de un paper a código, y no produce una excepción: produce un número con el signo equivocado.

La conclusión práctica no es memorizar la tabla completa, sino adoptar un hábito: poner paréntesis donde la lectura no sea inmediata. Los paréntesis redundantes no cuestan nada en tiempo de ejecución y eliminan una clase entera de errores. En una fórmula que otra persona va a auditar, la claridad vale más que la brevedad.

Ejemplo trabajado

Cuatro expresiones que se leen mal con frecuencia.

2 + 3 * 4      = 2 + 12 = 14      (no 20)
(2 + 3) * 4    = 5 * 4  = 20

2 ** 3 ** 2    = 2 ** 9 = 512     (asocia por la derecha)
(2 ** 3) ** 2  = 8 ** 2 = 64

-3 ** 2        = -(3²)  = -9      (el menos va después)
(-3) ** 2      = 9

Escribir (2 3) 2 cuando se quiere decir eso no es redundancia: es documentación ejecutable.

Qué calcula el laboratorio

Precedencia y asociatividad: dos lecturas de la misma cadena.

python classes/part-00-pensamiento-matematico-desde-cero/010-orden-de-operaciones-y-parentesis/lab.py
compmath run 010

Salidas del laboratorio (6)

Muestra de la ejecución real

{
  "2+3*4": 14,
  "(2+3)*4": 20,
  "2**3**2 (asocia derecha)": 512,
  "(2**3)**2": 64,
  "-3**2": -9,
  "(-3)**2": 9
}

Errores comunes

Dónde se usa

Trasladar fórmulas de un paper a código sin cambiar su significado. Es la causa número uno de discrepancias al reproducir un resultado publicado.

Idea rectora de la parte

Un contraejemplo derrumba una regla; mil ejemplos favorables no la demuestran.

Error a evitar

Sumar porcentajes como si fueran cantidades absolutas.

Conexión con IA

Toda métrica de un modelo (accuracy, loss, learning rate) es una razón, un porcentaje o una escala. Interpretarlas mal es el primer error de un practicante de IA.

Bibliografía de la clase

Archivos de la clase