Answers:
从3.2版开始,PETSc在gcc / gfortran 4.6和更高版本上支持稀疏四精度计算。
您将需要一个四精度BLAS和LAPACK,PETSc可以使用以下(部分)configure命令向您提供这些精度:
./configure --with-precision=__float128 --download-f2cblaslapack
有关更多信息,请参阅FAQ。
另外,我也同意nOOb,如果可能的话,请尝试使系统规范化,然后再切换到四精度模式。
我可以尝试Trilinos库。他们在Tpetra下建立了模板化的稀疏矩阵库(应该替代其最初的稀疏矩阵库Epetra)。您可以模板化double,complex,quad等,它们可能是PETSc旁边最多的求解器选择(直接求解和迭代求解)。
编辑:阅读评论后,Tpetra的即时实用性似乎对wrt quad精度有点可疑...
__float128
Tpetra的支持,更不用说四重了。Tpetra不是独立的也不是全部标题,即使这样,诸如此类也std::complex
只能与float
and一起使用double
。