8

In version 7.0.1.0 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.

J. M.'s missing motivation
  • 124,525
  • 11
  • 401
  • 574
Chris Degnen
  • 30,927
  • 2
  • 54
  • 108
  • 1
    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. – Oleksandr R. Jan 22 '16 at 00:52
  • 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. – Chris Degnen Jan 22 '16 at 11:25
  • In Mathematica 10.4.1 the original higher precision result is obtained. The MKL library version is 11.3.1.1 – Simon Woods Jul 20 '16 at 22:46
  • 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. – Chris Degnen Jul 22 '16 at 14:53

0 Answers0