00 – 线性组合计算(Linear Combination)

线代的基础操作之一就是线性组合,Linear Combination。具体表现在两个Matrix/Vector之间的无符号的相乘。以下是常见的线性组合用法:

两个Vector

\(\begin{bmatrix}a\\ b\\ c\\ \end{bmatrix} \begin{bmatrix}d\\ e\\ f\\ \end{bmatrix}\)

此时计算它们的linear combination只需要计算:

\(a*d+b*e+c*f\)

结果是一个常数/标量(Scalar)。此时Vector的列数必须完全一致。

Vector和Matrix

\(\begin{bmatrix}a\\ b\\ c\\ \end{bmatrix} \begin{bmatrix}d & e & f\\ g & h & i\\ j & k & l\\ \end{bmatrix}\)

此时则需要计算:

\(a * \begin{bmatrix}d\\ g\\ j\\ \end{bmatrix}+b * \begin{bmatrix}b\\ h\\ k\\ \end{bmatrix}+c * \begin{bmatrix}f\\ i\\ l\\ \end{bmatrix}\)

得到的结果则是一个向量(Vector)。这种计算中我们需要vector的行数等于Matrix的列数。最终得出的vector与初始Vector有着一致的列数(这个例子最终的答案为一个三维vector)。

Matrix与Matrix

\(\begin{bmatrix}1 & 2&3\\ 4& 5&6\\ \end{bmatrix} \begin{bmatrix}d & e & f\\ g & h & i\\ j & k & l\\ \end{bmatrix}\)

由于是一个2*3矩阵和一个3*3矩阵相乘,这个式子会得出一个2*3矩阵:

\(\begin{align*} \begin{bmatrix}1 & 2& 3\\4& 5&6\\ \end{bmatrix} \begin{bmatrix}d & e & f\\ g & h & i\\ j & k & l\\ \end{bmatrix} &= \begin{bmatrix} \begin{bmatrix}1 \\ 2 \\ 3\end{bmatrix}\begin{bmatrix}d \\ g \\ j\end{bmatrix} & \begin{bmatrix}1 \\ 2 \\ 3\end{bmatrix}\begin{bmatrix}e \\ h \\ k\end{bmatrix} & \begin{bmatrix}1 \\ 2 \\ 3\end{bmatrix}\begin{bmatrix}f \\ i \\ k\end{bmatrix}\\ \begin{bmatrix}4 \\ 5 \\ 6\end{bmatrix}\begin{bmatrix}d \\ g \\ j\end{bmatrix} & \begin{bmatrix}4 \\ 5 \\ 6\end{bmatrix}\begin{bmatrix}e \\ h \\ k\end{bmatrix} & \begin{bmatrix}4 \\ 5 \\ 6\end{bmatrix}\begin{bmatrix}f \\ i \\ l\end{bmatrix}\end{bmatrix}\\\\ &= \begin{bmatrix}1d+2g+3j & 1e+2h+3k& 1f+2i+3k\\4d+5g+6j& 4e+5h+6k&4f+5i+6l\\ \end{bmatrix}\end{align*}\)

用语言描述的话,就是逐行乘逐列。因此,矩阵相乘必须保证第一个矩阵的列数等于第二个矩阵的行数。

\(n*m\) 的矩阵A和 \(m*k\) 的矩阵B相乘,得出的结果会是一个 \(n*k\) 的矩阵。

注意,对于Matrix和Matrix相乘的所有属性也都体现在前两种Linear Combinations之中

目前先写到这存个档,有空再进一步优化语言,让他更容易看懂。

所有内容由本人整理创作,未经允许请勿转载。

Scroll to Top