Answers:
连续PDE的离散化通常会比有限精度带来更多的误差。我发现大约90%的要求更高精确度的人只是懒于解决问题,并尝试使用不良的缩放比例,不良的离散化或不良的连续性建模来解决问题。剩下的10%可能拥有病情合理的系统,对于这些系统而言,提高精度确实是有意义的。即使在那种情况下,我们也大多使用四精度作为调试工具(特别是与使用有限差分Frechet导数的方法结合使用,并调查“虚假”数字零空间的原因)或局部地针对非常敏感的操作而不是在大规模生产。
GCC __float128
自4.6版开始提供,因此非常容易尝试。(较早的实现通常更具侵入性和便携性。)--with-precision=__float128
自3.2版以来,PETSc就已受支持,因此只需重新编译即可。
在我们以deal.II项目(http://www.dealii.org/)的形式提供FEM软件的15年中,我认为我们从未真正提出过解决PDE问题的要求。比双精度更高的精度。原因是正如Jed在另一个答案中所建议的那样:错误使离散化PDE离散化的误差远大于从双精度浮点算术获得的精度的16位数字。因此,您必须拥有非常精细的网格,以达到需要更高的算术精度来影响整体误差的程度。
我认为事实恰恰相反:例如,当您使用单精度存储矩阵或前置条件元素时,人们会思考(并研究)会发生什么。通常,这不会显着降低它们的准确性,但是可以将性能提高大约两倍,因为从内存到处理器的数据量只需一半。
因此,我的感觉是四精度(或更高)可能与ODE求解器社区有关,而与PDE社区无关。