SciPy
原作者 | Travis Oliphant, Pearu Peterson, Eric Jones |
---|---|
開發者 | 社區項目 |
首次發布 | 約2001年 |
當前版本 | 1.14.1[1](2024年8月21日,2個月前) |
源代碼庫 | |
操作系統 | 跨平台 |
類型 | 數學軟件 |
許可協議 | BSD許可證 |
網站 | http://www.scipy.org/ |
SciPy是一個開源的Python算法庫和數學工具包。SciPy包含的模塊有最優化、線性代數、積分、插值、特殊函數、快速傅里葉變換、信號處理和圖像處理、常微分方程求解和其他科學與工程中常用的計算。
SciPy目前在BSD許可證下發布。它的開發最初由Enthought資助。與其功能相類似的軟件還有MATLAB、GNU Octave和Scilab。
組成
[編輯]SciPy工具包是Python科學計算的核心,其功能根據功能分成如下子包:
- cluster(聚類):層次聚類,向量量化,K-均值聚類。
- constants(常數):物理常數和換算係數。
- datasets(數據集):裝載SciPy數據集。
- fft:快速離散傅里葉變換算法。
- fftpack(fft包):遺留的離散傅里葉變換接口。
- integrate(積分):數值積分工具。
- interpolate(插值):插值工具。
- io:數據輸入輸出,支持讀寫MATLAB文件、讀IDL文件、讀寫Matrix Market文件、非格式化FORTRAN文件、netCDF的CDF-1與CDF-2格式文件、Harwell-Boeing文件、WAV聲音文件和讀Arff文件。
- linalg:線性代數工具。
- misc(雜項):雜項例如示例圖片。
- ndimage(n-維圖像):用於多維圖像處理的函數。
- ODR:正交距離回歸(Orthogonal Distance Regression)的類與算法。
- optimize(優化):優化算法例如線性規劃。
- signal(信號):信號處理工具。
- sparse(稀疏):稀疏矩陣及相關算法。
- spatial(空間):空間結構有關算法如k-d樹、最鄰近搜索、凸包等。
- special(特殊): 特殊函數。
- stats(統計):統計函數,如概率分布、匯總統計量、頻率統計量、假設檢驗、相關、重抽樣、蒙特卡羅方法、列聯表。
早先版本中的weave(編織)模塊,用於在Python代碼中包含C/C++代碼的工具,現已棄用,被Cython取代[2]。
數據結構
[編輯]SciPy的基礎數據結構是由NumPy模塊提供的多維陣列。NumPy提供了一些有關線性代數、傅里葉變換和隨機數生成的函數,但不具備SciPy中對應函數的通用性。NumPy還可以作為任意數據類型的高效多維數據容器,這使得NumPy可以快速無縫地和眾多數據庫集成。 舊版SciPy使用Numeric作為陣列類型,但現已棄用,新版SciPy改用Numpy實現的陣列。[3]
歷史
[編輯]在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環境繼續增長,並增加了更多用於科學計算的工具。[4][5][6]
參考文獻
[編輯]- ^ 1.0 1.1 Release 1.14.1. 2024年8月21日 [2024年8月27日].
- ^ SciPy 0.15.0 Release Notes — SciPy v1.6.2 Reference Guide. docs.scipy.org. [2021-04-13]. (原始內容存檔於2021-04-13).
- ^ NumPy Homepage. [2023-03-10]. (原始內容存檔於2011-04-14).
- ^ History of SciPy. [2023-03-10]. (原始內容存檔於2015-07-09).
- ^ Guide to NumPy (PDF). [2023-03-10]. (原始內容存檔 (PDF)於2013-10-19).
- ^ Python for Scientists and Engineers. [2023-03-10]. (原始內容存檔於2019-02-19).
外部連結
[編輯]這是一篇與自由軟件有關的小作品。您可以透過編輯或修訂擴充其內容。 |