Tengo el siguiente problema. Vamos $A$, $B$ $C$ ser un valor real de las matrices de tamaño $m \times q$, $m \times n$, $p\times q$ respectivamente. Me gustaría encontrar la matriz de $X$ del tamaño de la $n\times p$ y máximo del rango de $r$ de manera tal que la norma de Frobenius $\|A - B X C \|$ es mínimo. Esta es una generalización de la mejor aproximación de la propiedad de la truncada la Descomposición de Valor Singular; sin embargo no parece ser trivial. Cualquier conocimiento? Conocido de la literatura?
Respuestas
¿Demasiados anuncios?Deje $M=A-BXC\,\,$ e $\,f=\|M\|^2_F$.
Entonces el problema es de minimizar $f$ con respecto al $X$.
Encontrar el diferencial $$\eqalign{ df &= 2\,M:dM \cr &= 2\,(A-BXC):(-B\,dX\,C) \cr &= 2\,(BXC-A):B\,dX\,C \cr &= 2\,B^T(BXC-a)C^T:dX \cr }$$ Desde $df=(\frac{\partial f}{\partial X}):dX\,$ la derivada debe ser $$\eqalign{ \frac{\partial f}{\partial X} &= 2\,B^T(BXC-a)C^T \cr }$$ Ajuste a cero y resolver para $X$ rendimientos $$\eqalign{ B^TBXCC^T &= B^TAC^T \cr X &= (B^TB)^{-1}B^TAC^T(CC^T)^{-1} \cr X &= B^{+} C^{+} \cr }$$ Esto es equivalente a la anterior de Kronecker-vec sugerencia $$\eqalign{ {\rm vec}(X) &= (C^T\otimes B)^{+} \, {\rm vec}(A) \cr }$$
He aquí una idea:
La ecuación de $A = BXC$ puede ser transformado a $(C^T \otimes B) \operatorname{vec} X = \operatorname{vec} A$ donde $\operatorname{vec}$ es de vectorización y $\otimes$ es producto de Kronecker. Esto transforma el problema a una norma de la matriz del problema (también hay otras maneras de resolver una ecuación de matriz de este tipo) que pueden ser resueltos utilizando, por ejemplo, Gauss-Jordan eliminación.
Si la ecuación de $(C^T \otimes B) \operatorname{vec} X = \operatorname{vec} A$ no es solucionable, es decir, $\operatorname{vec} A$ no está en la imagen de $C^T \otimes B$, hallar el vector de la imagen de $C^T \otimes B$ más cercano a $\operatorname{vec} A$. Esto se puede hacer mediante la búsqueda de una base ortogonal para la imagen de $C^T \otimes B$ y la proyección de $\operatorname{vec} A$ a estos vectores. En otras palabras, encontrar un mínimo de plazas "solución" para el sistema de $(C^T \otimes B) \operatorname{vec} X = \operatorname{vec} A$.
Debe tenerse en cuenta en el argumento anterior, que ya que estamos utilizando la norma de Frobenius, $\|A\|$ e $\| \operatorname{vec} A\|$ va a ser igual, y también que $$\|\operatorname{vec} (A - BXC)\| = \| \operatorname{vec} (A) -\operatorname{vec}(BXC) \| = \| \operatorname{vec} A - (C^T \otimes B) \operatorname{vec} X\|.$$