我将numpy uses pairwise summation读取为计算总和的默认算法( numpy github存储库的一个pull request也证实了这一点)
因此,对于如下所示的代码片段,一般如下:
data = np.ones((1000,1000))
sum = np.sum(data)
print(sum)两两求和的运行时间复杂度是多少?由于它遵循类似于divide and conquer的贪婪方法,因此它必须在log级别上,但我不确定确切的等式。
发布于 2019-03-29 23:20:49
成对求和执行的加法次数与朴素求和完全相同。
但是,如果您要将浮点数相加,那么天真的求和结果就是在末尾将小数字与大数字相加。这会导致接近末尾的数字遭受更大的舍入误差。
因此,最好使用成对求和。
https://stackoverflow.com/questions/55419430
复制相似问题