Showing results for 
Search instead for 
Did you mean: 

Inconsistent results for double complex type with Intel Fortran Compiler

I have an issue with the double complex data type and the Fortran compiler.

When I compare several basic operations on Windows and Linux, the results are not identical (differences arise from division and are visible at 14th to 15th digit). When doing the same operations with double precision (omitting the complex part) the results are identical up to the last digit on both platforms. Even LAPACK zgesv and MKL zgesv produce different results for the identical input (using dgesv, the results are identical).

The problem seems only for Linux: The basic operations may also be replaced by double precision operations for the real and imaginary parts of a complex number. This produces bit identical results on both platforms, where Windows double complex and its replacement by double precision arithmetics are identical.

Is there a way to enforce ifort to produce the same results for double complex on Linux, since this is very important for reproducibility across platforms?

If not, do you know the reason for the differences of double complex arithmetics on Linux?

Thanks for your answer in advance,

0 Kudos
1 Reply

I doubt double complex itself is special here. Read the attached presentation and perhaps adjust your expectations.


0 Kudos