Fortran 90四精度复矩阵对角化适用库选型咨询
适合Fortran 90四精度矩阵对角化的库推荐
以下几个库能让你最小幅度修改现有代码实现四精度计算,完全无需自行修改LAPACK源码:
Intel MKL
自带完整的四精度(REAL*16/COMPLEX*32)LAPACK兼容接口,函数命名、参数结构和标准LAPACK完全一致。修改步骤仅需:- 将代码中
REAL*8替换为REAL*16,COMPLEX*16替换为COMPLEX*32; - 把原双精度LAPACK函数的前缀替换为四精度对应前缀:比如双精度实对称对角化的
DSYEV换成四精度的HSYEV,双精度复Hermite矩阵对角化的ZHEEV换成四精度的CHEEV; - 编译时链接MKL库即可。全程无需改动核心计算逻辑,稳定性与性能有保障。
- 将代码中
OpenBLAS
从0.3.10版本起支持四精度LAPACK接口,同样遵循标准LAPACK命名规范。修改方式和Intel MKL完全一致:调整变量精度声明、替换对应LAPACK函数名,链接OpenBLAS库即可,适合偏好开源免费库的场景。QUADLAPACK
这是专门针对四精度计算的LAPACK分支,完全兼容标准LAPACK调用接口。只需将代码中的精度类型改为四精度,调用对应的四精度函数,再链接QUADLAPACK库,核心逻辑无需调整。
另外你提到的MPACK是任意多精度库,配置与调用复杂度远高于上述库,且你仅需固定四精度计算,因此不推荐使用。
内容的提问来源于stack exchange,提问作者Felipe Flores
相关产品推荐
相关产品推荐

