ग्राफिक कार्ड पर मैट्रिक्स-वेक्टर गुणन। एक वेक्टर द्वारा एक मैट्रिक्स का गुणन

MatLab सिस्टम केवल मैट्रिसेस और वैक्टर पर गणितीय संचालन करता है। पहले मैट्रिक्स और वैक्टर के जोड़ और गुणा के सरल संचालन पर विचार करें। मान लीजिए कि दो सदिश दिए गए हैं

ए =; % पंक्ति वेक्टर
बी =; % कॉलम वेक्टर

तो इन दोनों सदिशों का गुणन इस प्रकार लिखा जा सकता है

सी = ए * बी; %c=1+2+3+4+5=16
डी = बी * ए; %d - 5x5 तत्वों का मैट्रिक्स

वैक्टर पर संचालन के अनुसार, एक कॉलम वेक्टर द्वारा एक पंक्ति वेक्टर को गुणा करने पर एक संख्या मिलती है, और एक कॉलम वेक्टर को एक पंक्ति वेक्टर से गुणा करने पर एक द्वि-आयामी मैट्रिक्स मिलता है, जो उपरोक्त उदाहरण में गणना का परिणाम है, अर्थात।

दो सदिशों का जोड़ और घटाव इस प्रकार लिखा जाता है

ए1 =;
ए2 =;
सी = ए1+ए2; % ग = ;
सी = ए2-ए1; % ग = ;

ध्यान दें कि जोड़ और घटाव संचालन दो कॉलम वैक्टर या दो पंक्ति वैक्टर के बीच किया जा सकता है। अन्यथा, MatLab एक त्रुटि संदेश जारी करेगा, क्योंकि विभिन्न प्रकार के वैक्टर नहीं जोड़े जा सकते। यह सभी अमान्य अंकगणितीय परिचालनों के मामले में है: यदि उनकी गणना नहीं की जा सकती है, तो मैटलैब सिस्टम एक त्रुटि की रिपोर्ट करेगा और प्रोग्राम संबंधित लाइन पर समाप्त हो जाएगा।

इसी तरह, मैट्रिक्स के बीच गुणा और जोड़ के संचालन किए जाते हैं:

ए =;
बी = वाले(3);
सी = ए + बी; एक ही आकार के दो आव्यूहों का % जोड़
डी = ए +5; एक मैट्रिक्स और एक संख्या का% जोड़
ई = ए * बी; मैट्रिक्स A का B . से % गुणा
एफ = बी * ए; मैट्रिक्स B का A से % गुणा
जी = 5 * ए; एक संख्या से मैट्रिक्स का% गुणा

व्युत्क्रम मैट्रिक्स की गणना के संचालन के साथ-साथ मैट्रिसेस और वैक्टर को स्थानांतरित करना, निम्नानुसार लिखा गया है:

ए =; % पंक्ति वेक्टर
बी = ए'; % कॉलम वेक्टर द्वारा गठित
पंक्ति सदिश का % स्थानान्तरण a.
ए =; % मैट्रिक्स 3x3 तत्व
बी = ए * ए; %b= - पंक्ति वेक्टर
सी = ए * बी; % सी = - कॉलम वेक्टर
डी = ए*ए*ए'; % D = 45 - संख्या, मैट्रिक्स का योग A
ई = ए'; % E ट्रांसपोज़्ड मैट्रिक्स A . है
एफ = आमंत्रण (ए); % एफ - उलटा मैट्रिक्स ए
जी = ए^-1; % जी - उलटा मैट्रिक्स ए

उपरोक्त उदाहरण से, यह देखा जा सकता है कि मैट्रिसेस और वैक्टर को स्थानांतरित करने के संचालन को प्रतीक '(एपोस्ट्रोफ) द्वारा दर्शाया जाता है, जिसे वेक्टर या मैट्रिक्स के नाम के बाद रखा जाता है। व्युत्क्रम मैट्रिक्स की गणना inv () फ़ंक्शन को कॉल करके या मैट्रिक्स को -1 शक्ति तक बढ़ाकर की जा सकती है। दोनों मामलों में परिणाम समान होगा, और विभिन्न एल्गोरिदम को लागू करते समय उपयोग में आसानी के लिए दो गणना विधियां बनाई जाती हैं।

यदि गणना के दौरान किसी वेक्टर या मैट्रिक्स तत्व के तत्वों को गुणा, विभाजित या तत्व से बढ़ाना आवश्यक है, तो इसके लिए निम्नलिखित ऑपरेटरों का उपयोग किया जाता है:

.* - तत्व-वार गुणन;
./ और .\ - तत्व-वार विभाजन;
.^ - तत्व-वार घातांक।

निम्नलिखित उदाहरण में इन ऑपरेटरों के संचालन पर विचार करें।

ए =; % पंक्ति वेक्टर
बी =; % पंक्ति वेक्टर
सी = ए। * बी; %c=
ए = वाले(3); % 3x3 मैट्रिक्स जिसमें से शामिल हैं
बी =; % मैट्रिक्स 3x3
सी = ए। * बी; % मैट्रिक्स 3x3, जिसमें शामिल हैं
डी = ए / बी; % मैट्रिक्स 3x3, जिसमें शामिल हैं
ई = ए। \ बी; % मैट्रिक्स 3x3, जिसमें शामिल हैं
एफ = ए ^ 2; मैट्रिक्स ए तत्वों का% वर्ग

इस खंड को समाप्त करने के लिए, कुछ कार्यों पर विचार करें जो वैक्टर और मैट्रिस के साथ काम करते समय उपयोगी होते हैं।

एक वेक्टर तत्व का अधिकतम मान ज्ञात करने के लिए, मानक फ़ंक्शन अधिकतम () का उपयोग किया जाता है, जो तत्व का पाया गया अधिकतम मान और उसकी स्थिति (सूचकांक) देता है:

ए =;
= अधिकतम (ए); % वी = 6, आई = 2;

वी = अधिकतम (ए); % वी = 6;

उपरोक्त उदाहरण अधिकतम () फ़ंक्शन को कॉल करने के दो अलग-अलग तरीके दिखाता है। पहले मामले में, तत्व का अधिकतम मूल्य और वेक्टर में इसका सूचकांक दोनों निर्धारित किया जाता है, और दूसरे में, केवल तत्व का अधिकतम मूल्य निर्धारित किया जाता है।

मैट्रिक्स के मामले में, यह फ़ंक्शन कॉलम में अधिकतम मान निर्धारित करता है, जैसा कि नीचे दिए गए उदाहरण में दिखाया गया है:

ए =;
= अधिकतम (ए); % वी =, मैं =
वी = अधिकतम (ए); % वी =

MatLab कमांड विंडो में कमांड टाइप करके मैक्स () फंक्शन का पूरा सिंटैक्स पाया जा सकता है

मदद<название функции>

न्यूनतम () फ़ंक्शन एक समान तरीके से काम करता है, जो एक वेक्टर या मैट्रिक्स तत्व और उसके सूचकांक का न्यूनतम मूल्य निर्धारित करता है।

मैट्रिक्स और वैक्टर के साथ काम करने के लिए एक और उपयोगी कार्य योग () फ़ंक्शन है, जो एक वेक्टर या मैट्रिक्स के कॉलम के तत्वों के मूल्यों के योग की गणना करता है:

ए =;
एस = योग (ए); %s = 3+5+4+2+1=15
ए =;
एस 1 = योग (ए); %S1=
S2 = योग (योग (ए)); % S2=39

योग S2 की गणना करते समय, मैट्रिक्स A के तत्वों के मूल्यों के योग की गणना पहले स्तंभों द्वारा की जाती है, और फिर पंक्तियों द्वारा। नतीजतन, चर S2 में मैट्रिक्स A के सभी तत्वों के मूल्यों का योग होता है।

वेक्टर या मैट्रिक्स के तत्वों के मूल्यों को आरोही या अवरोही क्रम में क्रमबद्ध करने के लिए, सॉर्ट () फ़ंक्शन का उपयोग निम्नानुसार करें:

ए =;

बी 1 = सॉर्ट (ए); %b1=
बी 2 = सॉर्ट (ए, 'उतरना'); %b2=
बी 3 = सॉर्ट (ए, 'आरोही'); %b3=

मैट्रिसेस के लिए

ए =;
बी 1 = सॉर्ट (ए); %B1=
बी 2 = सॉर्ट (ए, 'उतरना'); %B2=

कई व्यावहारिक समस्याओं में, अक्सर एक वेक्टर या मैट्रिक्स में एक विशिष्ट तत्व खोजने की आवश्यकता होती है। यह मानक खोज () फ़ंक्शन का उपयोग करके किया जा सकता है, जो एक तर्क के रूप में एक शर्त लेता है जिसके अनुसार आवश्यक तत्व पाए जाते हैं, उदाहरण के लिए:

ए =;
बी 1 = ढूंढें (ए == 2); %b1 = 4 - तत्व सूचकांक 2
बी 2 = ढूंढें (ए ~ = 2); % b2 = - 2 . के बिना सूचकांक
बी 3 = ढूंढें (ए> 3); %b3=

उपरोक्त उदाहरण में, प्रतीक '==' का अर्थ समानता के लिए जाँच करना है, और प्रतीक '~=' वेक्टर के तत्वों के मूल्यों की असमानता की जाँच करता है। इन ऑपरेटरों के बारे में अधिक विवरण सशर्त ऑपरेटरों पर अनुभाग में वर्णित किया जाएगा।

वैक्टर और मैट्रिसेस के साथ काम करने के लिए एक और उपयोगी कार्य है, अंकगणितीय माध्य की गणना के लिए माध्य () फ़ंक्शन, जो निम्नानुसार काम करता है:

ए =;
एम = माध्य (ए); %m = 3
ए =;
एम 1 = माध्य (ए); %M1=
एम 2 = माध्य (माध्य (ए)); % एम2 = 4.333

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

हालाँकि, आप जल्दी आनन्दित होते हैं। फ्रीबी खत्म हो गई है - चलो गुणा पर चलते हैं। मैं आपको तुरंत चेतावनी दूंगा: दो मैट्रिक्स को गुणा करना बिल्कुल समान निर्देशांक वाले कक्षों में संख्याओं को गुणा करना नहीं है, जैसा कि आप सोच सकते हैं। यहां सब कुछ ज्यादा मजेदार है। और आपको प्रारंभिक परिभाषाओं से शुरुआत करनी होगी।

लगातार मैट्रिसेस

मैट्रिक्स की सबसे महत्वपूर्ण विशेषताओं में से एक इसका आकार है। हम पहले ही इसके बारे में सौ बार बात कर चुके हैं: $A=\left[m\times n \right]$ का अर्थ है कि मैट्रिक्स में बिल्कुल $m$ पंक्तियाँ और $n$ कॉलम हैं। हम पहले ही चर्चा कर चुके हैं कि कॉलम के साथ पंक्तियों को कैसे भ्रमित न करें। अब कुछ और महत्वपूर्ण है।

परिभाषा। $A=\left[ m\times n \right]$ और $B=\left[ n\times k \right]$ फॉर्म के मैट्रिक्स, जिसमें पहले मैट्रिक्स में कॉलम की संख्या समान है सेकंड में पंक्तियों की संख्या को सुसंगत कहा जाता है।

एक बार फिर: पहले मैट्रिक्स में कॉलम की संख्या दूसरे में पंक्तियों की संख्या के बराबर है! इससे हमें एक साथ दो निष्कर्ष मिलते हैं:

  1. हम मैट्रिक्स के क्रम की परवाह करते हैं। उदाहरण के लिए, मैट्रिक्स $A=\left[ 3\times 2 \right]$ और $B=\left[ 2\times 5 \right]$ सुसंगत हैं (पहले मैट्रिक्स में 2 कॉलम और दूसरे में 2 पंक्तियां) , लेकिन इसके विपरीत - मैट्रिक्स $B=\left[ 2\times 5 \right]$ और $A=\left[ 3\times 2 \right]$ अब सुसंगत नहीं हैं (पहले मैट्रिक्स में 5 कॉलम हैं, जैसे यह दूसरी में 3 पंक्तियाँ नहीं थीं)।
  2. यदि आप सभी आयामों को एक के बाद एक लिखते हैं तो संगति जांचना आसान है। पिछले पैराग्राफ से उदाहरण का उपयोग करना: "3 2 2 5" - वही संख्याएं बीच में हैं, इसलिए मैट्रिक्स सुसंगत हैं। लेकिन “2 5 3 2” सहमत नहीं है, क्योंकि बीच में अलग-अलग संख्याएँ हैं।

इसके अलावा, कप्तान संकेत देता है कि एक ही आकार के वर्ग मैट्रिक्स $\left[ n\times n \right]$ हमेशा सुसंगत होते हैं।

गणित में, जब वस्तुओं की गणना का क्रम महत्वपूर्ण होता है (उदाहरण के लिए, ऊपर चर्चा की गई परिभाषा में, आव्यूहों का क्रम महत्वपूर्ण है), तो अक्सर क्रमबद्ध युग्मों की बात की जाती है। हम उनसे स्कूल में मिले थे: मुझे लगता है कि यह कोई दिमाग नहीं है कि निर्देशांक $\बाएं(1;0 \दाएं)$ और $\बाएं(0;1 \दाएं)$ विमान पर विभिन्न बिंदुओं को परिभाषित करते हैं।

तो: निर्देशांक भी जोड़े का आदेश दिया जाता है, जो संख्याओं से बने होते हैं। लेकिन कुछ भी आपको इस तरह के मेट्रिसेस बनाने से नहीं रोकता है। तब यह कहना संभव होगा: "मैट्रिसेस की एक जोड़ी $ \ बाएँ (A; B \ दाएँ) $ सुसंगत है यदि पहले मैट्रिक्स में स्तंभों की संख्या दूसरे में पंक्तियों की संख्या के समान है। "

अच्छा, तो क्या?

गुणन की परिभाषा

दो सुसंगत मैट्रिक्स पर विचार करें: $A=\left[ m\times n \right]$ और $B=\left[ n\times k \right]$। और हम उनके लिए गुणन की संक्रिया को परिभाषित करते हैं।

परिभाषा। दो सुसंगत मैट्रिक्स का उत्पाद $A=\left[m\times n \right]$ और $B=\left[ n\times k \right]$ नया मैट्रिक्स है $C=\left[ m\times k \ दाएं] $, जिसके तत्वों की गणना सूत्र के अनुसार की जाती है:

\[\begin(align) & ((c)_(i;j))=((a)_(i;1))\cdot ((b)_(1;j))+((a)_ (i;2))\cdot ((b)_(2;j))+\ldots +((a)_(i;n))\cdot ((b)_(n;j))= \\ & =\sum\limits_(t=1)^(n)(((a)_(i;t))\cdot ((b)_(t;j))) \end(align)\]

इस तरह के उत्पाद को मानक तरीके से दर्शाया गया है: $C=A\cdot B$।

जो लोग इस परिभाषा को पहली बार देखते हैं, उनके लिए तुरंत दो प्रश्न उठते हैं:

  1. यह कैसा जंगली खेल है?
  2. यह इतना कठिन क्यों हैं?

खैर, पहले चीज़ें पहले। आइए पहले प्रश्न से शुरू करते हैं। इन सभी इंडेक्स का क्या मतलब है? और वास्तविक मैट्रिसेस के साथ काम करते समय गलतियाँ कैसे न करें?

सबसे पहले, हम ध्यान दें कि $((c)_(i;j))$ की गणना के लिए लंबी लाइन (विशेष रूप से सूचकांकों के बीच एक अर्धविराम लगाएं ताकि भ्रमित न हों, लेकिन आपको उन्हें अंदर डालने की आवश्यकता नहीं है) सामान्य - मैं स्वयं परिभाषा में सूत्र टाइप करते-करते थक गया हूं) वास्तव में एक साधारण नियम के लिए उबलता है:

  1. पहले मैट्रिक्स में $i$-th पंक्ति लें;
  2. दूसरे मैट्रिक्स में $j$-th कॉलम लें;
  3. हमें संख्याओं के दो क्रम मिलते हैं। हम इन अनुक्रमों के तत्वों को समान संख्याओं से गुणा करते हैं, और फिर परिणामी उत्पादों को जोड़ते हैं।

इस प्रक्रिया को चित्र से समझना आसान है:


दो आव्यूहों को गुणा करने की योजना

एक बार फिर: हम पहले मैट्रिक्स में पंक्ति $i$ को ठीक करते हैं, दूसरे मैट्रिक्स में कॉलम $j$, समान संख्याओं के साथ तत्वों को गुणा करते हैं, और फिर परिणामी उत्पादों को जोड़ते हैं - हमें $((c)_(ij) मिलता है ))$. और इसलिए सभी $1\le i\le m$ और $1\le j\le k$ के लिए। वे। कुल मिलाकर $m\times k$ ऐसे "विकृतियों" होंगे।

वास्तव में, हम पहले ही स्कूली पाठ्यक्रम में मैट्रिक्स गुणन के साथ मिले हैं, केवल एक बहुत ही छोटे रूप में। वैक्टर दिए जाने दें:

\[\शुरू (संरेखण) और \vec(a)=\बाएं(((x)_(a));((y)_(a));((z)_(a)) \right); \\ और \overrightarrow(b)=\left(((x)_(b));((y)_(b));((z)_(b)) \right)। \\ \अंत (संरेखित करें)\]

तब उनका अदिश गुणनफल जोड़ीवार उत्पादों का योग होगा:

\[\overrightarrow(a)\times \overrightarrow(b)=((x)_(a))\cdot ((x)_(b))+((y)_(a))\cdot ((y) )_(b))+((z)_(a))\cdot ((z)_(b))\]

वास्तव में, उन दूर के वर्षों में, जब पेड़ हरे थे और आकाश उज्जवल था, हमने बस पंक्ति वेक्टर $\overrightarrow(a)$ को कॉलम वेक्टर $\overrightarrow(b)$ से गुणा किया।

आज कुछ भी नहीं बदला है। यह सिर्फ इतना है कि अब इनमें से अधिक पंक्ति और स्तंभ वैक्टर हैं।

लेकिन पर्याप्त सिद्धांत! आइए वास्तविक उदाहरण देखें। और आइए सबसे सरल मामले से शुरू करें - वर्ग मैट्रिसेस।

वर्ग मैट्रिक्स का गुणन

कार्य 1. गुणन करें:

\[\बाएं[\शुरू(सरणी)(*(35)(आर)) 1 और 2 \\ -3 और 4 \\\ अंत (सरणी) \दाएं]\cdot \बाएं[ \शुरू (सरणी)(* (35)(आर)) -2 और 4 \\ 3 और 1 \\\ अंत (सरणी) \दाएं]\]

फेसला। तो, हमारे पास दो मैट्रिक्स हैं: $A=\left[ 2\times 2 \right]$ और $B=\left[ 2\times 2 \right]$। यह स्पष्ट है कि वे सुसंगत हैं (समान आकार के वर्ग मैट्रिक्स हमेशा संगत होते हैं)। तो हम गुणा करते हैं:

\[\begin(align) &\left[ \begin(array)(*(35)(r)) 1 & 2 \\ -3 & 4 \\\end(array) \right]\cdot \left[ \ शुरू (सरणी) (* (35) (आर)) -2 और 4 \\ 3 और 1 \\\ अंत (सरणी) \ दाएँ] = \ बाएँ [ \ start (सरणी) (* (35) (आर)) 1\cdot \left(-2 \right)+2\cdot 3 & 1\cdot 4+2\cdot 1 \\ -3\cdot \left(-2 \right)+4\cdot 3 & -3\cdot 4+4\cdot 1 \\\end(array) \right]= \\ & =\left[ \begin(array)(*(35)(r)) 4 & 6 \\ 18 & -8 \\\ अंत (सरणी) \ सही]। \end(संरेखित)\]

बस इतना ही!

उत्तर: $\बाएं[ \begin(array)(*(35)(r))4 & 6 \\ 18 & -8 \\\end(array) \right]$।

कार्य 2. गुणा करें:

\[\बाएं[ \शुरू (मैट्रिक्स) 1 और 3 \\ 2 और 6 \\\ अंत (मैट्रिक्स) \ दाएँ] \ cdot \ बाएँ [ \ start (सरणी) (* (35) (आर)) 9 और 6 \\ -3 और -2 \\\ अंत (सरणी) \दाएं]\]

फेसला। फिर से, लगातार मैट्रिसेस, इसलिए हम निम्नलिखित क्रियाएं करते हैं:\[\]

\[\शुरू (संरेखण) और \बाएं[ \शुरू (मैट्रिक्स) 1 और 3 \\ 2 और 6 \\\ अंत (मैट्रिक्स) \ दाएँ] \ cdot \ बाएँ [ \ start (सरणी) (* (35) ( आर)) 9 और 6 \\ -3 और -2 \\\ अंत (सरणी) \ दाएँ] = \ बाएँ [ \ start (सरणी) (* (35) (आर)) 1 \ cdot 9 + 3 \ cdot \ बाएँ (-3 \ दाएँ) और 1\cdot 6+3\cdot \ बाएँ (-2 \ दाएँ) \\ 2\cdot 9+6\cdot \ बाएँ (-3 \ दाएँ) और 2\cdot 6+6\ सीडीओटी \ लेफ्ट (-2 \ राइट) \\\ एंड (सरणी) \ राइट] = \\ और = \ लेफ्ट [ \ start (मैट्रिक्स) 0 और 0 \\ 0 और 0 \\\ एंड (मैट्रिक्स) \ राइट] . \end(संरेखित)\]

जैसा कि आप देख सकते हैं, परिणाम शून्य से भरा एक मैट्रिक्स है

उत्तर: $\बाएं[ \begin(matrix) 0 & 0 \\ 0 & 0 \\\end(matrix) \right]$।

उपरोक्त उदाहरणों से, यह स्पष्ट है कि मैट्रिक्स गुणन इतना जटिल ऑपरेशन नहीं है। कम से कम 2 बटा 2 वर्ग मैट्रिसेस के लिए।

गणना की प्रक्रिया में, हमने एक इंटरमीडिएट मैट्रिक्स संकलित किया, जहां हमने सीधे चित्रित किया कि किसी विशेष सेल में कौन सी संख्याएं शामिल हैं। वास्तविक समस्याओं को हल करते समय ठीक यही किया जाना चाहिए।

मैट्रिक्स उत्पाद के मूल गुण

संक्षेप में। मैट्रिक्स गुणन:

  1. गैर-कम्यूटेटिव: सामान्य रूप से $A\cdot B\ne B\cdot A$। बेशक, विशेष मैट्रिक्स हैं जिनके लिए समानता $A\cdot B=B\cdot A$ (उदाहरण के लिए, यदि $B=E$ पहचान मैट्रिक्स है), लेकिन अधिकांश मामलों में यह काम नहीं करता है ;
  2. सहयोगी: $\बाएं(ए\cdot बी \दाएं)\cdot C=A\cdot \left(B\cdot C \right)$. यहां कोई विकल्प नहीं हैं: इन दो मैट्रिक्स के बाईं और दाईं ओर क्या है, इसकी चिंता किए बिना आसन्न मैट्रिक्स को गुणा किया जा सकता है।
  3. वितरण: $A\cdot \left(B+C \right)=A\cdot B+A\cdot C$ और $\left(A+B \right)\cdot C=A\cdot C+B\cdot C $

और अब - सभी समान, लेकिन अधिक विस्तार से।

मैट्रिक्स गुणन शास्त्रीय संख्या गुणन की तरह है। लेकिन मतभेद हैं, जिनमें से सबसे महत्वपूर्ण यह है कि मैट्रिक्स गुणन, आम तौर पर बोल रहा है, गैर-कम्यूटेटिव.

समस्या 1 के मैट्रिक्स पर फिर से विचार करें। हम उनके प्रत्यक्ष उत्पाद को पहले से ही जानते हैं:

\[\बाएं[\शुरू(सरणी)(*(35)(आर)) 1 और 2 \\ -3 और 4 \\\ अंत (सरणी) \दाएं]\cdot \बाएं[ \शुरू (सरणी)(* (35) (आर)) -2 और 4 \\ 3 और 1 \\\ अंत (सरणी) \ दाएँ] = \ बाएँ [ \ start (सरणी) (* (35) (आर)) 4 और 6 \\ 1 & -8 \\\अंत (सरणी) \दाएं]\]

लेकिन अगर हम मैट्रिक्स को स्वैप करते हैं, तो हमें पूरी तरह से अलग परिणाम मिलता है:

\[\बाएं[\शुरू(सरणी)(*(35)(आर)) -2 और 4 \\ 3 और 1 \\\अंत (सरणी) \दाएं]\cdot \बाएं[ \शुरू (सरणी)(* (35) (आर)) 1 और 2 \\ -3 और 4 \\\ अंत (सरणी) \ दाएँ] = \ बाएँ [ \ start (मैट्रिक्स) -14 और 4 \\ 0 और 10 \\\ अंत (मैट्रिक्स) )\सही]\]

यह पता चला है कि $A\cdot B\ne B\cdot A$। साथ ही, गुणन क्रिया को केवल संगत आव्यूह $A=\बाएं[ m\times n \right]$ और $B=\left[ n\times k \right]$ के लिए परिभाषित किया गया है, लेकिन किसी ने गारंटी नहीं दी कि वे बने रहेंगे सुसंगत, यदि उनकी अदला-बदली की जाती है। उदाहरण के लिए, मैट्रिक्स $\left[ 2\times 3 \right]$ और $\left[ 3\times 5 \right]$ संकेतित क्रम में काफी सुसंगत हैं, लेकिन समान मैट्रिक्स $\बाएं[ 3\गुना 5 \right] $ और $\left[ 2\times 3 \right]$ उल्टे क्रम में लिखे गए अब मेल नहीं खाते। उदासी :(

किसी दिए गए आकार $n$ के वर्ग आव्यूहों में, हमेशा वे होंगे जो प्रत्यक्ष और उल्टे क्रम में गुणा करने पर समान परिणाम देते हैं। ऐसे सभी आव्यूहों का वर्णन कैसे करें (और उनमें से कितने सामान्य रूप से) एक अलग पाठ का विषय है। आज हम इसके बारे में बात नहीं करेंगे। :)

हालाँकि, मैट्रिक्स गुणन साहचर्य है:

\[\बाएं(A\cdot B \right)\cdot C=A\cdot \left(B\cdot C \right)\]

इसलिए, जब आपको एक साथ कई मैट्रिक्स को एक पंक्ति में गुणा करने की आवश्यकता होती है, तो इसे समय से पहले करना बिल्कुल भी आवश्यक नहीं है: यह बहुत संभव है कि कुछ आसन्न मैट्रिक्स, गुणा करने पर, एक दिलचस्प परिणाम दें। उदाहरण के लिए, एक शून्य आव्यूह, जैसा कि ऊपर वर्णित समस्या 2 में है।

वास्तविक समस्याओं में, अक्सर किसी को $\left[ n\times n \right]$ आकार के वर्ग मैट्रिक्स गुणा करना पड़ता है। ऐसे सभी आव्यूहों के समुच्चय को $((M)^(n))$ द्वारा दर्शाया जाता है (अर्थात, प्रविष्टियाँ $A=\left[ n\times n \right]$ और \ का अर्थ एक ही है), और यह होगा निश्चित रूप से मैट्रिक्स $E$ होता है, जिसे पहचान मैट्रिक्स कहा जाता है।

परिभाषा। आकार $n$ की पहचान मैट्रिक्स एक मैट्रिक्स $E$ है जैसे कि किसी भी वर्ग मैट्रिक्स $A=\left[ n\times n \right]$ के लिए समानता रखती है:

ऐसा मैट्रिक्स हमेशा एक जैसा दिखता है: इसके मुख्य विकर्ण पर इकाइयाँ हैं, और अन्य सभी कोशिकाओं में शून्य हैं।

\[\begin(align) & A\cdot \left(B+C \right)=A\cdot B+A\cdot C; \\ और \बाएं(ए+बी \दाएं)\cdot C=A\cdot C+B\cdot C. \\ \end(align)\]

दूसरे शब्दों में, यदि आपको एक मैट्रिक्स को दो अन्य के योग से गुणा करने की आवश्यकता है, तो आप इसे इनमें से प्रत्येक "अन्य दो" से गुणा कर सकते हैं, और फिर परिणाम जोड़ सकते हैं। व्यवहार में, आपको आमतौर पर उलटा ऑपरेशन करना होता है: हम एक ही मैट्रिक्स को नोटिस करते हैं, इसे ब्रैकेट से बाहर निकालते हैं, जोड़ करते हैं, और इस तरह हमारे जीवन को सरल बनाते हैं। :)

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

ठीक है, ये सभी स्क्वायर मैट्रिसेस के बारे में परियों की कहानियां थीं। आयतों के बारे में क्या?

आयताकार मैट्रिक्स का मामला

लेकिन कुछ नहीं - सब कुछ वैसा ही है जैसा कि वर्ग के साथ होता है।

कार्य 3. गुणन करें:

\[\बाएं[ \शुरू(मैट्रिक्स) \शुरू(मैट्रिक्स) 5 \\ 2 \\ 3 \\\end(मैट्रिक्स) और \शुरू(मैट्रिक्स) 4 \\ 5 \\ 1 \\\end(मैट्रिक्स) \ \\ अंत (मैट्रिक्स) \ दाएँ] \ cdot \ बाएँ [ \ start (सरणी) (* (35) (r)) -2 और 5 \\ 3 और 4 \\\ अंत (सरणी) \ दाएँ] \]

फेसला। हमारे पास दो मैट्रिक्स हैं: $A=\left[3\times 2 \right]$ और $B=\left[ 2\times 2 \right]$। आइए एक पंक्ति में आकारों को इंगित करने वाली संख्याएँ लिखें:

जैसा कि आप देख सकते हैं, केंद्रीय दो नंबर समान हैं। इसका मतलब है कि मैट्रिक्स सुसंगत हैं, और उन्हें गुणा किया जा सकता है। और आउटपुट पर हमें मैट्रिक्स $C=\left[ 3\times 2 \right]$ मिलता है:

\[\begin(align) &\left[ \begin(matrix) \begin(matrix) 5 \\ 2 \\ 3 \\\end(matrix) & \ start(matrix) 4 \\ 5 \\ 1 \\ \end(मैट्रिक्स) \\\end(मैट्रिक्स) \right]\cdot \left[ \begin(array)(*(35)(r)) -2 & 5 \\ 3 & 4 \\\end(array) \ दाएँ] = \ बाएँ [ \ start (सरणी) (* (35) (r)) 5 \ cdot \ बाएँ (-2 \ दाएँ) + 4 \ cdot 3 और 5 \ cdot 5 + 4 \ cdot 4 \\ 2 \cdot \left(-2 \right)+5\cdot 3 & 2\cdot 5+5\cdot 4 \\ 3\cdot \left(-2 \right)+1\cdot 3 & 3\cdot 5+1 \cdot 4 \\\end(array) \right]= \\ & =\left[ \begin(array)(*(35)(r)) 2 & 41 \\ 11 & 30 \\ -3 & 19 \ \\ अंत (सरणी) \ सही]। \end(संरेखित)\]

सब कुछ स्पष्ट है: अंतिम मैट्रिक्स में 3 पंक्तियाँ और 2 स्तंभ हैं। काफी $=\बाएं[3\बार 2 \दाएं]$।

उत्तर: $\बाएं[ \begin(array)(*(35)(r)) \ start(array)(*(35)(r)) 2 \\ 11 \\ -3 \\\end(array) & \ start (मैट्रिक्स) 41 \\ 30 \\ 19 \\\ अंत (मैट्रिक्स) \\\ अंत (सरणी) \ सही] $।

अब उन लोगों के लिए सबसे अच्छे प्रशिक्षण कार्यों में से एक पर विचार करें जो अभी-अभी मैट्रिसेस के साथ काम करना शुरू कर रहे हैं। इसमें, आपको न केवल कुछ दो गोलियों को गुणा करने की आवश्यकता है, बल्कि पहले यह निर्धारित करने की आवश्यकता है: क्या ऐसा गुणन अनुमेय है?

समस्या 4. आव्यूहों के सभी संभावित जोड़ीवार गुणनफल ज्ञात कीजिए:

\\]; $B=\बाएं[ \begin(matrix) \begin(matrix) 0 \\ 2 \\ 0 \\ 4 \\\end(matrix) & \ start(matrix) 1 \\ 0 \\ 3 \\ 0 \ \\ अंत (मैट्रिक्स) \\\ अंत (मैट्रिक्स) \ सही] $; $C=\बाएं [ \ start (मैट्रिक्स) 0 और 1 \\ 1 और 0 \\\ अंत (मैट्रिक्स) \ दायां] $।

फेसला। सबसे पहले, आइए मैट्रिक्स के आयामों को लिखें:

\;\ बी=\बाएं[4\बार 2 \दाएं];\ सी=\बाएं[ 2\बार 2 \दाएं]\]

हम पाते हैं कि मैट्रिक्स $A$ का मिलान केवल मैट्रिक्स $B$ के साथ किया जा सकता है, क्योंकि $A$ में कॉलम की संख्या 4 है, और केवल $B$ में पंक्तियों की संख्या है। इसलिए, हम उत्पाद पा सकते हैं:

\\cdot \बाएं[ \begin(array)(*(35)(r)) 0 & 1 \\ 2 & 0 \\ 0 & 3 \\ 4 & 0 \\\end(array) \right]=\ बाएं [\ start (सरणी) (* (35) (आर)) -10 और 7 \\ 10 और 7 \\\ अंत (सरणी) \ दायां] \]

मेरा सुझाव है कि पाठक मध्यवर्ती चरणों को स्वयं करें। मैं केवल इस बात पर ध्यान दूंगा कि परिणामी मैट्रिक्स का आकार अग्रिम में निर्धारित करना बेहतर है, यहां तक ​​​​कि किसी भी गणना से पहले:

\\cdot \बाएं[4\बार 2 \दाएं]=\बाएं[2\बार 2 \दाएं]\]

दूसरे शब्दों में, हम केवल "संक्रमणकालीन" गुणांकों को हटा देते हैं जो मैट्रिक्स की स्थिरता सुनिश्चित करते हैं।

क्या अन्य विकल्प संभव हैं? $B\cdot A$ को खोजना निश्चित रूप से संभव है, क्योंकि $B=\left[4\times 2 \right]$, $A=\left[ 2\times 4 \right]$, इसलिए ऑर्डर की गई जोड़ी $\ बाएं (बी; ए \ दाएं) $ संगत है, और उत्पाद का आयाम होगा:

\\cdot \बाएं[2\बार 4 \दाएं]=\बाएं[4\बार 4 \दाएं]\]

संक्षेप में, आउटपुट एक मैट्रिक्स $\left[4\times 4 \right]$ होगा, जिसके गुणांकों की गणना करना आसान है:

\\cdot \बाएं[ \begin(array)(*(35)(r)) 1 & -1 & 2 & -2 \\ 1 & 1 & 2 & 2 \\\end(array) \right]=\ बाएं [ \ start (सरणी) (* (35) (आर)) 1 और 1 और 2 और 2 \\ 2 और -2 और 4 और -4 \\ 3 और 3 और 6 और 6 \\ 4 और -4 और 8 और -8 \\\अंत (सरणी) \दाएं]\]

जाहिर है, आप $C\cdot A$ और $B\cdot C$ से भी मेल खा सकते हैं, और बस। इसलिए, हम केवल परिणामी उत्पाद लिखते हैं:

यह आसान था।:)

उत्तर: $AB=\बाएं[ \begin(array)(*(35)(r)) -10 & 7 \\ 10 & 7 \\\end(array) \right]$; $BA=\बाएं[ \begin(array)(*(35)(r)) 1 & 1 & 2 & 2 \\ 2 & -2 & 4 & -4 \\ 3 & 3 & 6 & 6 \\ 4 & -4 और 8 & -8 \\\ अंत (सरणी) \ दाएँ] $; $CA=\बाएं[ \begin(array)(*(35)(r)) 1 & 1 & 2 & 2 \\ 1 & -1 & 2 & -2 \\\end(array) \right]$; $BC=\बाएं[ \begin(array)(*(35)(r))1 & 0 \\ 0 & 2 \\ 3 & 0 \\ 0 & 4 \\\end(array) \right]$।

सामान्य तौर पर, मैं इस कार्य को स्वयं करने की अत्यधिक अनुशंसा करता हूं। और इसी तरह का एक और काम है जो होमवर्क में है। ये प्रतीत होने वाले सरल विचार आपको मैट्रिक्स गुणन के सभी महत्वपूर्ण चरणों को पूरा करने में मदद करेंगे।

लेकिन कहानी यहीं खत्म नहीं होती है। आइए गुणन के विशेष मामलों पर चलते हैं। :)

पंक्ति सदिश और स्तंभ सदिश

सबसे आम मैट्रिक्स ऑपरेशनों में से एक मैट्रिक्स द्वारा गुणा है जिसमें एक पंक्ति या एक कॉलम होता है।

परिभाषा। एक कॉलम वेक्टर एक $\बाएं[m\times 1 \right]$ मैट्रिक्स है, यानी। कई पंक्तियों और केवल एक स्तंभ से मिलकर।

एक पंक्ति वेक्टर आकार का एक मैट्रिक्स है $\left[ 1\times n \right]$, अर्थात। एक पंक्ति और कई स्तंभों से मिलकर।

वास्तव में, हम पहले ही इन वस्तुओं से मिल चुके हैं। उदाहरण के लिए, स्टीरियोमेट्री $\overrightarrow(a)=\left(x;y;z \right)$ से एक साधारण त्रि-आयामी वेक्टर एक पंक्ति वेक्टर के अलावा और कुछ नहीं है। सैद्धांतिक दृष्टिकोण से, पंक्तियों और स्तंभों में लगभग कोई अंतर नहीं है। आपको केवल आस-पास के गुणक आव्यूहों के साथ समन्वय करते समय सावधान रहने की आवश्यकता है।

कार्य 5. गुणा करें:

\[\बाएं[ \शुरू(सरणी)(*(35)(आर)) 2 और -1 और 3 \\ 4 और 2 और 0 \\ -1 और 1 और 1 \\\ अंत (सरणी) \दाएं] \cdot \बाएं[ \प्रारंभ(सरणी)(*(35)(r)) 1 \\ 2 \\ -1 \\\end(सरणी) \दाएं]\]

फेसला। हमारे पास लगातार मैट्रिक्स का एक उत्पाद है: $\बाएं[3\बार 3 \दाएं]\cdot \बाएं[3\बार 1 \दाएं]=\बाएं[3\बार 1 \दाएं]$। इस टुकड़े को खोजें:

\[\बाएं[ \शुरू(सरणी)(*(35)(आर)) 2 और -1 और 3 \\ 4 और 2 और 0 \\ -1 और 1 और 1 \\\ अंत (सरणी) \दाएं] \cdot \बाएं[ \begin(सरणी)(*(35)(r)) 1 \\ 2 \\ -1 \\\end(array) \right]=\left[ \begin(array)(*(35) )(r)) 2\cdot 1+\left(-1 \right)\cdot 2+3\cdot \left(-1 \right) \\ 4\cdot 1+2\cdot 2+0\cdot 2 \ \ -1\cdot 1+1\cdot 2+1\cdot \left(-1 \right) \\\end(array) \right]=\left[ \begin(array)(*(35)(r) ) -3 \\ 8 \\ 0 \\\ अंत (सरणी) \दाएं]\]

उत्तर: $\बाएं[ \begin(array)(*(35)(r))-3 \\ 8 \\ 0 \\\end(array) \right]$.

कार्य 6. गुणा करें:

\[\बाएं[\शुरू(सरणी)(*(35)(आर)) 1 और 2 और -3 \\\अंत (सरणी) \दाएं]\cdot \बाएं[ \शुरू (सरणी)(*(35) (आर)) 3 और 1 और -1 \\ 4 और -1 और 3 \\ 2 और 6 और 0 \\\ अंत (सरणी) \दाएं]\]

फेसला। फिर से सब कुछ सुसंगत है: $\बाएं[1\बार 3 \दाएं]\cdot \बाएं[3\बार 3 \दाएं]=\बाएं[1\बार 3 \दाएं]$. हम काम पर विचार करते हैं:

\[\बाएं[\शुरू(सरणी)(*(35)(आर)) 1 और 2 और -3 \\\अंत (सरणी) \दाएं]\cdot \बाएं[ \शुरू (सरणी)(*(35) (आर)) 3 और 1 और -1 \\ 4 और -1 और 3 \\ 2 और 6 और 0 \\\ अंत (सरणी) \ दाएँ] = \ बाएँ [ \ start (सरणी) (* (35) ( आर))5 और -19 और 5 \\\अंत (सरणी) \दाएं]\]

उत्तर: $\बाएं [\शुरू (मैट्रिक्स) 5 और -19 और 5 \\\ अंत (मैट्रिक्स) \ दाएँ] $।

जैसा कि आप देख सकते हैं, एक वर्ग मैट्रिक्स द्वारा एक पंक्ति वेक्टर और एक कॉलम वेक्टर को गुणा करते समय, आउटपुट हमेशा एक ही आकार की एक पंक्ति या स्तंभ होता है। इस तथ्य के कई अनुप्रयोग हैं - रैखिक समीकरणों को हल करने से लेकर सभी प्रकार के समन्वय परिवर्तनों तक (जो अंततः समीकरणों की प्रणालियों को भी कम करते हैं, लेकिन दुख की बात नहीं करते हैं)।

मुझे लगता है कि यहाँ सब कुछ स्पष्ट था। आइए आज के पाठ के अंतिम भाग की ओर बढ़ते हैं।

मैट्रिक्स घातांक

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

ऐसे कार्यों को हमेशा समन्वित किया जाता है:

\\cdot \ बाएँ [ n \ बार n \ दाएँ] = \ बाएँ [ n \ बार n \ दाएँ] \]

और उन्हें सामान्य डिग्री के समान ही नामित किया गया है:

\[\begin(align) & A\cdot A=((A)^(2)); \\ & A\cdot A\cdot A=((A)^(3)); \\ और \अंडरब्रेस(A\cdot A\cdot \ldots \cdot A)_(n)=((A)^(n)). \\ \अंत (संरेखित करें)\]

पहली नज़र में, सब कुछ सरल है। आइए देखें कि यह व्यवहार में कैसा दिखता है:

कार्य 7. मैट्रिक्स को निर्दिष्ट शक्ति तक उठाएं:

$((\बाएं[ \शुरू(मैट्रिक्स) 1 और 1 \\ 0 और 1 \\\अंत (मैट्रिक्स) \दाएं])^(3))$

फेसला। ठीक है, चलो बनाते हैं। आइए इसे पहले चौकोर करें:

\[\शुरू (संरेखित करें) और ((\ बाएँ [ \ start (मैट्रिक्स) 1 और 1 \\ 0 और 1 \\\ अंत (मैट्रिक्स) \ दाएँ]) ^ (2)) = \ बाएँ [ \ start (मैट्रिक्स) ) 1 और 1 \\ 0 और 1 \\\ अंत (मैट्रिक्स) \ दाएँ] \ cdot \ बाएँ [ \ start (मैट्रिक्स) 1 और 1 \\ 0 और 1 \\\ अंत (मैट्रिक्स) \ दाएँ] = \\ & =\बाएं[ \begin(array)(*(35)(r)) 1\cdot 1+1\cdot 0 & 1\cdot 1+1\cdot 1 \\ 0\cdot 1+1\cdot 0 & 0\cdot 1+1\cdot 1 \\\end(array) \right]= \\ & =\left[ \begin(array)(*(35)(r)) 1 & 2 \\ 0 & 1 \ \\अंत (सरणी) \दाएं] \अंत (संरेखण)\]

\[\शुरू (संरेखित करें) और ((\ बाएँ [ \ start (मैट्रिक्स) 1 और 1 \\ 0 और 1 \\\ अंत (मैट्रिक्स) \ दाएँ]) ^ (3)) = ((\ बाएँ [ \ शुरू करें) (मैट्रिक्स) 1 और 1 \\ 0 और 1 \\\ अंत (मैट्रिक्स) \ दाएँ]) ^ (3)) \ cdot \ बाएँ [ \ start (मैट्रिक्स) 1 और 1 \\ 0 और 1 \\\ अंत ( मैट्रिक्स) \राइट] = \\ और =\बाएं [ \ start (सरणी) (* (35) (आर)) 1 और 2 \\ 0 और 1 \\\ अंत (सरणी) \ दायां] \ cdot \ बायां [ \begin(matrix) 1 & 1 \\ 0 & 1 \\\end(matrix) \right]= \\ & =\left[ \begin(array)(*(35)(r)) 1 & 3 \\ 0 और 1 \\\ अंत (सरणी) \ दाएँ] \ अंत (संरेखित करें) \]

बस इतना ही।:)

उत्तर: $\बाएं[ \begin(matrix)1 & 3 \\ 0 & 1 \\\end(matrix) \right]$।

समस्या 8. मैट्रिक्स को निर्दिष्ट शक्ति तक उठाएँ:

\[((\बाएं[ \शुरू(मैट्रिक्स) 1 और 1 \\ 0 और 1 \\\अंत (मैट्रिक्स) \दाएं])^(10))\]

फेसला। अभी इस बात का रोना मत कि "डिग्री बहुत अधिक है", "दुनिया निष्पक्ष नहीं है" और "शिक्षकों ने अपने बैंकों को पूरी तरह से खो दिया है"। वास्तव में, सब कुछ आसान है:

\[\शुरू (संरेखित करें) और ((\ बाएँ [ \ start (मैट्रिक्स) 1 और 1 \\ 0 और 1 \\\ अंत (मैट्रिक्स) \ दाएँ]) ^ (10)) = ((\ बाएँ [ \ शुरू करें) (मैट्रिक्स) 1 और 1 \\ 0 और 1 \\\ अंत (मैट्रिक्स) \ दाएँ]) ^ (3)) \ cdot ((\ बाएँ [ \ start (मैट्रिक्स) 1 और 1 \\ 0 और 1 \\\ अंत (मैट्रिक्स) \ दाएँ]) ^ (3)) \ cdot ((\ बाएँ [ \ start (मैट्रिक्स) 1 और 1 \\ 0 और 1 \\\ अंत (मैट्रिक्स) \ दाएँ]) ^ (3)) \ सीडीओटी \बाएं [ \ शुरू (मैट्रिक्स) 1 और 1 \\ 0 और 1 \\\ अंत (मैट्रिक्स) \ दाएँ] = \\ और = \ बाएँ (\ बाएँ [ \ start (मैट्रिक्स) 1 और 3 \\ 0 & 1 \\\ अंत (मैट्रिक्स) \ दाएँ] \ cdot \ बाएँ [ \ start (मैट्रिक्स) 1 और 3 \\ 0 और 1 \\\ अंत (मैट्रिक्स) \ दाएँ] \ दाएँ) \ cdot \ बाएँ (\ बाएँ [ \begin(matrix) 1 & 3 \\ 0 & 1 \\\end(matrix) \right]\cdot \left[ \begin(matrix) 1 & 1 \\ 0 & 1 \\\end(matrix) \right ] \ दाएँ) = \\ और = \ बाएँ [ \ start (मैट्रिक्स) 1 और 6 \\ 0 और 1 \\\ अंत (मैट्रिक्स) \ दाएँ] \ cdot \ बाएँ [ \ start (मैट्रिक्स) 1 और 4 \\ 0 और 1 \\\ अंत (मैट्रिक्स) \ दाएँ] = \\ और = \ बाएँ [ \ start (मैट्रिक्स) 1 और 10 \\ 0 और 1 \\\ अंत (मैट्रिक्स) \ दाएँ] \ अंत (संरेखण) \ ]

ध्यान दें कि दूसरी पंक्ति में हमने गुणन साहचर्यता का उपयोग किया था। दरअसल, हमने इसे पिछले टास्क में इस्तेमाल किया था, लेकिन वहां यह निहित था।

उत्तर: $\बाएं[ \शुरू (मैट्रिक्स) 1 और 10 \\ 0 और 1 \\\ अंत (मैट्रिक्स) \दाएं]$।

जैसा कि आप देख सकते हैं, मैट्रिक्स को एक शक्ति तक बढ़ाने में कुछ भी जटिल नहीं है। अंतिम उदाहरण को संक्षेप में प्रस्तुत किया जा सकता है:

\[((\ बाएँ [ \ start (मैट्रिक्स) 1 और 1 \\ 0 और 1 \\\ अंत (मैट्रिक्स) \ दाएँ]) ^ (n)) = \ बाएँ [ \ start (सरणी) (* (35) (आर)) 1 और एन \\ 0 और 1 \\\ अंत (सरणी) \दाएं]\]

इस तथ्य को गणितीय प्रेरण या प्रत्यक्ष गुणन द्वारा सिद्ध करना आसान है। हालांकि, सत्ता में बढ़ते समय ऐसे पैटर्न को पकड़ना हमेशा संभव नहीं होता है। इसलिए, सावधान रहें: कई मेट्रिसेस को "रिक्त" गुणा करना अक्सर आसान और तेज़ होता है, बजाय इसके कि कुछ पैटर्न देखें।

सामान्य तौर पर, उच्च अर्थ की तलाश न करें जहां कोई नहीं है। अंत में, आइए एक बड़े मैट्रिक्स के घातांक पर विचार करें - जितना कि $\left[3\times 3 \right]$।

समस्या 9. मैट्रिक्स को निर्दिष्ट शक्ति तक बढ़ाएँ:

\[((\बाएं [ \ शुरू (मैट्रिक्स) 0 और 1 और 1 \\ 1 और 0 और 1 \\ 1 और 1 और 0 \\\ अंत (मैट्रिक्स) \ दायां]) ^ (3))\]

फेसला। आइए पैटर्न की तलाश न करें। हम "के माध्यम से" काम करते हैं:

\[((\ बाएँ [ \ शुरू (मैट्रिक्स) 0 और 1 और 1 \\ 1 और 0 और 1 \\ 1 और 1 और 0 \\\ अंत (मैट्रिक्स) \ दाएँ]) ^ (3)) = (( \बाएं [ \ शुरू (मैट्रिक्स) 0 और 1 और 1 \\ 1 और 0 और 1 \\ 1 और 1 और 0 \\\ अंत (मैट्रिक्स) \ दाएँ]) ^ (2)) \ cdot \ बाएँ [ \ शुरू (मैट्रिक्स)0 और 1 और 1 \\ 1 और 0 और 1 \\ 1 और 1 और 0 \\\end(मैट्रिक्स) \right]\]

आइए इस मैट्रिक्स को चुकता करके शुरू करें:

\[\begin(align) & ((\left[\begin(matrix) 0 & 1 & 1 \\ 1 & 0 & 1 \\ 1 & 1 & 0 \\\end(matrix) \right])^( 2))=\बाएं[ \शुरू (मैट्रिक्स) 0 और 1 और 1 \\ 1 और 0 और 1 \\ 1 और 1 और 0 \\\ अंत (मैट्रिक्स) \ दाएँ] \ cdot \ बाएँ [ \ start (मैट्रिक्स) ) 0 और 1 और 1 \\ 1 और 0 और 1 \\ 1 और 1 और 0 \\\ अंत (मैट्रिक्स) \ दाएँ] = \\ और = \ बाएँ [ \ start (सरणी) (* (35) (आर) )) 2 और 1 और 1 \\ 1 और 2 और 1 \\ 1 और 1 और 2 \\\ अंत (सरणी) \ दायां] \ अंत (संरेखण) \]

अब इसे क्यूब करते हैं:

\[\begin(align) & ((\left[\begin(matrix) 0 & 1 & 1 \\ 1 & 0 & 1 \\ 1 & 1 & 0 \\\end(matrix) \right])^( 3))=\बाएं[\प्रारंभ(सरणी)(*(35)(आर)) 2 और 1 और 1 \\ 1 और 2 और 1 \\ 1 और 1 और 2 \\\ अंत (सरणी) \दाएं] \cdot \ बाएँ [ \ start (मैट्रिक्स) 0 और 1 और 1 \\ 1 और 0 और 1 \\ 1 और 1 और 0 \\\ अंत (मैट्रिक्स) \ दाएँ] = \\ और = \ बाएँ [ \ start ( सरणी) (* (35) (आर)) 2 और 3 और 3 \\ 3 और 2 और 3 \\ 3 और 3 और 2 \\\ अंत (सरणी) \ दायां] \ अंत (संरेखण) \]

बस इतना ही। समस्या सुलझ गयी।

उत्तर: $\बाएं[ \शुरू (मैट्रिक्स) 2 और 3 और 3 \\ 3 और 2 और 3 \\ 3 और 3 और 2 \\\ अंत (मैट्रिक्स) \दाएं]$।

जैसा कि आप देख सकते हैं, गणना की मात्रा बड़ी हो गई है, लेकिन अर्थ बिल्कुल नहीं बदला है। :)

यह सबक खत्म हो सकता है। अगली बार हम व्युत्क्रम संचालन पर विचार करेंगे: हम मौजूदा उत्पाद का उपयोग करके मूल गुणकों की तलाश करेंगे।

जैसा कि आप शायद पहले ही अनुमान लगा चुके हैं, हम व्युत्क्रम मैट्रिक्स और इसे खोजने के तरीकों के बारे में बात करेंगे।

व्याख्यान 6. कम्प्यूटेशनल गणित की विशिष्ट समस्याओं को हल करने के लिए समानांतर संख्यात्मक एल्गोरिदम: मैट्रिक्स गुणन।

एक वेक्टर द्वारा मैट्रिक्स का गुणन। उच्चतम संभव गति प्राप्त करें। मध्यम स्तर की समानता का उपयोग। पी = एन के लिए समानांतर कंप्यूटिंग का संगठन। प्रोसेसर के सीमित सेट का उपयोग। मैट्रिक्स गुणा। समस्या समाधान एल्गोरिदम का मैक्रोऑपरेशनल विश्लेषण। डेटा साझाकरण के आधार पर समानता का संगठन।

एक वेक्टर द्वारा एक मैट्रिक्स का गुणन

मैट्रिक्स को वेक्टर से गुणा करने की समस्या को संबंधों द्वारा परिभाषित किया गया है

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

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

सबसे तेज़ संभव प्रदर्शन प्राप्त करना ()

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



प्रत्येक पंक्ति को एक वेक्टर से गुणा करने पर स्वतंत्र तत्व-वार गुणन शामिल होता है और इसे समानांतर में भी किया जा सकता है;

एक वेक्टर द्वारा मैट्रिक्स की एक पंक्ति को गुणा करने के प्रत्येक ऑपरेशन में परिणामी उत्पादों का योग योग एल्गोरिथम (सीरियल एल्गोरिथम, पारंपरिक और संशोधित कैस्केड योजनाओं) के पहले माने गए वेरिएंट में से एक का उपयोग करके किया जा सकता है।

इस प्रकार, प्रोसेसर की अधिकतम आवश्यक संख्या मूल्य द्वारा निर्धारित की जाती है

इतने सारे प्रोसेसर के उपयोग को निम्नानुसार दर्शाया जा सकता है। प्रोसेसर के सेट को समूहों में बांटा गया है

,

जिनमें से प्रत्येक एक वेक्टर द्वारा मैट्रिक्स की एक पंक्ति को गुणा करने के संचालन को करने के लिए प्रोसेसर के एक सेट का प्रतिनिधित्व करता है। गणना की शुरुआत में, समूह के प्रत्येक प्रोसेसर को मैट्रिक्स की पंक्ति का एक तत्व और वेक्टर के संबंधित तत्व प्राप्त होता है। अगला, प्रत्येक प्रोसेसर गुणन ऑपरेशन करता है। इसके बाद कैस्केड योग योजना के अनुसार गणना की जाती है। अंजीर में चित्रण के लिए। 6.1 मैट्रिक्स के आयाम के साथ समूह के प्रोसेसर के लिए कम्प्यूटेशनल योजना दिखाता है।

चावल। 6.1. एक वेक्टर द्वारा मैट्रिक्स पंक्ति को गुणा करने के लिए कम्प्यूटेशनल योजना

प्रोसेसर का उपयोग करते समय समानांतर एल्गोरिथ्म का निष्पादन समय समानांतर गुणन संचालन के निष्पादन समय और कैस्केड योजना के निष्पादन समय से निर्धारित होता है

नतीजतन, एल्गोरिथ्म के प्रदर्शन संकेतक निम्नलिखित संबंधों द्वारा निर्धारित किए जाते हैं:

एक वेक्टर द्वारा एक मैट्रिक्स के गुणन की समस्या के लिए, सबसे उपयुक्त टोपोलॉजी संरचनाएं हैं जो एक कैस्केड योग योजना में तेजी से डेटा ट्रांसफर (इकाई लंबाई के पथ) प्रदान करती हैं (चित्र 4.5 देखें)। इस तरह की टोपोलॉजी एक संरचना है जिसमें कनेक्शन की पूरी प्रणाली होती है ( पूरा ग्राफ) और अतिविम. अन्य टोपोलॉजी के परिणामस्वरूप लंबे डेटा पथ के कारण संचार समय में वृद्धि होती है। तो, केवल बाईं और दाईं ओर निकटतम पड़ोसियों के साथ कनेक्शन की एक प्रणाली के साथ प्रोसेसर के रैखिक क्रम के साथ ( शासकया अँगूठी) कैस्केड योजना के लिए, पुनरावृत्ति पर प्रत्येक प्राप्त आंशिक योग के संचरण पथ की लंबाई के बराबर है। यदि हम स्वीकार करते हैं कि एक रैखिक संरचना के साथ टोपोलॉजी में लंबाई के पथ के साथ डेटा ट्रांसमिशन के लिए डेटा ट्रांसमिशन संचालन के निष्पादन की आवश्यकता होती है, तो डेटा ट्रांसमिशन के समानांतर संचालन (पथों की कुल लंबाई) की कुल संख्या मूल्य द्वारा निर्धारित की जाती है।

(बूटस्ट्रैपिंग प्रोसेसर के लिए डेटा ट्रांसफर को छोड़कर)।

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

समस्या को हल करने में की जाने वाली संचार क्रियाएं एमसीएस प्रोसेसर के जोड़े के बीच डेटा स्थानांतरित करना है। इस तरह के संचालन के कार्यान्वयन की अवधि का विस्तृत विश्लेषण पैराग्राफ 3.3 में किया गया है।

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

मध्य स्तर समानांतरवाद का उपयोग करना ()

1. समानांतर कंप्यूटिंग पद्धति का विकल्प. उपयोग किए गए प्रोसेसर की उपलब्ध संख्या में कमी के साथ (), एक वेक्टर द्वारा मैट्रिक्स पंक्तियों को गुणा करने का संचालन करते समय सामान्य कैस्केड योग योजना अनुपयुक्त हो जाती है। सामग्री की प्रस्तुति की सादगी के लिए, हम एक संशोधित कैस्केड योजना मानते हैं और उसका उपयोग करते हैं। इस मामले में प्रत्येक प्रोसेसर का प्रारंभिक भार बढ़ता है और मैट्रिक्स और वेक्टर की पंक्तियों के कुछ हिस्सों द्वारा प्रोसेसर लोड किया जाता है ()। एक वेक्टर द्वारा मैट्रिक्स को गुणा करने के संचालन के निष्पादन समय का अनुमान मूल्य के रूप में लगाया जा सकता है

संशोधित कैस्केड योजना को लागू करने के लिए आवश्यक प्रोसेसर की संख्या का उपयोग करते समय, अर्थात। पर , यह अभिव्यक्ति निष्पादन समय का अनुमान देती है (पर )।

प्रोसेसर की संख्या के साथ, जब एल्गोरिथ्म के निष्पादन समय का अनुमान लगाया जाता है, गणना के समानांतर निष्पादन के लिए एक नई योजना प्रस्तावित की जा सकती है, जिसमें कैस्केड योग के प्रत्येक पुनरावृत्ति के लिए उपयोग किया जाता है गैर-अतिव्यापी प्रोसेसर सेट. इस दृष्टिकोण के साथ, प्रोसेसर की उपलब्ध संख्या मैट्रिक्स और वेक्टर की एक पंक्ति को गुणा करने के केवल एक ऑपरेशन को लागू करने के लिए पर्याप्त है। इसके अलावा, कैस्केड योग के अगले पुनरावृत्ति को निष्पादित करते समय, पिछले सभी पुनरावृत्तियों के निष्पादन के लिए जिम्मेदार प्रोसेसर मुक्त होते हैं। हालांकि, प्रस्तावित दृष्टिकोण के इस नुकसान को मैट्रिक्स की अगली पंक्तियों को संसाधित करने के लिए निष्क्रिय प्रोसेसर का उपयोग करके एक लाभ में बदल दिया जा सकता है। परिणामस्वरूप, निम्नलिखित योजना बनाई जा सकती है कन्वेयरमैट्रिक्स और वेक्टर गुणन करें:

प्रोसेसर के सेट को गैर-अतिव्यापी प्रोसेसर समूहों में विभाजित किया गया है

,

समूह , , में प्रोसेसर होते हैं और इसका उपयोग कैस्केड एल्गोरिथम को पुनरावृत्त करने के लिए किया जाता है (समूह का उपयोग तत्व-वार गुणन को लागू करने के लिए किया जाता है); प्रोसेसर की कुल संख्या;

गणना आरंभीकरण में मैट्रिक्स और वेक्टर की पंक्ति के मान 1 के साथ समूह के प्रोसेसर के तत्व-दर-तत्व लोडिंग शामिल हैं; बूटस्ट्रैप के बाद, तत्व-वार गुणन का समानांतर संचालन और पारंपरिक कैस्केड समन सर्किट के बाद के कार्यान्वयन का प्रदर्शन किया जाता है;

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

वर्णित एल्गोरिथ्म को लागू करने के परिणामस्वरूप, प्रोसेसर की बहुलता एक वेक्टर द्वारा मैट्रिक्स पंक्ति को गुणा करने के संचालन को करने के लिए एक पाइपलाइन को लागू करती है। ऐसी पाइपलाइन पर, मैट्रिक्स की कई अलग-अलग पंक्तियाँ एक साथ प्रसंस्करण के विभिन्न चरणों में हो सकती हैं। इसलिए, उदाहरण के लिए, पहली पंक्ति और वेक्टर के तत्वों के तत्ववार गुणन के बाद, समूह के प्रोसेसर मैट्रिक्स की पहली पंक्ति के लिए कैस्केड एल्गोरिदम का पहला पुनरावृत्ति करेंगे, और समूह के प्रोसेसर प्रदर्शन करेंगे मैट्रिक्स की दूसरी पंक्ति के मूल्यों का तत्ववार गुणन, आदि। अंजीर में चित्रण के लिए। 6.2 पर 2 पाइपलाइन पुनरावृत्तियों के बाद गणना प्रक्रिया की स्थिति को दर्शाता है।

चावल। 6.2. 2 पुनरावृत्तियों के बाद एक वेक्टर द्वारा मैट्रिक्स की एक पंक्ति को गुणा करने के संचालन के लिए पाइपलाइन की स्थिति

2. एल्गोरिथम प्रदर्शन संकेतकों का मूल्यांकन. कैस्केड योजना के अनुसार वेक्टर द्वारा पहली पंक्ति का गुणन () समानांतर संचालन के निष्पादन के बाद हमेशा की तरह पूरा हो जाएगा। अन्य पंक्तियों के लिए, गणना के संगठन की पाइपलाइन योजना के अनुसार, प्रत्येक क्रमिक पंक्ति के गुणन के परिणाम पाइपलाइन के प्रत्येक बाद के पुनरावृत्ति के पूरा होने के बाद दिखाई देंगे। नतीजतन, मैट्रिक्स-वेक्टर गुणन ऑपरेशन का कुल निष्पादन समय के रूप में व्यक्त किया जा सकता है

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

नतीजतन, एल्गोरिथ्म के प्रदर्शन संकेतक निम्नलिखित संबंधों द्वारा निर्धारित किए जाते हैं:

3. कंप्यूटर सिस्टम टोपोलॉजी का विकल्प. एक कंप्यूटिंग सिस्टम की समीचीन टोपोलॉजी पूरी तरह से कंप्यूटिंग योजना द्वारा निर्धारित की जाती है - यह एक पूर्ण है बाइनरी ट्रीऊंचाई । इस तरह के नेटवर्क टोपोलॉजी के साथ डेटा ट्रांसफर की संख्या पाइपलाइन द्वारा किए गए पुनरावृत्तियों की कुल संख्या से निर्धारित होती है, अर्थात।

गणना का आरंभ पेड़ की पत्तियों से शुरू होता है, योग के परिणाम रूट प्रोसेसर में जमा होते हैं।

इंटरप्रोसेसर संचार के अन्य टोपोलॉजी के साथ कंप्यूटर सिस्टम के लिए किए गए संचार कार्यों की जटिलता का विश्लेषण एक स्वतंत्र कार्य के रूप में किया जाना चाहिए (खंड 3.4 भी देखें)।

समानांतर कंप्यूटिंग का संगठन

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

इस तरह की गणना योजना को निम्नानुसार परिभाषित किया जा सकता है। आइए प्रोसेसर के सेट को एक रेखीय अनुक्रम के रूप में निरूपित करें (चित्र 4.7 देखें):

प्रत्येक प्रोसेसर का उपयोग मैट्रिक्स कॉलम तत्वों और वेक्टर तत्व को गुणा करने के लिए किया जाता है। प्रत्येक प्रोसेसर पर गणना के निष्पादन में निम्नलिखित शामिल हैं:

मैट्रिक्स कॉलम के अगले तत्व का अनुरोध किया गया है;

तत्वों और गुणा कर रहे हैं;

पिछले प्रोसेसर की गणना के परिणाम का अनुरोध किया जाता है;

मान जोड़े जाते हैं;

परिणाम अगले प्रोसेसर को भेजा जाता है।

चावल। 6.3. दो पुनरावृत्तियों को करने के बाद एक वेक्टर द्वारा मैट्रिक्स की एक पंक्ति को गुणा करने के संचालन के लिए रैखिक पाइपलाइन की स्थिति

वर्णित योजना को प्रारंभ करते समय, कई अतिरिक्त क्रियाएं करना आवश्यक है:

पहले पुनरावृत्ति के दौरान, प्रत्येक प्रोसेसर अतिरिक्त रूप से वेक्टर के एक तत्व का अनुरोध करता है;

गणना को सिंक्रनाइज़ करने के लिए (सर्किट के अगले पुनरावृत्ति के निष्पादन के दौरान, पिछले प्रोसेसर की गणना के परिणाम का अनुरोध किया जाता है) प्रारंभिक चरण में, प्रोसेसर, एक प्रतीक्षा लूप निष्पादित करता है ()।

इसके अलावा, पहले प्रोसेसर के लिए वर्णित योजना की एकरूपता के लिए, जिसमें कोई पिछला प्रोसेसर नहीं है, एक खाली अतिरिक्त ऑपरेशन शुरू करने की सलाह दी जाती है ( ).

अंजीर में चित्रण के लिए। 6.3 पाइपलाइन के दूसरे पुनरावृत्ति के बाद गणना प्रक्रिया की स्थिति को दर्शाता है।

2. एल्गोरिथम प्रदर्शन संकेतकों का मूल्यांकन. वर्णित पाइपलाइन योजना के अनुसार वेक्टर द्वारा पहली पंक्ति का गुणन () समानांतर संचालन के निष्पादन के बाद पूरा हो जाएगा। निम्नलिखित पंक्तियों के गुणन का परिणाम पाइपलाइन के प्रत्येक अगले पुनरावृत्ति के पूरा होने के बाद होगा (याद रखें, प्रत्येक प्रोसेसर के पुनरावृत्ति में गुणन और जोड़ संचालन का निष्पादन शामिल है)। नतीजतन, मैट्रिक्स-वेक्टर गुणन ऑपरेशन का कुल निष्पादन समय इस प्रकार व्यक्त किया जा सकता है:

यह अनुमान समानांतर एल्गोरिथम के न्यूनतम संभव निष्पादन समय से भी अधिक है। पाइपलाइन कंप्यूटिंग योजना का उपयोग करने की उपयोगिता, जैसा कि पिछले पैराग्राफ में उल्लेख किया गया है, प्रेषित डेटा की मात्रा को कम करने और गणना परिणामों के पहले भाग की उपस्थिति में है।

इस कम्प्यूटेशनल योजना के प्रदर्शन संकेतक संबंधों द्वारा निर्धारित किए जाते हैं:

, ,

3. कंप्यूटर सिस्टम टोपोलॉजी का विकल्प. वर्णित एल्गोरिदम के कार्यान्वयन के लिए कंप्यूटिंग सिस्टम की आवश्यक टोपोलॉजी विशिष्ट रूप से प्रस्तावित कम्प्यूटेशनल योजना द्वारा निर्धारित की जाती है - यह प्रोसेसर का एक रैखिक रूप से आदेशित सेट है ( शासक).

प्रोसेसर के सीमित सेट का उपयोग करना ()

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

प्रत्येक उपलब्ध प्रोसेसर को एक वेक्टर और मैट्रिक्स पंक्तियाँ भेजी जाती हैं;

एक वेक्टर द्वारा मैट्रिक्स की पंक्तियों को गुणा करने का संचालन सामान्य अनुक्रमिक एल्गोरिथ्म का उपयोग करके किया जाता है।

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

3. कंप्यूटर सिस्टम टोपोलॉजी का विकल्प. प्रस्तावित कम्प्यूटेशनल योजना में किए गए इंटरप्रोसेसर इंटरैक्शन की प्रकृति के अनुसार, फॉर्म में प्रोसेसर का संगठन सितारे(अंजीर देखें। 1.1)। इस तरह के टोपोलॉजी के एक नियंत्रण प्रोसेसर का उपयोग कंप्यूटिंग प्रोसेसर को प्रारंभिक डेटा के साथ लोड करने और निष्पादित गणनाओं के परिणाम प्राप्त करने के लिए किया जा सकता है।

मैट्रिक्स गुणन

मैट्रिक्स द्वारा मैट्रिक्स को गुणा करने की समस्या को संबंधों द्वारा परिभाषित किया गया है

.

(सरलता के लिए, हम मान लेंगे कि गुणा किए गए मैट्रिक्स और वर्ग हैं और क्रम हैं)।

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

परिभाषा 1

मैट्रिक्स का उत्पाद (सी = एबी) केवल संगत मैट्रिक्स ए और बी के लिए एक ऑपरेशन है, जिसमें मैट्रिक्स ए के कॉलम की संख्या मैट्रिक्स बी की पंक्तियों की संख्या के बराबर है:

सी ⏟ एम × एन = ए ⏟ एम × पी × बी ⏟ पी × एन

उदाहरण 1

मैट्रिक्स डेटा:

  • ए = ए (आई जे) आयाम एम × एन;
  • बी = बी (आई जे) पी × एन

मैट्रिक्स C , जिसके अवयव c i j की गणना निम्न सूत्र द्वारा की जाती है:

c i j = a i 1 × b 1 j + a i 2 × b 2 j + । . . + a i p × b p j , i = 1 , . . . एम , जे = 1 , . . . एम

उदाहरण 2

आइए उत्पादों की गणना करें AB=BA:

ए = 1 2 1 0 1 2, बी = 1 0 0 1 1 1

मैट्रिक्स गुणन नियम का उपयोग कर समाधान:

ए 2 × 3 × बी ⏟ 3 × 2 = 1 2 1 0 1 2 × 1 0 0 1 1 1 = 1 × 1 + 2 × 0 + 1 × 1 1 × 0 + 2 × 1 + 1 × 1 0 × 1 + 1 × 0 + 2 × 1 0 × 0 + 1 × 1 + 2 × 1 = = 2 3 2 3 ⏟ 2 × 2

बी ⏟ 3 × 2 × ए ⏟ 2 × 3 = 1 0 0 1 1 1 × 1 2 1 0 1 2 = 1 × 1 + 0 × 0 1 × 2 + 0 × 1 1 × 1 + 0 × 2 0 × 1 + 1 × 0 0 × 2 + 1 × 1 0 × 1 + 1 × 2 1 × 1 + 1 × 0 1 × 2 + 1 × 1 1 × 1 + 1 × 2 = 1 2 1 0 1 2 1 3 3 3×3

उत्पाद ए बी और बी ए पाए जाते हैं, लेकिन वे विभिन्न आकारों के मैट्रिक्स हैं: ए बी बी ए के बराबर नहीं है।

मैट्रिक्स गुणन के गुण

मैट्रिक्स गुणन गुण:

  • (ए बी) सी = ए (बी सी) - मैट्रिक्स गुणन की सहयोगीता;
  • ए (बी + सी) \u003d ए बी + ए सी - वितरण गुणन;
  • (ए + बी) सी \u003d ए सी + बी सी - गुणन का वितरण;
  • (ए बी) = (λ ए) बी
उदाहरण 1

संपत्ति की जाँच करें #1: (ए बी) सी = ए (बी सी):

(ए × बी) × ए = 1 2 3 4 × 5 6 7 8 × 1 0 0 2 = 19 22 43 50 × 1 0 0 2 = 19 44 43 100,

ए (बी × सी) = 1 2 3 4 × 5 6 7 8 1 0 0 2 = 1 2 3 4 × 5 12 7 16 = 19 44 43 100।

उदाहरण 2

हम संपत्ति संख्या 2: ए (बी + सी) \u003d ए बी + ए सी की जांच करते हैं:

ए × (बी + सी) = 1 2 3 4 × 5 6 7 8 + 1 0 0 2 = 1 2 3 4 × 6 6 7 10 = 20 26 46 58,

ए बी + ए सी \u003d 1 2 3 4 × 5 6 7 8 + 1 2 3 4 × 1 0 0 2 \u003d 19 22 43 50 + 1 4 3 8 \u003d 20 26 46 58 ।

तीन मैट्रिक्स का उत्पाद

तीन मैट्रिक्स ए बी सी के उत्पाद की गणना 2 तरीकों से की जाती है:

  • ए बी खोजें और सी से गुणा करें: (ए बी) सी;
  • या पहले बी सी खोजें, और फिर ए (बी सी) गुणा करें।
उदाहरण 3

मैट्रिक्स को 2 तरीकों से गुणा करें:

4 3 7 5 × - 28 93 38 - 126 × 7 3 2 1

क्रिया एल्गोरिथ्म:

  • 2 आव्यूहों का गुणनफल ज्ञात कीजिए;
  • फिर 2 आव्यूहों का गुणनफल ज्ञात कीजिए।

एक)। ए बी \u003d 4 3 7 5 × - 28 93 38 - 126 \u003d 4 (- 28) + 3 × 38 4 × 93 + 3 (- 126) 7 (- 28) + 5 × 38 7 × 93 + 5 (- 126 ) = 2 - 6 - 6 21

2))। ए बी सी = (ए बी) सी = 2 - 6 - 6 21 7 3 2 1 = 2 × 7 - 6 × 2 2 × 3 - 6 × 1 - 6 × 7 + 21 × 2 - 6 × 3 + 21 × 1 = 2 0 0 3।

हम सूत्र ए बी सी \u003d (ए बी) सी का उपयोग करते हैं:

एक)। बी सी = - 28 93 38 - 126 7 3 2 1 = - 28 × 7 + 93 × 2 - 28 × 3 + 93 × 1 38 × 7 - 126 × 2 38 × 3 - 126 × 1 = - 10 9 14 - 12

2))। ए बी सी \u003d (ए बी) सी \u003d 7 3 2 1 - 10 9 14 - 12 \u003d 4 (- 10) + 3 × 14 4 × 9 + 3 (- 12) 7 (- 10) + 5 × 14 7 × 9 + 5 (- 12) = 2 0 0 3

उत्तर: 4 3 7 5 - 28 93 38 - 126 7 3 2 1 = 2 0 0 3

एक मैट्रिक्स को एक संख्या से गुणा करना

परिभाषा 2

मैट्रिक्स A का गुणनफल k, समान आकार का मैट्रिक्स B \u003d A k है, जो मूल से उसके सभी तत्वों की दी गई संख्या से गुणा करके प्राप्त किया जाता है:

बी आई, जे = के × ए आई, जे

मैट्रिक्स को किसी संख्या से गुणा करने के गुण:

  • 1 × ए = ए
  • 0 × ए = शून्य मैट्रिक्स
  • के (ए + बी) = केए + केबी
  • (के + एन) ए = के ए + एन ए
  • (के × एन) × ए = के (एन × ए)
उदाहरण 4

मैट्रिक्स ए \u003d 4 2 9 0 बाय 5 का गुणनफल ज्ञात कीजिए।

5 ए = 5 4 2 9 0 5 × 4 5 × 2 5 × 9 5 × 0 = 20 10 45 0

एक वेक्टर द्वारा एक मैट्रिक्स का गुणन

परिभाषा 3

मैट्रिक्स और वेक्टर के उत्पाद को खोजने के लिए, आपको पंक्ति-दर-स्तंभ नियम के अनुसार गुणा करना होगा:

  • यदि आप मैट्रिक्स को कॉलम वेक्टर से गुणा करते हैं, तो मैट्रिक्स में कॉलम की संख्या कॉलम वेक्टर में पंक्तियों की संख्या से मेल खाना चाहिए;
  • एक कॉलम वेक्टर के गुणन का परिणाम केवल एक कॉलम वेक्टर होता है:

ए बी = ए 11 ए 12 ⋯ ए 1 एन ए 21 ए 22 ⋯ ए 2 एन ए एम 1 ए एम 2 ⋯ ए एम एन बी 1 बी 2 ⋯ बी 1 एन = ए 11 × बी 1 + ए 12 × बी 2 + ⋯ + ए 1 एन × बी एन ए 21 × बी 1 + ए 22 × बी 2 + ⋯ + ए 2 एन × बी एन ए एम 1 × बी 1 + ए एम 2 × बी 2 + ⋯ + ए एम एन × बी एन = सी 1 सी 2 ⋯ सी 1 वर्ग मीटर

  • यदि आप एक मैट्रिक्स को एक पंक्ति वेक्टर से गुणा करते हैं, तो गुणा किया जाने वाला मैट्रिक्स विशेष रूप से एक कॉलम वेक्टर होना चाहिए, और कॉलम की संख्या पंक्ति वेक्टर में कॉलम की संख्या से मेल खाना चाहिए:

ए बी = ए ए ए बी बी ⋯ बी = ए 1 × बी 1 ए 1 × बी 2 ⋯ ए 1 × बी एन 2 × बी 1 ए 2 × बी 2 ए 2 × बी एन ⋯ एक एन × बी 1 ए एन × बी 2 ए एन × बी एन = सी 11 सी 12 ⋯ सी 1 एन सी 21 सी 22 ⋯ सी 2 एन ⋯ सी एन 1 सी एन 2 ⋯ सी एन एन

उदाहरण 5

मैट्रिक्स ए और कॉलम वेक्टर बी के उत्पाद का पता लगाएं:

ए बी \u003d 2 4 0 - 2 1 3 - 1 0 1 1 2 - 1 \u003d 2 × 1 + 4 × 2 + 0 × (- 1) - 2 × 1 + 1 × 2 + 3 × (- 1) - 1 × 1 + 0 × 2 + 1 × (- 1) = 2 + 8 + 0 - 2 + 2 - 3 - 1 + 0 - 1 = 10 - 3 - 2

उदाहरण 6

मैट्रिक्स A और पंक्ति वेक्टर B का गुणनफल ज्ञात कीजिए:

ए \u003d 3 2 0 - 1, बी \u003d - 1 1 0 2

ए बी = 3 2 0 1 × - 1 1 0 2 = 3 × (- 1) 3 × 1 3 × 0 3 × 2 2 × (- 1) 2 × 1 2 × 0 2 × 2 0 × (- 1) 0 × 1 0 × 0 0 × 2 1 × (- 1) 1 × 1 1 × 0 1 × 2 = - 3 3 0 6 - 2 2 0 4 0 0 0 0 - 1 1 0 2

उत्तर: ए बी \u003d - 3 3 0 6 - 2 2 0 4 0 0 0 0 - 1 1 0 2

यदि आप टेक्स्ट में कोई गलती देखते हैं, तो कृपया उसे हाइलाइट करें और Ctrl+Enter दबाएं


प्रत्येक वेक्टर को एक-स्तंभ या एक-पंक्ति मैट्रिक्स के रूप में देखा जा सकता है। एक-स्तंभ मैट्रिक्स को कॉलम वेक्टर कहा जाएगा, और एक-पंक्ति मैट्रिक्स को एक पंक्ति वेक्टर कहा जाएगा।

यदि A आकार m*n का मैट्रिक्स है, तो कॉलम वेक्टर b का आकार n है, और पंक्ति वेक्टर b का आकार m है।

इस प्रकार, एक वेक्टर द्वारा मैट्रिक्स को गुणा करने के लिए, किसी को वेक्टर को कॉलम वेक्टर के रूप में मानना ​​​​चाहिए। एक मैट्रिक्स द्वारा एक वेक्टर को गुणा करते समय, इसे एक पंक्ति वेक्टर के रूप में माना जाना चाहिए।

गुणा मैट्रिक्स

जटिल वेक्टर के लिए

हमें परिणाम मिलता है

जैसा कि आप देख सकते हैं, वेक्टर के आयाम अपरिवर्तित के साथ, हमारे पास दो समाधान हो सकते हैं।

मैं इस तथ्य पर आपका ध्यान आकर्षित करना चाहता हूं कि पहले और दूसरे संस्करणों में मैट्रिक्स, समान मूल्यों के बावजूद, पूरी तरह से अलग है (उनके अलग-अलग आयाम हैं)

पहले मामले में, वेक्टर को एक स्तंभ के रूप में माना जाता है और फिर यह आवश्यक है वेक्टर द्वारा मैट्रिक्स गुणा करें, और दूसरे मामले में हमारे पास एक पंक्ति वेक्टर है और फिर हमारे पास है एक वेक्टर और एक मैट्रिक्स का उत्पाद।

यह बॉट जटिल मान वाले वैक्टर और मैट्रिसेस को भी गुणा करता है। अधिक पूर्ण कैलकुलेटर के आधार पर ऑनलाइन जटिल मूल्यों के साथ मैट्रिक्स का गुणन

मैट्रिक्स-वेक्टर गुणन के गुण

आव्यूह

वेक्टर कॉलम

पंक्ति वेक्टर

मनमाना संख्या

1. कॉलम वैक्टर के योग से मैट्रिक्स का उत्पाद प्रत्येक वैक्टर द्वारा मैट्रिक्स के उत्पादों के योग के बराबर होता है

2. मैट्रिक्स द्वारा पंक्ति वैक्टर के योग का गुणनफल मैट्रिक्स द्वारा वैक्टर के उत्पादों के योग के बराबर होता है

3. एक सदिश का उभयनिष्ठ गुणनखंड एक मैट्रिक्स के गुणनफल से एक सदिश/एक सदिश द्वारा एक आव्यूह द्वारा निकाला जा सकता है

4. एक मैट्रिक्स और एक कॉलम वेक्टर के उत्पाद द्वारा एक पंक्ति वेक्टर का उत्पाद एक मैट्रिक्स और एक कॉलम वेक्टर द्वारा एक पंक्ति वेक्टर के उत्पाद के उत्पाद के बराबर है।