Как сделать векторизацию для суммирования для реализации октавы?
Я пытаюсь понять преобразование формы суммирования в векторизацию (или форму умножения матриц), чтобы реализовать ее на каком-либо языке программирования (октаву, питон или что-то еще) без использования циклов for.
Выражение, которое я хочу векторизовать, это

Документ, из которого я получил эту форму, пытался объяснить процесс

Пока это ясно, за исключением (1), который в документе пытались объяснить следующим образом:

Я был сбит с толку, потому что то, что я знаю из умножения матриц, - это умножение строки на столбец. Я не могу понять этот шаг, где умножение здесь похоже на умножение столбца на строку.
Не могли бы вы объяснить последний шаг немного подробнее?
Ответы
Вы можете рассматривать вектор-столбец как элемент матрицы. Позвольте мне объяснить на простом примере.
Поддержите $A$ представляет собой матрицу 3 на 3 и $\vec{a_i}$ это его $i$-й вектор-столбец.
$$ 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} $$ для некоторого трехмерного вектора $\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} $$