numpy.correlate的底层python代码是什么? 我试图理解互相关的逻辑。底层的python代码将会有很大的帮助。
答案 0 :(得分:0)
所有代码都在您系统的某个位置,您只需找到位置即可
如果您使用的是ipython
,则帮助命令(numpy.correlate?
)包含文件路径(在末尾的第二行)。
在我的系统上它是“/usr/local/lib/python3.5/dist-packages/numpy/core/numeric.py
“
如果您没有使用ipython
,numpy.__file__
将为您提供模块安装目录的路径,您将不得不环顾四周。
help(numpy.correlate)
给出的模块名称会给出一些提示。
但是,一旦找到该文件,您将看到numpy.correlate仅执行以下操作:
mode = _mode_from_name(mode)
return multiarray.correlate2(a, v, mode)
这是一个编译过的函数,因此找到它有点困难。 您可以查看文件here,主要功能从第1353行开始定义,实际算法从第1190行开始。 这是相当优化的代码,因此它比简单关联所需的工作要多得多:处理数据类型,多线程和错误处理。
如果您只是想了解一般原则而不是python正在做的具体细节,我建议从更多basic explanation开始。诸如关联之类的数字运算定义得非常明确,numpy
很少与标准定义有任何不同。