Je voudrais savoir si toutes les matrices réelles sans valeurs nulles peuvent être décomposées en un produit de 2 vecteurs réels ou complexes ?
Je n'ai pas trouvé cette info mais dans le cas ou la matrice peut avoir des valeurs nulles, j'ai trouvé un contre-exemple avec le vecteur U = (a, b) et V = (c, d) tq U x V.T = ((0, 1), (1, 0))
Du coup je me demande si cette condition assure la décomposition de la matrice. Et si c'est le cas, existe t'il une méthode pour trouver U et V ?
De quel produit de vecteurs parles tu? J'imagine qu'il s'agit du produit tensoriel de deux vecteurs ( ou produit de Kronecker)
Dans l'exemple en dimension 2, les composantes du produit tensoriel sont (ac,ad,bc,bd) qui peuvent se mettre sous la forme d' une matrice 2x2.
inversement si on se donne une matrice 2x2 quelconque de coefficients \( r,s,t,u\) quelconques, pour être décomposable en produit tensoriel de deux vecteurs, on devrait avoir \(ac=r,ad=s,bc=t,bd=u\) qui n'aura en général pas de solution, sauf si les coefficients vérifient \(\frac{r}{s}=\frac{t}{u}\) qui est une condition nécessaire évidente.
D'une façon générale, une matrice nxn ne sera décomposable en produit tensoriel de deux vecteurs de \(\mathbb{R}^n\) que pour des valeurs particulières des coefficients . En fait, en analyse tensorielle, les coefficients d'une matrice nxn peut être vu comme un vecteur d'un espace \(\mathbb{R}^n \otimes \mathbb{R}^n\) de dimension \(n^2\). Cet espace est donc de dimension beaucoup plus grande que l'espace vectoriel produit cartésien \(\mathbb{R}^n \times \mathbb{R}^n\) de dimension 2n.
Par contre on montre que tout vecteur de \(\mathbb{R}^n \otimes \mathbb{R}^n\) de dimension \(n^2\) est toujours décomposable en une combinaison linéaire de produits tensoriels de vecteurs de \(\mathbb{R}^n \)
tout ce qui est simple est faux, tout ce qui est compliqué est inutilisable
Merci pour la réponse ! En effet je parlais bien du produit tensoriel.
Je suis d'accord dans le cas ou l'on reste dans R. Ce que je me demande c'est si en passant dans un espace un peu plus grand (celui des complexes), une matrice de R pourrait toujours se décomposer en 2 vecteurs de C si la matrice n'a pas de valeurs nulles.
Je pose la question car j'ai vu une analyse intéressante sur le filtrage bokeh qui peut etre fortement accélérer en décomposant ce filtre réel de dimension N x N en 2 convolutions d'un filtre de N x 1 mais dans un espace complexe.
@Bibou34, merci pour le lien, j'ai testé plein de facon
En traitrement d'image, on a souvent à faire à un produit de convolution de la matrice représentant l'image d'origine par la matrice d'un filtre noyau ou masque NxN ( souvent N=3 ou 5 pour des filtres classiques). C'est en principe la décomposition de ce noyau en produit de convolution discrète de deux vecteurs (N,1) que l'on recherche pour accélérer le calcul. Ce n'est pas spécifique du filtrage bokeh mais de tout filtre à noyau décomposable en produit de convolution de deux vecteurs. ( qui revient pour deux vecteurs à un produit tensoriel) .Certains filtres permettent facilement cette décomposition dans \(\mathbb{R}\) parce que leurs composantes ont justement les propriétés de proportionnalité ad-hoc comme que je le mentionnais rapidement en dimension 2 dans mon premier post
On trouve d'ailleurs dans les ouvrages qui traitent de la question cette CNS pour qu'un filre 2D soit séparable en produit de convolution 1D (sur le même corps) : les coefficients des lignes et colonnes doivent être proportionnels. Je n'ai par contre pas trouvé grand chose sur une décomposition en vecteurs sur \(\mathbb{C}\) . N'étant pas expert en traitement d'images ( et encore moins en filtre de bokeh ! que j'imagine non décomposable sans passer aux complexes), il faudrait en savoir un peu plus sur l'aspect mathématique de l'analyse dont tu parles.
Parce que, a priori, le produit de convolution de deux vecteurs complexes sera une matrice complexe ... qui aura du mal à être égale à une matrice réelle si on ne fait pas autre chose que le seul produit de convolution.
remarque LaTeX: normalement en écrivant en LaTeX dans le corps du texte avec les délimiteurs standard \(...\) cela devrait marcher.
Tentes d'écrire un exemple qui ne marche pas . On pourra peut être te dire ce qui coince!
- Edité par Sennacherib 18 février 2019 à 14:05:37
tout ce qui est simple est faux, tout ce qui est compliqué est inutilisable
Super merci pour cette réponse détaillé. En effet, je m'attarde un peu sur cette question après avoir vu cette vidéo concernant les filtre gaussien puis cette vidéo sur le filtre de Bokeh. Pour moi il me semblait assez simple (grâce aux propriétés de l'exponentielle) de décomposer un filtre gaussien en un produit de 2 vecteurs (gaussiens aussi).
Quand au filtre de Bokeh, j'ai été surpris qu'il soit possible de l'approcher grâce à la transformée de fourrier (levrai filtre étant atteint avec une somme infinie). Cela se comprend car la filtre n'est pas "continu" et des cotés du filtres sont à 0.
Je me suis amusé à reprendre et comprendre son code. J'ai fais quelques tests et son bénéfice sur le temps de calcul étant intéressant, je me suis demandé s'il n'y a pas une condition particulière pour décomposer un filtre dans \(\mathbb{C}\). Ayant vu le contre exemple dans \(\mathbb{R}\) précédemment, je me suis demandé si avoir une condition de valeurs non nulles pourrait suffire. Mais je doute que ce soit suffisant... et là, mon niveau en math me rattrape
Par contre, à la rédaction de cette réponse, je me demande si tous filtres, peut être approximés à l'aide d'une fft en un produit de 2 vecteurs. Certes en Machine Learning, on a peu de grands filtres (3x3 en général)... Le bénéfice serait inexistant (voir même négatif car il faut faire 2 convolutions par "éléments" de la fft...). Mais tout de même c'est une question intéressante, sachant que l'on peut "approximer" des dessins 2D avec la fft (comme cette très bonne vidéo).
Concernant LaTex, ca à l'air de fonctionner... peut-être qu'il n'aurait pas fallu que je copie-colle les exemples de la page... (bien que j'ai nettoyé le html après)
- Edité par coni63 18 février 2019 à 19:52:51
Décomposition de Matrice en vecteurs
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Avatar by MaxRoyo. Venez parler du sdz