Angenommen, ich kenne die erwartete Sparsamkeit einer Matrix (dh die Anzahl der Nicht-Nullen / die insgesamt mögliche Anzahl der Nicht-Nullen). Gibt es eine Faustregel (möglicherweise eine ungefähre Angabe) für die Entscheidung, ob ein spärlicher Matrixspeicher (insbesondere ein komprimierter Zeilenspeicher) verwendet oder als dichte Matrix gespeichert werden soll?
- Geschwindigkeit ist in meiner Anwendung wichtiger als Speicher. Aus allgemeiner Neugier bin ich jedoch an Antworten aus Sicht der Geschwindigkeit und des Gedächtnisses interessiert.
- Nach dem Generieren der Matrix wende ich nur Additions- und Multiplikationsoperationen darauf an.
- Ich konnte nur qualitative Antworten finden, zB diese Frage und diese Frage, aber ich suche nach so etwas
... wenn die Sparsity mehr als ungefähr beträgt , verwenden Sie dichten Speicher.