Numpy correlate-underlying代码

时间:2018-04-02 09:25:39

标签: python numpy

numpy.correlate的底层python代码是什么? 我试图理解互相关的逻辑。底层的python代码将会有很大的帮助。

1 个答案:

答案 0 :(得分:0)

所有代码都在您系统的某个位置,您只需找到位置即可 如果您使用的是ipython,则帮助命令(numpy.correlate?)包含文件路径(在末尾的第二行)。 在我的系统上它是“/usr/local/lib/python3.5/dist-packages/numpy/core/numeric.py “ 如果您没有使用ipythonnumpy.__file__将为您提供模块安装目录的路径,您将不得不环顾四周。 help(numpy.correlate)给出的模块名称会给出一些提示。

但是,一旦找到该文件,您将看到numpy.correlate仅执行以下操作:

mode = _mode_from_name(mode)
return multiarray.correlate2(a, v, mode)

这是一个编译过的函数,因此找到它有点困难。 您可以查看文件here,主要功能从第1353行开始定义,实际算法从第1190行开始。 这是相当优化的代码,因此它比简单关联所需的工作要多得多:处理数据类型,多线程和错误处理。

如果您只是想了解一般原则而不是python正在做的具体细节,我建议从更多basic explanation开始。诸如关联之类的数字运算定义得非常明确,numpy很少与标准定义有任何不同。