İlk olarak, uygulamaya bağlıdır. Yoğun bir matris olarak seyrek bir matris uygularsanız ve sıfır olmayanları doldurursanız, matrisin toplam boyutuyla ölçeklenir. Sıfır dışında depolanırsa, erişim süresi matris boyutuyla ölçeklendikçe ölçeklenir.
PETSc belgelerinde , seyrek matrisler için varsayılan depolamanın, satır sayısı ve satır başına sıfır olmayan değerlerin sayısı ile ölçeklenen sıkıştırılmış satır depolama alanı olduğunu açıklar. Bu yüzden bir MatMat'ın bu önlemin karesiyle genişçe ölçeklenmesini beklerdim; yani .O ( r2n2)
Bununla birlikte, dikkat edilmesi gereken bir şey, orada olmayanları depolamanın bir anlamı olmadığıdır; bu performansı önemsiyorsanız, neden 1000x1000 matris için 100 değer saklıyorsunuz? Bu, satırların / sütunların en az% 90'ının sıfır olmayan değerlere sahip olmadığı ve tamamen matristen çıkarılabileceği anlamına gelir. Sıfır olmayan değerlerin paterni değişmezse, her zaman sıfır olan satırları hem bu hem de hedef matristen kaldırmayı düşünün; iki matrisin (100 2 , 1000 2 ) performansını geniş ölçüde eşdeğer bırakarak, çabanın% 90'ını kaldıracaktır .