SciPy 0.10.0 發行說明#

SciPy 0.10.0 是 8 個月辛勤工作的成果。它包含許多新功能、大量的錯誤修復、改進的測試覆蓋率和更好的文件。此版本中存在數量有限的棄用和向後不相容的變更,這些變更記錄在下面。鼓勵所有使用者升級到此版本,因為其中有大量的錯誤修復和最佳化。此外,我們的開發注意力現在將轉移到 0.10.x 分支上的錯誤修復版本,以及在開發主分支上新增新功能。

發行重點

  • 支援 Bento 作為可選的建置系統。

  • 支援廣義特徵值問題,以及 ARPACK 中可用的所有位移反轉模式。

此版本需要 Python 2.4-2.7 或 3.1 以上版本以及 NumPy 1.5 或更高版本。

新功能#

Bento:新的可選建置系統#

Scipy 現在可以使用 Bento 建置。Bento 具有一些不錯的功能,例如平行建置和部分重建,這些功能在預設建置系統 (distutils) 中是不可能的。有關使用說明,請參閱 scipy 頂層目錄中的 BENTO_BUILD.txt。

目前 Scipy 有三個建置系統:distutils、numscons 和 bento。Numscons 已被棄用,並計劃在下一個版本中移除。

scipy.sparse.linalg 中的廣義和位移反轉特徵值問題#

稀疏特徵值問題求解器函式 scipy.sparse.eigs/eigh 現在支援廣義特徵值問題,以及 ARPACK 中可用的所有位移反轉模式。

離散時間線性系統 (scipy.signal)#

SciPy 中已新增對模擬離散時間線性系統的支援,包括 scipy.signal.dlsimscipy.signal.dimpulsescipy.signal.dstep。線性系統從連續時間到離散時間表示的轉換也透過 scipy.signal.cont2discrete 函式提供。

scipy.signal 的增強功能#

現在可以使用新函式 scipy.signal.lombscargle 計算 Lomb-Scargle 週期圖。

前向-後向濾波器函式 scipy.signal.filtfilt 現在可以過濾 n 維 numpy 陣列中給定軸的資料。(以前它只處理 1 維陣列。)已新增選項,以允許更好地控制資料在過濾前如何擴展。

使用 scipy.signal.firwin2 進行 FIR 濾波器設計現在具有建立 III 型(在零頻率和奈奎斯特頻率處為零)和 IV 型(在零頻率處為零)濾波器的選項。

其他分解選項 (scipy.linalg)#

已將 sort 關鍵字新增至 Schur 分解常式 (scipy.linalg.schur),以允許對結果 Schur 形式中的特徵值進行排序。

其他特殊矩陣 (scipy.linalg)#

函式 hilbertinvhilbert 已新增至 scipy.linalg

scipy.stats 的增強功能#

  • Fisher 精確檢定的單邊形式現在也在 stats.fisher_exact 中實作。

  • 已新增用於計算列聯表中因子獨立性卡方檢定的函式 stats.chi2_contingency,以及相關的實用函式 stats.contingency.marginsstats.contingency.expected_freq

scipy.special 的增強功能#

函式 logit(p) = log(p/(1-p))expit(x) = 1/(1+exp(-x)) 已分別實作為 scipy.special.logitscipy.special.expit

稀疏矩陣 Harwell-Boeing 檔案格式的基本支援#

讀取和寫入都透過簡單的基於函式的 API 以及更完整的 API 來支援,以控制數字格式。這些函式可以在 scipy.sparse.io 中找到。

支援以下功能

  • 讀取和寫入 CSC 格式的稀疏矩陣

  • 僅支援實數、對稱、組裝矩陣 (RUA 格式)

已棄用的功能#

scipy.maxentropy#

maxentropy 模組未維護、很少使用,並且在幾個版本中運作不佳。因此,它在此版本中已被棄用,並將在 scipy 0.11 中移除。scikits.learn 中的邏輯迴歸是此功能的良好替代方案。scipy.maxentropy.logsumexp 函式已移至 scipy.misc

scipy.lib.blas#

scipy.linalgscipy.lib 中有類似的 BLAS 包裝器。這些現在已合併為 scipy.linalg.blas,而 scipy.lib.blas 已被棄用。

Numscons 建置系統#

numscons 建置系統正在被 Bento 取代,並將在下一個 scipy 版本之一中移除。

向後不相容的變更#

已從 scipy.stats.distributions 中移除已棄用的名稱 invnorm,此分佈以 invgauss 提供。

已從 scipy.optimize 中移除以下已棄用的非線性求解器

- ``broyden_modified`` (bad performance)
- ``broyden1_modified`` (bad performance)
- ``broyden_generalized`` (equivalent to ``anderson``)
- ``anderson2`` (equivalent to ``anderson``)
- ``broyden3`` (obsoleted by new limited-memory broyden methods)
- ``vackar`` (renamed to ``diagbroyden``)

其他變更#

scipy.constants 已使用 CODATA 2010 常數更新。

已將 __all__ 字典新增至所有模組,這清理了命名空間(對於互動式工作特別有用)。

已在文件中新增 API 章節,提供建議的匯入指南並指定哪些子模組是公開的,哪些不是。

作者#

此版本包含以下人員的工作(至少為此版本貢獻了一個修補程式,姓名按字母順序排列)

  • Jeff Armstrong +

  • Matthew Brett

  • Lars Buitinck +

  • David Cournapeau

  • FI$H 2000 +

  • Michael McNeil Forbes +

  • Matty G +

  • Christoph Gohlke

  • Ralf Gommers

  • Yaroslav Halchenko

  • Charles Harris

  • Thouis (Ray) Jones +

  • Chris Jordan-Squire +

  • Robert Kern

  • Chris Lasher +

  • Wes McKinney +

  • Travis Oliphant

  • Fabian Pedregosa

  • Josef Perktold

  • Thomas Robitaille +

  • Pim Schellart +

  • Anthony Scopatz +

  • Skipper Seabold +

  • Fazlul Shahriar +

  • David Simcha +

  • Scott Sinclair +

  • Andrey Smirnov +

  • Collin RM Stocks +

  • Martin Teichmann +

  • Jake Vanderplas +

  • Gaël Varoquaux +

  • Pauli Virtanen

  • Stefan van der Walt

  • Warren Weckesser

  • Mark Wiebe +

總共有 35 人為此版本做出了貢獻。姓名旁邊帶有「+」號的人是第一次貢獻修補程式。