Yazan : Şadi Evren ŞEKER

Bilgisayar bilimlerinde verilerin hafızada tutulması sırasında çok sık kullanılan araçlardan birisi de matrislerdir. Seyrek matrisler (Sparce matrices) , matrislerin özel bir halidir ve matrisin veri içeren kısmı matrisin düşük miktardaki bir parçasıdır. Örneğin aşağıdaki diyagonal matrisi ele alalım:

10000
03000
00400
00020
00001

Yukarıdaki bu matris görüldüğü üzere sadece diyagonda veri içeren ve dolayısıyla diyagon dışındaki elemanlarında değer bulunmayan (veya 0 (sıfır) bulunan) matristir.

Bilgisayar bilimlerinde matrisleri tutmak için iki boyutlu dizilerden (array) faydalanılır. Normal bir matrisi tutmak için matrisin boyutları kadar hafızada yer kaplanması gerekir. Örneğin yukarıdaki matrisi için 5×5 boyutlarında bir dizi oluşturmak gerekir.

Seyrek matrislerin, normal matrislere ilave olarak sağladığı bir avantaj matrisi hafızada tutmak için daha az yer ihtiyacımızın olabilmesidir. Basitçe veri bulunmayan elemanları hafızada tutmaya gerek yoktur. Bunun yerine sadece ihtiyaç duyulan kadar veriyi tutmak daha verimli bir yaklaşımdır.

Örneğin diyagonal matrislere hususi olarak bu matrisleri tek boyutlu dizide (vektörde) tutmak mümkündür. Yukarıdaki örnek için {1,3,4,2,1} değerlerini tutmak yeterlidir. Bu bilginin diyagonal bir matrisin diyagonundaki veriler olduğunu biliyorsak bu bilgiden matrisi geri inşa edebiliriz.

Seyrek matrislerin bilgisayar bilimleri açısından bir önemi de veri sıkıştırma açısından oldukça verimli olmalarıdır. Yani en basitten en karmaşık sıkıştırma algoritmasına kadar hemen bütün algoritmalar başarılı bir şekilde seyrek matrisleri sıkıştırabilirler.

Örneğin seyrek matrisleri tutmak için geliştirilmiş sıkıştırılmış seyrek kolon (compressed sparse column) ismi verilen özel bir tutma metodu bulunur.

İlave olarak çok tekrarlı matrisleri de seyrek matris olarak düşünmek mümkündür.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir