31 votos

¿Cómo calcular el gradiente de $x^T A x$?

Estoy viendo la siguiente conferencia en video:

https://www.youtube.com/watch?v=G_p4QJrjdOw

Allí, habla sobre cómo calcular el gradiente de $ x^{T}Ax $ y lo hace utilizando el concepto de derivada exterior. La prueba es la siguiente:

  1. $ y = x^{T}Ax$
  2. $ dy = dx^{T}Ax + x^{T}Adx = x^{T}(A+A^{T})dx$ (utilizando la propiedad de traza de matrices)
  3. $ dy = (\nabla y)^{T} dx $ y como la regla es válida para todos los $dx$
  4. $ \nabla y = x^{T}(A+A^{T})$

Parece que en el paso 2, se aplicó alguna forma de regla del producto para diferenciales. Estoy familiarizado con la regla del producto para cálculo de una sola variable, pero no entiendo cómo se aplicó la regla del producto a una función multivariable expresada en forma de matriz.

Sería genial si alguien pudiera señalarme un teorema matemático que permita el Paso 2 en la prueba anterior.

¡Gracias! Ajay

0 votos

Paso 2 es usar la regla del producto en lugar de la regla de la cadena.

0 votos

Gracias. Es en realidad la regla del producto. Pero, ¿dónde puedo encontrar una prueba de la regla del producto para funciones multivariables utilizando diferenciales? No encuentro en.wikipedia.org/wiki/Product_rule convincente porque utiliza el término diferencial de manera poco rigurosa. ¿Hay una prueba de la regla del producto utilizando propiedades de formas diferenciales?

2 votos

$d(fg)=\sum_{i=1}^{n}\frac{\partial(fg)}{\partial x_{i}}dx_{i}=\sum_{i=1}^{n}(\frac{\partial f}{\partial x_{i}}g+f\frac{\partial g}{\partial x_{i}})dx_{i}=(\sum_{i=1}^{n}\frac{\partial f}{\partial x_{i}}dx_{i})g+f(\sum_{i=1}^{n}\frac{\partial g}{\partial x_{i}}dx_{i}=gdf+fdg)$

23voto

Zlatko Puntos 182

\begin{align*} dy & = d(x^{T}Ax) = d(Ax\cdot x) = d\left(\sum_{i=1}^{n}(Ax)_{i}x_{i}\right) \\ & = d \left(\sum_{i=1}^{n}\sum_{j=1}^{n}a_{i,j}x_{j}x_{i}\right) =\sum_{i=1}^{n}\sum_{j=1}^{n}a_{i,j}x_{i}dx_{j}+\sum_{i=1}^{n}\sum_{j=1}^{n}a_{i,j}x_{j}dx_{i} \\ & =\sum_{i=1}^{n}(Ax)dx_{i}+\sum_{i=1}^{n}(Adx)x_{i} =(dx)^{T}Ax+x^{T}Adx \\ & =(dx)^{T}Ax+(dx)^{T}A^{T}x =(dx)^{T}(A+A^{T})x. \end{align*}

0 votos

La conferencia dice que utilizando las propiedades de la definición externa de derivada, podemos evitar representarla como "sumas" y esto simplifica todo el cálculo

0 votos

Los comentarios anteriores de otros indican que él aplicó la regla del producto para diferenciales. Desafortunadamente, no logro encontrar una prueba para el resultado de la regla del producto para diferenciales. Cualquier ayuda allí sería genial.

0 votos

Me pregunto por qué $$d(x^{T}Ax)=d(Ax\cdot x)$$

17voto

Did Puntos 1

Paso 2 podría ser el resultado de un cálculo simple. Considere $u(x)=x^TAx$, entonces $$ u(x+h)=(x+h)^TA(x+h)=x^TAx+h^TAx+x^TAh+h^TAh, $$ es decir, $u(x+h)=u(x)+x^T(A+A^T)h+r_x(h)$ donde $r_x(h)=h^TAh$ (esto utiliza el hecho de que $h^TAx=x^TA^Th$, lo cual es cierto porque $m=h^TAx$ es una matriz $1\times1$ entonces $m^T=m$).

Se observa que $r_x(h)=o(\|h\|)$ cuando $h\to0. Esto demuestra que el diferencial de $u$ en $x$ es una función lineal $\nabla u(x):\mathbb R^n\to\mathbb R$, $h\mapsto x^T(A+A^T)h$, que puede ser identificada con el vector único $z$ tal que $\nabla u(x)(h)=z^Th$ para todo $h$ en $\mathbb R^n$, es decir, $z=(A+A^T)x$.

11voto

Khushi Puntos 1266

Aquí hay un método que calcula el gradiente de $x^TAx$ sin usar la derivada exterior. Sé que esto no es lo que buscas, pero vale la pena notar cómo demostrarlo sin la derivada exterior. Esto también permite comparar con el método de la derivada exterior para ver cuánto más fácil es.

Sea $A$ una matriz de $n\times n$, $A = [a_{ij}]$. Si $x \in \mathbb{R}^n$, $x = (x_1, \dots, x_n)^T$, entonces $y = \displaystyle\sum_{i=1}^n\sum_{j=1}^na_{ij}x_ix_j$.

Entonces tenemos

\begin{align*} \dfrac{\partial y}{\partial x_k} &= \sum_{i\neq k}\dfrac{\partial}{\partial x_k}\left(\sum_{j=1}^na_{ij}x_ix_j\right) + \dfrac{\partial}{\partial x_k}\left(\sum_{j=1}^na_{kj}x_kx_j\right)\\ &=\sum_{i\neq k}\left(\dfrac{\partial}{\partial x_k}\left(\sum_{j\neq k}a_{ij}x_ix_j\right) + \dfrac{\partial}{\partial x_k}(a_{ik}x_ix_k)\right) + \sum_{j\neq k}\dfrac{\partial}{\partial x_k}(a_{kj}x_kx_j) + \dfrac{\partial}{\partial x_k}(a_{kk}x_k^2)\\ &= \sum_{i\neq k}a_{ik}x_i + \sum_{j\neq k}a_{kj}x_j + 2a_{kk}x_k\\ &= \sum_{i = 1}^na_{ik}x_i + \sum_{j=1}^na_{kj}x_j\\ &= (x^TA)_k + (Ax)_k \end{align*}

donde $(x^TA)_k$ es el $k^{\text{th}}$ componente del vector fila $x^TA$ y $(Ax)_k$ es el $k^{\text{th}}$ componente del vector columna $Ax$. Al tomar la transpuesta de $Ax$ obtenemos el vector fila $x^TA^T$ que tiene el mismo componente $k^{\text{th}}$ que $Ax$ tiene. Por lo tanto $\dfrac{\partial y}{\partial x_k} = (x^TA)_k + (x^TA^T)_k$. Por lo tanto

$$\nabla y = x^TA + x^TA^T = x^T(A + A^T).$$

4voto

littleO Puntos 12894

Otro enfoque es usar una regla de producto multivariable. Supongamos que $g$ y $h$ son funciones diferenciables de $\mathbb{R}^n$ a $\mathbb{R}^m$, y $f(x) = \langle g(x), h(x) \rangle$ para todo $x \in \mathbb{R}^n$. Entonces, si $\Delta x \in \mathbb{R}^n$ es pequeño, tenemos \begin{align} f(x+\Delta x) &= \langle g(x+\Delta x), h(x+\Delta x) \rangle \\ &\approx \langle g(x) + g'(x) \Delta x, h(x) + h'(x) \Delta x \rangle \\ &= \langle g(x), h(x) \rangle + \langle h(x), g'(x) \Delta x \rangle + \langle g(x), h'(x) \Delta x \rangle + \text{Término pequeño} \\ &\approx f(x) + \langle g'(x)^T h(x),\Delta x \rangle + \langle h'(x)^T g(x), \Delta x \rangle \\ &= f(x) + \langle g'(x)^T h(x) + h'(x)^T g(x),\Delta x \rangle. \end{align} Esto sugiere que \begin{equation} \nabla f(x) = g'(x)^T h(x) + h'(x)^T g(x). \end{equation> Esta es nuestra regla de producto multivariable. (Esta derivación podría convertirse en una demostración rigurosa manteniendo un registro de los términos de error.)

En el caso donde $g(x) = x$ y $h(x) = Ax$, vemos que \begin{align} \nabla f(x) &= Ax + A^T x \\ &= (A + A^T) x. \end{align>

(Edit) Explicación de la notación:

Sea $f: \mathbb{R}^n \to \mathbb{R}^m$ diferenciable en $x \in \mathbb{R}^n$. Entonces, $f'(x)$ es la matriz de $m \times n$ definida informalmente por \begin{equation} f(\underbrace{x}_{n \times 1} + \underbrace{\Delta x}_{n \times 1}) \approx \underbrace{f(x)}_{m \times 1} + \underbrace{f'(x)}_{m \times n} \underbrace{\Delta x}_{n \times 1}. \end{equation> (La aproximación es buena cuando $\Delta x$ es pequeño.)

Cuando $f: \mathbb{R}^n \to \mathbb{R}$, $f'(x)$ es un vector de fila de $1 \times n$. El gradiente de $f$ en $x$, definido por $\nabla f(x) = f'(x)^T$, es un vector de columna de $n \times 1$. Nota que, en este caso, \begin{equation> f(x + \Delta x) \approx f(x) + \underbrace{f'(x)}_{1 \times n} \underbrace{\Delta x}_{n \times 1} = f(x) + \langle \nabla f(x), \Delta x \rangle. \end{equation>

0 votos

Tengo algunas dificultades para entender las derivaciones que se encuentran debajo de la fila que termina con "+ término pequeño" en la matriz de ecuaciones, ¿podrías darme algunas pistas? ¡Gracias!

1 votos

Estoy confundido por el ' en $$\nabla f(x) = g'(x)^T h(x) + h'(x)^T g(x)$$, ¿es $$ ' = \nabla $$ ?

0 votos

@AllanRuin He añadido una explicación de la notación al final, espero que te ayude.

3voto

Spencer Puntos 48

La derivada exterior no tiene nada que ver aquí. ¡Cómo podría un estudiante entender tal prueba! "Did" dio una buena respuesta.

El gradiente $\nabla(f)$ de una función $f: E\rightarrow \mathbb{R}$ está definido, modulo un producto punto $\langle \cdot, \cdot \rangle$ en el espacio vectorial $E$, por la fórmula $$ \langle \nabla(f)(x), h \rangle = Df_x(h), $$ donde $Df_x$ es la derivada de $f$ en $x$.

Ejemplo 1: Sea $f:x\in\mathbb{R}^n \rightarrow x^TAx\in\mathbb{R}$. Entonces, $Df_x(h)=h^TAx+x^TAh=x^T(A+A^T)h$ (¡es la derivada de un producto no conmutativo!); consideremos el producto punto $u.v=u^Tv$.

Así, $Df_x(h)= \langle ((A+A^T)x), h \rangle $ y $\nabla(f)(x)=(A+A^T)x$, es decir $\nabla(f)=A+A^T$.

Ejemplo 2: Sea $f:X\in\mathcal{M}_n(\mathbb{R}) \rightarrow \operatorname{Trace}(X^TAX)\in\mathbb{R}$, donde $\mathcal{M}_n(\mathbb{R})$ es el conjunto de todas las matrices $n \times n$ en $\mathbb{R}$.

Dado que la traza es una función lineal, tenemos $$ Df_X(H) = \operatorname{Trace}(H^TAX+X^TAH) = \operatorname{Trace}(X^T(A+A^T)H); $$ consideramos el producto punto $\langle U,V \rangle = Trace(U^TV)$.

Por lo tanto, $Df_X(H)=\langle ((A+A^T)X), H \rangle$ y $\nabla(f)(X)=(A+A^T)X$, es decir $\nabla(f)=(A+A^T)\otimes I$. (Producto de Kronecker).

Ejemplo 3 (más difícil): Sea $f:X\in\mathcal{M}_n(\mathbb{R}) \rightarrow \det(X)\in\mathbb{R}$.

Entonces tenemos $$ Df_X(H) = \operatorname{Trace}(\operatorname{adjoint}(X)H) = \langle \operatorname{adjoint}(X)^T, H \rangle \quad \text{and} \quad \nabla(f)(X) = \operatorname{adjoint}(X)^T. $$

Ejemplo 4: Sea $f:X\in\mathcal{M}_n(\mathbb{R}) \rightarrow X^TAX\in\mathcal{M}_n(\mathbb{R})$.

Entonces tenemos $Df_X(H)=H^TAX+X^TAH$. Aquí el gradiente de $f$ no existe. A la fuerza, podemos definir $n^2$ gradientes, los $\nabla(f_{i,j})$ (componente por componente) pero estas funciones no tienen significados geométricos.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X