SciPy

本頁使用了標題或全文手工轉換
維基百科,自由的百科全書
SciPy
繪製貝塞爾函數並尋找其局部極大值的示例。
原作者Travis Oliphant英語Travis Oliphant, Pearu Peterson, Eric Jones
開發者社區項目
首次發布約2001年
當前版本1.12.0[1]在維基數據編輯(2024年1月20日,2個月前)
源代碼庫 編輯維基數據鏈接
操作系統跨平台
類型數學軟件
許可協議BSD許可證
網站http://www.scipy.org/

SciPy是一個開源Python算法庫和數學工具包。SciPy包含的模塊有最優化線性代數積分插值特殊函數快速傅里葉變換信號處理圖像處理常微分方程求解和其他科學與工程中常用的計算。

SciPy目前在BSD許可證下發布。它的開發最初由Enthought英語Enthought資助。與其功能相類似的軟件還有MATLABGNU OctaveScilab

組成[編輯]

SciPy工具包是Python科學計算的核心,其功能根據功能分成如下子包:

早先版本中的weave(編織)模塊,用於在Python代碼中包含C/C++代碼的工具,現已棄用,被Cython取代[2]

數據結構[編輯]

SciPy的基礎數據結構是由NumPy模塊提供的多維陣列。NumPy提供了一些有關線性代數傅里葉變換隨機數生成的函數,但不具備SciPy中對應函數的通用性。NumPy還可以作為任意數據類型的高效多維數據容器,這使得NumPy可以快速無縫地和眾多數據庫集成。 舊版SciPy使用Numeric作為陣列類型,但現已棄用,新版SciPy改用Numpy實現的陣列。[3]

歷史[編輯]

在1990年代,Python引入了用於數值計算的陣列類型Numeric(這個包最終被Travis Oliphant英語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. ^ Release 1.12.0. 2024年1月20日 [2024年1月30日]. 
  2. ^ SciPy 0.15.0 Release Notes — SciPy v1.6.2 Reference Guide. docs.scipy.org. [2021-04-13]. (原始內容存檔於2021-04-13). 
  3. ^ NumPy Homepage. [2023-03-10]. (原始內容存檔於2011-04-14). 
  4. ^ History of SciPy. [2023-03-10]. (原始內容存檔於2015-07-09). 
  5. ^ Guide to NumPy (PDF). [2023-03-10]. (原始內容存檔 (PDF)於2013-10-19). 
  6. ^ Python for Scientists and Engineers. [2023-03-10]. (原始內容存檔於2019-02-19). 

外部連結[編輯]