源代码位置和矢量化数组操作的解释

时间:2017-08-09 23:08:39

标签: python numpy

我正在尝试找到包含基本矢量化数组操作的NumPy .c文件。例如,我想知道当你执行像a + 5这样的数组的标量添加之类的简单操作时运行什么代码,或执行像a.sum()这样的聚合。我相信ndarray对象gets declared here

我还想知道BLAS或LAPACK等线性代数库是否与这些基本算术运算有关?代码是否像在C数组上循环迭代一样简单,还是有一些神奇的方式可以让计算机在没有for循环的连续数组上进行基本操作?

1 个答案:

答案 0 :(得分:3)

大部分内容都在numpy/core/src/umath/loops.c.src。这是NumPy用来生成大量非常相似的C函数的模板文件。不涉及BLAS或LAPACK电话。