मैट्रिक्स क्या है?
m
कॉलम और n
पंक्तियों के साथ एक मैट्रिक्स एक फ़ंक्शन का प्रतिनिधित्व करता है जो तत्वों के साथ एक वेक्टर *m
(या निर्देशांक) का उपभोग करता है और n
तत्वों के साथ एक वेक्टर का उत्पादन करता है ।
इससे आप यह देख सकते हैं कि अगर और केवल अगर एक मैट्रिक्स वर्ग है, तो क्या वेक्टर की आयामीता नहीं बदलेगी। उदाहरण के लिए। आप एक 3D वेक्टर को 3D वेक्टर में परिवर्तित करने से एक 3D वेक्टर प्राप्त करते हैं, एक 2D से 2D इत्यादि।
* : भौतिक विज्ञान में, वैक्टर आमतौर पर बलों या अन्य "प्रभावों" को इंगित करने के लिए उपयोग किया जाता है जो वेग या त्वरण जैसी चीजों के "चारों ओर" चलते हैं। लेकिन एक बिंदु या संख्या के किसी भी मनमाने सरणी का प्रतिनिधित्व करने के लिए एक वेक्टर का उपयोग करने से आपको कुछ भी नहीं रोक रहा है (कुछ पुस्तकालय और प्रोग्रामिंग भाषाएं "1 डी सरणी" का अर्थ करने के लिए "वेक्टर" का भी उपयोग करती हैं)। मैट्रिसेस के साथ उपयोग के लिए, कुछ भी आपके वेक्टर (यहां तक कि तार या रंग) के तत्व हो सकते हैं, इसलिए जब तक आपके मैट्रिक्स के तत्व जो भी हों, उन्हें जोड़ने, घटाने और गुणा करने का एक तरीका है। इसलिए नाम वेक्टर , जिसका अर्थ है "वाहक" - यह आपके लिए मूल्य रखता है या रखता है ।
मैट्रिक्स द्वारा गुणा करने का क्या मतलब है?
तो अगर एक मैट्रिक्स एक फ़ंक्शन है, तो किस प्रकार का फ़ंक्शन है ? कार्य क्या करता है? इसके लिए नुस्खा मैट्रिक्स के तत्वों द्वारा परिभाषित किया गया है। आइए कॉल इनपुट u
, आउटपुट v
, मैट्रिक्स M
(गुणा M*u=v
तो रूप में ही है f(u)=v
) और u(i)
देता है i
की वें तत्व u
(2 तत्व, वाई समन्वय है उदाहरण के लिए)। मैट्रिक्स के लिए, M(i,j)
पंक्ति i
, स्तंभ का मतलब है j
।
तत्व का निर्माण v(1)
, परिणाम में पहला, मैट्रिक्स की पहली पंक्ति द्वारा वर्णित है। u(1)
समय M(1,1)
, प्लस u(2)
समय M(1,2)
, ... प्लस u(i)
समय M(1,i)
। एक मैट्रिक्स एक बहुत ही सरल प्रोग्रामिंग भाषा की तरह है, यह केवल उन प्रोग्रामिंग कार्यों के लिए अच्छा है जो इनपुट के आसपास फेरबदल करके, उन्हें खुद से जोड़कर काम करते हैं, आदि **
यह कल्पना करना सहायक है कि आप एक समय में आउटपुट के एक तत्व पर काम कर रहे हैं, इसलिए, आप एक समय में मैट्रिक्स की केवल एक पंक्ति का उपयोग कर रहे हैं। आप u
क्षैतिज रूप से लिखते हैं । आप M
इसके नीचे ith पंक्ति लिखें । आप हर ऊपर / नीचे जोड़ी को गुणा करते हैं और नीचे दिए गए उत्पादों को लिखते हैं, फिर उत्पादों को जोड़ते हैं। के हर तत्व को प्राप्त करने के लिए हर पंक्ति के लिए दोहराएँ v
। (अब आप देखते हैं कि क्यों मैट्रिक्स m
द्वारा n
एक m
वेक्टर पर काम करना चाहिए और एक वेक्टर का उत्पादन करना चाहिए n
।)
इसके बारे में सोचने का एक और तरीका है - मान लें कि हम 3 डी से 3 डी ट्रांसफ़ॉर्म कर रहे हैं, इसलिए 3x3 मैट्रिक्स (या 3 डी ट्रांसफ़ॉर्म क्योंकि उन्हें अक्सर कहा जाता है क्योंकि आप इस "फंक्शन" का दिखावा कर सकते हैं "3 डी पॉइंट" चल रहा है, भले ही यह वास्तव में है बस संख्या बदल रहा है)। मान लीजिए कि पहली पंक्ति है [1 2 0]
। इसका मतलब है, परिणाम का x प्राप्त करने के लिए, इनपुट का x, इनपुट के y का 2, और इनपुट के z का 0 प्राप्त करें। तो यह वास्तव में एक नुस्खा है।
** : यदि एक मैट्रिक्स एक प्रोग्रामिंग भाषा है, तो यह ट्यूरिंग पूरा भी नहीं है।
दो मैट्रिक्स का गुणा करने का क्या मतलब है?
वे उपयुक्त आकार के दोनों मैट्रिक्स हैं, तो A*B
"पहले लागू होता है जो एक समारोह का मतलब है B
तो A
"। आप देख सकते हैं कि गुणन के लिए आकारों पर अवरोध क्यों मौजूद हैं, क्योंकि आकार इनपुट और आउटपुट आकार को निर्धारित करता है, और एक मैट्रिक्स दूसरे के आउटपुट का उपभोग करता है। गुणन का अर्थ संयोजन कार्यों से क्यों है? यह नोटिस करना आसान है कि यह होना चाहिए। यदि A*u
जैसा है f(u)
और B*u
जैसा है, वैसा ही है g(u)
तो f(g(u))
जैसा f(B*u)
है, वैसा ही है A*(B*u)
।
इसी तरह, एक ही फ़ंक्शन के बार-बार किए गए एप्लिकेशन को शक्तियों के रूप में दिखाया जा सकता है, क्योंकि A*A*A
इसका मतलब है कि A
तीन बार प्रतिनिधित्व करने वाले फ़ंक्शन को लागू करना ।
मैट्रीस कैसे उपयोगी हैं?
क्या अच्छा बदलाव कर रहा है जैसे new_x = 1*x+2*y+0*z
(यदि पहली पंक्ति [1 2 0] है)? यह बहुत स्पष्ट नहीं है, लेकिन यह समझाने के लिए एक और 2D मैट्रिक्स लें। मैट्रिक्स है:
[ 0 1
1 0 ]
या [0 1; 1 0]
सुविधाजनक मतलूब संकेतन का उपयोग करना। यह मैट्रिक्स क्या करता है? यह एक 2D वेक्टर को इस तरह से रूपांतरित करता है: परिणाम के x के लिए, इनपुट के y का 1 लें। परिणाम के y के लिए, इनपुट के x का 1 लें। हमने केवल इनपुट के x और y निर्देशांक की अदला-बदली की है - यह मैट्रिक्स x = y लाइन के बारे में बिंदुओं को दर्शाता है । यह उपयोगी है! विस्तार से, आप देखेंगे कि SW - NE लाइन के साथ 1s वाले सभी मैट्रिसेस । आप यह भी देख सकते हैं कि पहचान मेट्रिक्स आपको इनपुट वापस क्यों देते हैं (आउटपुट के x के लिए, इनपुट का x लें, आउटपुट के y के लिए, इनपुट के y से लें ...)।
अब आप देखते हैं कि प्रतीक क्यों हैं। Xx
, Yx
- वे इनपुट का कितना मतलब X
, Y
आदि उत्पादन में चला जाता है x
।
मैट्रिसेस कैसे उपयोगी हैं?
आप और क्या परिवर्तन कर सकते हैं? आप एक पहचान मैट्रिक्स लेकर आकार बदल सकते हैं, लेकिन विकर्ण के साथ एक अलग संख्या के साथ। उदाहरण के लिए, [2.5 0; 0 22.5]
इनपुट के प्रत्येक निर्देशांक को 2.5 से गुणा करेंगे, और यदि आप इस मैट्रिक्स को हर बिंदु पर एक चित्र में लागू करते हैं, तो चित्र 2.5 बड़ा होगा। यदि आप केवल एक पंक्ति ( [2.5 0; 0 1]
) में 2.5 डालते हैं तो केवल x निर्देशांक को गुणा किया जाएगा, इसलिए आप केवल x के साथ खिंचाव करेंगे।
अन्य मैट्रिसेस अन्य परिवर्तन दे सकते हैं, जैसे "स्केविंग", जिनकी उपयोगिता की डिग्री बदलती है। व्यक्तिगत रूप से, तिरछा मेरा सबसे कम पसंदीदा है क्योंकि मैट्रिक्स इतना सरल दिखता है, लेकिन खुद को बदलने से शायद ही कभी कुछ होता है सिवाय एक तस्वीर के। एक उपयोगी "रोटेशन" है - आप एक बिंदु को कैसे घुमाते हैं? उत्पत्ति के बारे में डिग्री वामावर्त (x, y)
द्वारा घूमने के बाद बिंदु की स्थिति को काम करने की कोशिश करें theta
। आप पाएंगे कि नए x और y दोनों निर्देशांक पुराने और x और y को कुछ थीटा के कोसाइन से गुणा करने से निकलते हैं। आप आसानी से साइन और कोसाइन का उपयोग करके एक रोटेशन मैट्रिक्स लिख सकते हैं जो इस फ़ंक्शन से मेल खाती है।
गैर-वर्ग मैट्रिसेस के साथ, आप एक इनपुट की गतिशीलता को भी बदल सकते हैं। 2 डी इनपुट को 3 डी में बदलना बहुत उपयोगी नहीं है, क्योंकि नए समन्वय में डालने के लिए कुछ "निर्माण" करना मुश्किल है, लेकिन 3 डी में 2 डी बहुत उपयोगी है। अन्य बातों के अलावा, यह है कि आपका कंप्यूटर *** पर 3 डी दृश्य को आपके मॉनिटर पर खींचने के लिए 3 डी दृश्य को प्रोजेक्ट करना जानता है ।
चूंकि वैक्टर अलग-अलग चीजें पकड़ सकते हैं, आप एक मैट्रिक्स का भी वर्णन कर सकते हैं जो एक समय में एक स्ट्रिंग एन-वर्णों को एन्क्रिप्ट करता है, उन्हें चारों ओर फेरबदल करके या उन्हें "गुणा करना होगा" (आपको गुणा / जोड़ फ़ंक्शन के साथ आना होगा)।
*** : जब आप प्रोजेक्ट करते हैं , तो आप मूर्तिकला की तरह एक 3 डी ऑब्जेक्ट लेते हैं, उस पर एक प्रकाश चमकते हैं, और देखते हैं कि एक दीवार पर किस तरह की 2 डी छाया गिरती है।
मैट्रिसेस की सीमाएँ क्या हैं?
क्या आप मैट्रिसेस के साथ हर फंक्शन कर सकते हैं? नहीं। ग्राफिक रूप से सोचें, तो यह कल्पना करना कठिन है कि मैट्रिक्स क्या नहीं कर सकता (लेकिन यह मौजूद है: उदाहरण के लिए "ज़ुल्फ़" प्रभाव नहीं किया जा सकता है)। हालांकि, यहां एक आसान उदाहरण है: मान लें कि फ़ंक्शन f
ऐसा है f(u)
जो आपको u
हर तत्व के साथ वापस देता है । आप देखेंगे कि आप इसके लिए एक मैट्रिक्स नहीं लिख सकते हैं: मैट्रिस के साथ व्यंजनों का वर्णन करने के लिए केवल एक सुविधा है जो एक निरंतर संख्या से गुणा करती है, शक्ति जैसे अन्य फैंसी कार्यों को व्यक्त नहीं किया जा सकता है।
**** : यह भी है कि इसे रैखिक बीजगणित क्यों कहा जाता है - शक्ति फ़ंक्शन गैर-रैखिक है , यह प्लॉट किए जाने पर एक सीधी रेखा नहीं बनाता है।
4D मैट्रिसेस में अजीब अतिरिक्त पंक्ति पर
अब, क्यों मैट्रिक्स आपके उदाहरण 4 से 4 में है? क्या इसका मतलब 4-आयामी स्थान नहीं है? हमारे पास 4 डी कंप्यूटर नहीं हैं, तो क्यों? यह वास्तव में मैट्रिस के साथ एक दिलचस्प चाल है जो रैखिक संचालन के बारे में पिछले बिंदु से संबंधित है।
मैट्रिस के साथ कौन से फ़ंक्शंस नहीं किए जा सकते हैं: 2 डी प्वाइंट को दाईं ओर ले जाने के लिए मैट्रिक्स क्या है (जो बिंदु का उत्पादन करता है (x+2, y)
? फिर से, हम अटक जाते हैं। इनपुट को गुणा करने का एक तरीका है, लेकिन जोड़ने का कोई तरीका नहीं है। एक निरंतरता। 2 डी काम के लिए, चाल यह दिखावा है कि आप वास्तव में 2 डी अंतरिक्ष में नहीं हैं, लेकिन 3 डी अंतरिक्ष में, हर चीज की ऊंचाई (z समन्वय या तीसरा तत्व) को छोड़कर हमेशा 1 होता है (यह थोड़ा सा है कि 2 डी ब्रह्मांड कैसा है बस एक 3 डी ब्रह्मांड के फर्श के साथ एक "प्लेट" झूठ बोल रही है - उस मामले में तीसरा समन्वय हमेशा 0 होता है।) फिर आप इस जादू को एक निरंतर के रूप में अंतिम समन्वय का उपयोग कर सकते हैं, क्योंकि आप जानते हैं कि यह हर इनपुट के लिए हमेशा 1 है।
इसी तरह, 3 डी अंकों को स्थानांतरित करने के लिए, आपको 4 डी निर्देशांक की आवश्यकता होती है। यही कारण है कि आपके द्वारा देखे जाने वाले सभी 3D ट्रांसफॉर्मेशन मैट्रीस [0 0 0 1]
में अंतिम पंक्ति के रूप में होगा - आपको कभी भी 4 के आयाम को नहीं बदलना चाहिए, या परिणाम 3D में प्रतिनिधित्व करने के लिए बहुत जटिल होगा!