LWZ*_*LWZ 5 python numpy matrix matrix-multiplication
我想昨天我问错了问题。我真正想要的是将两个2x2xN矩阵加A和B,这样
C[:,:,i] = dot(A[:,:,i], B[:,:,i])
Run Code Online (Sandbox Code Playgroud)
例如,如果我有一个矩阵
A = np.arange(12).reshape(2, 2, 3)
Run Code Online (Sandbox Code Playgroud)
如何获得C = A x A上述定义?有内置的功能可以做到这一点吗?
另外,如果我乘A (shape 2x2xN)用B (shape 2x2x1, instead of N),我想
C[:,:,i] = dot(A[:,:,i], B[:,:,1])
Run Code Online (Sandbox Code Playgroud)
尝试使用numpy.einsum,它有一点学习曲线,但它应该给你你想要的。这是一个帮助您入门的示例。
import numpy as np
A = np.random.random((2, 2, 3))
B = np.random.random((2, 2, 3))
C1 = np.empty((2, 2, 3))
for i in range(3):
C1[:, :, i] = np.dot(A[:, :, i], B[:, :, i])
C2 = np.einsum('ijn,jkn->ikn', A, B)
np.allclose(C1, C2)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2360 次 |
| 最近记录: |