Transformaciones locales · Tema 23

Matriz jacobiana y derivada total

Cómo representar mediante una matriz el mejor modelo lineal local de una función con varias entradas y varias salidas.

01 · De una salida a varias

Funciones que transforman vectores

Hasta ahora muchas funciones estudiadas tenían salida escalar. Una función vectorial produce varias componentes:

F(x,y)=(F₁(x,y),F₂(x,y))

Puede representar un cambio de coordenadas, una deformación del plano, dos magnitudes calculadas simultáneamente o el estado de un sistema.

Para aproximar el cambio de todas las salidas necesitamos reunir las derivadas parciales en una matriz. Esa matriz debe responder:

  • ¿Cómo afecta cada entrada a cada componente de salida?
  • ¿Qué desplazamiento de salida produce un pequeño vector de entrada?
  • ¿Cómo se compone la información derivativa de dos transformaciones?
  • ¿Qué direcciones se estiran, giran, reflejan o colapsan localmente?
  • ¿Cómo cambia localmente un área?
  • ¿Cómo aproximar la matriz desde evaluaciones numéricas?

02 · Construcción del Jacobiano

Una fila por salida, una columna por entrada

Sea F:ℝⁿ→ℝᵐ, con componentes F=(F₁,…,Fm). Su matriz jacobiana es:

JF(p)=[∂Fi/∂xj(p)]

Usaremos la convención estándar:

  • La fila i reúne las derivadas de la salida Fi.
  • La columna j reúne el efecto de la entrada xj sobre todas las salidas.

Para F:ℝ²→ℝ²:

JF(x,y)=[[∂F₁/∂x, ∂F₁/∂y],[∂F₂/∂x, ∂F₂/∂y]]

El tamaño es siempre m×n: cantidad de salidas por cantidad de entradas.

03 · Cálculo componente por componente

Un Jacobiano de 2×2

Consideremos:

F(x,y)=(x²y+sen y, eˣ+xy)

Derivamos la primera componente respecto de ambas entradas:

∂F₁/∂x=2xy,    ∂F₁/∂y=x²+cos y

Luego la segunda:

∂F₂/∂x=eˣ+y,    ∂F₂/∂y=x

Por tanto:

JF(x,y)=[[2xy, x²+cos y],[eˣ+y, x]]

En (0,0):

JF(0,0)=[[0,1],[1,0]]

Esta matriz intercambia las componentes de un pequeño desplazamiento: localmente, un cambio horizontal afecta a la segunda salida y uno vertical a la primera.

04 · Leer formas y tamaños

Las dimensiones previenen errores

Forma del Jacobiano en casos habituales.
FunciónTamañoObjeto conocido
f:ℝⁿ→ℝ1×nTraspuesta del gradiente según la convención.
r:ℝ→ℝᵐm×1Vector velocidad de una curva.
F:ℝ²→ℝ²2×2Transformación lineal local del plano.
F:ℝ³→ℝ²2×3Dos salidas sensibles a tres entradas.
F:ℝ²→ℝ³3×2Parametrización local de una superficie.

Un incremento h∈ℝⁿ se representa como columna. El producto JFh pertenece a ℝᵐ, exactamente el espacio de salida.

Chequeo rápido

(m×n)(n×1)=(m×1)

Si las dimensiones internas no coinciden, se ha invertido un orden o se ha traspuesto alguna matriz.

05 · Definición rigurosa

La mejor transformación lineal local

La función F:ℝⁿ→ℝᵐ es diferenciable en p si existe una aplicación lineal A:ℝⁿ→ℝᵐ tal que:

limh→0 ‖F(p+h)−F(p)−Ah‖/‖h‖=0

La aplicación A es la derivada total DF(p). En las bases coordenadas habituales, su matriz es el Jacobiano:

DF(p)h=JF(p)h

Por eso Jacobiano y derivada total están estrechamente relacionados pero no son conceptualmente idénticos:

  • La derivada total es una transformación lineal entre espacios.
  • El Jacobiano es la matriz que la representa en coordenadas elegidas.

La distinción se vuelve importante al cambiar bases o trabajar en espacios más abstractos.

06 · Aproximación local

Predecir todas las salidas simultáneamente

Para un pequeño incremento h:

F(p+h)≈F(p)+JF(p)h

Si h=(Δx,Δy) y F=(F₁,F₂):

ΔF₁≈F₁ₓΔx+F₁ᵧΔy
ΔF₂≈F₂ₓΔx+F₂ᵧΔy

Una sola multiplicación matricial calcula ambas aproximaciones.

Ejemplo numérico

Si F(p)=(2,−1), JF(p)=[[3,1],[−2,4]] y h=(0,01,−0,02):

J h=(0,01,−0,10)

Entonces F(p+h)≈(2,01,−1,10).

07 · Interpretación de columnas

Qué hacen los vectores de la base

La primera columna del Jacobiano es:

JFe₁=(∂F₁/∂x,…,∂Fm/∂x)

Describe el cambio de todas las salidas al mover solamente la primera entrada. La segunda columna hace lo mismo para e₂, y así sucesivamente.

Como cualquier vector h=(h₁,…,hn) combina los vectores de la base:

J h=h₁ columna₁+⋯+hn columnan

Esta lectura explica por qué calcular las derivadas parciales determina toda la transformación lineal: conocemos su efecto sobre una base.

Filas

Cada fila es el gradiente de una componente escalar Fi. Multiplicarla por h produce la aproximación de cambio de esa salida.

08 · Existencia de la derivada total

Una matriz de parciales no siempre alcanza

Podemos llenar formalmente una matriz si todas las parciales existen en p. Sin embargo, eso no garantiza que sea una aproximación lineal válida para todos los desplazamientos.

Una función vectorial es diferenciable si y solo si cada componente lo es. El residuo vectorial reúne los residuos de las componentes y debe satisfacer:

‖R(h)‖/‖h‖→0

Al igual que en el caso escalar, continuidad de parciales es suficiente pero no necesaria.

09 · Composición de transformaciones

La regla de la cadena como producto de matrices

Sean G:ℝⁿ→ℝᵏ y F:ℝᵏ→ℝᵐ. Para la composición F∘G:

JF∘G(p)=JF(G(p)) JG(p)

Las dimensiones confirman el orden:

(m×k)(k×n)=(m×n)

Primero el incremento h atraviesa la aproximación de G y produce JGh. Luego atraviesa la aproximación de F:

h → JGh → JF(JGh)

La multiplicación de matrices codifica exactamente la suma de productos por caminos estudiada en el tema anterior.

10 · Área y orientación local

Determinante del Jacobiano cuadrado

Para F:ℝ²→ℝ² con Jacobiano:

J=[[a,b],[c,d]],    det J=ad−bc

El valor absoluto del determinante es el factor local aproximado de escala de áreas:

área de salida ≈ |det J| × área de entrada
  • |det J|>1: expansión local de área.
  • 0<|det J|<1: contracción local.
  • det J<0: además se invierte la orientación.
  • det J=0: alguna dirección o área se colapsa a primer orden.

Un determinante no nulo permite una inversa lineal local. Bajo hipótesis adicionales, anticipa que la transformación no lineal tiene una inversa local.

11 · Ejemplo: coordenadas polares

Una transformación conocida

La conversión de polares a cartesianas es:

F(r,θ)=(r cos θ,r sen θ)

Su Jacobiano:

JF(r,θ)=[[cos θ,−r sen θ],[sen θ,r cos θ]]

La primera columna es el movimiento radial unitario. La segunda es tangente a la circunferencia y tiene longitud r, porque cambiar un ángulo produce un arco proporcional al radio.

El determinante es:

det JF=r

Esto explica el factor r que aparecerá al cambiar variables en integrales polares: pequeños rectángulos dr×dθ se transforman aproximadamente en sectores de área r dr dθ.

Singularidad en r=0

En el origen, todos los ángulos representan el mismo punto y la columna angular se anula. El determinante cero refleja esa pérdida de información.

12 · Jacobiano numérico

Aproximar columnas con diferencias

Para aproximar la columna j, perturbamos solamente la entrada j:

columna j ≈ [F(p+h ej)−F(p−h ej)]/(2h)

Como F devuelve un vector, la resta y la división se realizan componente a componente. En F:ℝⁿ→ℝᵐ, las diferencias centradas requieren 2n evaluaciones y producen las m filas simultáneamente.

Prueba direccional

Para un vector h pequeño, puede compararse:

F(p+h)−F(p) con JF(p)h

El error relativo a ‖h‖ debería disminuir si F es diferenciable. Probar muchas direcciones es una herramienta de diagnóstico, aunque no reemplaza una demostración.

Costo

Con muchas entradas, las diferencias finitas son caras. La diferenciación automática puede calcular productos Jacobiano-vector o vector-Jacobiano sin almacenar necesariamente toda la matriz.

13 · Exploración interactiva

Laboratorio: deformación local de una grilla

El panel izquierdo muestra una pequeña grilla alrededor de p. El derecho compara su imagen exacta con la aproximación generada por el Jacobiano. Reducí el radio para verlas coincidir.

EXPERIMENTO 23

Transformación exacta y lineal

F(x,y)=(x²−y,x+y²)

Los resultados aparecen debajo.
Imagen del puntoF(p)=(0,890; 0,860)
Matriz jacobiana[[1,400; −1],[1; −0,800]]
Determinantedet J=−0,120
Error numérico máximo0,000000

El determinante negativo indica inversión local de orientación.

En la imagen de salida, la malla violeta es la transformación exacta y la dorada discontinua es la predicción lineal. Ambas se centran en F(p).

Preguntas para explorar

  1. Reducí el radio y observá cómo las dos grillas convergen.
  2. En la transformación afín, comprobá que coinciden para cualquier radio.
  3. En el cuadrado complejo, acercate al origen y observá el colapso del Jacobiano.
  4. Buscá puntos donde el determinante del primer modelo cambie de signo.
  5. Variá el paso numérico y compará el Jacobiano exacto con las diferencias.

14 · Implementación

Jacobianos con JavaScript

Multiplicar una matriz por un vector

function matrizPorVector(matriz, vector) {
  return matriz.map(fila =>
    fila.reduce((suma, valor, i) => suma + valor * vector[i], 0)
  );
}

const J = [[3, 1], [-2, 4]];
console.log(matrizPorVector(J, [0.01, -0.02])); // [0.01, -0.1]

Jacobiano numérico general

function jacobianoNumerico(funcion, punto, h = 1e-4) {
  if (!(h > 0)) throw new RangeError("h debe ser positivo");
  const columnas = punto.map((_, j) => {
    const adelante = [...punto];
    const atras = [...punto];
    adelante[j] += h;
    atras[j] -= h;
    const fa = funcion(...adelante);
    const fb = funcion(...atras);
    return fa.map((valor, i) => (valor - fb[i]) / (2 * h));
  });
  return columnas[0].map((_, i) => columnas.map(columna => columna[i]));
}

const F = (x, y) => [x ** 2 - y, x + y ** 2];
console.log(jacobianoNumerico(F, [0.7, -0.4]));

Componer Jacobianos

function multiplicarMatrices(a, b) {
  return a.map(fila =>
    b[0].map((_, columna) =>
      fila.reduce((suma, valor, k) => suma + valor * b[k][columna], 0)
    )
  );
}

const JF = [[1, 2], [0, 3]];
const JG = [[2, 0], [1, -1]];
console.log(multiplicarMatrices(JF, JG)); // [[4, -2], [3, -3]]

En implementaciones generales conviene validar que todas las filas tengan igual longitud y que las dimensiones internas de las matrices coincidan.

15 · Práctica guiada

Ejercicios de comprensión

Ejercicio 1: calcular un Jacobiano

Sea F(x,y)=(x+y²,xy). Encontrá JF y evaluá en (2,1).

Ver solución razonada

JF=[[1,2y],[y,x]]. En (2,1) resulta [[1,2],[1,2]].

Ejercicio 2: aproximar un cambio

Usá el Jacobiano anterior para estimar F(2,01;0,98)−F(2,1).

Ver solución razonada

El incremento es h=(0,01,−0,02). Entonces Jh=(1·0,01+2(−0,02),1·0,01+2(−0,02))=(−0,03,−0,03).

Ejercicio 3: dimensiones

Una función tiene cuatro entradas y tres salidas. ¿Qué tamaño tiene su Jacobiano y qué tamaño tiene el resultado al multiplicarlo por un incremento?

Ver solución razonada

El Jacobiano tiene 3 filas y 4 columnas. Multiplicado por un incremento 4×1 produce un vector 3×1, uno por cada salida.

Ejercicio 4: determinante

Interpretá el Jacobiano J=[[2,1],[0,3]].

Ver solución razonada

Su determinante es 6. Localmente preserva orientación y multiplica áreas aproximadamente por 6. Al ser no nulo, la transformación lineal es invertible.

Ejercicio 5: cadena matricial

Si JF=[[1,2]] y JG=[[3,0],[−1,4]], calculá el Jacobiano de F∘G.

Ver solución razonada

Multiplicamos en ese orden: [[1,2]][[3,0],[−1,4]]=[[1,8]].

Ejercicio 6: polar

¿Por qué el Jacobiano polar pierde rango cuando r=0?

Ver solución razonada

La columna asociada a θ es (−r sen θ,r cos θ) y se vuelve cero. Cambiar el ángulo en el origen no mueve el punto cartesiano, de modo que esa dirección de entrada se pierde.

16 · Errores frecuentes y síntesis

Ideas para recordar

«Cada columna corresponde a una salida»

En nuestra convención, las filas corresponden a salidas y las columnas a entradas.

«El Jacobiano transforma puntos»

Transforma pequeños incrementos. Para aproximar un punto de salida también debe sumarse F(p).

«Tener todas las parciales garantiza diferenciabilidad»

La matriz formal puede existir sin ser una aproximación total válida. La continuidad de las parciales es un criterio suficiente.

«La regla de la cadena multiplica en cualquier orden»

El orden sigue la composición: la derivada de la función externa queda a la izquierda.

«Determinante cero significa función constante»

Significa pérdida de rango local de primer orden; algunas direcciones pueden conservarse.

«Jacobiano y determinante jacobiano son lo mismo»

El Jacobiano es una matriz. Su determinante solo existe cuando es cuadrada y es un número.

  • El Jacobiano reúne todas las primeras derivadas de una función vectorial.
  • Su tamaño es salidas por entradas.
  • La derivada total es una aplicación lineal; el Jacobiano es su matriz.
  • F(p+h)≈F(p)+JF(p)h aproxima todas las salidas.
  • Las columnas muestran el efecto de cada entrada y las filas los gradientes de las salidas.
  • La continuidad de las parciales garantiza diferenciabilidad.
  • La regla de la cadena se convierte en un producto de Jacobianos.
  • El determinante mide escala de área y orientación cuando la matriz es cuadrada.
  • Las diferencias centradas aproximan columnas completas del Jacobiano.

En el próximo tema aplicaremos estas ideas a la derivación implícita, donde las variables están vinculadas por ecuaciones en lugar de fórmulas explícitas.