SciPy
SciPy是一個開源的Python演算法庫和數學工具包。SciPy包含的模組有最佳化、線性代數、積分、插值、特殊函數、快速傅立葉轉換、訊號處理和圖像處理、常微分方程求解和其他科學與工程中常用的計算。
原作者 | Travis Oliphant, Pearu Peterson, Eric Jones |
---|---|
開發者 | 社區專案 |
首次釋出 | 約2001年 |
目前版本 | 1.14.1[1](2024年8月21日,2個月前) |
原始碼庫 | |
作業系統 | 跨平台 |
類型 | 數學軟件 |
特許條款 | BSD特許條款 |
網站 | http://www.scipy.org/ |
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).
外部連結
這是一篇與自由軟件有關的小作品。您可以透過編輯或修訂擴充其內容。 |