Inicio · Parte 08 — Cálculo multivariable, matricial y autodiferenciación
curva de nivel: f(x,y) = c
∇f ⊥ curva de nivel
curvas juntas ⟹ pendiente alta
Una curva de nivel une los puntos donde la función toma el mismo valor. Es el mismo concepto que las isolíneas de un mapa topográfico, y la analogía es exacta: la altura del terreno es una función de dos variables, y las curvas de nivel son las líneas de altitud constante.
De esa imagen se leen dos hechos importantes. Primero, el gradiente es perpendicular a la curva de nivel: la dirección de máximo ascenso es la que cruza las isolíneas de frente, no la que las recorre. Segundo, cuanto más juntas están las curvas, mayor es la pendiente: la misma diferencia de valor en menos distancia.
Esa segunda observación es la que explica el zigzagueo del descenso de gradiente. Cuando las curvas de nivel son elipses muy alargadas —función mal condicionada, clase 128—, el gradiente apunta casi perpendicular al eje largo, es decir, casi perpendicular a la dirección hacia el mínimo. El algoritmo rebota entre las paredes del valle en lugar de avanzar por él.
Los gráficos de contorno son la herramienta estándar para visualizar funciones de dos variables, y en optimización se usan para mostrar trayectorias de convergencia. Su limitación es la misma de siempre: solo funcionan en dos dimensiones, y los paisajes reales tienen millones.
Curvas de nivel de x² + y².
g(x,y) = x² + y², nivel c = 4
puntos del nivel 4:
(2,0) → 4 ✓
(0,2) → 4 ✓
(√2,√2) → 4 ✓
(−2,0) → 4 ✓
forma: circunferencia de radio 2
gradiente en (2,0): (4, 0)
apunta radialmente hacia fuera
perpendicular a la circunferencia ✓
Curvas de nivel: dónde la función vale lo mismo.
python classes/part-08-calculo-multivariable-matricial-y-autodiferenciacion/162-superficies-y-curvas-de-nivel/lab.py
compmath run 162
funcionnivelpuntos_del_nivelforma_geometricagradiente_en_(2,0)gradiente_perpendicular_a_la_curvacurvas_mas_juntas{
"funcion": "g(x,y) = x² + y²",
"nivel": 4.0,
"puntos_del_nivel": {
"(2.0, 0.0)": 4.0,
"(0.0, 2.0)": 4.0,
"(1.4142135623730951, 1.4142135623730951)": 4.0,
"(-2.0, 0.0)": 4.0
},
"forma_geometrica": "circunferencia de radio 2",
"gradiente_en_(2,0)": [
4.0,
0.0
],
"gradiente_perpendicular_a_la_curva": true
}
Visualización de paisajes de pérdida, mapas topográficos, análisis de convergencia y diagnóstico de mal condicionamiento.
Autograd de PyTorch y JAX es exactamente el modo reverso del grafo de cómputo que se construye en esta parte a mano.
9781285740621 verificado en International ISBN Agency (2026-08-19).10.48550/arxiv.1712.09913 verificado en DataCite (2026-08-19).