विरल मैट्रिक्स

संख्यात्मक विश्लेषण और वैज्ञानिक कंप्यूटिंग में, एक विरल मैट्रिक्स या विरल सरणी एक मैट्रिक्स (गणित) है जिसमें अधिकांश तत्व शून्य होते हैं। मैट्रिक्स के लिए विरल के रूप में अर्हता प्राप्त करने के लिए शून्य-मान तत्वों के अनुपात के संबंध में कोई सख्त परिभाषा नहीं है, लेकिन एक सामान्य मानदंड यह है कि गैर-शून्य तत्वों की संख्या लगभग पंक्तियों या स्तंभों की संख्या के बराबर होती है। इसके विपरीत, यदि अधिकांश तत्व गैर-शून्य हैं, तो मैट्रिक्स को सघन माना जाता है। तत्वों की कुल संख्या से विभाजित शून्य-मूल्य वाले तत्वों की संख्या (उदाहरण के लिए, m × n मैट्रिक्स के लिए m × n) को कभी-कभी मैट्रिक्स की 'स्पार्सिटी' कहा जाता है।

संकल्पनात्मक रूप से, स्पार्सिटी कुछ जोड़ीदार अंतःक्रियाओं वाले सिस्टम से मेल खाती है। उदाहरण के लिए, एक से दूसरे में स्प्रिंग द्वारा जुड़ी गेंदों की एक पंक्ति पर विचार करें: यह एक विरल प्रणाली है क्योंकि केवल आसन्न गेंदों को जोड़ा जाता है। इसके विपरीत, यदि गेंदों की एक ही पंक्ति में प्रत्येक गेंद को अन्य सभी गेंदों से जोड़ने वाले स्प्रिंग्स हों, तो सिस्टम एक सघन मैट्रिक्स के अनुरूप होगा। स्पार्सिटी की अवधारणा साहचर्य  और एप्लिकेशन क्षेत्रों जैसे नेटवर्क सिद्धांत और संख्यात्मक विश्लेषण में उपयोगी है, जिसमें आमतौर पर महत्वपूर्ण डेटा या कनेक्शन का घनत्व कम होता है। आंशिक अंतर समीकरणों को हल करते समय बड़े विरल मैट्रिक्स अक्सर वैज्ञानिक या अभियांत्रिकी अनुप्रयोगों में दिखाई देते हैं।

कंप्यूटर पर विरल मैट्रिसेस का भंडारण और हेरफेर करते समय, विशेष कलन विधि और डेटा संरचनाओं का उपयोग करना फायदेमंद और अक्सर आवश्यक होता है जो मैट्रिक्स की विरल संरचना का लाभ उठाते हैं। विरल मैट्रिसेस के लिए विशिष्ट कंप्यूटर बनाए गए हैं, क्योंकि वे मशीन लर्निंग क्षेत्र में आम हैं। प्रसंस्करण के रूप में बड़े विरल मैट्रिक्स पर लागू होने पर मानक घने-मैट्रिक्स संरचनाओं और एल्गोरिदम का उपयोग करने वाले संचालन धीमे और अक्षम होते हैं और स्मृति शून्य पर बर्बाद हो जाती है। विरल डेटा स्वभाव से अधिक आसानी से डेटा संपीड़न होता है और इस प्रकार कंप्यूटर डेटा संग्रहण में काफी कम आवश्यकता होती है। मानक घने-मैट्रिक्स एल्गोरिदम का उपयोग करके हेरफेर करने के लिए कुछ बहुत बड़े विरल मैट्रिक्स अक्षम हैं।

विरल मैट्रिक्स का भंडारण
एक मैट्रिक्स को आमतौर पर द्वि-आयामी सरणी के रूप में संग्रहीत किया जाता है। सरणी में प्रत्येक प्रविष्टि एक तत्व का प्रतिनिधित्व करती है $a_{i,j}$ मैट्रिक्स का और दो ऐरे डेटा स्ट्रक्चर द्वारा एक्सेस किया जाता है $i$ और $j$. परंपरागत रूप से, $i$ पंक्ति अनुक्रमणिका है, जो ऊपर से नीचे तक क्रमांकित है, और $j$ कॉलम इंडेक्स है, जिसे बाएं से दाएं क्रमांकित किया गया है। एक के लिए $m × n$ मैट्रिक्स, इस प्रारूप में मैट्रिक्स को स्टोर करने के लिए आवश्यक मेमोरी की मात्रा आनुपातिक है $m × n$ (इस तथ्य की उपेक्षा करते हुए कि मैट्रिक्स के आयामों को भी संग्रहीत करने की आवश्यकता है)।

विरल मैट्रिक्स के मामले में, केवल गैर-शून्य प्रविष्टियों को संग्रहीत करके पर्याप्त मेमोरी आवश्यकता में कमी को महसूस किया जा सकता है। गैर-शून्य प्रविष्टियों की संख्या और वितरण के आधार पर, विभिन्न डेटा संरचनाओं का उपयोग किया जा सकता है और मूल दृष्टिकोण की तुलना में स्मृति में बड़ी बचत हो सकती है। व्यापार बंद यह है कि व्यक्तिगत तत्वों तक पहुंच अधिक जटिल हो जाती है और मूल मैट्रिक्स को स्पष्ट रूप से पुनर्प्राप्त करने में सक्षम होने के लिए अतिरिक्त संरचनाओं की आवश्यकता होती है।

स्वरूपों को दो समूहों में विभाजित किया जा सकता है:


 * वे जो कुशल संशोधन का समर्थन करते हैं, जैसे DOK (कुंजियों का शब्दकोश), LIL (सूचियों की सूची), या COO (समन्वय सूची)। ये आमतौर पर मैट्रिसेस के निर्माण के लिए उपयोग किए जाते हैं।
 * वे जो सीएसआर (संपीड़ित विरल पंक्ति) या सीएससी (संपीड़ित विरल स्तंभ) जैसे कुशल पहुंच और मैट्रिक्स संचालन का समर्थन करते हैं।

चाबियों का शब्दकोश (डीओके)
DOK में एक साहचर्य सरणी होती है जो मैप करती है $(row, column)$-क्रमित जोड़ी तत्वों के मूल्य के लिए। शब्दकोश से गायब होने वाले तत्वों को शून्य मान लिया जाता है। प्रारूप यादृच्छिक क्रम में एक विरल मैट्रिक्स के निर्माण के लिए अच्छा है, लेकिन लेक्सिकोग्राफ़िक क्रम में गैर-शून्य मानों पर पुनरावृति के लिए खराब है। एक आम तौर पर इस प्रारूप में एक मैट्रिक्स बनाता है और फिर प्रसंस्करण के लिए एक और अधिक कुशल प्रारूप में परिवर्तित हो जाता है।

सूचियों की सूची (एलआईएल)
LIL प्रति पंक्ति एक सूची संग्रहीत करता है, जिसमें प्रत्येक प्रविष्टि में कॉलम अनुक्रमणिका और मान होता है। आमतौर पर, इन प्रविष्टियों को तेजी से देखने के लिए कॉलम इंडेक्स द्वारा क्रमबद्ध रखा जाता है। वृद्धिशील मैट्रिक्स निर्माण के लिए यह एक और प्रारूप अच्छा है।

समन्वय सूची (सीओओ)
सीओओ की एक सूची संग्रहीत करता है $(row, column, value)$ टुपल्स। आदर्श रूप से, रैंडम एक्सेस समय में सुधार के लिए प्रविष्टियों को पहले पंक्ति अनुक्रमणिका और फिर स्तंभ अनुक्रमणिका द्वारा क्रमबद्ध किया जाता है। यह एक और प्रारूप है जो वृद्धिशील मैट्रिक्स निर्माण के लिए अच्छा है।

संपीड़ित विरल पंक्ति (सीएसआर, सीआरएस या येल प्रारूप)
संपीड़ित विरल पंक्ति (CSR) या संपीड़ित पंक्ति संग्रहण (CRS) या येल प्रारूप एक मैट्रिक्स का प्रतिनिधित्व करता है $M$ तीन (एक-आयामी) सरणियों द्वारा, जिनमें क्रमशः शून्येतर मान, पंक्तियों का विस्तार, और स्तंभ सूचकांक होते हैं। यह सीओओ के समान है, लेकिन पंक्ति सूचकांकों को संकुचित करता है, इसलिए यह नाम है। यह प्रारूप तेज पंक्ति पहुंच और मैट्रिक्स-वेक्टर गुणन की अनुमति देता है ($Mx$). सीएसआर प्रारूप कम से कम 1960 के दशक के मध्य से उपयोग में रहा है, जिसका पहला पूर्ण विवरण 1967 में प्रदर्शित हुआ था। सीएसआर प्रारूप एक विरल भंडार करता है $m × n$ आव्यूह $M$ तीन (एक-आयामी) सरणियों का उपयोग करके पंक्ति रूप में $(V, COL_INDEX, ROW_INDEX)$. होने देना $NNZ$ गैर-शून्य प्रविष्टियों की संख्या को निरूपित करता है $M$. (ध्यान दें कि शून्य-आधारित नंबरिंग | शून्य-आधारित सूचकांकों का उपयोग यहां किया जाएगा।)

उदाहरण के लिए, मैट्रिक्स $$\begin{pmatrix} 5 & 0 & 0 & 0 \\ 0 & 8 & 0 & 0 \\ 0 & 0 & 3 & 0 \\ 0 & 6 & 0 & 0 \\ \end{pmatrix}$$ एक है $V$ मैट्रिक्स 4 अशून्य तत्वों के साथ, इसलिए वी = [5 8 3 6] COL_INDEX = [ 0 1 2 1 ] ROW_INDEX = [ 0 1 2 3 4 ] एक शून्य-अनुक्रमित भाषा मानकर।
 * सरणियाँ $COL_INDEX$ और $NNZ$ लम्बाई के हैं $ROW_INDEX$, और गैर-शून्य मान और क्रमशः उन मानों के स्तंभ अनुक्रमणिका शामिल करें।
 * सरणी $m + 1$ लम्बाई का है $V$ और इंडेक्स को एन्कोड करता है $COL_INDEX$ और $ROW_INDEX[j]$ जहां दी गई पंक्ति शुरू होती है। यह इसके बराबर है $j$ पंक्ति के ऊपर नॉनज़रो की कुल संख्या को एनकोड करना $NNZ$. अंतिम तत्व है $V$, यानी, काल्पनिक सूचकांक में $NNZ - 1$ अंतिम वैध इंडेक्स के तुरंत बाद $4 × 4$.

एक पंक्ति निकालने के लिए, हम पहले परिभाषित करते हैं: पंक्ति_प्रारंभ = ROW_INDEX [पंक्ति] row_end = ROW_INDEX [पंक्ति + 1]

फिर हम V और COL_INDEX से स्लाइस लेते हैं जो row_start से शुरू होती है और row_end पर समाप्त होती है।

इस मैट्रिक्स की पंक्ति 1 (दूसरी पंक्ति) निकालने के लिए हम सेट करते हैं  और. फिर हम स्लाइस बनाते हैं  और. अब हम जानते हैं कि पंक्ति 1 में हमारे पास स्तंभ 1 में मान 8 के साथ एक तत्व है।

इस मामले में मूल मैट्रिक्स में 16 की तुलना में सीएसआर प्रतिनिधित्व में 13 प्रविष्टियां हैं। सीएसआर प्रारूप स्मृति पर तभी सहेजता है जब $NNZ < (m (n − 1) − 1) / 2$.

एक अन्य उदाहरण, मैट्रिक्स $$\begin{pmatrix} 10 & 20 & 0 &  0 &  0 &  0 \\ 0 & 30 &  0 & 40 &  0 &  0 \\ 0 &  0 & 50 & 60 & 70 &  0 \\ 0 &  0 &  0 &  0 &  0 & 80 \\ \end{pmatrix}$$ एक है $4 × 6$ मैट्रिक्स (24 प्रविष्टियाँ) 8 अशून्य तत्वों के साथ, इसलिए वी = [10 20 30 40 50 60 70 80] COL_INDEX = [ 0 1 1 3 2 3 4 5 ] ROW_INDEX = [ 0 2 4 7 8 ]

संपूर्ण को 21 प्रविष्टियों के रूप में संग्रहीत किया जाता है: 8 इंच $V$, 8 इंच $COL_INDEX$, और 5 इन $ROW_INDEX$.


 * $ROW_INDEX$ सरणी को विभाजित करता है $V$ पंक्तियों में:, के सूचकांक को दर्शाता है $V$ (और $COL_INDEX$) जहां प्रत्येक पंक्ति शुरू और समाप्त होती है;
 * $COL_INDEX$ कॉलम में मान संरेखित करता है:.

ध्यान दें कि इस प्रारूप में, का पहला मान $ROW_INDEX$ हमेशा शून्य होता है और अंतिम हमेशा होता है $NNZ$, इसलिए वे कुछ मायने में अनावश्यक हैं (हालांकि प्रोग्रामिंग भाषाओं में जहां सरणी लंबाई को स्पष्ट रूप से संग्रहीत करने की आवश्यकता होती है, $NNZ$ अनावश्यक नहीं होगा)। बहरहाल, यह प्रत्येक पंक्ति की लंबाई की गणना करते समय एक असाधारण मामले को संभालने की आवश्यकता से बचता है, क्योंकि यह सूत्र की गारंटी देता है $ROW_INDEX[i + 1] − ROW_INDEX[i]$ किसी भी पंक्ति के लिए काम करता है $i$. इसके अलावा, पर्याप्त रूप से बड़े मैट्रिक्स के लिए इस अनावश्यक भंडारण की स्मृति लागत संभवतः नगण्य है।

(पुराने और नए) येल स्पार्स मैट्रिक्स प्रारूप सीएसआर योजना के उदाहरण हैं। पुराना येल प्रारूप ठीक ऊपर बताए अनुसार काम करता है, तीन सरणियों के साथ; नया स्वरूप जोड़ता है $ROW_INDEX$ और $COL_INDEX$ एकल सरणी में और मैट्रिक्स के विकर्ण को अलग से संभालता है। लॉजिकल मैट्रिक्स एडजेंसी मैट्रिक्स के लिए, डेटा सरणी को छोड़ा जा सकता है, क्योंकि पंक्ति सरणी में एक प्रविष्टि का अस्तित्व बाइनरी आसन्न संबंध को मॉडल करने के लिए पर्याप्त है।

यह संभवतः येल प्रारूप के रूप में जाना जाता है क्योंकि यह येल विश्वविद्यालय में कंप्यूटर विज्ञान विभाग से 1977 येल स्पार्स मैट्रिक्स पैकेज रिपोर्ट में प्रस्तावित किया गया था।

संपीड़ित विरल स्तंभ (सीएससी या सीसीएस)
सीएससी सीएसआर के समान है सिवाय इसके कि मान पहले कॉलम द्वारा पढ़े जाते हैं, प्रत्येक मान के लिए एक पंक्ति अनुक्रमणिका संग्रहीत की जाती है, और कॉलम पॉइंटर्स संग्रहीत किए जाते हैं। उदाहरण के लिए, सीएससी है $(val, row_ind, col_ptr)$, कहाँ $val$ मैट्रिक्स के गैर-शून्य मानों (ऊपर से नीचे, फिर बाएं से दाएं) की एक सरणी है; $row_ind$ मूल्यों के अनुरूप पंक्ति सूचकांक है; और, $col_ptr$ की सूची है $val$ अनुक्रमित करता है जहां प्रत्येक कॉलम शुरू होता है। नाम इस तथ्य पर आधारित है कि स्तंभ अनुक्रमणिका जानकारी सीओओ प्रारूप के सापेक्ष संकुचित होती है। एक आम तौर पर निर्माण के लिए दूसरे प्रारूप (एलआईएल, डीओके, सीओओ) का उपयोग करता है। यह प्रारूप अंकगणितीय संचालन, कॉलम स्लाइसिंग और मैट्रिक्स-वेक्टर उत्पादों के लिए कुशल है। देखें scipy.sparse.csc_matrix। MATLAB में स्पार्स मैट्रिक्स निर्दिष्ट करने के लिए यह पारंपरिक प्रारूप है (के माध्यम से) समारोह)।

बंधी हुई
विरल मैट्रिक्स का एक महत्वपूर्ण विशेष प्रकार बैंड मैट्रिक्स है, जिसे निम्नानुसार परिभाषित किया गया है। एक मैट्रिक्स की निचली बैंडविड्थ $A$ सबसे छोटी संख्या है $p$ जैसे कि प्रविष्टि $a_{i,j}$ जब भी गायब हो जाता है $i > j + p$. इसी तरह, बैंड मैट्रिक्स#ऊपरी बैंडविड्थ सबसे छोटी संख्या है $p$ ऐसा है कि $a_{i,j} = 0$ जब कभी भी $i < j − p$. उदाहरण के लिए, एक त्रिभुज मैट्रिक्स में कम बैंडविड्थ होती है $1$ और ऊपरी बैंडविड्थ $1$. एक अन्य उदाहरण के रूप में, निम्नलिखित विरल मैट्रिक्स में निम्न और ऊपरी बैंडविड्थ दोनों 3 के बराबर हैं। ध्यान दें कि शून्य को स्पष्टता के लिए डॉट्स के साथ दर्शाया गया है। $$\begin{bmatrix} X  &   X   &   X   & \cdot & \cdot & \cdot & \cdot & \\ X  &   X   & \cdot &   X   &   X   & \cdot & \cdot & \\ X  & \cdot &   X   & \cdot &   X   & \cdot & \cdot & \\ \cdot &  X   & \cdot &   X   & \cdot &   X   & \cdot & \\ \cdot &  X   &   X   & \cdot &   X   &   X   &   X   & \\ \cdot & \cdot & \cdot &  X   &   X   &   X   & \cdot & \\ \cdot & \cdot & \cdot & \cdot &  X   & \cdot &   X   & \\ \end{bmatrix}$$ उचित रूप से छोटे ऊपरी और निचले बैंडविड्थ वाले मेट्रिसेस को बैंड मैट्रिसेस के रूप में जाना जाता है और अक्सर सामान्य विरल मैट्रिसेस की तुलना में सरल एल्गोरिदम के लिए खुद को उधार देते हैं; या कोई कभी-कभी घने मैट्रिक्स एल्गोरिदम लागू कर सकता है और कम संख्या में सूचकांकों पर लूप करके दक्षता हासिल कर सकता है।

मैट्रिक्स की पंक्तियों और स्तंभों को पुनर्व्यवस्थित करके $A$ मैट्रिक्स प्राप्त करना संभव हो सकता है $A′$ कम बैंडविड्थ के साथ। ग्राफ बैंडविड्थ के लिए कई एल्गोरिदम डिज़ाइन किए गए हैं।

विकर्ण
बैंड मेट्रिसेस, विकर्ण मैट्रिक्स के एक चरम मामले के लिए एक बहुत ही कुशल संरचना, केवल मुख्य विकर्ण में प्रविष्टियों को एक आयामी सरणी के रूप में संग्रहीत करना है, इसलिए एक विकर्ण $n × n$ मैट्रिक्स केवल की आवश्यकता है $n$ प्रविष्टियां।

सममित
एक सममित विरल मैट्रिक्स एक अप्रत्यक्ष ग्राफ के आसन्न मैट्रिक्स के रूप में उत्पन्न होता है; इसे निकटता सूची के रूप में कुशलतापूर्वक संग्रहीत किया जा सकता है।

ब्लॉक विकर्ण
एक ब्लॉक-विकर्ण मैट्रिक्स में इसके विकर्ण ब्लॉकों के साथ उप-मैट्रिसेस होते हैं। एक ब्लॉक-विकर्ण मैट्रिक्स $A$ का रूप है $$\mathbf{A} = \begin{bmatrix} \mathbf{A}_1 & 0            & \cdots & 0            \\ 0           & \mathbf{A}_2  & \cdots & 0            \\ \vdots      & \vdots        & \ddots & \vdots       \\ 0           & 0             & \cdots & \mathbf{A}_n \end{bmatrix},$$ कहाँ $A_{k}$ सभी के लिए एक वर्ग मैट्रिक्स है $k = 1, ..., n$.

फिल-इन को कम करना
एक मैट्रिक्स का भरण वे प्रविष्टियाँ हैं जो एक एल्गोरिथ्म के निष्पादन के दौरान प्रारंभिक शून्य से गैर-शून्य मान में बदल जाती हैं। एल्गोरिथ्म के दौरान उपयोग की जाने वाली मेमोरी आवश्यकताओं और अंकगणितीय संचालन की संख्या को कम करने के लिए, मैट्रिक्स में पंक्तियों और स्तंभों को स्विच करके फिल-इन को कम करना उपयोगी होता है। वास्तविक चोल्स्की अपघटन करने से पहले प्रतीकात्मक चोलस्की अपघटन का उपयोग सबसे खराब संभव भरने की गणना के लिए किया जा सकता है।

उपयोग में चॉल्स्की अपघटन के अलावा अन्य विधियां भी हैं। ऑर्थोगोनलाइज़ेशन मेथड्स (जैसे क्यूआर फ़ैक्टराइज़ेशन) आम हैं, उदाहरण के लिए, कम से कम वर्ग विधियों द्वारा समस्याओं को हल करते समय। जबकि सैद्धांतिक भराव अभी भी समान है, व्यावहारिक रूप से झूठे गैर-शून्य अलग-अलग तरीकों के लिए अलग-अलग हो सकते हैं। और उन एल्गोरिदम के प्रतीकात्मक संस्करणों का उपयोग उसी तरह से किया जा सकता है जैसे प्रतीकात्मक चोलस्की सबसे खराब स्थिति भरने की गणना करने के लिए।

विरल मैट्रिक्स समीकरणों को हल करना
स्पैर मैट्रिक्स सॉल्विंग के लिए इटरेटिव मेथड और डायरेक्ट मेथड्स दोनों मौजूद हैं।

पुनरावर्ती विधियाँ, जैसे कि संयुग्मी ढाल विधि और GMRES मैट्रिक्स-वेक्टर उत्पादों की तीव्र संगणना का उपयोग करते हैं $$A x_i$$, जहां मैट्रिक्स $$A$$ विरल है। पूर्व शर्त का उपयोग इस तरह के पुनरावृत्त तरीकों के अभिसरण को महत्वपूर्ण रूप से तेज कर सकता है।

सॉफ्टवेयर
कई सॉफ्टवेयर पुस्तकालय विरल मैट्रिसेस का समर्थन करते हैं, और विरल मैट्रिक्स समीकरणों के लिए सॉल्वर प्रदान करते हैं। निम्नलिखित ओपन-सोर्स हैं:
 * SuiteSparse, विरल मैट्रिक्स एल्गोरिद्म का एक सूट, जो विरल रेखीय प्रणालियों के प्रत्यक्ष समाधान की ओर अग्रसर है।
 * वैज्ञानिक संगणना के लिए पोर्टेबल, एक्स्टेंसिबल टूलकिट, एक बड़ी सी लाइब्रेरी, जिसमें विभिन्न प्रकार के मैट्रिक्स स्टोरेज फॉर्मेट के लिए कई अलग-अलग मैट्रिक्स सॉल्वर हैं।
 * Trilinos, एक बड़ी मालिकाना (सी ++ पुस्तकालय), घने और विरल मैट्रिसेस के भंडारण और संबंधित रैखिक प्रणालियों के समाधान के लिए समर्पित उप-पुस्तकालयों के साथ।
 * Eigen (C++ लाइब्रेरी) एक C++ लाइब्रेरी है जिसमें कई विरल मैट्रिक्स सॉल्वर हैं। हालाँकि, उनमें से कोई भी समानांतर कंप्यूटिंग नहीं है।
 * MUMPS (सॉफ्टवेयर) (MUltifrontal Massively Parallel sparse direct Solver), जिसे Fortran90 में लिखा गया है, एक ललाट सॉल्वर  है।
 * Deal.II, एक परिमित तत्व पुस्तकालय जिसमें विरल रैखिक प्रणालियों और उनके समाधान के लिए एक उप-पुस्तकालय भी है।
 * Dune_(सॉफ्टवेयर), एक अन्य परिमित तत्व पुस्तकालय जिसमें विरल रैखिक प्रणालियों और उनके समाधान के लिए एक उप-पुस्तकालय भी है।
 * PaStix।
 * SuperLU।
 * अर्माडिलो (C++ लाइब्रेरी) BLAS और LAPACK के लिए उपयोगकर्ता के अनुकूल C++ रैपर प्रदान करता है।
 * SciPy कई विरल मैट्रिक्स स्वरूपों, रैखिक बीजगणित और सॉल्वरों के लिए समर्थन प्रदान करता है।
 * SPArse मैट्रिक्स (स्पैम) विरल मैट्रिक्स के लिए आर और पायथन पैकेज।
 * वोल्फ्राम भाषा विरल सरणियों को संभालने के लिए उपकरण
 * ALGLIB विरल रेखीय बीजगणित समर्थन के साथ एक C++ और C# पुस्तकालय है
 * अर्नोल्डी एल्गोरिथम का उपयोग करते हुए विरल मैट्रिक्स विकर्णीकरण और हेरफेर के लिए ARPACK फोरट्रान 77 पुस्तकालय
 * SPARSE संदर्भ (पुराना) एनआईएसटी पैकेज (वास्तविक या जटिल) विरल मैट्रिक्स विकर्णकरण के लिए
 * बड़े पैमाने पर रैखिक प्रणालियों और विरल मैट्रिसेस के समाधान के लिए एसएलईपीसी लाइब्रेरी
 * Sympiler, एक डोमेन-विशिष्ट कोड जनरेटर और पुस्तकालय रैखिक प्रणालियों और द्विघात प्रोग्रामिंग समस्याओं को हल करने के लिए।
 * scikit-सीखें, यंत्र अधिगम  के लिए एक पायथन लाइब्रेरी, विरल मैट्रिसेस और सॉल्वर के लिए सहायता प्रदान करता है।
 * sprs शुद्ध रस्ट में विरल मैट्रिक्स डेटा संरचनाओं और रैखिक बीजगणित एल्गोरिदम को लागू करता है।
 * बेसिक मैट्रिक्स लाइब्रेरी (बीएमएल) सी, सी++ और फोरट्रान के लिए बाइंडिंग के साथ कई विरल मैट्रिक्स स्वरूपों और रैखिक बीजगणित एल्गोरिदम का समर्थन करता है।

इतिहास
स्पार्स मैट्रिक्स शब्द संभवतः हैरी मार्कोविट्ज़ द्वारा गढ़ा गया था जिन्होंने कुछ अग्रणी कार्य शुरू किए लेकिन फिर क्षेत्र छोड़ दिया।

यह भी देखें
• Matrix representation

• Pareto principle

• Ragged matrix

• Single-entry matrix

• Skyline matrix

• Sparse graph code

• Sparse file

• Harwell-Boeing file format

• Matrix Market exchange formats

संदर्भ

 * (This book, by a professor at the State University of New York at Stony Book, was the first book exclusively dedicated to Sparse Matrices. Graduate courses using this as a textbook were offered at that University in the early 1980s).
 * Also NOAA Technical Memorandum NOS NGS-4, National Geodetic Survey, Rockville, MD.
 * (This book, by a professor at the State University of New York at Stony Book, was the first book exclusively dedicated to Sparse Matrices. Graduate courses using this as a textbook were offered at that University in the early 1980s).
 * Also NOAA Technical Memorandum NOS NGS-4, National Geodetic Survey, Rockville, MD.
 * Also NOAA Technical Memorandum NOS NGS-4, National Geodetic Survey, Rockville, MD.
 * Also NOAA Technical Memorandum NOS NGS-4, National Geodetic Survey, Rockville, MD.

अग्रिम पठन

 * Sparse Matrix Algorithms Research at the Texas A&M University.
 * SuiteSparse Matrix Collection
 * SMALL project A EU-funded project on sparse models, algorithms and dictionary learning for large-scale data.
 * SuiteSparse Matrix Collection
 * SMALL project A EU-funded project on sparse models, algorithms and dictionary learning for large-scale data.