我正在尝试找到包含基本矢量化数组操作的NumPy .c
文件。例如,我想知道当你执行像a + 5
这样的数组的标量添加之类的简单操作时运行什么代码,或执行像a.sum()
这样的聚合。我相信ndarray对象gets declared here。
我还想知道BLAS或LAPACK等线性代数库是否与这些基本算术运算有关?代码是否像在C数组上循环迭代一样简单,还是有一些神奇的方式可以让计算机在没有for循环的连续数组上进行基本操作?
答案 0 :(得分:3)
大部分内容都在numpy/core/src/umath/loops.c.src
。这是NumPy用来生成大量非常相似的C函数的模板文件。不涉及BLAS或LAPACK电话。