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

6 votos

¿Cuál es la solución para X=AXA ?

He dado una visión general n×d matriz B y necesitamos calcular dos matrices de similitud RRn×n y SRd×d como sigue:

R=BSB y S=BRB .

Al insertar una ecuación en la otra se obtiene S=BBSBB . Supongo que no siempre existe una solución. En este caso, estoy interesado en una solución aproximada que minimice ||SBBSBB||F .

¿Existe un nombre para este tipo de problema? Y ¿hay alguna forma eficiente de resolverlo (posiblemente utilizando algún algoritmo iterativo)?

Nota: La matriz cero satisfaría la ecuación anterior, pero necesito matrices de similitud, es decir, matrices simétricas para las que los elementos diagonales deben ser iguales a 1.

0 votos

La matriz cero parece funcionar, ¿quieres excluirla?

0 votos

@MarkBennet: Gracias, simplemente se me olvidó comprobarlo. La matriz cero se excluye, ver la edición.

0 votos

6voto

greggo Puntos 208

Dado A es d×d y de valor real:

La fórmula X=AXA puede reescribirse con X reordenados como vec(X) un vector columna de d2 elementos:

vec(X)=(ATA)vec(X)

... donde es el Producto de Kronecker , a d2×d2 matriz. Por lo tanto, hay soluciones distintas de cero si (ATA) tiene cualesquiera valores propios iguales a 1, y la solución o soluciones son los vectores propios correspondientes.

En d2 valores propios de (ATA) se puede obtener multiplicando todos los emparejamientos del d valores propios de A . Por tanto, si alguno de los valores propios de A tienen un valor absoluto de 1 (incluidos los valores complejos), o si cualquier par de ellos satisface λjλk=1 tiene una solución para X=AXA .

[En su caso A=BTB es simétrica por lo que todos los valores propios de A será real].

Por supuesto, puede que no sea posible escalarlo a ese X es una matriz de similitud. Es evidente que todas las soluciones X será singular, a menos que el determinante de A es 1 o -1. De hecho, cualquier X obtenido directamente a partir de un vector propio del producto de Kronecker será de rango 1, siendo el producto exterior de los vectores propios de A (esto se discute más adelante), por lo que un no-singular X sólo podría obtenerse mediante una suma de múltiples soluciones de este tipo.


Para el caso en que A es simétrica:

deje P=(ATA)

  • si X es una solución, entonces también lo es XT
  • Para cada valor propio de P que es 1, el vector propio correspondiente da una solución para X .
  • Si hay más de una solución, puedes combinarlas arbitrariamente de forma lineal para obtener otras.
  • Si existe un valor propio unitario de P donde el vector propio correspondiente da X que no es simétrica, habrá otro que dé XT así que puedes sumarlos y obtener una solución simétrica. Estos son los valores propios unitarios de P que son productos de dos valores propios de A y, por tanto, se producen por parejas. Los que surgen de cuadrados de {-1,1} valores propios de A dan soluciones simétricas directamente.

Por tanto, cuantos más valores propios unitarios de P más soluciones simétricas tendrás; si tienes suficientes, puedes resolver cómo combinarlas para obtener un resultado con 1 a lo largo de la diagonal.

Por ejemplo, supongamos d=5 y los valores propios de A son [1,1,12,2,2] tendrá 8 valores propios unitarios de P - dos de elevarlos al cuadrado, 3+3 de multiplicarlos por pares; y así obtendrás 5 resultados simétricos para X . Aunque no estoy seguro de que los 5 sean independientes en sus diagonales.

Y cada X candidato -- el vector propio de P correspondiente a un valor propio de P que es el producto de dos valores propios dados de A -- puede hallarse como el producto exterior de los dos vectores propios correspondientes de A reordenado en un vector. O dejado en forma de matriz ya que desea X . Así que no necesita encontrar P o todos sus vectores propios.

En una aplicación práctica, puede ser necesario realizar un ajuste a las mejores soluciones simétricas disponibles, incluidas las correspondientes a valores propios de P que son "suficientemente cercanos" a 1.


O, si necesita ajustar los valores propios de A un poco para obtener una solución exacta para X es relativamente sencillo volver a reflejar esos cambios en B es decir, encontrar un nuevo B pero con un resultado exacto X solución. La nueva B tendrá la misma descomposición de valores singulares que el original pero con SV ligeramente diferentes:

(1) encontrar la descomposición eigen de A : BTB=A=QLQT ... donde L es una matriz diagonal con los valores propios de A y Q es una matriz ortonormal con los vectores propios en las columnas

(2) Buscar X solución(es) como arriba, ajustando los valores propios según sea necesario; Esto conduce a un nuevo conjunto de valores propios L y nuevo valor para A Llámalo A=QLQT

(3) encontrar una matriz diagonal R cuyos elementos diagonales son las raíces cuadradas de los factores por los que multiplicaste los valores propios. Entonces: L=RLRA=QRLRTQT

(4) encontrar un nuevo valor B=BQRQT . Ahora BTB=QRQTBTBQRQT=QRQTAQRTQT=QRQTQLQTQRTQT=QRLRTQT=A Así que, suponiendo R se aproxima a una matriz de identidad, B se acerca al original B y da el valor exacto de X solución(es) seleccionada(s) ajustando los valores propios en (2)

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