Comment faire la vectorisation pour la sommation pour l'implémentation d'octave?
J'essaie de comprendre la transformation d'une forme de sommation en vectorisation (ou une forme de multiplications matricielles) afin de l'implémenter dans un langage de programmation (octave ou python ou autre) sans utiliser de boucles.
L'expression que je veux vectoriser est celle-ci

Le document à partir duquel j'ai obtenu ce formulaire tentait d'expliquer le processus

Jusqu'à présent, c'est clair sauf pour (1) que le document a essayé d'expliquer comme ceci :

Je me sentais confus parce que ce que je sais de la multiplication matricielle est de multiplier une ligne par une colonne. Je ne peux pas comprendre cette étape où la multiplication ici revient à multiplier une colonne par une ligne.
Pourriez-vous expliquer la dernière étape un peu plus loin?
Réponses
Vous pouvez considérer un vecteur colonne comme un élément de la matrice. Laissez-moi vous expliquer avec un exemple simple.
Soutenez le$A$est une matrice 3 par 3 et$\vec{a_i}$est son$i$ème vecteur colonne.
$$ A = \begin{bmatrix} a & b & c \\ d & e & f \\ g & h & i \end{bmatrix} = \begin{bmatrix} \vec{a_1} & \vec{a_2} & \vec{a_3} \end{bmatrix} $$pour un vecteur tridimensionnel$\vec{v} = \begin{bmatrix} x & y & z \end{bmatrix} $,
$$ \begin{align} &A\vec{x}\\ &= \begin{bmatrix} ax + by + cz \\ dx + ey + fz \\ gx + hy + iz \end{bmatrix} \\ &= \begin{bmatrix} ax \\ dx \\ gx \end{bmatrix} + \begin{bmatrix} by \\ ey \\ hy \end{bmatrix} + \begin{bmatrix} cz \\ fz \\ iz \end{bmatrix}\\ &=x\vec{a_1} + y\vec{a_2} + z\vec{a_3} \\ &= \begin{bmatrix} \vec{a_1} & \vec{a_2} & \vec{a_3} \end{bmatrix} \begin{bmatrix} x \\ y \\ z \end{bmatrix} \\ &= \begin{bmatrix} \vec{a_1} & \vec{a_2} & \vec{a_3} \end{bmatrix} * \vec{v} \end{align} $$