जैकोबी आइजेनवैल्यू एल्गोरिथम
संख्यात्मक रैखिक बीजगणित में, जैकोबी eigenvalue एल्गोरिथ्म एक वास्तविक संख्या सममित मैट्रिक्स (एक प्रक्रिया जिसे मैट्रिक्स डायगोनलाइज़ेशन#डायगोनलाइज़ेशन के रूप में जाना जाता है) के आइगेनवैल्यू और आइजन्वेक्टर की गणना के लिए एक पुनरावृत्त विधि है। इसका नाम कार्ल गुस्ताव जैकब जैकोबी के नाम पर रखा गया है, जिन्होंने पहली बार 1846 में इस पद्धति का प्रस्ताव रखा था।[1] लेकिन 1950 के दशक में कंप्यूटर के आगमन के साथ ही इसका व्यापक रूप से उपयोग किया जाने लगा।[2]
विवरण
होने देना एक सममित मैट्रिक्स बनें, और एक गिवेंस रोटेशन बनें। तब:
सममित और समान (रैखिक बीजगणित) है .
आगे, प्रविष्टियाँ हैं:
कहाँ और .
तब से ऑर्थोगोनल है, और समान फ्रोबेनियस मानदंड है (सभी घटकों के वर्गों का वर्गमूल योग), हालाँकि हम चुन सकते हैं ऐसा है कि , किस स्थिति में विकर्ण पर वर्गों का योग बड़ा है:
इसे 0 के बराबर सेट करें और पुनर्व्यवस्थित करें:
अगर
इस प्रभाव को अनुकूलित करने के लिए, एसij सबसे बड़े निरपेक्ष मान वाला ऑफ-विकर्ण तत्व होना चाहिए, जिसे धुरी कहा जाता है।
जैकोबी आइगेनवैल्यू विधि जैकोबी को तब तक बार-बार घुमाती है जब तक कि मैट्रिक्स लगभग विकर्ण न हो जाए। फिर विकर्ण में तत्व एस के (वास्तविक) स्वदेशी मानों के सन्निकटन हैं।
अभिसरण
अगर परिभाषा के अनुसार, एक धुरी तत्व है के लिए . होने देना की सभी ऑफ-विकर्ण प्रविष्टियों के वर्गों का योग निरूपित करें . तब से बिलकुल है हमारे पास ऑफ-विकर्ण तत्व हैं या . अब . यह संकेत करता है या ; अर्थात्, जैकोबी घूर्णन का क्रम एक कारक द्वारा कम से कम रैखिक रूप से परिवर्तित होता है एक विकर्ण मैट्रिक्स के लिए.
की एक संख्या जैकोबी घुमाव को स्वीप कहा जाता है; होने देना परिणाम निरूपित करें. पिछला अनुमान उपज देता है
- ;
अर्थात्, स्वीप का क्रम एक कारक ≈ के साथ कम से कम रैखिक रूप से परिवर्तित होता है .
हालाँकि अर्नोल्ड शॉनहेज|शॉनहेज का निम्नलिखित परिणाम[3] स्थानीय रूप से द्विघात अभिसरण उत्पन्न करता है। इस प्रयोजन के लिए मान लीजिए कि S के पास m विशिष्ट eigenvalues हैं बहुलता के साथ और मान लीजिए कि d > 0 दो अलग-अलग eigenvalues की सबसे छोटी दूरी है। आइए हम कुछ नंबर पर कॉल करें
जैकोबी शॉनहेज-स्वीप घुमाता है। अगर तब परिणाम को दर्शाता है
- .
इस प्रकार अभिसरण जैसे ही द्विघात हो जाता है
लागत
प्रत्येक जैकोबी घूर्णन O(n) चरणों में किया जा सकता है जब धुरी तत्व p ज्ञात हो। हालाँकि p की खोज के लिए सभी N≈ के निरीक्षण की आवश्यकता होती है1/2 एन2ऑफ-विकर्ण तत्व। यदि हम एक अतिरिक्त सूचकांक सरणी पेश करते हैं तो हम इसे O(n) जटिलता तक भी कम कर सकते हैं उस संपत्ति के साथ वर्तमान एस की पंक्ति i, (i = 1, ..., n − 1) में सबसे बड़े तत्व का सूचकांक है। फिर धुरी के सूचकांक (k, l) जोड़े में से एक होना चाहिए . इसके अलावा सूचकांक सरणी का अद्यतनीकरण O(n) औसत-केस जटिलता में किया जा सकता है: सबसे पहले, अद्यतन पंक्तियों k और l में अधिकतम प्रविष्टि O(n) चरणों में पाई जा सकती है। अन्य पंक्तियों में, केवल कॉलम k और l में प्रविष्टियाँ बदलती हैं। इन पंक्तियों पर लूपिंग, यदि न तो k है और न ही l, यह पुराने अधिकतम की तुलना करने के लिए पर्याप्त है नई प्रविष्टियों और अद्यतन के लिए यदि आवश्यक है। अगर k या l के बराबर होना चाहिए और अद्यतन के दौरान संबंधित प्रविष्टि कम हो गई है, अधिकतम पंक्ति i को O(n) जटिलता में स्क्रैच से पाया जाना चाहिए। हालाँकि, ऐसा प्रति रोटेशन औसतन केवल एक बार होगा। इस प्रकार, प्रत्येक घुमाव में O(n) और एक स्वीप O(n) होता है3) औसत-केस जटिलता, जो एक मैट्रिक्स गुणन के बराबर है। इसके अतिरिक्त प्रक्रिया शुरू होने से पहले आरंभ किया जाना चाहिए, जिसे n में किया जा सकता है2 कदम.
आमतौर पर जैकोबी पद्धति कम संख्या में स्वीप के बाद संख्यात्मक परिशुद्धता के भीतर परिवर्तित हो जाती है। ध्यान दें कि एकाधिक eigenvalues पुनरावृत्तियों की संख्या को कम कर देते हैं .
एल्गोरिथम
निम्नलिखित एल्गोरिदम गणित जैसे नोटेशन में जैकोबी पद्धति का विवरण है। यह एक वेक्टर e की गणना करता है जिसमें eigenvalues और एक मैट्रिक्स E होता है जिसमें संबंधित eigenvectors होते हैं; वह है, एक eigenvalue और स्तंभ है के लिए एक ऑर्थोनॉर्मल आइजेनवेक्टर , मैं = 1, ..., एन।
'प्रक्रिया' जैकोबी(एस ∈ 'आर'n×n; 'बाहर' ई ∈ 'आर'n; 'बाहर' ई ∈ 'आर'n×n) 'वर' मैं, के, एल, एम, अवस्था ∈ 'एन' एस, सी, टी, पी, वाई, डी, आर ∈ 'आर' इंडस्ट्रीज़ ∈ 'एन'n परिवर्तित ∈ 'एल'n 'फ़ंक्शन' मैक्सिंड(k ∈ 'N') ∈ 'N' ! पंक्ति k में सबसे बड़े ऑफ-विकर्ण तत्व का सूचकांक एम := के+1 'के लिए' i := k+2 'to' n 'do' 'अगर' │Ski│ > │Skm│ फिर एम := आई एंडिफ अंत के लिए वापसी एम एंडफंक प्रक्रिया अद्यतन(k ∈ N; t ∈ R) ! अद्यतन ईk और इसकी स्थिति य := ईk; यह हैk := y+t 'अगर' बदल गयाk और (y=ek) फिर बदल गयाk := असत्य; राज्य := राज्य−1 'एल्सिफ़' (नहीं बदला गयाk) और (y≠ek) फिर बदल गयाk := सत्य; राज्य := राज्य+1 'अगर अंत' 'एंडप्रोक' 'प्रक्रिया' घुमाएँ(k,l,i,j ∈ 'N') ! S का घूर्णन करेंij, एसkl┌ ┐ ┌ ┐┌ ┐ │Skl│ │c −s││Skl│ │ │ := │ ││ │ │Sij│ │s c││Sij│ └ ┘ └ ┘└ ┘ एंडप्रोक ! init e, E, और arrays ind, परिवर्तित' ई := मैं; स्थिति := एन k के लिए := 1 से n तक ind करेंk := मैक्सिंड(के); इk := एसkk; बदला हुआk :=सच्चा अंत जबकि state≠0 करो ! अगला रोटेशन एम := 1 ! धुरी पी का सूचकांक (के,एल) ढूंढें k के लिए := 2 से n−1 करें अगर │एसk indk│ > │Sm indm│ फिर m := k एंडिफ़ अंत के लिए k := m; एल := इंडm; पी := एसkl
! सी = कॉस φ, एस = पाप φ की गणना करें
और := (ईl−औरk)/2; d := │y│+√(p2+y2) आर := √(पी2+डी2); सी := डी/आर; एस := पी/आर; टी := पी2/d 'यदि' y<0 'तब' s := −s; t := −t 'endif' एसkl := 0.0; अद्यतन(k,−t); अद्यतन(एल,टी) ! पंक्तियों और स्तंभों को k और l घुमाएँ 'के लिए' i := 1 'से' k−1 'do' घुमाएँ(i,k,i,l) 'endfor' 'के लिए' i := k+1 'से' l−1 'do' घुमाएँ(k,i,i,l) 'endfor' 'के लिए' i := l+1 'to' n 'do' रोटेट(k,i,l,i) 'endfor' ! eigenvectors घुमाएँ 'के लिए' मैं := 1 'से' और 'करें' ┌ ┐ ┌ ┐┌ ┐ │Eik│ │c −s││Eik│ │ │ := │ ││ │ │Eil│ │s c││Eil│ └ ┘ └ ┘└ ┘ अंत के लिए ! सभी संभावित रूप से परिवर्तित इंडस्ट्रीज़ को अपडेट करेंi'for' i := 1 'to' n 'do' indi := मैक्सइंड(i) 'एंडफॉर' 'कुंडली' 'एंडप्रोक'
टिप्पणियाँ
1. The logical array changed holds the status of each eigenvalue. If the numerical value of or changes during an iteration, the corresponding component of changed is set to true, otherwise to false. The integer state counts the number of components of changed which have the value true. Iteration stops as soon as state = 0. This means that none of the approximations has recently changed its value and thus it is not very likely that this will happen if iteration continues. Here it is assumed that floating point operations are optimally rounded to the nearest floating point number.
2. The upper triangle of the matrix S is destroyed while the lower triangle and the diagonal are unchanged. Thus it is possible to restore S if necessary according to
for k := 1 to n−1 do ! restore matrix S for l := k+1 to n do Skl := Slk endfor endfor
3. The eigenvalues are not necessarily in descending order. This can be achieved by a simple sorting algorithm.
for k := 1 to n−1 do m := k for l := k+1 to n do if el > em then m := l endif endfor if k ≠ m then swap em,ek swap Em,Ek endif endfor
4. The algorithm is written using matrix notation (1 based arrays instead of 0 based).
5. When implementing the algorithm, the part specified using matrix notation must be performed simultaneously.
6. This implementation does not correctly account for the case in which one dimension is an independent subspace. For example, if given a diagonal matrix, the above implementation will never terminate, as none of the eigenvalues will change. Hence, in real implementations, extra logic must be added to account for this case.
उदाहरण
होने देना
फिर जैकोबी 3 स्वीप (19 पुनरावृत्तियों) के बाद निम्नलिखित eigenvalues और eigenvectors का उत्पादन करता है:
वास्तविक सममित आव्यूहों के लिए अनुप्रयोग
जब एक सममित मैट्रिक्स के eigenvalues (और eigenvectors) ज्ञात होते हैं, तो निम्नलिखित मूल्यों की गणना आसानी से की जाती है।
- एकवचन मान
- एक (वर्ग) मैट्रिक्स का एकवचन मान के (गैर-नकारात्मक) eigenvalues के वर्गमूल हैं . सममित मैट्रिक्स के मामले में हमारे पास है , इसलिए के विलक्षण मूल्य के eigenvalues के पूर्ण मूल्य हैं
- 2-मानदंड और वर्णक्रमीय त्रिज्या
- मैट्रिक्स ए का 2-मानदंड यूक्लिडियन वेक्टरनॉर्म पर आधारित मानदंड है; यानी सबसे बड़ा मूल्य जब x सभी सदिशों से होकर गुजरता है . यह का सबसे बड़ा एकल मूल्य है . एक सममित मैट्रिक्स के मामले में यह इसके eigenvectors का सबसे बड़ा निरपेक्ष मान है और इस प्रकार इसके वर्णक्रमीय त्रिज्या के बराबर है।
- शर्त संख्या
- एक गैर-एकवचन मैट्रिक्स की स्थिति संख्या परिभाषित किया जाता है . एक सममित मैट्रिक्स के मामले में यह सबसे बड़े और सबसे छोटे eigenvalue के भागफल का निरपेक्ष मान है। बड़ी स्थिति संख्याओं वाले मैट्रिक्स संख्यात्मक रूप से अस्थिर परिणाम पैदा कर सकते हैं: छोटी गड़बड़ी के परिणामस्वरूप बड़ी त्रुटियां हो सकती हैं। हिल्बर्ट मैट्रिक्स सबसे प्रसिद्ध खराब स्थिति वाले मैट्रिक्स हैं। उदाहरण के लिए, चौथे क्रम के हिल्बर्ट मैट्रिक्स की स्थिति 15514 है, जबकि क्रम 8 के लिए यह 2.7 × 10 है8.
- पद
- एक मैट्रिक्स रैंक है अगर यह है जो स्तंभ रैखिक रूप से स्वतंत्र होते हैं जबकि शेष स्तंभ इन पर रैखिक रूप से निर्भर होते हैं। समान रूप से, की सीमा का आयाम है. इसके अलावा यह शून्येतर एकवचन मानों की संख्या है।
- एक सममित मैट्रिक्स के मामले में r गैर-शून्य eigenvalues की संख्या है। दुर्भाग्य से पूर्णांकन त्रुटियों के कारण शून्य eigenvalues का संख्यात्मक सन्निकटन शून्य नहीं हो सकता है (यह भी हो सकता है कि एक संख्यात्मक सन्निकटन शून्य हो जबकि वास्तविक मान शून्य न हो)। इस प्रकार कोई केवल यह निर्णय लेकर संख्यात्मक रैंक की गणना कर सकता है कि कौन सा स्वदेशी मान शून्य के काफी करीब है।
- छद्म-उलटा
- मैट्रिक्स का छद्म व्युत्क्रम अद्वितीय मैट्रिक्स है जिसके लिए और सममित हैं और जिसके लिए धारण करता है. अगर तो फिर, यह एकवचन नहीं है .
- जब प्रक्रिया जैकोबी (एस, ई, ई) कहा जाता है, तो संबंध वह स्थान रखता है जहां Diag(e) विकर्ण पर वेक्टर e के साथ विकर्ण मैट्रिक्स को दर्शाता है। होने देना वेक्टर को निरूपित करें जहां द्वारा प्रतिस्थापित किया जाता है अगर और 0 से यदि (संख्यात्मक रूप से करीब) शून्य है। चूँकि मैट्रिक्स E ऑर्थोगोनल है, इसलिए यह इस प्रकार है कि S का छद्म-व्युत्क्रम दिया गया है .
- न्यूनतम वर्ग समाधान
- यदि मैट्रिक्स पूर्ण रैंक नहीं है, रैखिक प्रणाली का कोई समाधान नहीं हो सकता है . हालाँकि कोई इसके लिए वेक्टर x की तलाश कर सकता है न्यूनतम है. समाधान है . सममित मैट्रिक्स S के मामले में, पहले की तरह, एक के पास है .
- मैट्रिक्स घातांक
- से एक पाता है जहां ऍक्स्प वेक्टर कहां है द्वारा प्रतिस्थापित किया जाता है . उसी तरह से, किसी भी (विश्लेषणात्मक) फ़ंक्शन के लिए स्पष्ट तरीके से गणना की जा सकती है .
- रैखिक विभेदक समीकरण
- विभेदक समीकरण समाधान है . एक सममित मैट्रिक्स के लिए , यह इस प्रकार है कि . अगर का विस्तार है के eigenvectors द्वारा , तब .
- होने देना के eigenvectors द्वारा फैलाया गया सदिश समष्टि हो जो एक नकारात्मक eigenvalue के अनुरूप है और सकारात्मक eigenvalues के लिए अनुरूप। अगर तब ; यानी संतुलन बिंदु 0 आकर्षक है . अगर तब ; अर्थात् 0 प्रतिकारक है . और के लिए स्थिर और अस्थिर मैनिफोल्ड कहलाते हैं . अगर दोनों रूपों में घटक होते हैं, तो एक घटक आकर्षित होता है और एक घटक विकर्षित होता है। इस तरह दृष्टिकोण जैसा .
सामान्यीकरण
जैकोबी विधि को जटिल हर्मिटियन मैट्रिक्स, सामान्य गैर-सममित वास्तविक और जटिल मैट्रिक्स के साथ-साथ ब्लॉक मैट्रिक्स के लिए जैकोबी विधि में सामान्यीकृत किया गया है।
चूँकि वास्तविक मैट्रिक्स के एकवचन मान सममित मैट्रिक्स के eigenvalues के वर्गमूल होते हैं इसका उपयोग इन मानों की गणना के लिए भी किया जा सकता है। इस मामले के लिए, विधि को इस तरह से संशोधित किया गया है कि एस की स्पष्ट रूप से गणना नहीं की जानी चाहिए, जिससे राउंड-ऑफ त्रुटियों का खतरा कम हो जाता है। ध्यान दें कि साथ .
जैकोबी पद्धति भी समानता के लिए उपयुक्त है।
संदर्भ
- ↑ Jacobi, C.G.J. (1846). "Über ein leichtes Verfahren, die in der Theorie der Säkularstörungen vorkommenden Gleichungen numerisch aufzulösen". Crelle's Journal (in German). 1846 (30): 51–94. doi:10.1515/crll.1846.30.51.
{{cite journal}}
: CS1 maint: unrecognized language (link) - ↑ Golub, G.H.; van der Vorst, H.A. (2000). "Eigenvalue computation in the 20th century". Journal of Computational and Applied Mathematics. 123 (1–2): 35–65. doi:10.1016/S0377-0427(00)00413-1.
- ↑ Schönhage, A. (1964). "Zur quadratischen Konvergenz des Jacobi-Verfahrens". Numerische Mathematik (in German). 6 (1): 410–412. doi:10.1007/BF01386091. MR 0174171.
{{cite journal}}
: CS1 maint: unrecognized language (link)
अग्रिम पठन
- Press, WH; Teukolsky, SA; Vetterling, WT; Flannery, BP (2007), "Section 11.1. Jacobi Transformations of a Symmetric Matrix", Numerical Recipes: The Art of Scientific Computing (3rd ed.), New York: Cambridge University Press, ISBN 978-0-521-88068-8
- Rutishauser, H. (1966). "Handbook Series Linear Algebra: The Jacobi method for real symmetric matrices". Numerische Mathematik. 9 (1): 1–10. doi:10.1007/BF02165223. MR 1553948.
- Sameh, A.H. (1971). "On Jacobi and Jacobi-like algorithms for a parallel computer". Mathematics of Computation. 25 (115): 579–590. doi:10.1090/s0025-5718-1971-0297131-6. JSTOR 2005221. MR 0297131.
- Shroff, Gautam M. (1991). "A parallel algorithm for the eigenvalues and eigenvectors of a general complex matrix". Numerische Mathematik. 58 (1): 779–805. CiteSeerX 10.1.1.134.3566. doi:10.1007/BF01385654. MR 1098865.
- Veselić, K. (1979). "On a class of Jacobi-like procedures for diagonalising arbitrary real matrices". Numerische Mathematik. 33 (2): 157–172. doi:10.1007/BF01399551. MR 0549446.
- Veselić, K.; Wenzel, H. J. (1979). "A quadratically convergent Jacobi-like method for real matrices with complex eigenvalues". Numerische Mathematik. 33 (4): 425–435. doi:10.1007/BF01399324. MR 0553351.
- Yousef Saad: "Revisiting the (block) Jacobi subspace rotation method for the symmetric eigenvalue problem", Numerical Algorithms, vol.92 (2023), pp.917-944. https://doi.org/10.1007/s11075-022-01377-w .