SciPy目前在BSD许可证下发布。它的开发最初由Enthought资助。与其功能相类似的软件还有
MATLAB、GNU Octave和
scilab。
SciPy是一款方便、易于使用、专为科学和工程设计的Python工具包。它包括统计,优化,整合,线性代数模块,
傅里叶变换,信号和图像处理,
常微分方程求解器等等。SciPy工具包是Python科学计算的核心,其功能根据功能分成多个子包,包括但不限于聚类、
常数、
快速傅里叶变换、积分、插值、线性代数、多维图像处理、优化、
信号处理、稀疏矩阵和统计等。
SciPy的基础数据结构是由
numpy模块提供的多维数组,它不仅提供了一些有关线性代数、傅里叶变换和随机数生成的函数,而且作为任意数据类型的高效多维数据容器,可以快速无缝地和众多数据库集成。SciPy目前在BSD许可证下发布,它的开发最初由Enthought资助,与其功能相类似的软件还有
MATLAB、GNU Octave和
scilab。
在1990年代,
Python引入了用于数值计算的阵列类型Numeric(这个包最终被Travis Oliphant编写的
numpy取代);此后,扩展模块数量不断增加,许多人对一个完整的科学技术计算环境感兴趣。2001年,Travis Oliphant、Eric Jones和Pearu Peterson合并了他们编写的代码,并将结果包命名为SciPy。新创建的包对Numeric
数据结构提供了常见数值运算。此后不久,Fernando Pérez发布了
IPython(增强型交互式shell,在科学计算界广泛使用);John Hunter发布了
Matplotlib(2D绘图库)的第一个版本,SciPy环境继续增长,并增加了更多用于科学计算的工具。
SciPy工具包的结构清晰,按照功能划分为不同的子包,每个子包负责特定的科学计算领域。例如,`optimize`子包提供优化算法,`linalg`子包包含线性代数工具,而`stats`子包则包含统计函数。这种模块化的设计使得SciPy既可以作为一个整体使用,也可以只使用特定的部分,以满足用户的具体需求。
SciPy的一个显著特点是其开源性质,这使得它不仅免费使用,而且可以由社区不断地改进和扩展。此外,SciPy紧密集成了
numpy,这为用户提供了一个强大且高效的科学计算环境。SciPy的算法库覆盖了广泛的科学计算领域,使其成为科学研究和工程设计中不可或缺的工具之一。
SciPy是一个功能强大的科学计算包,它提供了一系列用于科学和工程领域的算法和工具。随着科学计算需求的不断增长,SciPy将继续发展和完善,为研究人员和工程师提供更加丰富的计算资源。