Numpy:如何在张量上正确执行点积

时间:2018-12-05 03:40:45

标签: python numpy linear-algebra gaussian tensor

假设我不想在某个域上绘制二维高斯函数

enter image description here

A = 1,其中sigma是2x2矩阵,x是mu 2维矢量:

base = np.linspace(-1, 1, size)
x = np.array(np.meshgrid(base, base))
mu = np.array([x_0, x_1])
sigma = np.array([[a, b],
                  [b, c]])

我有一个x,其形状为(2, size, size),我想要一个形状为r的结果矩阵(size, size),其中每个条目r[i,j]对应于{{1 }}。

我的第一个尝试是f(x[:,i,j])函数,但是如果不单独处理Meshgrid的矩阵,这并不是一件容易的事,而且我看过矢量化函数并不是解决方案性能最佳的方法。然后我发现np.vectorize,但是

np.tensordot

产生cent = x.T - mu np.tensordot(cent, np.tensordot(sigma, cent, axes=[0, 2]), axes=[2, 0]).shape 形状,所以有些东西我做错了。

如何将这样的矢量计算应用于张量结构?

1 个答案:

答案 0 :(得分:2)

methods: { onInputAdminRoles (isCheck, roleId) { if (isCheck) { this.adminRolePermissions = this.adminRolePermissions.concat([roleId]) } else { this.adminRolePermissions = this.adminRolePermissions.filter (item => item !== roleId) } } } 是一种选择:

np.einsum