Fortran相当于Numpy函数

时间:2017-03-24 19:45:05

标签: numpy fortran fortran90

由于速度限制,我试图将某些内容从Python转换为Fortran。 (所以我可以在上面使用f2py。)

问题在于代码包含许多在Fortran 90中不存在的NumPy函数。所以我的问题是:是否有一个Fortran库至少实现了Fortran中的一些NumPy功能?

我必须在代码中使用的函数通常很简单,所以我可以手动翻译它们。但是,我试图不在这里重新发明轮子,特别是因为我在Fortran没有那么多经验,我可能不知道一些重要的警告。

无论如何,这里列出了我需要的一些功能。

{{1}}

此时有任何帮助。我并不指望为所有人找到替代品,但如果其中一些,至少已经存在,那将是非常好的。

1 个答案:

答案 0 :(得分:1)

我发现gfortran的内在程序列表在这里作为第一个引用很有用https://gcc.gnu.org/onlinedocs/gfortran/Intrinsic-Procedures.html#Intrinsic-Procedures

  1. np.mean(带轴参数)
    见总和。它有一个轴参数。结合大小,它可以输出平均值:

    result = sum(data, dim=axis)/size(data, dim=axis)
    

    此处,结果的维度少于数据。

  2. np.std(使用轴参数)

  3. np.roll(再次使用axis参数)
  4. np.mgrid
  5. np.max(再次使用轴参数)
    请参阅maxval,它有一个dim参数。
  6. 我不知道Fortran等同于NumPy。 Fortran的基于标准的数组功能使得“基础”库尚未出现。但有几项举措:

    1. https://github.com/astrofrog/fortranlib“在Fortran收集个人科学惯例”
    2. http://fortranwiki.org/“Fortran Wiki是讨论Fortran编程语言和科学计算各个方面的开放场所。”
    3. http://flibs.sourceforge.net/“FLIBS - Fortran模块的集合”
    4. http://www.fortran90.org/现代Fortran的一般资源。包含“Python Fortran Rosetta Stone”