python三维、四维数组相乘
没找到规则,只能通过具体例子理解,有知道具体规则的望不吝赐教。
例1,三维数组相乘
import numpy as np
a=np.zeros((2,2,2))
a[:,:,0]=([[3,6],[5,8]])
a[:,:,1]=([[2,5],[7,2]])
b=np.zeros((2,2,2))
b[:,:,0]=([[3,2],[9,6]])
b[:,:,1]=([[7,8],[1,0]])
c=a*b
则三维矩阵a、b的两页分别是:
则c=a*b为a、b的两页分别相乘(注意:这里是点乘),得结果为
可看出c的维数为(2,2,2)。
例2,四维数组相乘
import numpy as np
a=np.zeros((2,2,2,2))
a[:,:,0,0]=([[0,8],[3,6]])
a[:,:,0,1]=([[5,1],[4,7]])
a[:,:,1,0]=([[9,2],[5,7]])
a[:,:,1,1]=([[2,0],[3,9]])
b=np.zeros((2,1,1,2))
b[:,0,0,0]=([3,2])
b[:,0,0,1]=([9,4])
c=a*b
自定义称第四维为张,则四维矩阵a、b对应的不同张、页分别是:
将a的每张每页与b的每张每页对应相乘(注意:这里仍是点乘),b在由两行一列补成了两行两列进行相乘。
c的维度为(2,2,2,2)。
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。