Cómo forzar que la matriz de solución de mínimos cuadrados sea diagonal

Deje [math] A \ in \ mathbb {R} ^ {m \ times n}, X \ in \ mathbb {R} ^ {n \ times n}, B \ in \ mathbb {R} ^ {m \ times n }[/matemáticas]. Como desea que [math] X [/ math] sea diagonal, eso implicaría que [math] x_ {ij} = 0 [/ math], si [math] i \ neq j [/ math]. Por lo tanto, el objetivo de mínimos cuadrados se convierte en,

[matemáticas] \ displaystyle \ sum_ {i = 1} ^ m \ sum_ {j = 1} ^ n \ sum_ {k = 1} ^ n (a_ {ij} x_ {jk} – b_ {ij}) ^ 2 = \ sum_ {i = 1} ^ m \ sum_ {j = 1} ^ n (a_ {ij} x_ {jj} – b_ {ij}) ^ 2 = \ sum_ {j = 1} ^ n \ bbox [10pt, borde: 2pt sólido # 06f] {\ sum_ {i = 1} ^ m (a_ {ij} x_ {jj} – b_ {ij}) ^ 2} [/ math]

Si observa el cuadro azul de arriba, se dará cuenta de que está pasando por una sola columna y que las variables no se comparten entre las sumas. Lo que significa esencialmente es que necesitamos simplemente ajustar los mínimos cuadrados a lo largo de cada columna. Eso implicaría que la solución es,

[matemáticas] \ displaystyle x_ {ii} = \ frac {a_i ^ {\ top} b_i} {\ | a_i \ | ^ 2} [/ matemáticas]

donde [math] a_i [/ ​​math] es la i-ésima columna de A y [math] b_i [/ ​​math] es la i-ésima columna de B.