用Octave计算矩阵结合律(2)
广告
{{v.name}}
矩阵乘法结合律:\((AB)C = A(BC)\)。
结合律意味着计算多个矩阵乘积时可以任意加括号分组,从而选择计算量最小的顺序。例如在深度学习中,\(A \cdot B \cdot v\)先算\(B \cdot v\)再左乘\(A\)效率更高。
Octave计算方法:通过(A * B) * C和A * (B * C)比较结果。
矩阵结合律:\((AB)C=A(BC)\)
计算\( \left( \left[ \begin{array}{ccc}
1 & 2 \\
3 & 4
\end{array} \right] \left[ \begin{array}{ccc}
5 & 6 \\
7 & 8
\end{array} \right] \right) \left[ \begin{array}{ccc}
5 & 6 \\
7 & 8
\end{array} \right]\)和\( \left[ \begin{array}{ccc}
1 & 2 \\
3 & 4
\end{array} \right] \left( \left[ \begin{array}{ccc}
5 & 6 \\
7 & 8
\end{array} \right] \left[ \begin{array}{ccc}
5 & 6 \\
7 & 8
\end{array} \right] \right)\)
程序代码如下
>> ([1 2; 3 4] * [5 6; 7 8]) * [5 6; 7 8]
ans =
249 290
565 658
>> [1 2; 3 4] * ([5 6; 7 8] * [5 6; 7 8])
ans =
249 290
565 658