In version and versions 10.0 and 10.1 the following is produced:

{u, w, v} = SingularValueDecomposition[{{3., 7.}, {2., 13.}}];
InputForm /@ (u.w.Transpose[v])

{{3.000000000000001, 7.000000000000001}, {2., 13.000000000000002}}

In versions 10.3 and 10.3.1 the precision has reduced:

{{3.0000000000000018, 7.000000000000002}, {2.0000000000000018, 13.000000000000004}}

This result is happening on Windows 7 and 10. Does anyone know why this is happening and is there something I can change to get the former result on version 10.3.1? I'm concerned this may also be affecting optimisation results.

  • 1
    $\begingroup$ Could be a bug/difference in MKL, if the version changed between 10.1 and 10.3. I don't know if it did, but you can check that. $\endgroup$ – Oleksandr R. Jan 22 '16 at 0:52
  • $\begingroup$ Thanks. According to this post there was a change. Mma 10.1 uses MKL 11.2.1 and Mma 10.3 uses MKL 11.2.2. Not a major version change though. $\endgroup$ – Chris Degnen Jan 22 '16 at 11:25
  • $\begingroup$ In Mathematica 10.4.1 the original higher precision result is obtained. The MKL library version is $\endgroup$ – Simon Woods Jul 20 '16 at 22:46
  • $\begingroup$ My Windows 10 installation of Mma 10.4.0 produces the second answer. My Mac on 10.4.1 produces the first. Wolfram support ran it on Win 7 on several version up to 10.3.1 all producing the first answer. They suggested a clean start or reinstallation. I saw another Windows 10.4.0 produce the first answer, so it doesn't seem to be the MKL. I tried a clean start to no avail. $\endgroup$ – Chris Degnen Jul 22 '16 at 14:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.