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兩個經典的界面庫。
繪圖與可視化
Chaco和matplotlib是很優秀的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