Was ist der beste Weg, um die Singulärwertzerlegung (SVD) einer sehr großen positiven Matrix (65M x 3,4M) zu berechnen, bei der die Daten extrem dünn sind?
Weniger als 0,1% der Matrix ist nicht Null. Ich brauche einen Weg, der:
- passt in den Speicher (ich weiß, dass Online-Methoden existieren)
- wird in einer angemessenen Zeit berechnet: 3,4 Tage
- wird genau genug sein, aber Genauigkeit ist nicht mein Hauptanliegen und ich möchte in der Lage sein zu kontrollieren, wie viel Ressourcen ich in sie stecke.
Es wäre toll, eine Haskell-, Python-, C # - usw. Bibliothek zu haben, die diese implementiert. Ich benutze weder Mathlab noch R, kann aber bei Bedarf mit R gehen.