主题: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
1. 我发现用gfortran 无法计算 real*16,所以我用的ifort
2. 若将real*16改为DOUBLE PRECISION,可以算,但是还是相当与 用real*8