🧮 Computational Mathematics

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

165 — Derivada direccional

universitario-avanzado clase 5 de 20 4 horas demostración directional_derivative

La derivada direccional es la proyección del gradiente sobre una dirección unitaria.

Fórmulas

D_u f = ∇f · u,  con ‖u‖ = 1
máximo: ‖∇f‖ en la dirección de ∇f
nulo: en direcciones perpendiculares a ∇f

Desarrollo

La derivada direccional generaliza la parcial a cualquier dirección, no solo a los ejes. Su fórmula es un producto punto: D_u f = ∇f · u, y de esa expresión se leen inmediatamente sus valores extremos usando la clase 103.

Como ∇f · u = ‖∇f‖·cos θ para u unitario, el valor es máximo cuando θ = 0 —en la dirección del gradiente— y vale ‖∇f‖. Es mínimo en la dirección opuesta, valiendo −‖∇f‖. Y es cero en las direcciones perpendiculares al gradiente, que son precisamente las tangentes a la curva de nivel (clase 162).

Esa última observación cierra el círculo: moverse a lo largo de una curva de nivel no cambia el valor de la función, y por eso la derivada direccional en esa dirección es nula. La perpendicularidad entre gradiente y curva de nivel no es un hecho adicional: es una consecuencia.

El requisito de que u sea unitario no es formalismo. Si no se normaliza, el resultado escala con la longitud del vector y deja de ser una tasa de cambio por unidad de distancia. Es el error más frecuente al implementar derivadas direccionales.

Ejemplo trabajado

Derivada direccional en cuatro direcciones.

punto (2,3),  ∇f = (39, 40),  ‖∇f‖ = 55.87

dirección          D_u f
e₁ = (1,0)         39.00
e₂ = (0,1)         40.00
45° = (0.707,0.707) 55.86    ← casi el máximo
−∇f normalizado   −55.87     ← el mínimo

perpendicular a ∇f: (−40, 39)/‖·‖  →  0.0    ✓ nula

máximo posible = ‖∇f‖ = 55.87

Qué calcula el laboratorio

Derivada direccional como proyección del gradiente.

python classes/part-08-calculo-multivariable-matricial-y-autodiferenciacion/165-derivada-direccional/lab.py
compmath run 165

Salidas del laboratorio (6)

Muestra de la ejecución real

{
  "punto": [
    2.0,
    3.0
  ],
  "gradiente": [
    39.0,
    40.0
  ],
  "derivadas_direccionales": {
    "e1": 39.0,
    "e2": 40.0,
    "45°": 55.861436,
    "-∇f": -55.865911
  },
  "maxima_posible": 55.865911,
  "minima_posible": -55.865911,
  "nula_en_direccion_perpendicular": -0.0
}

Errores comunes

Dónde se usa

Análisis de sensibilidad en direcciones combinadas, búsqueda de línea en optimización (clase 254) y estudio de la anisotropía de una función de pérdida.

Idea rectora de la parte

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

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