🧮 Computational Mathematics

Inicio · Parte 08 — Cálculo multivariable, matricial y autodiferenciación

162 — Superficies y curvas de nivel

universitario-avanzado clase 2 de 20 4 horas demostración level_curves

Las curvas de nivel son los conjuntos donde la función vale lo mismo, y el gradiente es perpendicular a ellas.

Fórmulas

curva de nivel: f(x,y) = c
∇f ⊥ curva de nivel
curvas juntas ⟹ pendiente alta

Desarrollo

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.

Ejemplo trabajado

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        ✓

Qué calcula el laboratorio

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

Salidas del laboratorio (7)

Muestra de la ejecución real

{
  "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
}

Errores comunes

Dónde se usa

Visualización de paisajes de pérdida, mapas topográficos, análisis de convergencia y diagnóstico de mal condicionamiento.

Idea rectora de la parte

El Jacobiano generaliza la derivada a funciones vectoriales.

Error a evitar

Suponer que el Hessiano es definido positivo sin comprobarlo.

Conexión con IA

Autograd de PyTorch y JAX es exactamente el modo reverso del grafo de cómputo que se construye en esta parte a mano.

Bibliografía de la clase

Archivos de la clase