1、科学计算中的突出问题及需求
概括一般科学计算的特点,主要包括四方面:
数值计算种类多
对于某个问题的求解,可能需要不同种类的函数,如三角函数,积分函数,概率统计函数以及某些特殊函数。
需要大量数值计算库支持。
计算密集型问题突出
在大量复杂问题,需要的时间可能指数增长,时间密集性任务往往使程序运行效率低下。计算任务的时间瓶颈必须特殊处理。
数据图形化
数据结果的图形化,有利于结论的表现,是实验分析的重要手段。
UI设计需求
程序功能稳定后,需求友好的UI设计,从而提高程序的可用性及普及度。
一般科学计算程序设计很难兼顾以上四部分,大多是独立完成。如调用数据计算库可能会用到GNU Scientific Library;为了并行化处理问题,可能要特别地求助MPI或openMP实现;数据的视图化可能要另外通过Matlab或mathematica操作来实现;对于UI的设计,使用Labview这样的专用工具但又对其他方面的调用显得很不方便。如果能兼顾以上四方面的需求,做到程序设计中的数据流传递平滑过渡,函数无缝调用,那么程序设计的效率将大大提高,因为消除了很多耗时的人工操作,低效率的接口调用,程序的整体显得统一高效。以python语言为中心的程序设计很容易达到这个目的,而传统的Fortran语言望尘莫及。
2、以python为中心的高效科学计算程序设计框架
根据现有科学计算的特点,设计出一套以python语言为中心的高效程序设计框架。