寻找numpy.linalg.norm的3D版本
我在找一个Python里的内置函数,想要计算一个三维数组的弗罗贝纽斯范数。
我现在的做法是:
np.sqrt(np.sum(np.square(x[:,:,:])))
但是对于我数组的大小来说,这个方法太慢了。
有没有什么好的建议?
提前谢谢大家...
1 个回答
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