Bagaimana melakukan vektorisasi untuk penjumlahan untuk implementasi oktaf?
Saya mencoba memahami transformasi dari bentuk penjumlahan ke vektorisasi (atau bentuk perkalian matriks) untuk menerapkannya dalam beberapa bahasa pemrograman (oktaf atau python atau apa pun) tanpa menggunakan for loop.
Ekspresi yang ingin saya vektorkan adalah ini
Dokumen yang saya dapatkan dari formulir ini mencoba menjelaskan prosesnya
Sejauh ini sudah jelas kecuali (1) yang coba dijelaskan oleh dokumen seperti ini:
Saya merasa bingung karena yang saya ketahui dari perkalian matriks adalah mengalikan baris dengan kolom. Saya tidak dapat memahami langkah ini di mana perkalian di sini seperti mengalikan kolom dengan baris.
Bisakah Anda menjelaskan langkah terakhir sedikit lebih jauh?
Jawaban
Anda dapat menganggap vektor kolom sebagai elemen matriks. Izinkan saya menjelaskan dengan contoh sederhana.
Dukung $A$ adalah matriks 3 kali 3 dan $\vec{a_i}$ adalah miliknya $i$vektor kolom.
$$ 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} $$ untuk beberapa vektor 3 dimensi $\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} $$