विरल मैट्रिक्स
Example of sparse matrix
|
The above sparse matrix contains only 9 non-zero elements, with 26 zero elements. Its sparsity is 74%, and its density is 26%.
|
संख्यात्मक विश्लेषण और वैज्ञानिक कंप्यूटिंग में, एक विरल मैट्रिक्स या विरल मैट्रिक्स एक आव्यूह (गणित) है जिसमें अधिकांश अवयव शून्य होते हैं।[1] आव्यूह के लिए विरल के रूप में अर्हता प्राप्त करने के लिए शून्य-मान अवयवों के अनुपात के संबंध में कोई विशुद्ध परिभाषा नहीं है, परन्तु एक सामान्य मापदण्ड यह है कि गैर-शून्य अवयवों की संख्या लगभग पंक्तियों या स्तंभों की संख्या के बराबर होती है। इसके विपरीत, यदि अधिकांश अवयव गैर-शून्य हैं, तो आव्यूह को सघन माना जाता है।[1]अवयवों की कुल संख्या से विभाजित शून्य-मान वाले अवयवों की संख्या (उदाहरण के लिए, m × n आव्यूह के लिए m × n) को कभी-कभी आव्यूह की 'विरलता' कहा जाता है।
संकल्पनात्मक रूप से, विरलता कुछ युग्मानूसार अंतःक्रियाओं वाले पद्धति से मेल खाती है। उदाहरण के लिए, एक से दूसरे में स्प्रिंग द्वारा जुड़ी गेंदों की एक पंक्ति पर विचार करें: यह एक विरल पद्धति है क्योंकि मात्र आसन्न गेंदों को जोड़ा जाता है। इसके विपरीत, यदि गेंदों की एक ही पंक्ति में प्रत्येक गेंद को अन्य सभी गेंदों से जोड़ने वाले स्प्रिंग्स हों, तो पद्धति एक सघन आव्यूह के अनुरूप होगा। विरलता की अवधारणा साहचर्य और एप्लिकेशन क्षेत्रों जैसे नेटवर्क सिद्धांत और संख्यात्मक विश्लेषण में उपयोगी है, जिसमें सामान्यतः महत्वपूर्ण डेटा या संपर्क का घनत्व कम होता है। आंशिक अंतर समीकरणों को हल करते समय बड़े विरल मैट्रिक्स प्रायः वैज्ञानिक या अभियांत्रिकी अनुप्रयोगों में दिखाई देते हैं।
कंप्यूटर पर विरल मैट्रिसेस का भंडारण और छेड़खानी करते समय, विशेष कलन विधि और डेटा संरचनाओं का उपयोग करना लाभप्रद और प्रायः आवश्यक होता है जो आव्यूह की विरल संरचना का लाभ उठाते हैं। विरल मैट्रिसेस के लिए विशिष्ट कंप्यूटर बनाए गए हैं,[2] क्योंकि वे मशीन अधिगम क्षेत्र में सामान्य हैं।[3] प्रसंस्करण के रूप में बड़े विरल मैट्रिक्स पर लागू होने पर मानक घने-आव्यूह संरचनाओं और एल्गोरिदम का उपयोग करने वाले संचालन धीमे और अक्षम होते हैं और मेमोरी शून्य पर क्षीण हो जाती है। विरल डेटा स्वभाव से अधिक आसानी से डेटा संपीड़न होता है और इस प्रकार कंप्यूटर डेटा संग्रहण में अत्यधिक कम आवश्यकता होती है। मानक घने-आव्यूह एल्गोरिदम का उपयोग करके छेड़खानी करने के लिए कुछ बहुत बड़े विरल मैट्रिक्स अक्षम हैं।
विरल मैट्रिक्स का भंडारण
एक आव्यूह को सामान्यतः द्वि-आयामी आव्यूह के रूप में संग्रहीत किया जाता है। आव्यूह में प्रत्येक प्रविष्टि एक अवयव ai,j का प्रतिनिधित्व करती है आव्यूह का और दो सूचकांकों द्वारा अभिगम किया जाता है परंपरागत रूप से, i पंक्ति अनुक्रमणिका है जिसे ऊपर से नीचे तक क्रमांकित किया गया है, और j स्तंभ अनुक्रमणिका है, जिसे बाएँ से दाएँ क्रमांकित किया गया है। m × n आव्यूह के लिए , इस प्रारूप में आव्यूह को संग्रहीत करने के लिए आवश्यक मेमोरी की मात्रा m × n आनुपातिक है (इस तथ्य की उपेक्षा करते हुए कि आव्यूह के आयामों को भी संग्रहीत करने की आवश्यकता है)।
विरल मैट्रिक्स के विषय में, मात्र गैर-शून्य प्रविष्टियों को संग्रहीत करके पर्याप्त मेमोरी आवश्यकता में कमी को समझा जा सकता है। गैर-शून्य प्रविष्टियों की संख्या और वितरण के आधार पर, विभिन्न डेटा संरचनाओं का उपयोग किया जा सकता है और मूल दृष्टिकोण की तुलना में मेमोरी में बड़ी बचत हो सकती है। व्यापार-बंद यह है कि व्यक्तिगत अवयवों तक अभिगम अधिक जटिल हो जाती है और मूल आव्यूह को स्पष्ट रूप से पुनर्प्राप्त करने में सक्षम होने के लिए अतिरिक्त संरचनाओं की आवश्यकता होती है।
स्वरूपों को दो समूहों में विभाजित किया जा सकता है:
- वे जो कुशल संशोधन का समर्थन करते हैं, जैसे डीओके (कुंजियों का शब्दकोश), एलआईएल (सूचियों की सूची), या सीओओ (समन्वय सूची)। ये सामान्यतः मैट्रिसेस के निर्माण के लिए उपयोग किए जाते हैं।
- वे जो सीएसआर (संपीड़ित विरल पंक्ति) या सीएससी (संपीड़ित विरल स्तंभ) जैसे कुशल अभिगम और आव्यूह संचालन का समर्थन करते हैं।
कुंजियों का शब्दकोश (डीओके)
डीओके में एक शब्दकोश होता है जो मानचित्र साहचर्य आव्यूह (पंक्ति, स्तंभ) अवयवों के मान के लिए जोड़ता है। शब्दकोश से अनुपस्थित होने वाले अवयवों को शून्य मान लिया जाता है। प्रारूप यादृच्छिक क्रम में एक विरल मैट्रिक्स के निर्माण के लिए अच्छा है, परन्तु कोशक्रमानुसार क्रम में गैर-शून्य मानों पर पुनरावृति के लिए अल्प है। एक सामान्यतः इस प्रारूप में आव्यूह बनाता है और फिर प्रसंस्करण के लिए एक और अधिक कुशल प्रारूप में परिवर्तित हो जाता है।[4]
सूचियों की सूची (एलआईएल)
एलआईएल प्रति पंक्ति एक सूची संग्रहीत करता है, जिसमें प्रत्येक प्रविष्टि में स्तंभ अनुक्रमणिका और मान होता है। सामान्यतः, इन प्रविष्टियों को तीव्रता से देखने के लिए स्तंभ अनुक्रमणिका द्वारा क्रमबद्ध रखा जाता है। वार्धिक आव्यूह निर्माण के लिए यह एक और प्रारूप अच्छा है।[5]
समन्वय सूची (सीओओ)
सीओओ (पंक्ति, स्तंभ, मान) टपल की एक सूची संग्रहीत करता है। आदर्श रूप से, यादृच्छिक अभिगम समय में सुधार के लिए प्रविष्टियों को पूर्व पंक्ति अनुक्रमणिका और फिर स्तंभ अनुक्रमणिका द्वारा क्रमबद्ध किया जाता है। यह एक और प्रारूप है जो वार्धिक आव्यूह निर्माण के लिए अच्छा है।[6]
संपीड़ित विरल पंक्ति (सीएसआर, सीआरएस या येल प्रारूप)
संपीड़ित विरल पंक्ति (सीएसआर) या संपीड़ित पंक्ति संग्रहण (सीआरएस) या येल प्रारूप तीन (एक-आयामी) सरणियों द्वारा एक M आव्यूह का प्रतिनिधित्व करता है, जिसमें क्रमशः शून्येतर मान, पंक्तियों का विस्तार, और स्तंभ सूचकांक होते हैं। यह सीओओ के समान है, परन्तु पंक्ति सूचकांकों को संकुचित करता है, इसलिए यह नाम है। यह प्रारूप तीव्र पंक्ति अभिगम और आव्यूह-वेक्टर गुणन की अनुमति देता है (Mx). सीएसआर प्रारूप कम से कम 1960 के दशक के मध्य से उपयोग में रहा है, जिसका पहला पूर्ण विवरण 1967 में प्रदर्शित हुआ था।[7] सीएसआर प्रारूप एक विरल भंडार करता है m × n आव्यूह M तीन (एक-आयामी) सरणियों का उपयोग करके पंक्ति रूप में (V, COL_INDEX, ROW_INDEX). होने देना NNZ गैर-शून्य प्रविष्टियों की संख्या को निरूपित करता है M. (ध्यान दें कि शून्य-आधारित नंबरिंग | शून्य-आधारित सूचकांकों का उपयोग यहां किया जाएगा।)
- सरणियाँ V और COL_INDEX लम्बाई के हैं NNZ, और गैर-शून्य मान और क्रमशः उन मानों के स्तंभ अनुक्रमणिका शामिल करें।
- आव्यूह ROW_INDEX लम्बाई का है m + 1 और अनुक्रमणिका को एन्कोड करता है V और COL_INDEX जहां दी गई पंक्ति शुरू होती है। यह इसके बराबर है ROW_INDEX[j] पंक्ति के ऊपर नॉनज़रो की कुल संख्या को एनकोड करना j. अंतिम अवयव है NNZ , यानी, काल्पनिक सूचकांक में V अंतिम वैध अनुक्रमणिका के तुरंत बाद NNZ - 1. [8]
उदाहरण के लिए, आव्यूह
वी = [5 8 3 6] COL_INDEX = [ 0 1 2 1 ] ROW_INDEX = [ 0 1 2 3 4 ]
एक शून्य-अनुक्रमित भाषा मानकर।
एक पंक्ति निकालने के लिए, हम पूर्व परिभाषित करते हैं:
पंक्ति_प्रारंभ = ROW_INDEX [पंक्ति] row_end = ROW_INDEX [पंक्ति + 1]
फिर हम V और COL_INDEX से स्लाइस लेते हैं जो row_start से शुरू होती है और row_end पर समाप्त होती है।
इस आव्यूह की पंक्ति 1 (दूसरी पंक्ति) निकालने के लिए हम सेट करते हैं row_start=1 और row_end=2. फिर हम स्लाइस बनाते हैं V[1:2] = [8] और COL_INDEX[1:2] = [1]. अब हम जानते हैं कि पंक्ति 1 में हमारे पास स्तंभ 1 में मान 8 के साथ एक अवयव है।
इस विषय में मूल आव्यूह में 16 की तुलना में सीएसआर प्रतिनिधित्व में 13 प्रविष्टियां हैं। सीएसआर प्रारूप मेमोरी पर तभी सहेजता है जब NNZ < (m (n − 1) − 1) / 2.
एक अन्य उदाहरण, आव्यूह
वी = [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 पंक्तियों में:
(10, 20) (30, 40) (50, 60, 70) (80), के सूचकांक को दर्शाता है V (और COL_INDEX) जहां प्रत्येक पंक्ति शुरू और समाप्त होती है; - COL_INDEX स्तंभ में मान संरेखित करता है:
(10, 20, ...) (0, 30, 0, 40, ...)(0, 0, 50, 60, 70, 0) (0, 0, 0, 0, 0, 80).
ध्यान दें कि इस प्रारूप में, का पहला मान ROW_INDEX हमेशा शून्य होता है और अंतिम हमेशा होता है NNZ, इसलिए वे कुछ मायने में अनावश्यक हैं (हालांकि प्रोग्रामिंग भाषाओं में जहां आव्यूह लंबाई को स्पष्ट रूप से संग्रहीत करने की आवश्यकता होती है, NNZ अनावश्यक नहीं होगा)। बहरहाल, यह प्रत्येक पंक्ति की लंबाई की गणना करते समय एक असाधारण विषय को संभालने की आवश्यकता से बचता है, क्योंकि यह सूत्र की गारंटी देता है ROW_INDEX[i + 1] − ROW_INDEX[i] किसी भी पंक्ति के लिए काम करता है i. इसके अलावा, पर्याप्त रूप से बड़े आव्यूह के लिए इस अनावश्यक भंडारण की मेमोरी लागत संभवतः नगण्य है।
(पुराने और नए) येल स्पार्स आव्यूह प्रारूप सीएसआर योजना के उदाहरण हैं। पुराना येल प्रारूप ठीक ऊपर बताए अनुसार काम करता है, तीन सरणियों के साथ; नया स्वरूप जोड़ता है ROW_INDEX और COL_INDEX एकल आव्यूह में और आव्यूह के विकर्ण को अलग से संभालता है।[9] लॉजिकल आव्यूह एडजेंसी आव्यूह के लिए, डेटा आव्यूह को छोड़ा जा सकता है, क्योंकि पंक्ति आव्यूह में एक प्रविष्टि का अस्तित्व बाइनरी आसन्न संबंध को मॉडल करने के लिए पर्याप्त है।
यह संभवतः येल प्रारूप के रूप में जाना जाता है क्योंकि यह येल विश्वविद्यालय में कंप्यूटर विज्ञान विभाग से 1977 येल स्पार्स आव्यूह पैकेज रिपोर्ट में प्रस्तावित किया गया था।[10]
संपीड़ित विरल स्तंभ (सीएससी या सीसीएस)
सीएससी सीएसआर के समान है सिवाय इसके कि मान पूर्व स्तंभ द्वारा पढ़े जाते हैं, प्रत्येक मान के लिए एक पंक्ति अनुक्रमणिका संग्रहीत की जाती है, और स्तंभ पॉइंटर्स संग्रहीत किए जाते हैं। उदाहरण के लिए, सीएससी है (val, row_ind, col_ptr), कहाँ val आव्यूह के गैर-शून्य मानों (ऊपर से नीचे, फिर बाएं से दाएं) की एक आव्यूह है; row_ind मानों के अनुरूप पंक्ति सूचकांक है; और, col_ptr की सूची है val अनुक्रमित करता है जहां प्रत्येक स्तंभ शुरू होता है। नाम इस तथ्य पर आधारित है कि स्तंभ अनुक्रमणिका जानकारी सीओओ प्रारूप के सापेक्ष संकुचित होती है। एक सामान्यतः निर्माण के लिए दूसरे प्रारूप (एलआईएल, डीओके, सीओओ) का उपयोग करता है। यह प्रारूप अंकगणितीय संचालन, स्तंभ स्लाइसिंग और आव्यूह-वेक्टर उत्पादों के लिए कुशल है। देखें scipy.sparse.csc_matrix। MATLAB में स्पार्स आव्यूह निर्दिष्ट करने के लिए यह पारंपरिक प्रारूप है (के माध्यम से) sparse समारोह)।
विशेष संरचना
बंधी हुई
विरल मैट्रिक्स का एक महत्वपूर्ण विशेष प्रकार बैंड आव्यूह है, जिसे निम्नानुसार परिभाषित किया गया है। एक आव्यूह की निचली बैंडविड्थ A सबसे छोटी संख्या है p जैसे कि प्रविष्टि ai,j जब भी अनुपस्थित हो जाता है i > j + p. इसी तरह, बैंड आव्यूह#ऊपरी बैंडविड्थ सबसे छोटी संख्या है p ऐसा है कि ai,j = 0 जब कभी भी i < j − p (Golub & Van Loan 1996, §1.2.1). उदाहरण के लिए, एक त्रिभुज आव्यूह में कम बैंडविड्थ होती है 1 और ऊपरी बैंडविड्थ 1. एक अन्य उदाहरण के रूप में, निम्नलिखित विरल मैट्रिक्स में निम्न और ऊपरी बैंडविड्थ दोनों 3 के बराबर हैं। ध्यान दें कि शून्य को स्पष्टता के लिए डॉट्स के साथ दर्शाया गया है।
आव्यूह की पंक्तियों और स्तंभों को पुनर्व्यवस्थित करके A आव्यूह प्राप्त करना संभव हो सकता है A′ कम बैंडविड्थ के साथ। ग्राफ बैंडविड्थ के लिए कई एल्गोरिदम डिज़ाइन किए गए हैं।
विकर्ण
बैंड मेट्रिसेस, विकर्ण आव्यूह के एक चरम विषय के लिए एक बहुत ही कुशल संरचना, मात्र मुख्य विकर्ण में प्रविष्टियों को एक आयामी आव्यूह के रूप में संग्रहीत करना है, इसलिए एक विकर्ण n × n आव्यूह मात्र की आवश्यकता है n प्रविष्टियां।
सममित
एक सममित विरल मैट्रिक्स एक अप्रत्यक्ष ग्राफ के आसन्न आव्यूह के रूप में उत्पन्न होता है; इसे निकटता सूची के रूप में कुशलतापूर्वक संग्रहीत किया जा सकता है।
ब्लॉक विकर्ण
एक ब्लॉक-विकर्ण आव्यूह में इसके विकर्ण ब्लॉकों के साथ उप-मैट्रिसेस होते हैं। एक ब्लॉक-विकर्ण आव्यूह A का रूप है
फिल-इन को कम करना
एक आव्यूह का भरण वे प्रविष्टियाँ हैं जो एक एल्गोरिथ्म के निष्पादन के दौरान प्रारंभिक शून्य से गैर-शून्य मान में बदल जाती हैं। एल्गोरिथ्म के दौरान उपयोग की जाने वाली मेमोरी आवश्यकताओं और अंकगणितीय संचालन की संख्या को कम करने के लिए, आव्यूह में पंक्तियों और स्तंभों को स्विच करके फिल-इन को कम करना उपयोगी होता है। वास्तविक चोल्स्की अपघटन करने से पूर्व प्रतीकात्मक चोलस्की अपघटन का उपयोग सबसे अल्प संभव भरने की गणना के लिए किया जा सकता है।
उपयोग में चॉल्स्की अपघटन के अलावा अन्य विधियां भी हैं। ऑर्थोगोनलाइज़ेशन मेथड्स (जैसे क्यूआर फ़ैक्टराइज़ेशन) सामान्य हैं, उदाहरण के लिए, कम से कम वर्ग विधियों द्वारा समस्याओं को हल करते समय। जबकि सैद्धांतिक भराव अभी भी समान है, व्यावहारिक रूप से झूठे गैर-शून्य अलग-अलग तरीकों के लिए अलग-अलग हो सकते हैं। और उन एल्गोरिदम के प्रतीकात्मक संस्करणों का उपयोग उसी तरह से किया जा सकता है जैसे प्रतीकात्मक चोलस्की सबसे अल्प स्थिति भरने की गणना करने के लिए।
विरल मैट्रिक्स समीकरणों को हल करना
स्पैर आव्यूह सॉल्विंग के लिए इटरेटिव मेथड और डायरेक्ट मेथड्स दोनों मौजूद हैं।
पुनरावर्ती विधियाँ, जैसे कि संयुग्मी ढाल विधि और GMRES आव्यूह-वेक्टर उत्पादों की तीव्र संगणना का उपयोग करते हैं , जहां आव्यूह विरल है। पूर्व शर्त का उपयोग इस तरह के पुनरावृत्त तरीकों के अभिसरण को महत्वपूर्ण रूप से तीव्र कर सकता है।
सॉफ्टवेयर
कई सॉफ्टवेयर पुस्तकालय विरल मैट्रिसेस का समर्थन करते हैं, और विरल मैट्रिक्स समीकरणों के लिए सॉल्वर प्रदान करते हैं। निम्नलिखित ओपन-सोर्स हैं:
- 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 शुद्ध रस्ट में विरल मैट्रिक्स डेटा संरचनाओं और रैखिक बीजगणित एल्गोरिदम को लागू करता है।
- बेसिक आव्यूह लाइब्रेरी (बीएमएल) सी, सी++ और फोरट्रान के लिए बाइंडिंग के साथ कई विरल मैट्रिक्स स्वरूपों और रैखिक बीजगणित एल्गोरिदम का समर्थन करता है।
इतिहास
स्पार्स आव्यूह शब्द संभवतः हैरी मार्कोविट्ज़ द्वारा गढ़ा गया था जिन्होंने कुछ अग्रणी कार्य शुरू किए परन्तु फिर क्षेत्र छोड़ दिया।[11]
यह भी देखें
टिप्पणियाँ
- ↑ 1.0 1.1 Yan, Di; Wu, Tao; Liu, Ying; Gao, Yang (2017). "An efficient sparse-dense matrix multiplication on a multicore system". 2017 IEEE 17th International Conference on Communication Technology (ICCT). IEEE. pp. 1880–1883. doi:10.1109/icct.2017.8359956. ISBN 978-1-5090-3944-9.
The computation kernel of DNN is large sparse-dense matrix multiplication. In the field of numerical analysis, a sparse matrix is a matrix populated primarily with zeros as elements of the table. By contrast, if the number of non-zero elements in a matrix is relatively large, then it is commonly considered a dense matrix. The fraction of zero elements (non-zero elements) in a matrix is called the sparsity (density). Operations using standard dense-matrix structures and algorithms are relatively slow and consume large amounts of memory when applied to large sparse matrices.
- ↑ "सेरेब्रस सिस्टम्स ने उद्योग की पहली ट्रिलियन ट्रांजिस्टर चिप का अनावरण किया". www.businesswire.com (in English). 2019-08-19. Retrieved 2019-12-02.
The WSE contains 400,000 AI-optimized compute cores. Called SLAC™ for Sparse Linear Algebra Cores, the compute cores are flexible, programmable, and optimized for the sparse linear algebra that underpins all neural network computation
- ↑ "Argonne National Laboratory Deploys Cerebras CS-1, the World's Fastest Artificial Intelligence Computer | Argonne National Laboratory". www.anl.gov (Press release) (in English). Retrieved 2019-12-02.
The WSE is the largest chip ever made at 46,225 square millimeters in area, it is 56.7 times larger than the largest graphics processing unit. It contains 78 times more AI optimized compute cores, 3,000 times more high speed, on-chip memory, 10,000 times more memory bandwidth, and 33,000 times more communication bandwidth.
- ↑ See
scipy.sparse.dok_matrix - ↑ See
scipy.sparse.lil_matrix - ↑ See
scipy.sparse.coo_matrix - ↑ Buluç, Aydın; Fineman, Jeremy T.; Frigo, Matteo; Gilbert, John R.; Leiserson, Charles E. (2009). समानांतर विरल मैट्रिक्स-वेक्टर और मैट्रिक्स-ट्रांसपोज़-वेक्टर गुणन संकुचित विरल ब्लॉकों का उपयोग करते हुए (PDF). ACM Symp. on Parallelism in Algorithms and Architectures. CiteSeerX 10.1.1.211.5256.
- ↑ Saad, Yousef (2003). विरल रेखीय प्रणालियों के लिए पुनरावृत्त तरीके. SIAM.
- ↑ Bank, Randolph E.; Douglas, Craig C. (1993), "Sparse Matrix Multiplication Package (SMMP)" (PDF), Advances in Computational Mathematics, 1: 127–137, doi:10.1007/BF02070824, S2CID 6412241
- ↑ Eisenstat, S. C.; Gursky, M. C.; Schultz, M. H.; Sherman, A. H. (April 1977). "येल स्पार्स मैट्रिक्स पैकेज" (PDF) (in English). Archived (PDF) from the original on April 6, 2019. Retrieved 6 April 2019.
- ↑ Oral history interview with Harry M. Markowitz, pp. 9, 10.
संदर्भ
- Golub, Gene H.; Van Loan, Charles F. (1996). Matrix Computations (3rd ed.). Baltimore: Johns Hopkins. ISBN 978-0-8018-5414-9.
- Stoer, Josef; Bulirsch, Roland (2002). Introduction to Numerical Analysis (3rd ed.). Berlin, New York: Springer-Verlag. ISBN 978-0-387-95452-3.
- Tewarson, Reginald P. (May 1973). Sparse Matrices (Part of the Mathematics in Science & Engineering series). Academic Press Inc. (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).
- Bank, Randolph E.; Douglas, Craig C. "Sparse Matrix Multiplication Package" (PDF).
- Pissanetzky, Sergio (1984). Sparse Matrix Technology. Academic Press. ISBN 9780125575805.
- Snay, Richard A. (1976). "Reducing the profile of sparse symmetric matrices". Bulletin Géodésique. 50 (4): 341–352. Bibcode:1976BGeod..50..341S. doi:10.1007/BF02521587. hdl:2027/uc1.31210024848523. S2CID 123079384. Also NOAA Technical Memorandum NOS NGS-4, National Geodetic Survey, Rockville, MD.[1]
अग्रिम पठन
- Gibbs, Norman E.; Poole, William G.; Stockmeyer, Paul K. (1976). "A comparison of several bandwidth and profile reduction algorithms". ACM Transactions on Mathematical Software. 2 (4): 322–330. doi:10.1145/355705.355707. S2CID 14494429.
- Gilbert, John R.; Moler, Cleve; Schreiber, Robert (1992). "Sparse matrices in MATLAB: Design and Implementation". SIAM Journal on Matrix Analysis and Applications. 13 (1): 333–356. CiteSeerX 10.1.1.470.1054. doi:10.1137/0613024.
- 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.
- ↑ Saad, Yousef (2003). Iterative methods for sparse linear systems. SIAM.