mtimes, *
矩阵乘法
说明
示例
输入参数
输出参量
提示
使用链式矩阵乘法,例如
A*B*C
,您可能可以使用圆括号来指定运算顺序,从而缩短执行时间。以三个矩阵相乘A*B*C
为例,其中A
为 500×2,B
为 2×500,C
为 500×2。在不使用圆括号的情况下,运算顺序从左到右,因此先计算
A*B
,形成 500×500 矩阵。随后将该矩阵与C
相乘,得到 500×2 的结果。如果您改为指定
A*(B*C)
,则首先将B*C
相乘,生成 2×2 矩阵。然后,这个小矩阵乘以A
,同样得到 500×2 的结果,但运算量更少,中间内存使用量更少。
参考
[1] “BLAS (Basic Linear Algebra Subprograms).” Accessed July 18, 2022. https://netlib.org/blas/.
[2] Davis, Timothy A. “Algorithm 1000: SuiteSparse:GraphBLAS: Graph Algorithms in the Language of Sparse Linear Algebra.” ACM Transactions on Mathematical Software 45, no. 4 (December 31, 2019): 1–25. https://doi.org/10.1145/3322125.