Python科學計算函數庫介紹

jopen 10年前發布 | 62K 次閱讀 Python Python開發

數值計算庫

NumPy為Python提供了快速的多維數組處理的能力,而SciPy則在NumPy基礎上添加了眾多的科學計算所需的各種工具包,有了這兩個庫,Python就有幾乎和Matlab一樣的處理數據和計算的能力了。

NumPy和SciPy官方網址: http://www.scipy.org

NumPy為Python帶來了真正的多維數組功能,并且提供了豐富的函數庫處理這些數組。它將常用的數學函數都進行數組化,使得這些數學函數能夠直接對數組進行操作,將本來需要在Python級別進行的循環,放到C語言的運算中,明顯地提高了程序的運算速度。

SciPy的核心計算部分都是一些久經考驗的Fortran數值計算庫,例如:

  • 線性代數使用LAPACK庫

  • 快速傅立葉變換使用FFTPACK庫

  • 常微分方程求解使用ODEPACK庫

  • 非線性方程組求解以及最小值求解等使用MINPACK庫

 

符號計算庫

SymPy是一套進行符號數學運算的Python函數庫,雖然它目前還沒有到達1.0版本,但是已經足夠好用,可以幫助我們進行公式推導,進行符號求解。

SymPy官方網址: http://code.google.com/p/sympy

 

</div>

界面設計

制作界面一直都是一件十分復雜的工作,使用Traits庫,你將再也不會在界面設計上耗費大量精力,從而能把注意力集中到如何處理數據上去。

Traits官方網址: http://code.enthought.com/projects/traits

Traits庫分為Traits和TraitsUI兩大部分,Traits為Python添加了類型定義的功能,使用它定義的traits屬性具有初始化、校驗、代理、事件等諸多功能。

TraitsUI庫基于Traits庫,使用MVC結構快速地定義用戶界面,在最簡單 的情況下,你甚至不需要寫一句關于界面的代碼,就可以通過traits屬性定義獲得一個可以工作的用戶界面。使用TraitsUI庫編寫的程序自動支持 wxPython和pyQt兩個經典的界面庫。


</div>

繪圖與可視化

Chacomatplotlib是很優秀的2D繪圖庫,Chaco庫和Traits庫緊密相連,方便制作動態交互式的圖表功能。而matplotlib庫則能夠快速地繪制精美的圖表、以多種格式輸出,并且帶有簡單的3D繪圖的功能。

Chaco官方網址: http://code.enthought.com/projects/chaco

matplotlib官方網址: http://matplotlib.sourceforge.net

TVTK庫在標準的VTK庫之上用Traits庫進行封裝,如果要在Python下使用VTK,用TVTK是再好不過的選擇。Mayavi2則在TVTK的基礎上再添加了一套面向應用的方便工具,它既可以單獨作為3D可視化程序使用,也可以快速地嵌入到用戶的程序中去。

Mayavi2官方網址: http://code.enthought.com/projects/mayavi

VTK(Visualization Toolkit)

視覺化工具函式庫(VTK, Visualization Toolkit)是一個開放源碼,跨平臺、支援平行處理(VTK曾用于處理大小近乎1個Petabyte的資料,其平臺為美國Los Alamos國家實驗室所有的具1024個處理器之大型系統)的圖形應用函式庫。2005年實曾被美國陸軍研究實驗室用于即時模擬俄羅斯制反導彈戰車 ZSU23-4受到平面波攻擊的情形,其計算節點高達2.5兆個之多。 -- 摘自維基百科

</div>

此外,使用Visual庫能夠快速、方便地制作3D動畫演示,使你的數據結果更有說服力。

Visual官方網址: http://vpython.org

 

</div>

圖像處理和計算機視覺

OpenCV是由英特爾公司發起并參與開發,以BSD許可證授權發行,可以在商業和研究領域中免費使用。OpenCV可用于開發實時的圖像處理、計算機視覺以及模式識別程序。OpenCV提供的Python API方便我們快速實現算法,查看結果并且和其它的庫進行數據交換。

</div> 來自:http://blog.csdn.net/wanghao109/article/details/37312371

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!