1. 数值计算库
NumPy 为 Python 提供了快速的多维数组处理能力,提供了丰富的函数库处理数组。它将常用的数学函数进行数组化,使得数学函数能够直接对数组进行操作,将需要在 Python 级别进行的循环,放到 C 语言的运算中,提高程序的运行速度。
NumPy的官方网址为 http://www.numpy.org/
SciPy 在 NumPy 基础上添加了众多的科学计算所需的各种工具包,其核心部分是一些久经考研的 Fortran 数值计算库,如:
- 线性代数使用 lapack 库
- 快速傅里叶变换使用 fftpack 库
- 常微分方程求解使用 odepack 库
- 非线性方程组求解及最小值求解等使用 minpack 库
SciPy的官方网址为 http://www.scipy.org/
2. 符号计算库
SymPy 是一套进行符号数学运算的 Python 函数库,可以帮助我们进行公式推导,进行符号求解。
SymPy 的官方网址为 http://www.sympy.org/en/index.html
3. 界面设计
Traits 库分为 Traits 和 TraitsUI 两大部分,Traits 为 Python 添加了类型定义的功能,使用它定义的 Traits 属性即由初始化、校验、代理、事件等诸多功能。TraitsUI 库基于 Traits 库,使用 MVC 结构快速地定义用户界面,在最简单的情况下,编码者不需要写一句关于界面的代码,就可以通过 Traits 属性定义获得一个可以工作的用户界面。使用 TraitsUI 库编写的程序自动支持 wxPython 和 pyQt 两个经典的界面库。
Traits 官方网址为 http://code.enthought.com/projects/traits
4. 绘图与可视化
Chaco 和 Matplotlib 是很优秀的 2D 会图库, Chaco 库和 Traits 库紧密相连,方便制作动态交互式的图表功能。Matplotlib 库能够快速地绘制精美的图表,以多种格式输出,并且带有简单的 3D 绘图的功能。
Chaco 的官方网址为 http://code.enthought.com/projects/chaco
Matplotlib 的官方网址为 http://matplotlib.sourceforge.net
视觉化工具函数库( Visualization Toolkit, VTK )是一个开放源码,跨平台、支持并行处理的图形应用函式库。使用 Visual 库能够快速、方便地制作3D动画演示,是数据结果更有说服力。
Visual 官方网址为 http://vpython.org
Mayavi2 在 TVTK 的基础上添加了一套面向应用的方便工具,既可以单独作为3D可视化程序使用,也可以快速地嵌入到用户的程序中去。
Mayavi2 的官方网址为 http://code.enthought.com/projects/mayavi
5. 图像处理与计算机视觉
OpenCV 可用于开发实时的图像处理、计算机视觉及模式识别程序。 OpenCV 提供的 Python API 方便为我们快速实现算法,查看结果并且和其他的库进行数据交换。
参考文献:
[1] 顾立平, 田鹏伟. 数据馆员的Python简明手册. 科学技术文献出版社, 2017.10.