Python中矩阵乘法的快速方法

2024-05-01 17:20:59 发布

您现在位置:Python中文网/ 问答频道 /正文

有没有人知道一种快速计算矩阵的方法,比如:

Z{i,j}  = \sum_{p,k,l,q} \frac{A_{ip} B_{pk} C_{kl} D_{lq} E_{qj} }{a_p - b_q - c}

enter image description here

对于正规矩阵乘法,我会使用numpy.dot(a,b),,但是现在我要用$a_p$和{}来除元素。在

有什么建议吗?在

关于如何计算有什么建议吗

^{pr2}$

也会有很大的帮助。在


Tags: 方法ipnumpy元素矩阵dot建议sum
1条回答
网友
1楼 · 发布于 2024-05-01 17:20:59

请注意,(E[i, p] * B[p, j]) / m[p]等于E[i, p] * (B[p, j] / m[p]),因此可以在调用np.dot之前将{}分成{}。在

def f(E, B, m):
    B = np.asarray(B)  # matrix
    m = np.asarray(m).reshape((B.shape[0], 1))  # row vector
    return np.dot(E, B / m)  # m is broadcasted to match B

相关问题 更多 >