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.