4 votos

$X=ABA^T$ , X, A son matrices y hay que resolver la matriz B haciendo que sea una matriz diagonal.

$X=ABA^T$ , X es una matriz cuadrada y A es una matriz rectangular y necesito resolver la matriz B haciendo que sea una matriz diagonal.

Para una matriz no singular podemos escribir B como $A^+XA^{+T}$ pero B se convierte en una matriz no diagonal. Cómo puedo obtener B como matriz diagonal. (La descomposición Eigen de X da diferentes valores de A).

2voto

frank Puntos 21

He aquí una interesante propiedad de los operadores de diagonalización $$\eqalign{ {\rm diag}(Z\,{\rm Diag}(y)\,W) = (W^T\circ Z)\,y \cr }$$ donde $\circ$ es el producto elemental/Hadamard, ${\rm Diag}(v)$ es una función que crea una matriz diagonal a partir de su argumento vectorial, y ${\rm diag}(M)$ crea un vector columna a partir de la diagonal de su argumento matriz.

Aplicando esto a tu ecuación puedes resolver $B={\rm Diag}(b)$ directamente $$\eqalign{ {\rm diag}(A\,{\rm Diag}(b)\,A^T) &= {\rm diag}(X) \cr (A\circ A)\,b &= {\rm diag}(X) \cr b &= (A\circ A)^+\,{\rm diag}(X) \cr B &= {\rm Diag}\Big((A\circ A)^+\,{\rm diag}(X)\Big) \cr }$$ donde $M^+$ es la inversa de Moore-Penrose de $M$ .

Actualización
La diagonalización de $X$ desecha parte de la información, así que aquí hay otra relación que utiliza la vectorización, y por lo tanto preserva toda esa información. $$\eqalign{ {\rm vec}(Z\,{\rm Diag}(y)\,W) = (W^T\otimes u)\circ(v\otimes Z)\,y \cr }$$ los vectores $(u,v)$ son vectores cuyos componentes son todos iguales a la unidad; las dimensiones son tales que los productos $Z^Tu$ y $Wv$ se definen; y $\otimes$ es el producto de Kronecker.

La referencia para esta operación se puede encontrar en: J Brewer, Kronecker products and matrix calculus in system theory, IEEE Transactions on circuits and systems, 1978. Enlace al pdf del artículo de uta.edu

Allí la operación se definió en términos del producto de Khatri-Rao, que da como resultado $(W^T\otimes u)\circ(v\otimes Z)$ .

Una vez más se puede utilizar esto para resolver $B$ $$\eqalign{ {\rm vec}(A\,{\rm Diag}(b)\,A^T) &= {\rm vec}(X) \cr (A\otimes u)\circ(u\otimes A)\,b &= {\rm vec}(X) \cr b &= \big((A\otimes u)\circ(u\otimes A)\big)^+\,{\rm vec}(X) \cr B &= {\rm Diag}\Big(\big((A\otimes u)\circ(u\otimes A)\big)^+\,{\rm vec}(X)\Big) \cr }$$ nota que $v=u$ para este problema y las dimensiones de $u$ son tales que $A^Tu$ se define.

1voto

lynn Puntos 106

Si el problema es encontrar la matriz diagonal $B={\rm Diag}(b)$ que minimiza $$f(B)=\| ABA^T- X \|_F^2$$ entonces ninguno de los resultados de @frank funcionará.

En su lugar, resuelva el vector $b$ que pone a cero el gradiente de la función, es decir $\frac{\partial f}{\partial b}=0$

$$\eqalign{ Y &= ABA^T - X \cr f &= Y:Y \cr \cr df &= 2Y:dY \cr &= 2Y:A\,dB\,A^T \cr &= 2A^TYA:dB \cr &= 2A^TYA:{\rm Diag}(db) \cr &= 2\,{\rm diag}(A^TYA):db \cr \cr \frac{\partial f}{\partial b} &= 2\,{\rm diag}(A^TYA) = 0 \cr \cr {\rm diag}(A^TABA^TA) &= {\rm diag}(A^TXA) \cr \big((A^TA)\circ(A^TA)\big)\,b &= {\rm diag}(A^TXA) \cr \cr b &= \big((A^TA)\circ(A^TA)\big)^+\,{\rm diag}(A^TXA) \cr B &= {\rm Diag}\Big[\big((A^TA)\circ(A^TA)\big)^+\,{\rm diag}(A^TXA)\Big] \cr }$$ donde los dos puntos denotan el producto interno/Frobenius, es decir $\,A:B={\rm tr}(A^TB)$

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