Matrice de symétrie après changement de base

Le problème exposé dans ce sujet a été résolu.

Bonjour à tous !

Ça fait quelques jours que je me casse la tête sur un problème d’algèbre linéaire. J’en ai besoin pour implémenter en Python (avec cirq) un algorithme quantique.

On dispose d’une matrice A\mathbf{A} de Mm,n(R)\mathcal{M}_{m, n}(\mathbf{R}). On note ei\mathbf{e}_i pour 1im1\leqslant i\leqslant m les vecteurs de la base canonique de Rm\mathbf{R}^m et Ai\mathbf{A}_i pour 1im1\leqslant i\leqslant m les vecteurs lignes de A\mathbf{A}. On définit P\mathbf{P} la matrice de Mmn,m\mathcal{M}_{m\,n,m} telle que sa ii-ème colonne soit eiAiAi\mathrm{e}_i\otimes \frac{\mathrm{A}_i}{\left\|\mathbf{A}_i\right\|}. On note Col(P)\mathrm{Col}(\mathrm{P}) l’espace vectoriel engendré par les colonnes de P\mathrm{P}. Cet espace est un sous-espace vectoriel de dimension mm de Rmn\mathbf{R}^{m\,n}. On a: PP=[1A12A1A10000001Am2AmAm]\mathbf{P}\,\mathbf{P}^\top=\begin{bmatrix}\frac{1}{\left\|\mathrm{A}_1\right|^2}\,\mathrm{A}_1^\top\otimes\mathrm{A}_1&\mathbf{0}&\mathbf{0}\\\mathbf{0}&\ddots&\mathbf{0}\\\mathbf{0}&\mathbf{0}&\frac{1}{\left\|\mathrm{A}_m\right|^2}\,\mathrm{A}_m^\top\otimes\mathrm{A}_m\end{bmatrix}

Cette matrice est un projecteur de Rmn\mathbf{R}^{m\,n} sur Col(P)\mathbf{Col}(\mathrm{P}). De fait, U=2PPImn\mathrm{U} = 2\,\mathrm{P}\,\mathrm{P}^\top-\mathbf{I}_{m\,n} est une symétrie par rapport à cet espace.

Je dispose d’une matrice unitaire U\overset{\sim}{\mathrm{U}} qui, pour tout 1im1\leqslant i\leqslant m associe le vecteur eie1\mathrm{e}_i\otimes\mathrm{e}_1' au vecteur eiAi\mathrm{e}_i\otimes\mathrm{A}_i, où e1\mathrm{e}_1' est le premier vecteur de la base canonique de Rn\mathbf{R}^n. Je connais également, de fait, l’inverse de cette matrice.

Dans le papier que j’étudie, ils écrivent que l’on peut écrire U=UR0(U)1\mathbf{U}=\overset{\sim}{\mathrm{U}}\,\mathbf{R}_0\,\left(\overset{\sim}{\mathrm{U}}\right)^{-1}. Cependant, je n’arrive pas à trouver R0\mathbf{R}_0. J’ai l’impression qu’elle est composée de beaucoup de lignes en commun avec la matrice identité, mais je n’arrive pas à voir comment je pourrais trouver ses autres coefficients…

Quelqu’un saurait-il m’éclairer ? Merci d’avance !

+0 -0

U~\tilde{U} est une matrice nm×nmnm\times nm ? Tu ne définis ses valeurs que sur les mm vecteurs eiAie_i \otimes A_i, t’es d’accord qu’il y a plusieurs U~\tilde{U} qui vérifient ça ?

Globalement, j’ai l’impression que t’es juste en train de diagonaliser UU. Disons qu’on suppose que les lignes de ta matrice de départ sont normalisées pour simplifier (Ai=1\lVert A_i\rVert=1). Donc déjà, on a :

PPT=i=1m(eiAi)(eiAi)TPP^T=\sum_{i=1}^m (e_i\otimes A_i)(e_i\otimes A_i)^T

Donc PPTPP^T c’est la matrice du projecteur orthogonal sur V=e1A1,,emAmV=\langle e_1\otimes A_1,\ldots,e_m\otimes A_m\rangle (sous-espace engendré) dans la base canonique. L’écriture ci-dessus donne exactement une décomposition en vecteurs propres orthogonaux de PPTPP^T : les vecteurs eiAie_i\otimes A_i sont vecteurs propres associés à la valeur propre 1, et les valeurs propres restantes sont toutes nulles. On en déduit direct la décomposition de U=2PPTIU=2PP^T-I : valeur propre +1 de multiplicité mm (d’espace propre correspondant VV) et -1 de multiplicité nmmnm-m (d’espace propre correspondant VV^\bot). On peut retrouver ça géométriquement en interprétant UU comme une symétrie vectorielle.

Du coup, les eiAie_i\otimes A_i qui apparaissent dans ta définition de U~\tilde{U} sont des vecteurs propres orthogonaux de UU pour la valeur propre +1. Après dans les détails il y a quelques trucs qui clochent (par exemple, j’ai l’impression que ta définition de U~\tilde{U} fout les coordonnées de eiAie_i\otimes A_i dans la (in+1)(in+1)-ème colonne de U~1\tilde{U}^{-1} au lieu de U~\tilde{U} — la décomposition est « à l’envers »), mais si tu clarifies cette histoire de U~\tilde{U}, ça devrait pas être trop dur à compléter.

La matrice U~\tilde{U} est un changement de base qui ramène l’espace par rapport auquel UU fait une symétrie à l’espace de base orthogonale les eie1e_i ⊗ e'_1. La matrice R0R_0 est donc la symétrie par rapport aux eie1e_i ⊗ e'_1. Elle envoie eieje_i ⊗ e'_j sur eieje_i ⊗ e'_j si j1j≠1 et sur eiej-e_i ⊗ e'_j si j=1j=1. Elle a donc des +1+1 sur toute la diagonale sauf à mm endroits où elle a 1-1.

PS : L’éditeur déconne, si j’écris $e_1$ blabla, le texte "blabla" apparaît en italique, plus d’autres choses pas cohérentes.

PS : L’éditeur déconne, si j’écris $e_1$ blabla, le texte "blabla" apparaît en italique, plus d’autres choses pas cohérentes.

La Vir, gule

Je te conseille de repasser sur l’ancien éditeur si tu veux écrire des maths. Dès que t’as besoin d’un * ou un _ entre des $$, tout l’affichage devient fou. ^^

(Sinon je ne comprends pas ton message, comment c’est possible que AA n’apparaisse même pas ?)

On a un sous-espace XEX ⊆ E d’un espace euclidien, qui ici est engendré par les eiAie_i ⊗ A_i. La matrice UU est la symétrie agissant comme 1-1 sur XX et comme l’identité sur son orthogonal. La matrice U~\tilde{U} est une rotation envoyant XX sur un sous-espace "diagonal" XX', engendré par les eie1e_i ⊗ e_1'. Du coup si U=R0U' = R_0 est la symétrie par rapport à XX' (agit comme 1-1 sur XX'), on a UU' et UU qui sont conjuguées via U~\tilde{U}.

Je viens de me rendre compte que dans l’OP on suppose U~\tilde{U} orthogonale, donc peu importe, toutes les colonnes non précisées seront envoyées sur VV^\bot (donc finalement c’est bien une diagonalisation, et je suis d’accord avec le message de @Vir, gule à quelques détails près).

On a un sous-espace XEX ⊆ E d’un espace euclidien, qui ici est engendré par les eiAie_i ⊗ A_i. La matrice UU est la symétrie agissant comme 1-1 sur XX et comme l’identité sur son orthogonal. La matrice U~\tilde{U} est une rotation envoyant XX sur un sous-espace "diagonal" XX', engendré par les eie1e_i ⊗ e_1'. Du coup si U=R0U' = R_0 est la symétrie par rapport à XX' (agit comme 1-1 sur XX'), on a UU' et UU qui sont conjuguées via U~\tilde{U}.

La Vir, gule

T’inverserais pas les +1 et les -1 par hasard ? Pareil dans ton message plus haut, c’est pas plutôt +1 avec multiplicité mm et -1 avec multiplicité nmmnm-m ? Par ailleurs, même si t’as l’air de mettre ça sous le tapis, j’aurais plutôt dit conjuguées via U~1\tilde{U}^{-1} (cf. le problème mentionné dans mon premier message).

(À part ça, je suis d’accord avec ce que tu dis maintenant, mais je pense qu’il manque dans ton premier message le qualificatif changement de base orthogonal pour que ça ait un sens.)

+0 -0

C’est juste que l’hypothèse de l’OP c’est U~(eiAi)=eie1\tilde{U} (e_i\otimes A_i)=e_i\otimes e_1' et pas U~(eie1)=eiAi\tilde{U} (e_i\otimes e_1')=e_i\otimes A_i.

Mais comment est-ce qu’on décide si on dit « AA est le conjugué de BB par UU » ou bien « BB est le conjugué de AA par UU » pour dire que A=UBU1A = U B U^{-1} ? Il y a une convention spéciale ? Je ne vois pas de raison de privilégier un sens plutôt que l’autre.

edit : Ah oui, la formule de l’OP c’est U=U~1R0U~U = \tilde{U}^{-1} R_0 \tilde{U} si on prend le sens de multiplication usuel des matrices ! J’ai pas fait attention à si on prend les matrices ou leurs transposées, le sens de la multiplication…

+0 -0

Désolé pour le temps de réponse !

Alors :

Je dispose d’une matrice unitaire U\overset{\sim}{\mathrm{U}} qui, pour tout 1im1\leqslant i\leqslant m associe le vecteur eie1\mathrm{e}_i\otimes\mathrm{e}_1' au vecteur eiAi\mathrm{e}_i\otimes\mathrm{A}_i, où e1\mathrm{e}_1' est le premier vecteur de la base canonique de Rn\mathbf{R}^n.

BunshinKage

Cette phrase est très mal exprimée. À vrai dire, même moi en la relisant je la comprends dans l’autre sens. Pour l’écrire mathématiquement, on a U(eie1)=eiAi\overset{\sim}{\mathbf{U}}\left(\mathbf{e}_i\otimes\mathbf{e}'_1\right)=\mathbf{e}_i\otimes\mathbf{A}_i. On se dispense des normes pour simplifier. Cela explique donc pourquoi la décomposition semblait être "à l’envers", désolé pour ça.

J’avais bien identifié le changement de base, mais je n’avais absolument pas vu ça comme une diagonalisation ! Du coup, comme U\mathbf{U} est une symétrie, ses valeurs propres sont 1-1 et 11, donc R\mathbf{R} est diagonale avec comme valeur 11 pour les vecteurs correspondant à eie1\mathbf{e}_i\otimes\mathbf{e}'_1, à savoir la ligne 11, la ligne n+1n+1, la ligne 2n+12\,n+1… jusqu’à la ligne (m1)n+1(m-1)\,n+1, et pour valeur 1-1 sur les autres entrées de la matrice, c’est bien cela ?

+0 -0

Oui, ça me paraît correct ! L’ordre des +1 et -1 sur la diagonale de RR dépend de l’ordre que tu as choisi pour ta base (eiej)i[m],j[n](e_i\otimes e'_j)_{i\in[m],j\in[n]} de RmRn\mathbf{R}^m\otimes\mathbf{R}^n, mais les multiplicités sont bonnes. (Pour être tout à fait exhaustif, il y a toujours un problème dans l’OP pour le cas Ai\lVert A_i\rVert quelconque, car U~\tilde{U} est supposé unitaire alors que les eiAie_i\otimes A_i ne sont plus nécessairement normalisés. J’imagine que l’hypothèse est plutôt U~(eie1)=eiAi/Ai\tilde{U}(e_i\otimes e'_1)=e_i\otimes A_i/\lVert A_i\rVert.)

Je pense que le message à retenir, c’est qu’on peut difficilement faire plus simple qu’une matrice diagonale, et donc que les changements de base les plus favorables à chercher en priorité, ce sont ceux qui diagonalisent ton opérateur. Dans le cadre symétrique/hermitien il en existe toujours — c’est un peu un miracle algébrique !

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte