SciPy是一个开源Python算法库和数学工具包。SciPy包含的模块有最优化线性代数积分插值特殊函数快速傅里叶变换信号处理图像处理常微分方程求解和其他科学与工程中常用的计算。

SciPy
绘制贝塞尔函数并寻找其局部极大值的示例。
原作者Travis Oliphant英语Travis Oliphant, Pearu Peterson, Eric Jones
开发者社区项目
首次发布约2001年
当前版本1.14.1[1]在维基数据编辑(2024年8月21日,2个月前)
源代码库 编辑维基数据链接
操作系统跨平台
类型数学软件
许可协议BSD许可证
网站http://www.scipy.org/

SciPy目前在BSD许可证下发布。它的开发最初由Enthought英语Enthought资助。与其功能相类似的软件还有MATLABGNU OctaveScilab

组成

SciPy工具包是Python科学计算的核心,其功能根据功能分成如下子包:

早先版本中的weave(编织)模块,用于在Python代码中包含C/C++代码的工具,现已弃用,被Cython取代[2]

数据结构

SciPy的基础数据结构是由NumPy模块提供的多维阵列。NumPy提供了一些有关线性代数傅里叶变换随机数生成的函数,但不具备SciPy中对应函数的通用性。NumPy还可以作为任意数据类型的高效多维数据容器,这使得NumPy可以快速无缝地和众多数据库集成。 旧版SciPy使用Numeric作为阵列类型,但现已弃用,新版SciPy改用Numpy实现的阵列。[3]

历史

在1990年代,Python引入了用于数值计算的阵列类型Numeric(这个包最终被Travis Oliphant英语Travis_Oliphant编写的NumPy取代);此后,扩展模块数量不断增加,许多人对一个完整的科学技术计算环境感兴趣。2001年,Travis Oliphant、Eric Jones和Pearu Peterson合并了他们编写的代码,并将结果包命名为SciPy。新创建的包对Numeric数据结构提供了常见数值运算。此后不久,Fernando Pérez发布了IPython(增强型交互式shell,在科学计算界广泛使用);John Hunter发布了Matplotlib(2D绘图库)的第一个版本,SciPy环境继续增长,并增加了更多用于科学计算的工具。[4][5][6]

参考文献

  1. ^ 1.0 1.1 Release 1.14.1. 2024年8月21日 [2024年8月27日]. 
  2. ^ SciPy 0.15.0 Release Notes — SciPy v1.6.2 Reference Guide. docs.scipy.org. [2021-04-13]. (原始内容存档于2021-04-13). 
  3. ^ NumPy Homepage. [2023-03-10]. (原始内容存档于2011-04-14). 
  4. ^ History of SciPy. [2023-03-10]. (原始内容存档于2015-07-09). 
  5. ^ Guide to NumPy (PDF). [2023-03-10]. (原始内容存档 (PDF)于2013-10-19). 
  6. ^ Python for Scientists and Engineers. [2023-03-10]. (原始内容存档于2019-02-19). 

外部链接