Petsc、Slepc提供Matrix-free matrices的处理功能,只需要提供matrix-vector乘法就可以求解线性方程,以及本征值。参考slepc的ex3.c(http://www.grycap.upv.es/slepc/handson/handson5.html),petsc的ex44.c。
Preconditioner也需要考虑一下,测试一下速度。
一般情况下,求解最大本征值比较方便,但是也可以求解内部本征值,例如通过 -eps_target 0.0 参数求解0.0附近的本征值,也可以采用eps_harmonic方法来求解内部本征值。
同时petsc可以支持openmp+mpi混合并行模式(考虑使用Gerard的混合模式),前者应用于共享内存多核之间,后者应用于分布式内存之间。是否slepc也自然相应支持?
有时间看一下如何在acml(已经考虑openmp)的基础上编译petsc、slepc,并且让petsc、slepc利用acml的openmp功能。
重写直接方法、BBGKY、BBGKY2的程序。
考虑利用acml的随机数或者Sprng的并行随机数,重写GFPE的程序。
老板,这是你5月6号晚上十一点多写的啊!