Ich habe die SVD von Intel MKL ( dgesvdüber SciPy) verwendet und festgestellt, dass die Ergebnisse erheblich voneinander abweichen, wenn ich die Genauigkeit zwischen float32und float64wenn meine Matrix schlecht konditioniert ist / nicht den vollen Rang hat. Gibt es einen Leitfaden zum Mindestmaß an Regularisierung, das ich hinzufügen sollte, um die Ergebnisse unempfindlich gegenüber float32-> float64Änderungen zu machen?
Insbesondere wenn ich mache , sehe ich, dass sich die L ∞ -Norm von V T X um ungefähr 1 bewegt, wenn ich die Genauigkeit zwischen und ändere . Die L 2 -Norm von A ist 10 5 und hat ungefähr 200 Null-Eigenwerte von insgesamt 784.float32float64
Durch SVD auf mit λ = 10 - 3 verschwand der Unterschied.
