SciPy 0.12.0 发行说明#

SciPy 0.12.0 是 7 个月辛勤工作的结晶。它包含许多新特性、大量的错误修复、改进的测试覆盖率和更好的文档。此版本中存在许多弃用和 API 更改,这些更改在下面进行了文档记录。鼓励所有用户升级到此版本,因为其中有大量的错误修复和优化。此外,我们的开发注意力现在将转移到 0.12.x 分支上的错误修复版本,以及在主分支上添加新特性。

此版本的一些亮点是

  • 在 scipy.spatial 中完成了 QHull 包装器。

  • cKDTree 现在是 KDTree 的直接替代品。

  • 一个新的全局优化器,basinhopping。

  • 支持来自同一代码库的 Python 2 和 Python 3(不再需要 2to3)。

此版本需要 Python 2.6、2.7 或 3.1-3.3 以及 NumPy 1.5.1 或更高版本。此版本已放弃对 Python 2.4 和 2.5 的支持。

新特性#

scipy.spatial 改进#

cKDTree 功能完整#

KDTree 的 Cython 版本 cKDTree 现在功能完整。大多数操作(构造、查询、query_ball_point、query_pairs、count_neighbors 和 sparse_distance_matrix)在 cKDTree 中比在 KDTree 中快 200 到 1000 倍。在非常小的注意事项下,cKDTree 与 KDTree 具有完全相同的接口,并且可以用作直接替代品。

Voronoi 图和凸包#

scipy.spatial 现在包含使用 Qhull 库计算 Voronoi 图和凸包的功能。(Delaunay 三角剖分自 Scipy 0.9.0 起可用。)

Delaunay 改进#

现在可以在 Delaunay 三角剖分中传入自定义的 Qhull 选项。如果存在,现在也会记录共面点。现在还可以进行 Delaunay 三角剖分的增量构造。

频谱估计器 (scipy.signal)#

添加了函数 scipy.signal.periodogramscipy.signal.welch,提供基于 DFT 的频谱估计器。

scipy.optimize 改进#

L-BFGS-B 和 TNC 中的回调函数#

向 L-BFGS-B 和 TNC 最小化求解器添加了回调机制。

盆地跳跃全局优化 (scipy.optimize.basinhopping)#

一种新的全局优化算法。盆地跳跃旨在有效地找到平滑函数的全局最小值。

scipy.special 改进#

修订后的复数误差函数#

与误差函数相关的特殊函数的计算现在使用来自 MIT 的新的 Faddeeva 库,该库提高了它们的数值精度。还添加了比例和虚数误差函数 erfcxerfi,并且现在可以为复数参数评估 Dawson 积分 dawsn

更快的正交多项式#

现在 scipy.special 中正交多项式(eval_* 例程)的评估速度更快,并且它们的 out= 参数函数正常工作。

scipy.sparse.linalg 特性#

  • scipy.sparse.linalg.spsolve 中,b 参数现在可以是向量或矩阵。

  • 添加了 scipy.sparse.linalg.inv。这使用 spsolve 来计算稀疏矩阵逆。

  • 添加了 scipy.sparse.linalg.expm。这使用与 scipy.linalg.expm 中现有的密集数组实现类似的算法来计算稀疏矩阵的指数。

scipy.io 中列出 Matlab(R) 文件内容#

scipy.io 中提供了一个新函数 whosmat,用于检查 MAT 文件的内容而无需将其读取到内存中。

文档化的 BLAS 和 LAPACK 底层接口 (scipy.linalg)#

可以使用模块 scipy.linalg.blasscipy.linalg.lapack 来访问底层 BLAS 和 LAPACK 函数。

多项式插值改进 (scipy.interpolate)#

scipy.interpolate 中的重心、Krogh、分段和 pchip 多项式插值器现在接受 axis 参数。

已弃用的特性#

scipy.lib.lapack#

模块 scipy.lib.lapack 已被弃用。您可以使用 scipy.linalg.lapack 来代替。模块 scipy.lib.blas 早在 Scipy 0.10.0 版本中已被弃用。

fblascblas#

访问模块 scipy.linalg.fblascblasflapackclapack 已被弃用。请改用模块 scipy.linalg.lapackscipy.linalg.blas

向后不兼容的更改#

移除 scipy.io.save_as_module#

函数 scipy.io.save_as_module 在 Scipy 0.11.0 中已被弃用,现在已被移除。

其私有支持模块 scipy.io.dumbdbm_patchedscipy.io.dumb_shelve 也被移除。

添加到 scipy.stats.scoreatpercentileaxis 参数#

函数 scipy.stats.scoreatpercentile 已添加一个 axis 参数。默认参数为 axis=None,这意味着计算将在扁平化的数组上进行。在此更改之前,scoreatpercentile 的行为就像给定了 axis=0 一样。使用多维数组的 scoreatpercentile 的代码将需要向函数调用添加 axis=0 以保留旧的行为。(这个 API 更改在 0.12.0 版本发布很久之后才被注意到。)

作者#

  • Anton Akhmerov +

  • Alexander Eberspächer +

  • Anne Archibald

  • Jisk Attema +

  • K.-Michael Aye +

  • bemasc +

  • Sebastian Berg +

  • François Boulogne +

  • Matthew Brett

  • Lars Buitinck

  • Steven Byrnes +

  • Tim Cera +

  • Christian +

  • Keith Clawson +

  • David Cournapeau

  • Nathan Crock +

  • endolith

  • Bradley M. Froehle +

  • Matthew R Goodman

  • Christoph Gohlke

  • Ralf Gommers

  • Robert David Grant +

  • Yaroslav Halchenko

  • Charles Harris

  • Jonathan Helmus

  • Andreas Hilboll

  • Hugo +

  • Oleksandr Huziy

  • Jeroen Demeyer +

  • Johannes Schönberger +

  • Steven G. Johnson +

  • Chris Jordan-Squire

  • Jonathan Taylor +

  • Niklas Kroeger +

  • Jerome Kieffer +

  • kingson +

  • Josh Lawrence

  • Denis Laxalde

  • Alex Leach +

  • Tim Leslie

  • Richard Lindsley +

  • Lorenzo Luengo +

  • Stephen McQuay +

  • MinRK

  • Sturla Molden +

  • Eric Moore +

  • mszep +

  • Matt Newville +

  • Vlad Niculae

  • Travis Oliphant

  • David Parker +

  • Fabian Pedregosa

  • Josef Perktold

  • Zach Ploskey +

  • Alex Reinhart +

  • Gilles Rochefort +

  • Ciro Duran Santillli +

  • Jan Schlueter +

  • Jonathan Scholz +

  • Anthony Scopatz

  • Skipper Seabold

  • Fabrice Silva +

  • Scott Sinclair

  • Jacob Stevenson +

  • Sturla Molden +

  • Julian Taylor +

  • thorstenkranz +

  • John Travers +

  • True Price +

  • Nicky van Foreest

  • Jacob Vanderplas

  • Patrick Varilly

  • Daniel Velkov +

  • Pauli Virtanen

  • Stefan van der Walt

  • Warren Weckesser

总共有 75 人为这个版本做出了贡献。名字旁边带有“+”的人是首次贡献补丁。