| July 7, 2009 11:30 AM PDT | |
|
The LAPACK least squares function dgelss gives a different results on Linux* compared with Windows*. Though, it is difficult to get a bit-to-bit correspondence values on both systems, but considering the following may help to get consistent results.
For a rank-deficient matrix, it is not easy to get deterministic results. For a rank 2 matrix, only 2 singular vectors will be computed to the working precision and other singular vectors could be any vectors that complement the orthonormal system along the first two, because SVD algorithm becomes unstable in the range of very small singular values. It is unavoidable and we can guarantee bit-to-bit correspondence of the results only on the systems with absolutely the same architecture, same MKL version, same arrays alignment, same FP units flags (precision, rounding etc), running in the same number of threads. Otherwise, ill-conditioned problems cause the different results from the practical point of view, in case of SVD returns several singular values equal to zero (to the working precision). The following should be considered to avoid the different behaviours.
|
This article applies to: Intel® Math Kernel Library Knowledge Base, Software Products General
For more complete information about compiler optimizations, see our Optimization Notice.

