回 帖 发 新 帖 刷新版面

主题:lapack 中子函数的精度问题?

由于精度的需要,使用的是  real*16 的矩阵元素 ,需要调用lapack中的求解广义本征值的子函数  dspgvx(itype,jobz,rang,UPLO,dd,AP,BP,VL,VU,IL,IU,ABSTOL,mm,W,Z,LDZ,WORK,IWORK,ifail,INFO) 来求解本征值,为了精确肯定也要将dspgvx中的参量设置为real*16,即读取32位有效数子,输出32位有效数字,但是结果确实0,或者说没法算,如果改为real*8 就能得出基本正确的结果,我一直不知道怎么回事,请指教?

1. 我发现用gfortran 无法计算 real*16,所以我用的ifort

2. 若将real*16改为DOUBLE PRECISION,可以算,但是还是相当与 用real*8

回复列表 (共11个回复)

11 楼

linux下ivf
开关在哪啊? 另外怎么找到源码啊?

我来回复

您尚未登录,请登录后再回复。点此登录或注册