Loading [MathJax]/jax/element/mml/optable/BasicLatin.js

25 votos

Derivada de una traza con respecto a una matriz

¿Podría alguien explicar esta ecuación?

dtr(AXB)dX=BA

Entiendo que

dtr(AXB)=tr(BAdX)

pero no entiendo muy bien cómo moverse dX fuera del rastro.

13voto

Fabian Puntos 12538

La notación es bastante engañosa (al menos para mí).

Una pista:

¿Tiene sentido que Xmntr(AXB)=(BA)nm?

Más información: Xmntr(AXB)=XmnjklAjkXklBlj=jklAjkδkmδnlBlj=jAjmBnj=(BA)nm.

0 votos

Esto tiene sentido si asumo la primera ecuación de dtr(AXB)dX . Pero no estoy seguro de cómo llegar a la primera ecuación utilizando la segunda ecuación para dtr(AXB) .

0 votos

@ChrisD: He añadido una línea explicando cómo usar mi pista.

0 votos

Entiendo lo que quieres decir con lo de la notación engañosa. La matriz resultante está indexada por la transposición de la matriz por la que se diferencia, X . Por lo tanto, la solución matricial completa BA es la transposición de la solución elemento a elemento (BA)nm . Gracias por la ayuda.

8voto

Amit Naidu Puntos 113

Intenta ampliar al orden lineal. Esto siempre facilita la comprensión:

tr(A(X+dX)B)=Aij(Xjk+dXjk)Bki)

donde se utiliza la regla de la suma de Einstein. Resumiendo tr(AXB) se obtiene

dtr(AXB)=tr(A(X+dX)B)tr(AXB)=AijdXjkBki=BkiAij=(BA)kjdXjk

0 votos

Cuando dices "expandir hasta el orden lineal", ¿te refieres a escribir las sumas reales de los elementos de la matriz? Tuve que hacerlo manualmente para demostrar tr(A(X+dX)B)=Aij(Xjk+dXjk)Bki) a mí mismo. ¿Es algo que se deriva fácilmente sin expandir explícitamente las matrices o es algo que la gente generalmente sólo memoriza sobre las trazas?

1 votos

Lo que quería decir era escribir X+dX y trabajar con eso, manteniendo sólo las cosas que son lineales en dX . En este caso, todo era lineal para empezar, así que mi comentario fue un poco engañoso. Pero es la forma correcta de trabajar cuando se derivan derivadas tensoriales más complicadas como, por ejemplo, det

8voto

AvanDavad Puntos 6

Estas son las principales ecuaciones que hay que recordar:

  1. Dejemos que \mathbf{A} \in \mathbb{R}^{n\times m} , \mathbf{X} \in \mathbb{R}^{m\times n} . Entonces

\begin {Ecuación} \frac {d}{d \mathbf {X}} \text {Tr}( \mathbf {AX}) = \frac {d}{d \mathbf {X}} \text {Tr}( \mathbf {XA}) = \mathbf {A}^T \end {Ecuación}

  1. Dejemos que \mathbf{A} \in \mathbb{R}^{n\times m} , \mathbf{X} \in \mathbb{R}^{n\times m} . Entonces

\begin {Ecuación} \frac {d}{d \mathbf {X}} \text {Tr}( \mathbf {AX^T}) = \frac {d}{d \mathbf {X}} \text {Tr}( \mathbf {X^TA}) = \mathbf {A} \end {Ecuación}

Prueba 1 .

\begin {Ecuación} \left [ \frac {d}{d \mathbf {X}} \text {Tr}( \mathbf {AX}) \right _{i,j} = \frac {d}{dx_{i,j}} \text {Tr}( \mathbf {AX}) = \frac {d}{dx_{i,j}} \sum_ {k,l} a_{k,l} x_{l,k} = a_{j,i} = \left [ \mathbf {A}^T \right _{i,j} \end {Ecuación}

Prueba 2

\begin {Ecuación} \left [ \frac {d}{d \mathbf {X}} \text {Tr}( \mathbf {AX^T}) \right _{i,j} = \frac {d}{dx_{i,j}} \text {Tr}( \mathbf {AX^T}) = \frac {d}{dx_{i,j}} \sum_ {k,l} a_{k,l} x_{k,l} = a_{i,j} = \left [ \mathbf {A} \right _{i,j} \end {Ecuación}

Una vez que los tengas, puedes derivar locuras como las siguientes:

Ejemplo 1. Dejemos que \mathbf{A} \in \mathbb{R}^{m\times m} , \mathbf{X} \in \mathbb{R}^{m\times n} . Entonces

\begin {Ecuación} \frac {d}{d \mathbf {X}} \text {Tr}( \mathbf {X}^T \mathbf {A} \mathbf {X}) = ( \mathbf {A} + \mathbf {A}^T) \mathbf {X} \end {Ecuación}

Podemos derivarlo de la siguiente manera:

\begin {split} \frac {d}{d \mathbf {X}} \text {Tr}( \mathbf {X}^T \mathbf {A} \mathbf {X}) =& \frac {d}{d \mathbf {Y}} \text {Tr}( \mathbf {Y}^T \mathbf {A} \mathbf {X}) + \frac {d}{d \mathbf {Y}} \text {Tr}( \mathbf {X}^T \mathbf {A} \mathbf {Y}) \\ =& \mathbf {A} \mathbf {X} + ( \mathbf {X}^T \mathbf {A})^T \\ =& \mathbf {A} \mathbf {X} + \mathbf {A}^T \mathbf {X} = ( \mathbf {A} + \mathbf {A}^T) \mathbf {X} \end {split}

Ejemplo 2. Considere ahora este ejemplo.

\begin {Ecuación} f( \mathbf {X}) = \text {Tr}( \mathbf {X}^T \mathbf {A} \mathbf {X} \mathbf {B} \mathbf {X}^T \mathbf {C}) \end {Ecuación}

donde \mathbf{X} \in \mathbb{R}^{n\times m} , \mathbf{A} \in \mathbb{R}^{n\times n} , \mathbf{B} \in \mathbb{R}^{m\times m} , \mathbf{C} \in \mathbb{R}^{n\times m} .

\begin {Ecuación} \begin {split} \frac {d}{d \mathbf {X}} f( \mathbf {X}) =& \frac {d}{d \mathbf {Y}} \text {Tr}( \mathbf {Y}^T \mathbf {A} \mathbf {X} \mathbf {B} \mathbf {X}^T \mathbf {C}) \\ +& \frac {d}{d \mathbf {Y}} \text {Tr}( \mathbf {X}^T \mathbf {A} \mathbf {Y} \mathbf {B} \mathbf {X}^T \mathbf {C}) \\ +& \frac {d}{d \mathbf {Y}} \text {Tr}( \mathbf {X}^T \mathbf {A} \mathbf {X} \mathbf {B} \mathbf {Y}^T \mathbf {C}) \end {split} \end {Ecuación}

Calculando estos:

\begin {split} \frac {d}{d \mathbf {Y}} \text {Tr}( \mathbf {Y}^T \mathbf {A} \mathbf {X} \mathbf {B} \mathbf {X}^T \mathbf {C}) = \mathbf {A} \mathbf {X} \mathbf {B} \mathbf {X}^T \mathbf {C} \end {split}

\begin {split} \frac {d}{d \mathbf {Y}} \text {Tr}( \mathbf {X}^T \mathbf {A} \mathbf {Y} \mathbf {B} \mathbf {X}^T \mathbf {C}) =& \frac {d}{d \mathbf {Y}} \text {Tr}( \mathbf {Y} \mathbf {B} \mathbf {X}^T \mathbf {C} \mathbf {X}^T \mathbf {A}) \\ =& ( \mathbf {B} \mathbf {X}^T \mathbf {C} \mathbf {X}^T \mathbf {A})^T \\ =& \mathbf {A}^T \mathbf {X} \mathbf {C}^T \mathbf {X} \mathbf {B}^T \end {split}

\begin {split} \frac {d}{d \mathbf {Y}} \text {Tr}( \mathbf {X}^T \mathbf {A} \mathbf {X} \mathbf {B} \mathbf {Y}^T \mathbf {C}) = \frac {d}{d \mathbf {Y}} \text {Tr}( \mathbf {Y}^T \mathbf {C} \mathbf {X}^T \mathbf {A} \mathbf {X} \mathbf {B}) = \mathbf {C} \mathbf {X}^T \mathbf {A} \mathbf {X} \mathbf {B} \end {split}

Así que el resultado es:

\begin {Ecuación} \frac {d}{d \mathbf {X}} \text {Tr}( \mathbf {X}^T \mathbf {A} \mathbf {X} \mathbf {B} \mathbf {X}^T \mathbf {C}) = \mathbf {A} \mathbf {X} \mathbf {B} \mathbf {X}^T \mathbf {C} + \mathbf {A}^T \mathbf {X} \mathbf {C}^T \mathbf {X} \mathbf {B}^T + \mathbf {C} \mathbf {X}^T \mathbf {A} \mathbf {X} \mathbf {B} \end {Ecuación}

6voto

user357269 Puntos 116

Las otras respuestas son correctas, pero me parece que no han entendido nada. Los argumentos que toman una base para demostrar un resultado independiente de las bases deben abordarse con precaución.


En primer lugar, según el libro de cocina de Matrix, la fórmula es \frac{\mathrm{tr}(AXB)}{dX} = (BA)^T, no el que se da en su pregunta.

Lo que confunde a esta presentación es que f (X) = \mathrm{tr}(AXB) es un mapa lineal, por lo que su derivada (=aproximación lineal) es ella misma.

Así que, de hecho, la declaración debería decir f(X) = \mathrm{tr}(AXB) = (BA)^T, lo cual es claramente erróneo.

Pero consideremos el producto interior de Frobenius sobre \mathrm{Mat}(m, n) . Para U, V \in \mathrm{Mat}(m, n) :

\langle U, V \rangle = \mathrm{tr}(U^T V).

Por el teorema de representación de Riesz, f puede representarse como

f(X) = \langle U, X \rangle = \mathrm{tr}(U^TX).

para un fijo U \in \mathrm{Mat}(m, n) .

Claramente U = (BA)^T hace el trabajo, por lo que la declaración más precisa es

\mathrm{tr}(AXB) = \langle (BA)^T, X \rangle,

que es una trivialidad.

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