SciPy 0.12.0 發行說明#

SciPy 0.12.0 是 7 個月辛勤工作的成果。它包含許多新功能、大量的錯誤修復、改進的測試覆蓋率和更好的文件。此版本中進行了一些棄用和 API 變更,如下所述。鼓勵所有使用者升級到此版本,因為其中有大量的錯誤修復和最佳化。此外,我們的開發注意力現在將轉移到 0.12.x 分支上的錯誤修復版本,以及在 master 分支上新增新功能。

此版本的一些重點包括

  • 完成 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)#

新的全域最佳化演算法。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) 檔案內容#

新的函數 whosmatscipy.io 中可用於檢查 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 也已移除。

axis 引數已新增至 scipy.stats.scoreatpercentile#

函數 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 人為此版本做出了貢獻。名字旁邊有「+」號的人是第一次貢獻補丁。