रेखाओं के ज़रिये linear algebra का illustrated परिचय
(ducktyped.org)- यह लेख linear algebra की बुनियादी अवधारणाओं को चित्रों के साथ परिचित कराता है
- शुरुआती भाग में Gaussian elimination और row picture vs column picture की अवधारणाओं पर खास ज़ोर देकर समझाया गया है
- वास्तविक उदाहरणों (सिक्के, खाना) का उपयोग करके linear equations और उनके हल खोजने की प्रक्रिया को आसान ढंग से समझाया गया है
- vector और matrix notation जैसी अवधारणाओं के ज़रिये, साधारण संख्या-श्रृंखलाओं से आगे बढ़कर गणितीय सोच में बदलाव पर ज़ोर दिया गया है
- यह रेखांकित किया गया है कि linear algebra का मूल, संख्याओं की जगह array, vector, matrix के साथ काम करना है
प्रस्तावना
यह लेख उन लोगों के लिए एक शुरुआती सामग्री है जो सामान्य algebra तो जानते हैं, लेकिन linear algebra नहीं जानते।
शुरुआत में जिन दो महत्वपूर्ण अवधारणाओं को लिया गया है, वे हैं Gaussian elimination और row picture vs column picture।
पैसों का उदाहरण
- मान लीजिए कई nickel coins और penny coins हैं, और 23 cents बनाने के लिए यह निकालना है कि हर प्रकार के कितने सिक्के चाहिए
- x nickel की संख्या है, y penny की संख्या है। इसे समीकरण के रूप में लिखें तो x और y के मानों के ऐसे संयोजन मिलते हैं जो 23 बनाते हैं; यह एक linear equation है
- इस उदाहरण में कई हल संभव हैं (जैसे 4 nickel और 3 penny, या 23 penny)
- यह ज़ोर दिया गया है कि linear equation वह समीकरण है जिसमें कोई curve या hole नहीं होता, सब कुछ एक समतल पर होता है
- 2 variables के साथ एक संख्या को match करना आसान है, लेकिन जब 2 variables से दो संख्याओं को एक साथ match करना हो, तो बात जटिल हो जाती है; ऐसे में Gaussian elimination उपयोगी होता है
खाने का उदाहरण
- मान लीजिए bread और milk जैसे दो खाद्य पदार्थ हैं, और हर एक में मौजूद carbs और protein की जानकारी के आधार पर कोई तय लक्ष्य (जैसे 5g carbs, 7g protein) पूरा करने वाला संयोजन निकालना है
- इस स्थिति में दो equations बनाकर x (milk की मात्रा), y (bread की मात्रा) का मान निकालना होता है
- ऐसे सवालों में Gaussian elimination का उपयोग किया जाता है
Gaussian elimination
- दो linear equations के रूप में दोबारा लिखने के बाद, एक equation के किसी नियत गुणज को दूसरी equation में जोड़कर या घटाकर variables को एक-एक करके हटाते हुए मानों को सीमित करने की प्रक्रिया समझाई गई है
- उदाहरण में पहले y को हटाकर x का मान निकाला जाता है, फिर उसे वापस रखकर y का मान निकाला जाता है
- नतीजे में 3 milk और 1 bread सही उत्तर मिलता है
- यह भी बताया गया है कि Gaussian elimination लंबा इतिहास रखने वाली एक सामान्य तकनीक है
चित्रों से समझने का तरीका
- ऊपर सवाल को row picture तरीके से हल किया गया था, अब उसी समस्या को चित्र/graph के ज़रिये दृश्य रूप में समझाया जाता है
- हर equation को x (milk) के आधार पर बदलकर graph पर एक सीधी रेखा के रूप में खींचा जाता है
- पहली equation का graph उन सभी milk-bread संयोजनों को दर्शाता है जो लक्ष्य carbs को पूरा करते हैं (यानी रेखा पर मौजूद बिंदु)
- दूसरी equation को भी इसी तरह चित्रित किया जाता है
- दोनों लक्ष्यों को एक साथ पूरा करने के लिए जिन दो रेखाओं का प्रतिच्छेदन होता है, वही एक बिंदु उत्तर है—इस बात पर ज़ोर दिया गया है
- इस तरीके से भी अंततः 3 milk और 1 bread ही उत्तर मिलता है
- यह समझाया गया है कि Gaussian elimination linear algebra के बिना भी लगभग 2000 वर्षों से इस्तेमाल की जाने वाली बहुत बुनियादी और अनिवार्य तकनीक है
Column picture
- अब तक हर equation को अलग-अलग देखने वाले row picture पर ध्यान था, लेकिन अब column picture तरीका प्रस्तुत किया जाता है
- दो equations को एक equation में मिलाकर, coefficients को array (vector) के रूप में व्यक्त किया जाता है
- vector को क्रम में रखे गए क्रमांकित array की तरह समझा जा सकता है (computer science में vector जैसा)
- vector का graph बनाना: vector को बिंदु के रूप में भी दिखाया जा सकता है और तीर के रूप में भी
- vectors के जोड़ को दृश्य रूप में देखने पर, उत्तर तक पहुँचने का रास्ता (जैसे milk vector को तीन बार और bread vector को एक बार जोड़ना) सहज रूप से समझा जा सकता है
- यह भी बताया गया है कि vector का multiplication और addition, vector के हर तत्व पर होने वाले operations हैं
- vector का उपयोग करने वाला column picture तरीका कई मामलों में पुराने तरीके से अधिक सहज लग सकता है
linear algebra को समझना
- यह याद दिलाया गया है that संख्याओं-आधारित algebra से array, vector-केंद्रित algebra की ओर सोच का बदलाव ही linear algebra की मुख्य बात है
- column picture और row picture, दोनों linear algebra को देखने के महत्वपूर्ण visualization तरीके हैं
- अंत में matrix notation का संक्षिप्त परिचय दिया गया है, और दिखाया गया है कि पूरे system को matrix x vector के रूप में व्यवस्थित किया जा सकता है
आगे क्या आएगा
- आगे के chapters में matrix, dot product जैसे linear algebra के महत्वपूर्ण concepts को और विस्तार से लिया जाएगा
- रुचि हो तो subscribe करने का सुझाव दिया गया है
अतिरिक्त पढ़ाई और समापन
- अधिक सामग्री और कला-रचनाएँ देखने के लिए Instagram link दिया गया है
1 टिप्पणियां
Hacker News राय
मैं सहमत हूँ कि सामग्री स्पष्ट और उपयोगी है, लेकिन उदाहरण में दिए गए 1 और 2 एक साथ ब्रेड और दूध दोनों को दर्शाते हैं, इसलिए matrix के रूप में देखते समय यह सहज रूप से समझना मुश्किल होता है कि कौन-सा 1 ब्रेड है और कौन-सा 1 दूध। अगर 1,2,3,4 जैसे अलग-अलग नंबर इस्तेमाल किए जाते, तो यह कहीं ज़्यादा स्पष्ट होता।
मुझे ब्लॉग पोस्ट का बाद वाला हिस्सा सच में बहुत पसंद आया, लेकिन शुरुआत Gaussian elimination से करना—ठीक शब्द तो नहीं मिल रहा—थोड़ा "रहस्यमय" तरीका लगता है। पहले समस्या आनी चाहिए ("simultaneous equations को कैसे हल करें?" "दो रेखाओं का intersection कैसे निकालें?") फिर उसे graphics के साथ दिखाना चाहिए, और उसके बाद तरीका या algorithm पेश करना ज़्यादा तार्किक लगता है। उल्टा करने पर ऐसा लगता है जैसे calculus में chain rule को उसके geometric अर्थ के बिना पहले पढ़ा दिया जाए।
मैं लेखक हूँ – लगता है तुम सही कह रहे हो। Gaussian elimination वाला हिस्सा मैंने इस सोच के साथ लिखा था कि ज़्यादातर पाठक इसे पहले देख चुके होंगे, इसलिए उसे एक recap की तरह रखा और जल्दी मुख्य विषय पर आना चाहता था। अगर और लोगों को भी इस हिस्से में कठिनाई हुई हो तो मैं feedback सुनना चाहूँगा। शायद इसे और धीरे और विस्तार से समझाने की ज़रूरत है।
"हम eliminate कर सकते हैं"—इसका अर्थ क्या है, यह हिस्सा अब भी मेरे लिए स्पष्ट नहीं है। लेकिन (लेखक) जिस तरह तुम column का नज़रिया लेकर आए, वह अपने आप में बहुत आकर्षक है और मेरे जैसे beginner के लिए सच में उपयोगी है.<br>साथ में यह भी जोड़ूँगा कि linear algebra की असंख्य textbooks हैं, लेकिन उनकी सामग्री और क्रम सब अलग-अलग हैं। शायद इसी वजह से linear algebra को पढ़ाना भी और समझना भी कठिन लगता है। इसलिए मुझे लगता है कि अलग-अलग नज़रियों की और ज़रूरत है, क्योंकि ऐसा कोई एकमात्र तरीका नहीं है जो सब पर समान रूप से फिट बैठे।
मुझे यह लेख बहुत पसंद आया। अगर ब्रेड और दूध को दर्शाने वाले variables के लिए सिर्फ x, y की जगह कोई और variable letters इस्तेमाल किए जाते, तो शायद कम भ्रम होता, क्योंकि बाद में x, y graph में carbohydrates, proteins जैसी दूसरी धारणाओं के x, y में बदल जाते हैं।
Aditya Bhargava का काम फिर से देखना अच्छा लगा। Grokking Algorithms के समय से ही मैं उनका fan रहा हूँ।
सामग्री काफ़ी अच्छी है। कॉलेज में एक semester लेने से पहले linear algebra मेरे लिए पूरी तरह mystery था। बहुत अच्छे ढंग से व्यवस्थित किया गया है.<br>अगर कोई vector की धारणा से परिचित नहीं है, तो यह भी संक्षेप में समझाया जा सकता था कि दो vectors (magnitude और direction) कैसे 1 ब्रेड, 1 दूध को दर्शाते हैं, और vector को कैसे move या add किया जा सकता है।
काश दुनिया में इस तरह की सामग्री और ज़्यादा होती। math education content को अच्छी तरह बनाना सच में बहुत कठिन है। यह बेहद अच्छा है।
visual explanation का तरीका और motivation देने का अंदाज़ मुझे बहुत पसंद आया। मैं अभी "The No Bullshit Guide to Linear Algebra" जैसे कुछ resources से linear algebra पढ़ रहा हूँ और वे काफ़ी अच्छे लग रहे हैं। अगर इस तरह की practical, सीधे लागू की जा सकने वाली linear algebra की और किताबों की सिफ़ारिश हो तो साझा करना अच्छा होगा। ज़्यादातर किताबें बहुत theoretical लगती हैं या उनमें entry barrier ज़्यादा महसूस होता है।
मैं भी अभी LinAlg textbooks देख रहा हूँ। मेरी रुचि ML/AI की तरफ है, इसलिए उसी नज़रिए से देख रहा हूँ.<br>मैं KA academy में linear algebra तक पढ़ चुका हूँ और साथ में दूसरे resources और textbooks भी इस्तेमाल कर रहा हूँ.<br>लोग 3B1B, Strang (MIT OCW का LinAlg course) की सिफ़ारिश करेंगे, लेकिन 3B1B intuitive होने के कारण शुरुआत के लिए शानदार तो है, फिर भी पहली बार गंभीरता से पढ़ने के लिए थोड़ा तेज़ लगता है। Strang सच में शानदार हैं, लेकिन कभी-कभी lecture में भटक जाते हैं, इसलिए साथ चलते रहना मुश्किल हो जाता है। फिर भी मैं उन्हें supplementary material के रूप में ज़रूर इस्तेमाल करता हूँ.<br>LADR4e(Linear Algebra Done Right) भी अच्छा है, लेकिन proofs वाला हिस्सा कठिन है, इसलिए मैं अभी तक सब पूरी तरह follow नहीं कर पाया हूँ.<br>'Linear Algebra done wrong' और Hefferon की किताबें भी हैं, लेकिन वे भी काफ़ी जल्दी proof-heavy हो जाती हैं। दूसरी या तीसरी बार पढ़ने के लिए शानदार लगती हैं.<br>इसके अलावा, 'abstract linear algebra' नाम का एक अलग course भी है, लेकिन उसकी जटिलता पारंपरिक linear algebra किताबों से बहुत अलग नहीं लगती.<br>जिससे मैं काफ़ी आगे बढ़ पाया, वह ROB101 textbook है (https://github.com/michiganrobotics/rob101/blob/main/Fall%202021/Textbook/ROB_101_December_2021_Grizzle.pdf), जिसे मैंने linear independence तक मुख्य संदर्भ की तरह इस्तेमाल किया, और साथ में MIT Strang lectures भी देखे.<br>ROB101 coding वाले पहलू को भी अच्छी तरह कवर करती है, इसलिए ML/AI में coding के साथ जोड़कर सोचने के लिए उपयुक्त है.<br>इसके अलावा मेरे पास कुछ पूर्वी यूरोपीय math textbooks भी हैं, जिन्हें मैं practice problems के लिए रखता हूँ.<br>हाल में मैं https://www.math.ucdavis.edu/~linear/ course/textbook को फिर से देख रहा हूँ, और https://math.berkeley.edu/~arash/54/notes/ के notes से भी बहुत मदद मिली है.
जो किताब मैंने सच में बहुत रुचि के साथ पढ़ी, वह है "Introduction to Applied Linear Algebra – Vectors, Matrices, and Least Squares".<br>https://web.stanford.edu/~boyd/vmls/
तुमने कहा कि "लक्ष्य practical और सीधे लागू की जा सकने वाली समझ" है, तो मुझे जिज्ञासा है कि तुम इसे खास तौर पर कहाँ लागू करना चाहते हो। मेरी राय में किसी theory (जैसे linear algebra) को सिर्फ practical motivation से सीखना थोड़ा अजीब है। वास्तव में क्या ऐसा नहीं हो सकता कि application पर आधारित किताबें पढ़ते हुए साथ-साथ theory भी सीखी जाए? और अगर किसी बिंदु पर theory सच में ज़रूरी हो जाती है, तो सामग्री चाहे कितनी भी कठिन क्यों न हो, अंततः उसे सीखना ही पड़ता है.<br>उदाहरण के लिए, linear algebra quantum mechanics पढ़ने में बहुत महत्वपूर्ण है। इसलिए अगर उद्देश्य वही है, तो शायद quantum mechanics की किताब पहले देखना ही बेहतर होगा।
तुमने लिखा कि "practical, सीधे लागू की जा सकने वाली समझ" तुम्हारा लक्ष्य है—मेरा भी यही है। मुझे लगता है कि ML इसके वास्तविक उपयोग के लिए एकदम उपयुक्त क्षेत्र है। मैं भी इस पर एक series तैयार कर रहा हूँ।
मुझे लगता है कि 3blue1brown की linear algebra series का ज़रूर उल्लेख होना चाहिए। यह इस लेख के स्तर से थोड़ा ऊपर है, लेकिन इसकी व्याख्या सच में बेहतरीन है और फिर भी काफ़ी accessible है.<br>https://youtube.com/playlist?list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab
3B1B के वीडियो सच में कमाल के हैं। लेकिन linear algebra वाले वीडियो मुझे थोड़े तेज़ लगे, और यही वजह थी कि मैंने यह series लिखना शुरू किया।
यह भी शानदार है कि 3B1B जिस graphics framework का उपयोग करता है, वह open source के रूप में उपलब्ध है.<br>https://github.com/ManimCommunity/manim
मैं जब भी इस तरह के लेख पढ़ता हूँ, शुरुआत में सोचता हूँ, "वाह! आखिर कोई तो मिला जो math को ऐसे समझा रहा है कि मैं समझ सकूँ!" लेकिन Gaussian elimination वाले हिस्से से फिर मैं दोबारा खो जाता हूँ।
Josh Starmer नाम आते ही अपने आप "Bam!" याद आ जाता है। पता नहीं किसी को वह किताब याद है या नहीं जिसमें उन्होंने drawing के साथ machine learning समझाया था। मैं उनका YouTube channel भी पहले बहुत देखा करता था। इस तरह का explanatory content सच में सीखने को और मज़ेदार बना देता है।