🧮 Computational Mathematics

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

175 — Campos vectoriales

universitario-avanzado clase 15 de 20 4 horas demostración vector_fields

Un campo conservativo es el gradiente de un potencial; no todos los campos lo son.

Fórmulas

campo: F(x,y) = (P, Q)
conservativo ⟺ F = ∇φ para algún potencial φ
condición necesaria: ∂P/∂y = ∂Q/∂x

Desarrollo

Un campo vectorial asigna un vector a cada punto: velocidad de un fluido, fuerza gravitatoria, dirección de descenso. La distinción fundamental es entre campos que derivan de un potencial y los que no.

Un campo conservativo es el gradiente de una función escalar. Su propiedad característica es que el trabajo entre dos puntos no depende del camino, solo de los extremos, y por tanto el trabajo en un circuito cerrado es cero. La gravedad es conservativa; el rozamiento no.

El campo F(x,y) = (−y, x) del laboratorio es puramente rotacional: en cada punto es perpendicular al radio, así que hace girar sin acercar ni alejar. No es conservativo, y su rotacional es no nulo (clase 176).

La conexión con optimización es exacta: el campo de gradientes de una función escalar es siempre conservativo por construcción, y esa es la razón por la que el descenso de gradiente no puede quedar atrapado en un ciclo. En cambio, en optimización de dos jugadores —los GAN de la clase 333— el campo de actualizaciones no es un gradiente de nada, puede tener componente rotacional, y de ahí que el entrenamiento pueda ciclar en lugar de converger.

Ejemplo trabajado

Un campo rotacional y uno conservativo.

Campo F(x,y) = (−y, x)      rotacional puro
  en (1,0): (0, 1)
  en (0,1): (−1, 0)
  en (1,1): (−1, 1)

  F·(x,y) = −xy + yx = 0     ✓ perpendicular al radio

Campo G = ∇(x²+y²) = (2x, 2y)   conservativo
  en (1,0): (2, 0)
  en (1,1): (2, 2)
  deriva del potencial φ = x²+y²

Qué calcula el laboratorio

Campo vectorial, líneas de flujo y campo conservativo.

python classes/part-08-calculo-multivariable-matricial-y-autodiferenciacion/175-campos-vectoriales/lab.py
compmath run 175

Salidas del laboratorio (6)

Muestra de la ejecución real

{
  "campo_rotacional": "F(x,y) = (-y, x)",
  "valores": {
    "(1.0, 0.0)": [
      -0.0,
      1.0
    ],
    "(0.0, 1.0)": [
      -1.0,
      0.0
    ],
    "(1.0, 1.0)": [
      -1.0,
      1.0
    ]
  },
  "campo_conservativo": "G = ∇(x²+y²) = (2x, 2y)",
  "valores_G": {
    "(1.0, 0.0)": [
      2.0,
      0.0
    ],
    "(0.0, 1.0)": [
      0.0,
      2.0
    ],
    "(1.0, 1.0)": [
      2.0,
      2.0
    ]
  },
  "F_es_perpendicular_al_radio": true,
  "G_deriva_de_un_potencial": true
}

Errores comunes

Dónde se usa

Campos de fuerzas en física, campos de gradientes en optimización, dinámica de entrenamiento adversarial y flujos en modelos generativos continuos.

Idea rectora de la parte

Lagrange convierte una restricción en un término de la función objetivo.

Error a evitar

Olvidar acumular gradientes cuando un nodo se reutiliza en el grafo.

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