🧮 Computational Mathematics

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

176 — Divergencia y rotacional

universitario-avanzado clase 16 de 20 4 horas demostración divergence_curl

La divergencia mide fuente o sumidero; el rotacional mide circulación local.

Fórmulas

div F = ∂P/∂x + ∂Q/∂y
rot F = ∂Q/∂x − ∂P/∂y  (en 2D)
div(∇φ) = Δφ  (laplaciano)

Desarrollo

La divergencia y el rotacional son las dos formas de derivar un campo vectorial. La divergencia es un escalar que mide el flujo neto que sale de un entorno del punto: positiva indica fuente, negativa sumidero, nula indica que lo que entra sale. El rotacional mide la tendencia del campo a hacer girar un objeto colocado en ese punto.

Ambos aparecen en las ecuaciones de Maxwell y en la mecánica de fluidos, y su combinación da los teoremas integrales —Green, Gauss, Stokes— que relacionan lo que ocurre en el interior de una región con lo que ocurre en su frontera.

La divergencia del gradiente es el laplaciano, Δφ = div(∇φ), que es la traza del Hessiano. Ese operador aparece en la ecuación del calor, en la de ondas y —lo que importa aquí— en el Laplaciano de un grafo (clase 336), que es su análogo discreto y es la base del clustering espectral y de las GNN.

El teorema clave para esta parte es que el rotacional de un gradiente es siempre cero. Por tanto, un campo con rotacional no nulo no puede ser un campo de gradientes, y ese es el criterio para detectar dinámicas que no derivan de ninguna función objetivo.

Ejemplo trabajado

Divergencia y rotacional de F = (x², xy).

F(x,y) = (x², xy)   en el punto (1,2)

div F = ∂(x²)/∂x + ∂(xy)/∂y = 2x + x = 3x
  analítica en (1,2): 3
  numérica:           3.000000            ✓

rot F = ∂(xy)/∂x − ∂(x²)/∂y = y − 0 = y
  analítica en (1,2): 2
  numérica:           2.000000            ✓

rot ≠ 0  →  F NO es un campo de gradientes

Qué calcula el laboratorio

Divergencia y rotacional calculados numéricamente.

python classes/part-08-calculo-multivariable-matricial-y-autodiferenciacion/176-divergencia-y-rotacional/lab.py
compmath run 176

Salidas del laboratorio (8)

Muestra de la ejecución real

{
  "campo": "F(x,y) = (x², xy)",
  "punto": [
    1.0,
    2.0
  ],
  "divergencia_numerica": 3.0,
  "divergencia_analitica_2x+x": 3.0,
  "rotacional_numerico": 2.0,
  "rotacional_analitico_y": 2.0
}

Errores comunes

Dónde se usa

Mecánica de fluidos, electromagnetismo, laplaciano de grafos, difusión y detección de dinámicas no conservativas en entrenamiento adversarial.

Idea rectora de la parte

El gradiente apunta al mayor ascenso; por eso se desciende en su dirección opuesta.

Error a evitar

Confundir la convención de layout (numerador vs denominador) en cálculo matricial.

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