三个稠密矩阵A,B,C的乘积ABC,假设三个矩阵的尺寸分别为mn,np,pq,且m<n<p<q,以下计算顺序效率最高的是?

题目

在深度学习中,涉及到大量矩阵相乘,现在需要计算三个稠密矩阵A,B,C的乘积ABC,假设三个矩阵的尺寸分别为mn,np,p*q,且m<n<p<q,以下计算顺序效率最高的是:()

a. A(BC)
b. (AB)C
c. (AC)B
d. 所有效率都相同

选择 b

二、解题

矩阵乘积数学公式:

假设存在两个矩阵A为m×n矩阵,B为k×l矩阵,若需要计算AB则必须n=k,若需要计算BA必须l=m否则无法进行计算,
先假定n=k即B为n×l矩阵则AB的结果为一个m×l的矩阵并且该矩阵每个点的元素的值表示为Cij则:
image
image

ab,bc两矩阵相乘效率为acb
ABC=(AB)C=A(BC).
(AB)C 的计算量是 mnp + mpq,
A(BC) 的计算量是 npq + mnq.

其中 mnp < mnq, mpq < npq
所以 (AB)C 最小


参考:
https://blog.csdn.net/weixin_46838716/article/details/125227612

posted @ 2022-09-05 13:49  麦克斯的园丁  阅读(438)  评论(0编辑  收藏  举报