寻找numpy.linalg.norm的3D版本

时间:2014-08-04 14:04:49

标签: python performance numpy norm

我正在寻找python中的内置函数。它应该计算3D数组的frobenius范数。 我目前的做法是:

    np.sqrt(np.sum(np.square(x[:,:,:])))

但这对于我的数组来说太慢了。 有什么想法吗?

提前致谢...

1 个答案:

答案 0 :(得分:2)

np.linalg.norm可以在更高维数组上正常工作:

x = np.random.randn(100, 100, 100)
print np.allclose(np.linalg.norm(x), np.sqrt(np.sum(np.square(x))))
# True