Vectorisation et problème universel

Bonjour,

quand il m'arrive d'utiliser la vectorisation d'une matrice $M$ de $n$ lignes et $m$ colonnes, je le fais de manière pragmatique et j'empile donc les $m$ colonnes les unes en dessous des autres pour obtenir une nouvelle matrice de $nm$ lignes et $1$ colonnes.

Si je veux avoir une représentation plus intrinsèque, est-ce qu'en utilisant la propriété universelle du produit tensoriel dire que la vectorisation $\mathrm{vec}$ est l'application linéaire (et on montre que c'est en fait un isomorphisme) suivant
\[\xymatrix{
\mathbb{K}^{n\times m} \ar[drr]^{\mathrm{vec}} & & \\
\mathbb{K}^{n}\times\mathbb{K}^{m} \ar[rlu]^b\ar[rr]_B & & \mathbb{K}^{nm}
}
\]
avec $\mathbb{K}^{n\times m} \overset{\text{def.}}{=} \mathbb{K}^{n}\otimes\mathbb{K}^{m}$, et $b$ et $B$ les applications bilinaires adéquates ?


En admettant que c'est juste, quand on voit la matrice $M$ comme l'expression d'une application linéaire dans des bases données, dans ce type de chose on sous-entend l'identification de $\mathbb{K}^{m}$ avec son dual $(\mathbb{K}^{m})^*$ (ce qui implique d'avoir choisi un produit scalaire ?) ? Je dis ça car j'ai en tête l'espace des applications linéaires entre deux espaces vectoriels de dimensions finies $\mathcal{L}(E,F)$ et isomorphe à $F\otimes E^*$.

Je vous remercie par avance pour vos précieuses lumières.

Mister Da

Réponses

  • Je ne sais pas si ça peut t'aider, mais un avantage de l'écriture d'une application linéaire $f \in \mathcal{L}(E,F)$ comme un élément de $E^* \otimes F$, c'est qu'une écriture de la matrice dans les base $(e_i)$ et $(f_j)$ te donne les composantes de $\alpha \in E^* \otimes F$ sur la base $(e_i^* \otimes f_j)$. Une autre écriture matricielle (donc dans un autre espace) te donne une autre décomposition, mais sans changer d'espace, donc si l'on veut l'espace $E^* \otimes F$ est plus intrinsèque.

    Pour ce qui est de la première partie de ta question, il suffit d'appliquer ce qui précède en utilisant l'identification (canonique) $\mathcal{L}(k^{\oplus n},F) \simeq F^n$ pour voir ce qui se passe au niveau des tenseurs, puis composer avec une identification non canonique pour définir ce qu'est la matrice.

    Je ne suis pas sûr d'avoir vraiment compris ta question, cela dit...
    A.
  • Bonjour,

    merci beaucoup pour ton aide. Je suis d'accord avec tout ce que tu as dit. En fait ma question n'est pas claire. Je reprends avec un exemple.

    On considère une équation de la forme $\sum_i A_iXB_i = C$ où $A\in\mathbb{K}^{n\times n}$, $B\in\mathbb{K}^{m\times m}$ et $C\in\mathbb{K}^{n\times m}$ sont données et $ X\in\mathbb{K}^{n\times m}$ et l'inconnue. Pour l'heure, je vois les matrices comme de simples tableaux de valeurs (je ne cherche pas à les voir comme des représentation d'application linéaire dans des bases choisies).

    Une méthode possible pour résoudre est de tout "vectorialiser" ce qui donne $\left(\sum_i B_i^\mathrm{T}\otimes A_i\right)\operatorname{vec}X = \operatorname{vec}C$ où $B_i^\mathrm{T}$ désigne la matrice transposée de $B_i$ et $\otimes$ désigne le produit de Kronecker. Je l'ai toujours vu comme une manipulation mécanique astucieuse de tableaux de nombres.

    Il y a quelques temps j'ai découvert la propriété dite universelle du produit tensoriel et dès que je le peux j'essaye de m'en servir pour justifier des calculs que je fais de manière ad hoc jusqu'à présent histoire de me convaincre de la légitimité du calcul.

    Du coup j'aimerai faire rentrer proprement la "vectorialisation" dans ce cadre mais je patine. En dimension finie, je suis d'accord que $\mathcal{L}(E,F)$ est isomorphe à $F\otimes E^\star$ et c'est la chose la plus intrinsèque. Là où je suis embarrassé c'est que l’opérateur linéaire $\operatorname{vec}$ manipule de coordonnées (ce qui implique d'avoir choisi des bases au préalable).

    Le lien entre le produit de Kronecker (noté $\tilde{\otimes}$ pour l'occasion) et le produit tensoriel (noté $\otimes$) est le suivant, si je considère une application linéaire $u\in\mathcal{L}(E,F)$ de matrice $U$ (dans des bases données) et une application linéaire $v\in\mathcal{L}(G,H)$ de matrice $V$ alors l'application linéaire $u\otimes v\in\mathcal{L}(E\otimes G,F\otimes H)$ a pour matrice $U\tilde{\otimes}V$ (sous réserve d'avoir les bases compatibles avec les bases initiales).

    Est-ce que c'est plus clair (ou moins obscure) ?

    Je te remercie par avance pour ton aide.
    Cordialement,
    Mister Da
  • Est-ce que tu connais la notion de foncteur et d'isomorphisme naturel ?

    On a des applications linéaires $A : \R^n \to \R^n$ et $B : \R^m \to \R^m$. Cela donne l'application linéaire $X \mapsto A X B$ qui est un endomorphisme linéaire de $\DeclareMathOperator{\Hom}{Hom}\Hom(\R^n,\R^m)$. On a le diagramme commutatif suivant. Les flèches de gauche à droite sont celles données par fonctorialité (sauf pour la dernière ligne où ça n'a pas de sens). Les flèches haut/bas sont les isomorphismes naturels. Le diagramme commute par naturalité (sauf pour la dernière ligne, la flèche de la dernière ligne est définie pour que ça commute).

    \[\xymatrix{
    \Hom(\R^n,\R^m) \ar[r] \ar@{<->}[d] & \Hom(\R^n,\R^m) \ar@{<->}[d] \\
    (\R^n)^* \otimes \R^m \ar[r] \ar@{<->}[d] & (\R^n)^* \otimes \R^m \ar@{<->}[d] \\
    \R^n \otimes \R^m \ar[r] \ar@{<->}[d] & \R^n \otimes \R^m \ar@{<->}[d] \\
    \R^{n\times m} \ar[r] & \R^{n\times m}
    }\]

    Mais cette opération de "vectorisation" ne correspond pas à grand chose dans ce cadre. Quand on écrit $\R^n$, on a en tête l'espace vectoriel avec une base indexée par $\{1,\dots,n\}$. Étant donné un ensemble $I$, on peut considérer l'espace vectoriel $\R^{(I)}$ des combinaisons linéaires formelles d'éléments de $I$. Par exemple on pourrait prendre $I = \{\text{rouge}, \text{bleu}\}$ et alors $\R^{(I)}$ est l'ensemble des $\alpha \text{ rouge} + \beta \text{ bleu}$. Mais il n'y a pas d'ordre sur {rouge, bleu}, il n'y a pas de manière de décider si $(1,2)$ dénote $\text{rouge} + 2\text{ bleu}$ ou bien $\text{bleu} + 2\text{ rouge}$. Dans l'isomorphisme $\R^n \otimes \R^m \cong \R^{n\times m}$, il ne faut pas voir $n\times m$ comme l'ensemble $\{1,\dots,nm\}$ mais comme l'ensemble $\{1,\dots,n\} \times \{1,\dots,m\}$. Quand on donne une application linéaire $\R^n \to \R^m$ comme un tableau de nombres (matrice), c'est donc déjà sous forme "vectorisée", et après on peut décider d'écrire ces nombres les uns au-dessus des autres au lieu de dans un tableau, ça ne change rien (mais quand on calcule sur un ordinateur, souvent on doit choisir un ordre).

    Revenons à l'application $X \mapsto A X B$. Implicitement, tu vois $X$ dans $\R^{n\times m}$. Mais l'application est donnée du point de vue $\Hom(\R^n,\R^m)$, et donc la "manipulation mécanique astucieuse de tableaux de nombres" consiste à transcrire cette application du point de vue $\R^{n\times m}$ (via le diagramme plus haut), peut-être afin de pouvoir effectuer des calculs.

    edit : Ah, quand j'ai écrit $\R^{n×m}$, je ne prenais pas la définition comme $\R^n \otimes \R^m$ que tu as donnée dans le premier message.
  • Bonjour,
    merci beaucoup pour ton message très instructif !
    Pour être tout à fait honnête je ne connais pas du tout les catégories. Ainsi j'ai déjà vu les mots "foncteurs" et "transformation naturelle" mais ça s'arrête là.

    Si j'essaye de traduire un peu, en considérant deux espaces vectoriels $E$ et $F$ de dimensions finies (comme ça on a moins à réfléchir et par la suite dans mon cas je prendrais $E=\mathbb{R}^n$ et $F=\mathbb{R}^m$), $A\in\mathcal{L}(E,E)$, $B\in\mathcal{L}(F,F)$, alors $X\in\mathcal{L}(F,E)$. L'application linéaire $\Phi\colon X \mapsto AXB$ est donc un élément de $\mathcal{L}(\mathcal{L}(F,E)\;,\;\mathcal{L}(F,E))$. Quand on écrit

    $\Psi\colon x \mapsto (B^\mathrm{T}\otimes A)x$ de manière à avoir $\Psi(\operatorname{vec}(X)) = \operatorname{vec}(\Phi(X))$ ça serait pour désigner l'application $\mathcal{L}(E\otimes F^*\;,\;E\otimes F^*)$ ?

    Pour la définition de $\mathbb{R}^{n\times m}$ j'avais juste écrit comme ça, je ne suis pas convaincu que ça soit courant.

    Bon j'ai l'impression de tourner en rond car je viens de me rendre compte que je viens de dire la même chose que mon premier message...

    Cordialement,
    Mister Da
  • Bonjour,

    Peut-être que ce serait mieux de prendre $\DeclareMathOperator{\L}{\mathcal{L}}A \in \L(E,E')$ et $B \in \L(F,F')$. Ça donne l'application $\Phi : \L(F',E) \to \L(F,E')$. On voit que $A$ est utilisé « dans le sens direct » et que $B$ est utilisé « dans l'autre sens ».

    > Quand on écrit $\Psi\colon x \mapsto (B^\mathrm{T}\otimes A)x$ de manière à avoir $\Psi(\operatorname{vec}(X)) = \operatorname{vec}(\Phi(X))$ ça serait pour désigner l'application $\mathcal{L}(E\otimes F^*\;,\;E\otimes F^*)$ ?

    Attention, $B^T$ ne va pas de $F^*$ vers $F^*$. C'est $B^* \otimes A$ qui va de $F^* \otimes E$ vers $F^* \otimes E$.
    Oui, c'est ça, si tu notes $\DeclareMathOperator{\vec}{vec}\vec$ l'isomorphisme $\L(F,E) \to F^* \otimes E$.

    Regardons déjà l'isomorphisme $\L(X,Y) \cong X^* \otimes Y$.
    Le sens naturel pour définir cet isomorphisme est $X^* \otimes Y \to \L(X,Y)$. Le tenseur $f \otimes u$ est envoyé sur l'application $x \mapsto f(x)u$. Une manière de voir ça est de regarder le vecteur $u$ comme une application linéaire $\R \to Y$ et alors $f \otimes u$ est envoyé sur la composée de $f$ et $u$. C'est bijectif en dimension finie (pourquoi ?), donc c'est un isomorphisme.

    Le problème est de savoir à quoi ressemble $\Phi$ mais en la regardant comme une application $F'^* \otimes E \to F^* \otimes E'$ plutôt que $\L(F',E) \to \L(F,E')$. C'est un « changement de base ».

    \[\xymatrix{
    \L(F',E) \ar[r]^-{\Phi} \ar@{<->}[d] & \L(F,E') \ar@{<->}[d] \\
    F'^* \otimes E \ar[r]^-{?} & F^* \otimes E'
    }\]

    La réponse est qu'il s'agit juste de $B^T \otimes A$, avec $B^T : F'^* \to F^*$ le dual de $B$. Pour le voir, prends un tenseur $f \otimes u$ dans $F'^* \otimes E$ (en regardant $u$ comme une application linéaire $\R \to E$), et vérifies que les deux chemins possibles l'envoient au même endroit dans $\L(F,E')$. (Il s'agit de l'associativité de la composition.)

    Supposons maintenant qu'on dispose de bases pour $F$ et $F'$, que ce sont des puissances de $\R$. On a alors les bases duales de $F^*$ et $F'^*$. La matrice de $B^T$ (dans ces bases duales) est alors la transposée de la matrice de $B$.

    Considérer des bases permet d'effectuer des calculs. La version calculatoire d'une application linéaire est une matrice. La version calculatoire de $B^T$ (où $B$ est une application linéaire) est la transposée de $B$ (où $B$ est une matrice). La version calculatoire du produit tensoriel est le produit de Kronecker.

    Ça s'exprime dans la catégorie des espaces vectoriels munis d'une base finie. On a une projection vers la catégorie des espaces vectoriels de dimension finie, et une projection vers la catégorie des $\R^n$ (des équivalences en fait).

    La version calculatoire de $\Phi$ est donc $B^T \tilde{\otimes} A$.

    > ce qui implique d'avoir choisi un produit scalaire ?

    Ça donne un produit scalaire, oui, on a un produit scalaire canonique sur $\R^n$ donné par la construction « base duale ». Et la transposition correspond à prendre l'adjoint d'une application linéaire pour ce produit scalaire.

    edit : Échange de $B^T$ et $B^*$.
  • Bonjour
    Merci énormément pour le temps que tu me consacres ! C'est super sympa.
    Avec ton message, les pièces du puzzle sont en train de se mettre en place mais avant d'attaquer le fond, je suis pris d'un effroyable doute. Si on considère une application linéaire entre deux espaces vectoriels $A\colon E\to F$, en notant $E^*$ et $F^*$ les duaux et $(\cdot\mid\cdot)_E$, $(\cdot\mid\cdot)_F$ les produits scalaires et $\langle\cdot\mid\cdot\rangle_E$, $\langle\cdot\mid\cdot\rangle_F$, les crochets de dualité. Une fois des bases choisies, on note $\mathbf{A}$ la matrice représentant l'application $A$.

    Je pensais que l'on notait
    • $A^\mathrm{T}$ l'application de $F^*\to E^*$ telle que $\langle \nu \mid Ae \rangle _F = \langle A^\mathrm{T}\nu \mid e\rangle _E$ pour tout $e$ de $E$ et $\nu$ de $F^*$. Et qu'on l'appelait l'application tangente ou duale ou transpose, la matrice la représentant est la transposée de $\mathbf{A}$.
    • $A^*$ l'application de $F\to E$ telle que $(f\mid Ae)_F = (A^*f\mid e)_E$ pour tout $e$ de $E$ et $f$ de $F$. Et qu'on l'appelait l'application adjointe, la matrice la représentant est la transposée conjuguée de $\mathbf{A}$
    Me fourvoié-je ?
    Cordialement,
    Mister Da
  • Oui, tu as raison ! Du coup c'était bien $B^T$, je rectifie dans mon message. J'avais oublié que j'emploie d'autres notations (je note $A^\dagger$ pour l'adjointe, $A^*$ pour la duale, $A^T$ pour la transposée (il s'agit de $A^*$ vue dans les bases duales)).
  • Du coup, tu notes $\operatorname{vec}$ l'isomorphisme $\L(F,E) \to F^* \otimes E$, mais d'après ce que j'ai compris cette vectorisation serait plutôt quelque chose comme l'isomorphisme entre $\L(\R^n,\R^m) \to \R^{n \times m}$, qui peut se construire sans produit tensoriel.
  • $\DeclareMathOperator{\L}{\mathcal{L}}$
    Bonjour,

    merci beaucoup pour ta réponse. Bon finalement j'ai la sensation que tout se goupille bien non ? J'ai tout repris au brouillon (et je viens de me rendre compte que j'ai changé les notations en cours de route...)

    Au final, en se donnant deux applications linéaires $e\in\L(E_1,E_2)$ et $f\in\L(F_1,F_2)$ on construit deux nouvelles applications :
    1. $\Phi_{e,f} \in \L(\;\L(F_2,E_1)\;,\;\L(F_1,E_2)\;)$ définie par

      $$
      \begin{array}{rrcl}
      \Phi_{e,f} \colon & \L(F_2,E_1) & \to & \L(F_1,E_2)\\
      &x&\mapsto & e\circ x \circ f\\
      \end{array}
      $$
    2. $\Psi_{e,f} = f^\mathrm{T}\otimes e \in \L(F_2^*\otimes E_1, F_1^*\otimes E_2)$

    qui donnent le diagramme (les $\varphi_i$ sont les isomorphismes qui vont bien) suivant (qui, je suppose, commute)

    \[\xymatrix{
    \L(F_2,E_1) \ar[r]^-{\Phi_{e,f} } \ar@{<->}[d]^{\varphi_1} & \L(F_1,E_2)
    \ar@{<->}[d]^{\varphi_2} \\
    F_2^* \otimes E_1 \ar[r]^-{\Psi_{e,f}} & F_1^* \otimes E_2
    }\]

    Et donc une fois des bases choisies, si $X$ est la matrice rectangulaire aux dimensions compatibles avec les dimensions des espaces $F_2$ et $E_1$ qui représente l'application $x\in\L(F_2,E_1)$ alors la matrice $\operatorname{vec}(X)$ est la matrice qui représente $\varphi_1(x) \in F_2^*\otimes E_1$.

    Ca semble tenir la route non ?

    Encore merci pour ton aide.

    Cordialement,
    Mister Da
  • Je voudrais juste rajouter quelques trucs. Tu dis plus haut

    > Une méthode possible pour résoudre est de tout "vectorialiser" ce qui donne etc.

    Il y a deux idées mélangées dans la suite : exprimer l'application linéaire $X \mapsto AXB$ sous forme matricielle et utiliser le produit tensoriel et la transposition pour faire ça.

    Pour exprimer $X \mapsto AXB$ sous forme matricielle, on décompose l'image de chaque élément d'une base de $\L(F_2,E_1)$ dans une base de $\L(F_1,E_2)$. Des bases pour $V$ et $W$ donnent une base canonique pour $\L(V,W)$, il s'agit des éléments représentés par des matrices avec un 1 à un endroit et des 0 partout ailleurs. Ensuite, mais ça n'est pas nécessaire, on voit qu'on peut exprimer cela à l'aide du produit tensoriel et de la transposition, parce que le diagramme que tu as dessiné commute. (Mais au final, cela ne fait que reporter le problème à celui d'exprimer $f \otimes g$ sous forme matricielle.)

    Un autre truc, c'est que quand on a des bases de $V$ et $W$, ça donne donc des bases de $\L(V,W)$ et $V^* \otimes W$, et l'isomorphisme canonique entre les deux devient l'identité dans ces bases (elles sont indexées par les mêmes ensembles). C'est ce qui permet de pouvoir obtenir directement la décomposition de $\Phi_{A,B}$ à partir de celle de $B^T \otimes A$, sans effectuer de changement de base.

    Et puis sinon, concernant cette opération de vectorisation, tu dis que ça consiste à prendre une matrice et mettre bout-à-bout les colonnes, mais ça c'est indépendant de l'isomorphisme $\L(V,W) \cong V^* \otimes W$. Ça sert surtout pour des besoins pratiques quand on effectue des calculs et qu'on veut employer la notation sous forme de tableau bidimentionnel. C'est juste une histoire de réarranger comment on note les choses, mais ça ne correspond à rien mathématiquement.
  • $\DeclareMathOperator{\v}{vec}\DeclareMathOperator{\L}{\mathcal{L}}$
    Bonjour,

    merci pour ton message. D'accord, je vois ce que tu me dis. Je tente un résumé avec mes mots.

    En fait je faisais une sorte de "reverse engineering" pour parler en bon français. Je suis parti du constat que dans le calcul que je faisais on avait $\v(AXB) = (B^\mathsf{T}\tilde{\otimes}A)\v(X)$ avec $A$, $B$ et $X$ des matrices aux bonnes dimensions et $\tilde{\otimes}$ le produit de Kronecker. Niveau calculatoire tout se passe bien et je peux m'arrêter là.

    Connaissant vaguement un lien entre le produit tensoriel de deux applications avec le produit de Kronecker de leurs matrices représentatives dans des bases je me suis dit qu'il devait y avoir quelques chose de plus profond et je me suis donc dit que $B^\mathsf{T}\tilde{\otimes}A$ devait être la matrice de l'application $b^\mathsf{T}\otimes a$ (où $a$ et $b$ sont les fameuses application linéaires représentée par $A$ et $B$ et $\otimes$ le produit tensoriel. Du coup je me suis demandé ce que pouvait être cette mystérieuse opération $\v$.

    Ce que tu essayes de me dire, c'est que si je prends une application $a\colon E\to F$ et deux bases $\mathcal{E}=\{e_1,\dots,e_n\}$ et $\mathcal{F}=\{e_1,\dots,e_m\}$, le fait de dire qu'on va voir un vecteur $v=\sum_{i=1}^n v_ie_i$ comme une matrice colonne $\mathbf{v} = \left[\begin{array}{c}v_1\\\vdots\\v_n\end{array}\right]$ est déjà une sorte de vectorisation.

    La matrice $A$ représentant l'application $a$ s'écrit dans les bases $A = \left[\begin{array}{ccc}a_{11} & \dots & a_{1n}\\\vdots&\ddots&\vdots\\a_{m1} & \dots & a_{mn}\end{array}\right]$.

    On peut également écrire $A = \sum_{i=1}^{nm} \tilde{a}_i M_i$ où la matrice $M_{(i-1)n+j}$ avec un $1$ en $i$ème ligne et $j$ème colonne. L'ensemble des matrices formant une base on peut décider d'écrire (comme précédemment pour le vecteur $v$) la matrice $\mathbf{A} = \left[\begin{array}{c}\tilde{a}_1\\\vdots\\\tilde{a}_{nm}\end{array}\right]$ avec $\tilde{a}_{(i-1)n+j} = a_{ij}$.

    Pour en revenir au diagramme
    \[\xymatrix{
    \L(F_2,E_1) \ar[r]^-{\Phi_{e,f} } \ar@{<->}[d]^{\varphi_1} & \L(F_1,E_2)
    \ar@{<->}[d]^{\varphi_2} \\
    F_2^* \otimes E_1 \ar[r]^-{\Psi_{e,f}} & F_1^* \otimes E_2
    }\]
    Ce que je peux convenir de dire alors c'est que l'application $\Phi_{e,f}\colon x\mapsto e\circ x\circ f$ en prenant la convention "matrice rectangulaire" comme ceci $X\mapsto EXF$ et si je prends comme convention "matrice colonne" comme ceci $X\mapsto (F^\mathsf{T}\tilde{\otimes}E)X$ où $\tilde{\otimes}$ est le produit de Kronecker point à la ligne.

    Ce que je peux également convenir de dire, c'est que je garde exclusivement la convention "matrice rectangulaire" pour désigner un élément de $x\in\L(F_2,E_1)$ que je note $X$ et garder exclusivement la convention "matrice colonne" pour un élément de $F_2^* \otimes E_1$ que je noterai alors $\v X$ (car j'identifie $x$ avec $\varphi_1(x)$. Et dans ce cas, on peut voir que le produit de Kronecker $\tilde{\otimes}$ est lié avec le produit tensoriel.

    J'espère que ma tartine n'est pas trop indigeste.
    Est-ce une bonne tentative de résumé ?

    Cordialement,
    Mister Da
  • Ouais, je pense que ça va.
  • Bonjour,


    Merci beaucoup pour ton aide !

    Cordialement,
    Mister Da
Connectez-vous ou Inscrivez-vous pour répondre.