您的位置:365bet手机在线 > 操作系统 > 快速教程,科学计算包

快速教程,科学计算包

发布时间:2020-03-19 19:06编辑:操作系统浏览(158)

    NumPy 1.18.0 已发布。除了通常的错误修复之外,此版本还清理并记录新的随机 C-API,使大量旧版本弃用,并改善了文档的外观。其支持的 Python 版本为 3.5-3.8,这也是最后一个支持 Python 3.5 的 NumPy 发布系列。

    整个快速教程直接上例子,具体对Cython的使用可以看参考文章。以下工作均在Windows 10

    Highlights

    • Python 2.7 + NumPy 1.11.0 + Cython 0.24 版本上进行。
    • numpy.random 的 C-API 已经定义并记录。
    • 与 64 位 BLAS 和 LAPACK 库链接的基本基础结构。
    • 许多文档方面的改进。

    准备工作

    假设现在我们用C实现了一个可以用在数组上的cos函数,函数原型如下:

    // 对in_array中的前size个数求cos值,并存放在out_array对应位置上void cos_doubles(double * in_array, double * out_array, int size);
    

    那么总共需要4个文件:

    • cos_doubles.c,C源文件。
    • cos_doubles.h,C头文件。
    • _cos_doubles.pyx,Python的C扩展文件。(注意:之所以前面加个"_"下划线,是因为使用Cython编译打包后会对pyx文件生成同名的c文件,为了避免覆盖掉原来的cos_doubles.c文件,此处加个下划线)
    • setup.py,负责管理编译、打包工作的“配置”脚本。

    下面给出4个文件的源代码

    新功能

    cos_doubles.c

    #include "cos_doubles.h"#include <math.h>/* Compute the cosine of each element in in_array, storing the result in * out_array. */void cos_doubles(double * in_array, double * out_array, int size){ int i; for(i=0;i<size;i++){ out_array[i] = cos(in_array[i]); }}
    
    • 将多元超几何分布添加到 numpy.random

    cos_doubles.h

    #ifndef _COS_DOUBLES_H#define _COS_DOUBLES_Hvoid cos_doubles(double * in_array, double * out_array, int size);#endif
    

    本文由365bet手机在线发布于操作系统,转载请注明出处:快速教程,科学计算包

    关键词: