problème SVD pondéré?


12

Étant donné deux matrices et B , je voudrais trouver les vecteurs x et y , tels que, min i j ( A i j - x i y j B i j ) 2 . Sous forme de matrice, j'essaie de minimiser la norme de Frobenius de A - diag ( x ) B diag ( y ) = A - B ( x y ABxy

minij(AijxiyjBij)2.
.Adiag(x)Bdiag(y)=AB(xy)

En général, j'aimerais trouver plusieurs vecteurs unitaires et y sous la forme min i j ( A i j - n k = 1 s i x ( k ) i y ( k ) j B i j ) 2 . s i sont des coefficients réels positifs.xy

minij(Aijk=1nsixi(k)yj(k)Bij)2.
si

Cela équivaut à une décomposition en valeurs singulières (SVD) lorsque .(B)ij=1

Quelqu'un sait-il comment s'appelle ce problème? Existe-t-il un algorithme bien connu comme SVD pour la solution d'un tel problème?

(migré de math.SE)


Je crois que c'est SVD généralisé . L'entrée Wikipedia n'est pas très détaillée, vous devriez donc probablement vérifier les sources liées. En particulier, la page 466 de ce lien Google livres pourrait être utile.
ely

1
xy

B n'a pas besoin d'être diagonal ni symétrique en SVD généralisé. Les deux liens que j'ai fournis indiquent que A et B peuvent être des matrices générales à valeurs complexes de dimension M par N et P par N respectivement.
ely

Merci pour la suggestion @EMS. Je vous serais reconnaissant de bien vouloir préciser le lien.
Memming

Réponses:


8

C'est loin d'être SVD généralisé.

Si B est une matrice positive, vous pouvez utiliser mon package BIRSVD http://www.mat.univie.ac.at/~neum/software/birsvd/

L'article http://www.mat.univie.ac.at/~neum/software/birsvd/svd_incomplete_data.pdf décrivant la méthode y donne également des références que vous pouvez envisager de faire une recherche documentaire.


Ah, transformant le problème en approximation pondérée de bas rang! Merci beaucoup!
Memming

||Csixiyi||W2||C||W=||CW||F

Oui. Cela donne un joli nom à votre problème. Comment le résoudre est une autre affaire. Ce n'est pas un problème standard et il était assez difficile de trouver un algorithme à la fois rapide et fiable.
Arnold Neumaier

@ArnoldNeumaier c'est super, merci. serait-il possible d'obtenir un avis de licence et de copyright avec votre code? Tel qu'il est maintenant, il s'agit d'un logiciel propriétaire. Si vous le publiez sous GPLv3 ou compatible, il pourrait trouver son chemin vers le paquet d'algèbre linéaire de GNU Octave.
JuanPi
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.