चोल्स्की अपघटन: Difference between revisions

From Vigyanwiki
No edit summary
Line 1: Line 1:
{{Short description|Matrix decomposition method}}
{{Short description|Matrix decomposition method}}
रैखिक बीजगणित में, चोल्स्की अपघटन या चोल्स्की गुणनखंडन (उच्चारण /ʃəˈlɛski/ shə-LES-kee) एक हर्मिटियन, धनात्मक-निश्चित आव्यूह का एक निम्न त्रिभुजीय आव्यूह और उसके संयुग्मी स्थानान्तरण के उत्पाद में अपघटन है, जो दक्ष संख्यात्मक समाधान के लिए उपयोगी है, जैसे, मोंटे कार्लो अनुकरण होता है। वास्तविक आव्यूह के लिए इसकी खोज आंद्रे-लुई चोल्स्की ने की थी और इसे मरणोपरांत 1924 में प्रकाशित किया गया था।<ref name="Bulletin">{{Cite journal|last=Benoit|date=1924|title=Note sur une méthode de résolution des équations normales provenant de l'application de la méthode des moindres carrés à un système d'équations linéaires en nombre inférieur à celui des inconnues (Procédé du Commandant Cholesky)|journal=[[Bulletin Géodésique]]|language=fr|volume=2|pages=66–67| doi=10.1007/BF03031308}}</ref> जब यह प्रयुक्त होता है, तो चोलेस्की अपघटन रैखिक समीकरणों की प्रणालियों को हल करने के लिए एलयू अपघटन से लगभग दोगुना सक्षम होता है।<ref name="NR">{{cite book|last=Press|first=William H.|author2=Saul A. Teukolsky|author3=William T. Vetterling|author4=Brian P. Flannery|title=Numerical Recipes in C: The Art of Scientific Computing|edition=second|publisher=Cambridge University England EPress|year=1992|page=[https://archive.org/details/numericalrecipes0865unse/page/994 994]|url=https://archive.org/details/numericalrecipes0865unse/page/994|isbn=0-521-43108-5|access-date=2009-01-28}}</ref>
रैखिक बीजगणित में, '''चोल्स्की अपघटन''' या '''चोल्स्की गुणनखंडन''' (उच्चारण /ʃəˈlɛski/ shə-LES-kee) एक हर्मिटियन, धनात्मक-निश्चित आव्यूह का एक निम्न त्रिभुजीय आव्यूह और उसके संयुग्मी स्थानान्तरण के उत्पाद में अपघटन है, जो दक्ष संख्यात्मक समाधान के लिए उपयोगी है, जैसे, मोंटे कार्लो अनुकरण होता है। वास्तविक आव्यूह के लिए इसकी खोज आंद्रे-लुई चोल्स्की ने की थी और इसे मरणोपरांत 1924 में प्रकाशित किया गया था।<ref name="Bulletin">{{Cite journal|last=Benoit|date=1924|title=Note sur une méthode de résolution des équations normales provenant de l'application de la méthode des moindres carrés à un système d'équations linéaires en nombre inférieur à celui des inconnues (Procédé du Commandant Cholesky)|journal=[[Bulletin Géodésique]]|language=fr|volume=2|pages=66–67| doi=10.1007/BF03031308}}</ref> जब यह प्रयुक्त होता है, तो चोलेस्की अपघटन रैखिक समीकरणों की प्रणालियों को हल करने के लिए LU अपघटन से लगभग दोगुना सक्षम होता है।<ref name="NR">{{cite book|last=Press|first=William H.|author2=Saul A. Teukolsky|author3=William T. Vetterling|author4=Brian P. Flannery|title=Numerical Recipes in C: The Art of Scientific Computing|edition=second|publisher=Cambridge University England EPress|year=1992|page=[https://archive.org/details/numericalrecipes0865unse/page/994 994]|url=https://archive.org/details/numericalrecipes0865unse/page/994|isbn=0-521-43108-5|access-date=2009-01-28}}</ref>




== कथन ==
== कथन ==
हर्मिटियन आव्यूह धनात्मक-निश्चित आव्यूह '''A''' का चोल्स्की अपघटन, प्ररूप का अपघटन है
हर्मिटियन आव्यूह धनात्मक-निश्चित आव्यूह '''A''' का चोल्स्की अपघटन, प्ररूप का अपघटन होता है


: <math>\mathbf{A} = \mathbf{L L}^*,</math>
: <math>\mathbf{A} = \mathbf{L L}^*,</math>
जहाँ '''L''' वास्तविक और धनात्मक विकर्ण प्रविष्टियों के साथ एक निम्न त्रिभुजीय आव्यूह है, और '''L*, L''' के संयुग्मी स्थानांतरण को दर्शाता है। प्रत्येक हर्मिटियन धनात्मक-निश्चित आव्यूह (और इस प्रकार प्रत्येक वास्तविक-मान सममित धनात्मक-निश्चित आव्यूह) में एक अद्वितीय चोल्स्की अपघटन होता है।<ref>{{harvtxt|Golub|Van Loan|1996|p=143}}, {{harvtxt|Horn|Johnson|1985|p=407}}, {{harvtxt|Trefethen|Bau|1997|p=174}}.</ref>
जहाँ '''L''' वास्तविक और धनात्मक विकर्ण प्रविष्टियों के साथ एक निम्न त्रिभुजीय आव्यूह है, और '''L<sup>*</sup>, L''' के संयुग्मी स्थानांतरण को दर्शाता है। प्रत्येक हर्मिटियन धनात्मक-निश्चित आव्यूह (और इस प्रकार प्रत्येक वास्तविक-मान सममित धनात्मक-निश्चित आव्यूह) में एक अद्वितीय चोल्स्की अपघटन होता है।<ref>{{harvtxt|Golub|Van Loan|1996|p=143}}, {{harvtxt|Horn|Johnson|1985|p=407}}, {{harvtxt|Trefethen|Bau|1997|p=174}}.</ref>


उत्क्रम महत्वहीन है: यदि '''A''' को कुछ व्युत्क्रमणीय '''L''', निम्न त्रिभुजीय या अन्यथा के लिए '''LL*''' के रूप में लिखा जा सकता है, तो '''A''' हर्मिटियन और धनात्मक निश्चित है।
उत्क्रम महत्वहीन है: यदि '''A''' को कुछ व्युत्क्रमणीय '''L''', निम्न त्रिभुजीय या अन्यथा के लिए '''LL<sup>*</sup>''' के रूप में लिखा जा सकता है, तो '''A''' हर्मिटियन और धनात्मक निश्चित है।


जब '''A''' एक वास्तविक आव्यूह (इसलिए सममित धनात्मक-निश्चित) है, तो गुणनखंडन लिखा जा सकता है
जब '''A''' एक वास्तविक आव्यूह (इसलिए सममित धनात्मक-निश्चित) है, तो गुणनखंडन लिखा जा सकता है
: <math>\mathbf{A} = \mathbf{L L}^\mathsf{T},</math>
: <math>\mathbf{A} = \mathbf{L L}^\mathsf{T},</math>
जहां '''L''' धनात्मक विकर्ण प्रविष्टियों के साथ वास्तविक निम्न त्रिभुजीय आव्यूह है।<ref>{{harvtxt|Horn|Johnson|1985|p=407}}.</ref><ref>{{Cite web|url=https://mathoverflow.net/questions/125960/diagonalizing-a-complex-symmetric-matrix|title=मैट्रिसेस - एक जटिल सममित मैट्रिक्स का विकर्णीकरण|website=MathOverflow|access-date=2020-01-25}}</ref><ref>{{Cite journal|last1=Schabauer|first1=Hannes|last2=Pacher|first2=Christoph|last3=Sunderland|first3=Andrew G.|last4=Gansterer|first4=Wilfried N.|date=2010-05-01|title=सामान्यीकृत जटिल सममित eigenvalue समस्याओं के लिए एक समानांतर सॉल्वर की ओर|journal=Procedia Computer Science|series=ICCS 2010|language=en|volume=1|issue=1|pages=437–445|doi=10.1016/j.procs.2010.04.047|issn=1877-0509|doi-access=free}}</ref>
जहां '''L''' धनात्मक विकर्ण प्रविष्टियों के साथ वास्तविक निम्न त्रिभुजीय आव्यूह है।<ref>{{harvtxt|Horn|Johnson|1985|p=407}}.</ref><ref>{{Cite web|url=https://mathoverflow.net/questions/125960/diagonalizing-a-complex-symmetric-matrix|title=मैट्रिसेस - एक जटिल सममित मैट्रिक्स का विकर्णीकरण|website=MathOverflow|access-date=2020-01-25}}</ref><ref>{{Cite journal|last1=Schabauer|first1=Hannes|last2=Pacher|first2=Christoph|last3=Sunderland|first3=Andrew G.|last4=Gansterer|first4=Wilfried N.|date=2010-05-01|title=सामान्यीकृत जटिल सममित eigenvalue समस्याओं के लिए एक समानांतर सॉल्वर की ओर|journal=Procedia Computer Science|series=ICCS 2010|language=en|volume=1|issue=1|pages=437–445|doi=10.1016/j.procs.2010.04.047|issn=1877-0509|doi-access=free}}</ref>
Line 17: Line 17:




=== धनात्मक अर्ध निश्चित आव्यूह EDIT ===
=== धनात्मक अर्ध निश्चित आव्यूह ===
यदि एक हर्मिटियन आव्यूह धनात्मक निश्चित के बजाय केवल धनात्मक अर्ध निश्चित है, तो इसमें अभी भी रूप का अपघटन है {{nowrap|1='''A''' = '''LL'''*}} जहाँ L की विकर्ण प्रविष्टियाँ शून्य होने की अनुमति है।<ref>{{harvtxt|Golub|Van Loan|1996|p=147}}.</ref>
यदि एक हर्मिटियन आव्यूह '''A''' धनात्मक निश्चित के अतिरिक्त केवल धनात्मक अर्ध निश्चित है, तो इसमें अभी भी प्ररूप {{nowrap|1='''A''' = '''LL'''*}} का अपघटन है, जहाँ '''L''' की विकर्ण प्रविष्टियाँ शून्य होने की स्वीकृति है।<ref>{{harvtxt|Golub|Van Loan|1996|p=147}}.</ref> उदाहरण के लिए, अपघटन को अद्वितीय होने की आवश्यकता नहीं है:
अपघटन अद्वितीय नहीं होना चाहिए, उदाहरण के लिए:
: <math>\begin{bmatrix}0 & 0 \\0 & 1\end{bmatrix} = \mathbf L \mathbf L^*, \quad \quad \mathbf L=\begin{bmatrix}0 & 0\\ \cos \theta & \sin\theta\end{bmatrix}.</math>
: <math>\begin{bmatrix}0 & 0 \\0 & 1\end{bmatrix} = \mathbf L \mathbf L^*, \quad \quad \mathbf L=\begin{bmatrix}0 & 0\\ \cos \theta & \sin\theta\end{bmatrix}.</math>
हालाँकि, यदि A का रैंक ''r'' है, तो बिल्कुल ''r'' धनात्मक विकर्ण तत्वों और ''n''−''r'' कॉलम के साथ एक अद्वितीय निम्न त्रिभुजीय L है जिसमें सभी शून्य हैं।<ref>
हालाँकि, यदि '''A''' की श्रेणी r है, तो परिशुद्ध r धनात्मक विकर्ण तत्वों और n−r कॉलम वाला एक अद्वितीय निम्न त्रिभुजीय '''L''' होता है जिसमें सभी शून्य होते हैं।<ref>
{{Cite book |last=Gentle |first=James E. |date=1998 |title=Numerical Linear Algebra for Applications in Statistics |isbn=978-1-4612-0623-1 |publisher=Springer |language=en |page= 94}}</ref>
{{Cite book |last=Gentle |first=James E. |date=1998 |title=Numerical Linear Algebra for Applications in Statistics |isbn=978-1-4612-0623-1 |publisher=Springer |language=en |page= 94}}</ref>
वैकल्पिक रूप से, अपघटन को अद्वितीय बनाया जा सकता है जब एक पिवोटिंग विकल्प तय हो। औपचारिक रूप से, यदि A एक है {{nowrap|''n'' × ''n''}} कोटि r का धनात्मक अर्द्धनिश्चित आव्यूह है, तो कम से कम एक क्रमचय आव्यूह 'P' ऐसा है कि {{nowrap|'''P A P'''<sup>T</sup>}} रूप का एक अनूठा अपघटन है {{nowrap|1='''P A P'''<sup>T</sup> = '''L L'''<sup>*</sup>}} साथ
<math> \mathbf L =  \begin{bmatrix} \mathbf L_1 & 0 \\ \mathbf L_2 & 0\end{bmatrix} </math>,
जहां एल<sub>1</sub> एक {{nowrap|''r'' × ''r''}} धनात्मक विकर्ण के साथ निम्न त्रिभुजीय आव्यूह।<ref>{{Cite book |last=Higham |first=Nicholas J. |chapter-url=http://eprints.maths.manchester.ac.uk/1193/ |title=विश्वसनीय संख्यात्मक संगणना|publisher=Oxford University Press |year=1990 |isbn=978-0-19-853564-5 |editor-last=Cox |editor-first=M. G. |location=Oxford, UK |pages=161–185 |language=en |editor-last2=Hammarling |editor-first2=S. J. |chapter=Analysis of the Cholesky Decomposition of a Semi-definite Matrix}}</ref>


वैकल्पिक रूप से, जब एक पिवट विकल्प निर्धारित हो जाता है तो अपघटन को अद्वितीय बनाया जा सकता है। औपचारिक रूप से, यदि '''A''' श्रेणी r का एक n × n धनात्मक अर्धनिश्चित आव्यूह है, तो कम से कम एक क्रमपरिवर्तन आव्यूह '''P''' है, जैसे कि '''P A P'''<sup>T</sup> में '''P A P'''<sup>T</sup> '''= L L<sup>*</sup>''' के रूप में एक अद्वितीय अपघटन होता है, जिसमें <math> \mathbf L =  \begin{bmatrix} \mathbf L_1 & 0 \\ \mathbf L_2 & 0\end{bmatrix} </math> होता है, जहां '''L'''<sub>1</sub> धनात्मक विकर्ण वाला एक r × r निम्न त्रिभुजीय आव्यूह है।<ref>{{Cite book |last=Higham |first=Nicholas J. |chapter-url=http://eprints.maths.manchester.ac.uk/1193/ |title=विश्वसनीय संख्यात्मक संगणना|publisher=Oxford University Press |year=1990 |isbn=978-0-19-853564-5 |editor-last=Cox |editor-first=M. G. |location=Oxford, UK |pages=161–185 |language=en |editor-last2=Hammarling |editor-first2=S. J. |chapter=Analysis of the Cholesky Decomposition of a Semi-definite Matrix}}</ref>


== एलडीएल अपघटन ==


क्लासिकल चोलेस्की अपघटन का एक निकट संबंधी संस्करण एलडीएल अपघटन है,
 
== LDL अपघटन ==
 
उत्कृष्ट चोलेस्की अपघटन का एक निकट संबंधी संस्करण LDL अपघटन है,


: <math>\mathbf{A} = \mathbf{L D L}^*,</math>
: <math>\mathbf{A} = \mathbf{L D L}^*,</math>
जहां L एक [[एकत्रिक मैट्रिक्स|एकत्रिक आव्यूह]] है। लोअर यूनिट त्रिकोणीय (यूनिट्रायंगुलर) आव्यूह है, और D एक [[विकर्ण मैट्रिक्स|विकर्ण आव्यूह]] आव्यूह है।
जहां '''L''' एक निम्न इकाई त्रिभुजीय (एकत्रिभुजीय) आव्यूह है, और '''D''' एक विकर्ण आव्यूह है। अर्थात्, अपघटन में एक अतिरिक्त विकर्ण आव्यूह '''D''' को प्रस्तुत करने की कीमत पर '''L''' के विकर्ण तत्वों को 1 होना आवश्यक है। मुख्य लाभ यह है कि LDL अपघटन की गणना और अनिवार्य रूप से समान एल्गोरिदम के साथ उपयोग किया जा सकता है, लेकिन वर्गमूल निकालने से बचा जाता है।<ref name="kri">{{cite journal|last=Krishnamoorthy|first=Aravindh|author2=Menon, Deepak|title=चॉल्स्की अपघटन का उपयोग करके मैट्रिक्स उलटा|volume=1111|page=4144|year=2011|bibcode=2011arXiv1111.4144K|arxiv=1111.4144}}</ref>
यही है, अपघटन में एक अतिरिक्त विकर्ण आव्यूह डी को पेश करने की कीमत पर L के विकर्ण तत्वों को 1 होना आवश्यक है।
 
मुख्य लाभ यह है कि एलडीएल अपघटन की गणना की जा सकती है और अनिवार्य रूप से समान एल्गोरिदम के साथ उपयोग किया जा सकता है, लेकिन वर्गमूल निकालने से बचा जाता है।<ref name="kri">{{cite journal|last=Krishnamoorthy|first=Aravindh|author2=Menon, Deepak|title=चॉल्स्की अपघटन का उपयोग करके मैट्रिक्स उलटा|volume=1111|page=4144|year=2011|bibcode=2011arXiv1111.4144K|arxiv=1111.4144}}</ref>
इस कारण से, LDL अपघटन को प्रायः वर्ग-मूल-मुक्त चोलेस्की अपघटन कहा जाता है। वास्तविक आव्यूहों के लिए, गुणनखंडन का रूप '''A''' = '''LDL'''<sup>T</sup> होता है और इसे प्रायः '''LDLT''' '''अपघटन''' (या LDL<sup>T</sup> अपघटन, या LDL′) के रूप में जाना जाता है। यह वास्तविक सममित आव्यूहों, '''A''' = '''QΛQ'''<sup>T</sup> के ईजेन-अपघटन के समान है, लेकिन व्यवहार में यह अपेक्षाकृत अधिक भिन्न है क्योंकि '''Λ''' और '''D''' समान आव्यूह नहीं हैं।
इस कारण से, एलडीएल अपघटन को अक्सर स्क्वायर-रूट-फ्री चोलस्की अपघटन कहा जाता है। वास्तविक मेट्रिसेस के लिए, गुणनखंड का रूप है {{nowrap|1='''A''' = '''LDL'''<sup>T</sup>}} और इसे अक्सर एलडीएलटी अपघटन (या एलडीएल<sup>T</sup> अपघटन, या LDL')यह एक आव्यूह के eigendecomposition की याद दिलाता है # वास्तविक सममित मैट्रिसेस, {{nowrap|1='''A''' = '''QΛQ'''<sup>T</sup>}}, लेकिन व्यवहार में काफी भिन्न है क्योंकि Λ और D समान आव्यूह नहीं हैं।


एलडीएल अपघटन LL* के शास्त्रीय चोलस्की अपघटन से संबंधित है:
LDL अपघटन रूप '''LL'''* के उत्कृष्ट चोल्स्की अपघटन से निम्नानुसार संबंधित है:


: <math>\mathbf{A} = \mathbf{L D L}^* = \mathbf L \mathbf D^{1/2} \left(\mathbf D^{1/2} \right)^* \mathbf L^* =
: <math>\mathbf{A} = \mathbf{L D L}^* = \mathbf L \mathbf D^{1/2} \left(\mathbf D^{1/2} \right)^* \mathbf L^* =
\mathbf L \mathbf D^{1/2} \left(\mathbf L \mathbf D^{1/2}\right)^*.</math>
\mathbf L \mathbf D^{1/2} \left(\mathbf L \mathbf D^{1/2}\right)^*.</math>
इसके विपरीत, शास्त्रीय चोलस्की अपघटन दिया गया <math>\mathbf A = \mathbf C \mathbf C^*</math> धनात्मक निश्चित आव्यूह का, यदि एस एक विकर्ण आव्यूह है जिसमें मुख्य विकर्ण होता है <math>\mathbf C</math>, तब A को विघटित किया जा सकता है <math>\mathbf L \mathbf D \mathbf L^*</math> कहाँ
इसके विपरीत, एक धनात्मक निश्चित आव्यूह के उत्कृष्ट चोल्स्की अपघटन <math>\mathbf A = \mathbf C \mathbf C^*</math> को देखते हुए, यदि '''S''' एक विकर्ण आव्यूह है जिसमें <math>\mathbf C</math> का मुख्य विकर्ण सम्मिलित है तो '''A''' को <math>\mathbf L \mathbf D \mathbf L^*</math> के रूप में विघटित किया जा सकता है जहां
: <math> \mathbf L  = \mathbf C \mathbf S^{-1} </math> (यह विकर्ण तत्व 1 बनाने के लिए प्रत्येक स्तंभ को पुन: मापता है),
: <math> \mathbf L  = \mathbf C \mathbf S^{-1} </math> (यह विकर्ण तत्व 1 बनाने के लिए प्रत्येक कॉलम को पुन: मापता है),
: <math> \mathbf D  = \mathbf S^2. </math>
: <math> \mathbf D  = \mathbf S^2. </math>
यदि A धनात्मक निश्चित है तो D के विकर्ण अवयव सभी धनात्मक हैं।
यदि '''A''' धनात्मक निश्चित है तो '''D''' के विकर्ण अवयव सभी धनात्मक हैं। धनात्मक अर्ध निश्चित '''A''' के लिए   <math>\mathbf L \mathbf D \mathbf L^*</math> अपघटन सम्मिलित है जहां विकर्ण '''D''' पर गैर-शून्य तत्वों की संख्या परिशुद्ध '''A''' की श्रेणी है।<ref>{{Cite thesis |last=So |first=Anthony Man-Cho |title=A Semidefinite Programming Approach to the Graph Realization Problem: Theory, Applications and Extensions |date=2007 |url=http://www.se.cuhk.edu.hk/~manchoso/papers/thesis.pdf |language=en |type=PhD| at=Theorem 2.2.6}}</ref> कुछ अनिश्चित आव्यूह जिनके लिए कोई चोलेस्की अपघटन सम्मिलित नहीं है, उनमें '''D''' में ऋणात्मक प्रविष्टियों के साथ LDL अपघटन होता है: यह पर्याप्त है कि '''A''' के पहले n−1 अग्रणी प्रमुख लघु व्युत्क्रमणीय हैं।<ref>{{harvtxt|Golub|Van Loan|1996|loc=Theorem 4.1.3}}</ref>
धनात्मक अर्ध निश्चित के लिए, ए  <math>\mathbf L \mathbf D \mathbf L^*</math> अपघटन मौजूद है जहां विकर्ण डी पर गैर-शून्य तत्वों की संख्या बिल्कुल ए की रैंक है।<ref>{{Cite thesis |last=So |first=Anthony Man-Cho |title=A Semidefinite Programming Approach to the Graph Realization Problem: Theory, Applications and Extensions |date=2007 |url=http://www.se.cuhk.edu.hk/~manchoso/papers/thesis.pdf |language=en |type=PhD| at=Theorem 2.2.6}}</ref>
 
कुछ अनिश्चित मैट्रिसेस जिनके लिए कोई चॉल्स्की अपघटन मौजूद नहीं है, डी में नकारात्मक प्रविष्टियों के साथ एलडीएल अपघटन होता है: यह पर्याप्त है कि पहला ''n''−1 माइनर (रैखिक बीजगणित)#A के अन्य अनुप्रयोग गैर-एकवचन हैं।<ref>{{harvtxt|Golub|Van Loan|1996|loc=Theorem 4.1.3}}</ref>




Line 78: Line 75:
\right).
\right).
\end{align}</math>
\end{align}</math>
और यहाँ इसका एलडीएल है<sup>टी </सुप> अपघटन:
और यहाँ इसका LDL<sup>T</sup> अपघटन है:


: <math>\begin{align}
: <math>\begin{align}
Line 114: Line 111:


== अनुप्रयोग ==
== अनुप्रयोग ==
चोल्स्की अपघटन मुख्य रूप से रैखिक समीकरणों की प्रणाली के संख्यात्मक समाधान के लिए उपयोग किया जाता है <math>\mathbf{Ax} = \mathbf{b}</math>. यदि सममित और धनात्मक निश्चित है, तो हम हल कर सकते हैं  <math>\mathbf{Ax} = \mathbf{b}</math> पहले चोलस्की अपघटन की गणना करके <math>\mathbf{A} = \mathbf{LL}^\mathrm{*}</math>, फिर हल करना <math>\mathbf{Ly} = \mathbf{b}</math> [[आगे प्रतिस्थापन]] द्वारा y के लिए, और अंत में हल करना <math>\mathbf{L^*x} = \mathbf{y}</math> एक्स के लिए [[वापस प्रतिस्थापन]] द्वारा।
चोल्स्की अपघटन का उपयोग मुख्य रूप से रैखिक समीकरण <math>\mathbf{Ax} = \mathbf{b}</math> के संख्यात्मक समाधान के लिए किया जाता है। यदि '''A''' सममित और धनात्मक निश्चित है, तो हम पहले चॉलेस्की अपघटन  <math>\mathbf{Ax} = \mathbf{b}</math> की गणना करके   <math>\mathbf{A} = \mathbf{LL}^\mathrm{*}</math> को हल कर सकते हैं। फिर आगे प्रतिस्थापन द्वारा y के लिए  <math>\mathbf{Ly} = \mathbf{b}</math> को हल करना और अंत में x के लिए वापस प्रतिस्थापन द्वारा <math>\mathbf{L^*x} = \mathbf{y}</math> को हल करना।


में वर्गमूल निकालने का एक वैकल्पिक तरीका <math>\mathbf{LL}^\mathrm{*}</math> अपघटन एलडीएल अपघटन की गणना करना है <math>\mathbf{A} = \mathbf{LDL}^\mathrm{*}</math>, फिर हल करना <math>\mathbf{Ly} = \mathbf{b}</math> y के लिए, और अंत में हल करना <math>\mathbf{DL}^\mathrm{*}\mathbf{x} = \mathbf{y}</math>.
<math>\mathbf{LL}^\mathrm{*}</math> अपघटन में वर्गमूल लेने से बचने का एक वैकल्पिक तरीका LDL अपघटन <math>\mathbf{A} = \mathbf{LDL}^\mathrm{*}</math> की गणना करना है, फिर y के लिए <math>\mathbf{Ly} = \mathbf{b}</math> को हल करना, और अंत में <math>\mathbf{DL}^\mathrm{*}\mathbf{x} = \mathbf{y}</math> को हल करना।


रैखिक प्रणालियों के लिए जिन्हें सममित रूप में रखा जा सकता है, बेहतर दक्षता और संख्यात्मक स्थिरता के लिए चॉल्स्की अपघटन (या इसका एलडीएल संस्करण) पसंद की विधि है। LU अपघटन की तुलना में, यह लगभग दोगुना उपयुक्त है।<ref name="NR"/>
रैखिक प्रणालियों के लिए जिन्हें सममित रूप में रखा जा सकता है, अधितकम दक्षता और संख्यात्मक स्थिरता के लिए चोल्स्की अपघटन (या इसका LDL संस्करण) वरण की विधि है। LU अपघटन की तुलना में, यह लगभग दोगुना सक्षम है।<ref name="NR"/>






=== सबसे कम रैखिक वर्ग ===
=== रैखिक न्यूनतम वर्ग ===
एक सममित और धनात्मक निश्चित के साथ Ax = b के रूप की प्रणालियाँ अक्सर अनुप्रयोगों में उत्पन्न होती हैं। उदाहरण के लिए, रैखिक न्यूनतम वर्गों (गणित) में सामान्य समीकरण इस रूप के होते हैं। ऐसा भी हो सकता है कि आव्यूह एक कार्यात्मक ऊर्जा से आता है, जो भौतिक विचारों से धनात्मक होना चाहिए; यह अक्सर आंशिक अंतर समीकरणों के संख्यात्मक समाधान में होता है।
'''A''' सममित और धनात्मक निश्चित के साथ रूप '''Ax''' = '''b''' की प्रणालियाँ अनुप्रयोगों में प्रायः सामने आती हैं। उदाहरण के लिए, रैखिक न्यूनतम वर्ग समस्याओं में सामान्य समीकरण इस रूप के होते हैं। ऐसा भी हो सकता है कि आव्यूह '''A''' एक ऊर्जा कार्यात्मकता से आता है, जो भौतिक विचारों से धनात्मक होना चाहिए; आंशिक अवकल समीकरणों के संख्यात्मक समाधान में ऐसा प्रायः होता है।


=== गैर रेखीय अनुकूलन ===
=== गैर रेखीय अनुकूलन ===
गैर-रैखिक बहु-भिन्न कार्यों को न्यूटन की विधि के रूपों का उपयोग करके अर्ध-न्यूटन विधियों का उपयोग करके उनके पैरामीटर पर कम किया जा सकता है। पुनरावृत्ति k पर, खोज एक दिशा में कदम उठाती है <math> p_k </math> हल करके परिभाषित किया गया है <math> B_k p_k  =  -g_k </math> के लिए <math> p_k </math>, कहाँ <math> p_k </math> कदम दिशा है, <math> g_k </math> ढाल है, और <math> B_k </math> प्रत्येक पुनरावृति पर रैंक -1 अद्यतन दोहराकर गठित [[हेसियन मैट्रिक्स|हेसियन आव्यूह]] का एक अनुमान है। डेविडॉन-फ्लेचर-पॉवेल (डीएफपी) और बीएफजीएस विधि | ब्रॉयडेन-फ्लेचर-गोल्डफार्ब-शन्नो (बीएफजीएस) नामक दो प्रसिद्ध अद्यतन सूत्र हैं। गोल-बंद त्रुटि के माध्यम से धनात्मक-निश्चित स्थिति के नुकसान से बचा जाता है यदि हेस्सियन के व्युत्क्रम के सन्निकटन को अद्यतन करने के बजाय, हेस्सियन आव्यूह के सन्निकटन के चोलेस्की अपघटन को अद्यतन करता है
न्यूटन की विधि के परिवर्त का उपयोग करके गैर-रेखीय बहु-भिन्न फलनों को उनके मापदंडों पर कम किया जा सकता है, जिन्हें अर्ध-न्यूटन विधियां कहा जाता है। पुनरावृति k पर खोज एक दिशा में <math> p_k </math> पुनरावृत्ति है जिसे <math> B_k p_k  =  -g_k </math> के लिए <math> p_k </math>को हल करके परिभाषित किया जाता है, जहां <math> p_k </math>चरण की दिशा है, <math> g_k </math> प्रवणता है, और <math> B_k </math> प्रत्येक पुनरावृत्ति पर श्रेणी-1 संशोधन को पुनरावर्त करके गठित हेसियन आव्यूह का एक अनुमान है। दो प्रसिद्ध संशोधन सूत्र को डेविडन-फ्लेचर-पॉवेल (डीएफपी) और ब्रोयडेन-फ्लेचर-गोल्डफ़ार्ब-शैनो (बीएफजीएस) कहा जाता है। पूर्णांक त्रुटि के माध्यम से धनात्मक-निश्चित स्थिति के नुकसान से बचा जा सकता है यदि हेसियन के व्युत्क्रम के सन्निकटन को संशोधित करने के अतिरिक्त, हेसियन आव्यूह के एक सन्निकटन के चोल्स्की अपघटन को संशोधित किया जाता है।<ref>Arora, J.S. ''Introduction to Optimum Design'' (2004), p. 327. https://books.google.com/books?id=9FbwVe577xwC&pg=PA327</ref>
.<ref>Arora, J.S. ''Introduction to Optimum Design'' (2004), p. 327. https://books.google.com/books?id=9FbwVe577xwC&pg=PA327</ref>




=== [[मोंटे कार्लो विधि]] ===
=== [[मोंटे कार्लो विधि]] ===
चॉल्स्की अपघटन का उपयोग आमतौर पर मोंटे कार्लो पद्धति में कई सहसंबद्ध चर वाले सिस्टम के अनुकरण के लिए किया जाता है। सहप्रसरण आव्यूह को निम्न-त्रिकोणीय L देने के लिए विघटित किया जाता है। इसे असंबद्ध नमूनों के एक सदिश पर प्रयुक्त करने से प्रणाली के सहप्रसरण गुणों के साथ एक नमूना सदिश Lu उत्पन्न होता है।<ref name="Matlab documentation">[http://www.mathworks.com/help/techdoc/ref/randn.html Matlab randn documentation]. mathworks.com.</ref>
चॉल्स्की अपघटन का उपयोग सामान्य रूप से मोंटे कार्लो पद्धति में कई सहसंबद्ध चर वाले प्रणाली के अनुकरण के लिए किया जाता है। सहप्रसरण आव्यूह को निम्न-त्रिभुजीय '''L''' देने के लिए विघटित किया जाता है। इसे असंबद्ध प्रतिदर्शों '''u''' के एक सदिश पर प्रयुक्त करने से प्रणाली के सहप्रसरण गुणों के साथ एक प्रतिदर्श सदिश '''Lu''' उत्पन्न होता है।<ref name="Matlab documentation">[http://www.mathworks.com/help/techdoc/ref/randn.html Matlab randn documentation]. mathworks.com.</ref>
निम्नलिखित सरलीकृत उदाहरण अर्थव्यवस्था को चॉल्स्की अपघटन से प्राप्त अर्थव्यवस्था को दर्शाता है: मान लीजिए कि लक्ष्य दो सहसंबद्ध सामान्य चर उत्पन्न करना है <math>x_1</math> और <math>x_2</math> दिए गए सहसंबंध गुणांक के साथ <math>\rho</math>. इसे पूरा करने के लिए, पहले दो असंबद्ध गाऊसी यादृच्छिक चर उत्पन्न करना आवश्यक है <math>z_1</math> और <math>z_2</math>, जो बॉक्स-मुलर रूपांतरण का उपयोग करके किया जा सकता है। आवश्यक सहसंबंध गुणांक दिया गया है <math>\rho</math>, सहसंबद्ध सामान्य चर परिवर्तनों के माध्यम से प्राप्त किए जा सकते हैं <math>x_1 = z_1</math> और <math display="inline">x_2 =  \rho z_1 + \sqrt{1 - \rho^2} z_2</math>.
 
निम्नलिखित सरलीकृत उदाहरण चोलेस्की अपघटन से प्राप्त सुव्यवस्था को दर्शाता है: मान लीजिए कि लक्ष्य दिए गए सहसंबंध गुणांक <math>\rho</math> के साथ दो सहसंबद्ध सामान्य चर <math>x_1</math> और <math>x_2</math> उत्पन्न करना है। इसे पूरा करने के लिए, पहले दो असंबद्ध गॉसियन यादृच्छिक चर <math>z_1</math> और <math>z_2</math> उत्पन्न करना आवश्यक है, जो बॉक्स-मुलर परिवर्तन का उपयोग करके किया जा सकता है। आवश्यक सहसंबंध गुणांक <math>\rho</math> को देखते हुए, सहसंबद्ध सामान्य चर को परिवर्तनों <math>x_1 = z_1</math> और <math display="inline">x_2 =  \rho z_1 + \sqrt{1 - \rho^2} z_2</math> के माध्यम से प्राप्त किया जा सकता है।


=== कलमन फ़िल्टर ===
=== कलमन फ़िल्टर ===
तथाकथित सिग्मा बिंदुओं के एक सेट को चुनने के लिए असंतुलित कलमन फिल्टर आमतौर पर चोल्स्की अपघटन का उपयोग करते हैं। Kalman फ़िल्टर सिस्टम की औसत स्थिति को लंबाई ''N'' के सदिश x के रूप में और सहप्रसरण को ''N'' × ''N'' आव्यूह P के रूप में ट्रैक करता है। आव्यूह P हमेशा धनात्मक अर्ध-निश्चित होता है और कर सकता है एलएल में विघटित हो<sup>टी</सुप>. 'सिग्मा पॉइंट्स' नामक 2''N'' वैक्टर का एक सेट बनाने के लिए L के कॉलम को माध्य x से जोड़ा और घटाया जा सकता है। ये सिग्मा बिंदु सिस्टम स्थिति के माध्य और सहप्रसरण को पूरी तरह से पकड़ लेते हैं।
तथाकथित सिग्मा बिंदुओं का एक समुच्चय चयन के लिए असुवासित कलमैन फ़िल्टर सामान्य रूप से चोल्स्की अपघटन का उपयोग करते हैं। कल्मन फ़िल्टर एक प्रणाली की औसत स्थिति को लंबाई N के सदिश x और N × N आव्यूह '''P''' के रूप में सहप्रसरण के रूप में पदांक प्राप्त करता है। आव्यूह '''P''' सदैव धनात्मक अर्ध-निश्चित होता है और इसे '''LL'''<sup>T</sup> में विघटित किया जा सकता है। 2N सदिश का एक समुच्चय बनाने के लिए '''L''' के कॉलम को माध्य '''x''' से जोड़ा और घटाया जा सकता है, जिसे सिग्मा बिन्दु कहा जाता है। ये सिग्मा बिंदु प्रणाली स्थिति के माध्य और सहप्रसरण को पूरी तरह से प्रग्रहण कर लेते हैं।


=== आव्यूह उलटा ===
=== आव्यूह व्युत्क्रमण ===
हर्मिटियन आव्यूह के स्पष्ट व्युत्क्रम आव्यूह की गणना चॉल्स्की अपघटन द्वारा की जा सकती है, जो रैखिक प्रणालियों को हल करने के समान है, का उपयोग करके <math>n^3</math> संचालन (<math>\tfrac{1}{2} n^3</math> गुणन)<ref name="kri"/>संपूर्ण उलटा भी कुशलता से जगह में किया जा सकता है।
हर्मिटियन आव्यूह के स्पष्ट व्युत्क्रम की गणना कोलेस्की अपघटन द्वारा की जा सकती है, जो कि <math>n^3</math> संक्रिया (<math>\tfrac{1}{2} n^3</math> गुणन) का उपयोग करके रैखिक प्रणालियों को हल करने के समान है।<ref name="kri"/> संपूर्ण व्युत्क्रम को उसी स्थान पर कुशलतापूर्वक निष्पादित किया जा सकता है।


एक गैर-हर्मिटियन आव्यूह बी को निम्नलिखित पहचान का उपयोग करके उलटा भी किया जा सकता है, जहां बीबी * हमेशा हर्मिटियन होगा:
गैर-हर्मिटियन आव्यूह '''B''' को निम्नलिखित पहचान का उपयोग करके व्युत्क्रमण भी किया जा सकता है, जहां '''BB'''* सदैव हर्मिटियन होगा:


: <math>\mathbf{B}^{-1} = \mathbf{B}^* (\mathbf{B B}^*)^{-1}.</math>
: <math>\mathbf{B}^{-1} = \mathbf{B}^* (\mathbf{B B}^*)^{-1}.</math>
Line 146: Line 143:


== गणना ==
== गणना ==
चोल्स्की अपघटन की गणना के लिए विभिन्न विधियाँ हैं। आमतौर पर इस्तेमाल किए जाने वाले एल्गोरिदम की कम्प्यूटेशनल जटिलता हे (एन<sup>3</sup>) सामान्य तौर पर।{{Citation needed|date=June 2011}} नीचे वर्णित एल्गोरिदम में लगभग (1/3)n शामिल है<sup>3</sup> [[FLOP]]s (n<sup>वास्तविक जायके के लिए 3</sup>/6 गुणन और समान संख्या में जोड़) और (4/3)n<sup>3</sup> जटिल स्वादों के लिए FLOPs,<ref>?potrf Intel® Math Kernel Library [https://software.intel.com/content/www/us/en/develop/documentation/onemkl-developer-reference-c/top/lapack-routines/lapack-linear-equation-routines/lapack-linear-equation-computational-routines/matrix-factorization-lapack-computational-routines/potrf.html#potrf]</ref> जहाँ n आव्यूह 'A' का आकार है। इसलिए, उनके पास LU अपघटन की आधी लागत है, जो 2n का उपयोग करती है<sup>3</sup>/3 FLOPs (ट्रेफेथेन और बाऊ 1997 देखें)
चोल्स्की अपघटन की गणना के लिए विभिन्न विधियाँ हैं। सामान्य रूप से उपयोग किए जाने वाले एल्गोरिदम की संगणनात्मक जटिलता सामान्य रूप से ''O''(''n''<sup>3</sup>) है।{{Citation needed|date=June 2011}} नीचे वर्णित सभी एल्गोरिदम में वास्तविक रूप के लिए लगभग (1/3)''n''<sup>3</sup> एफएलओपी (''n''<sup>3</sup>/6 गुणन और समान संख्या में जोड़) और जटिल रूप के लिए (4/3)''n''<sup>3</sup> एफएलओपी सम्मिलित हैं,<ref>?potrf Intel® Math Kernel Library [https://software.intel.com/content/www/us/en/develop/documentation/onemkl-developer-reference-c/top/lapack-routines/lapack-linear-equation-routines/lapack-linear-equation-computational-routines/matrix-factorization-lapack-computational-routines/potrf.html#potrf]</ref> जहां n का आकार आव्यूह '''A''' है। इसलिए, उनके पास LU अपघटन की अर्ध-कीमत है, जो 2''n''<sup>3</sup>/3 एफएलओपी (ट्रेफेथेन और बाउ 1997 देखें) का उपयोग करता है।


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


=== चोल्स्की एल्गोरिथम ===
=== चोल्स्की एल्गोरिथम ===
अपघटन आव्यूह 'L' की गणना करने के लिए उपयोग किया जाने वाला चोल्स्की एल्गोरिदम, गॉसियन उन्मूलन का एक संशोधित संस्करण है।
अपघटन आव्यूह '''<nowiki/>'L'''' की गणना करने के लिए उपयोग किया जाने वाला चोल्स्की एल्गोरिदम, गॉसियन उन्मूलन का एक संशोधित संस्करण है।


पुनरावर्ती एल्गोरिदम ''i'' := 1 और से शुरू होता है
पुनरावर्ती एल्गोरिथम i := 1 और से प्रारंभ होता है
:<sup>(1)</सुप> := .
:'''A'''<sup>(1)</sup> := '''A'''.


चरण ''i'' पर, आव्यूह A<sup>(i)</sup> का निम्न रूप है:
चरण i पर, आव्यूह '''A'''<sup>(''i'')</sup> का निम्नलिखित रूप है:
:<math>\mathbf{A}^{(i)}=
:<math>\mathbf{A}^{(i)}=
\begin{pmatrix}
\begin{pmatrix}
Line 164: Line 161:
\end{pmatrix},
\end{pmatrix},
</math>
</math>
जहां मैं<sub>''i''−1</sub> आयाम i - 1 के पहचान आव्यूह को दर्शाता है।
जहां '''I'''<sub>''i''−1</sub> आयाम i - 1 के पहचान आव्यूह को दर्शाता है।


यदि अब हम आव्यूह 'L' को परिभाषित करते हैं<sub>''i''</sub> द्वारा
यदि अब हम आव्यूह '''L'''<sub>''i''</sub> को परिभाषित करते हैं
:<math>\mathbf{L}_{i}:=
:<math>\mathbf{L}_{i}:=
\begin{pmatrix}
\begin{pmatrix}
Line 174: Line 171:
\end{pmatrix},
\end{pmatrix},
</math>
</math>
(ध्यान दें कि <sub>''i,i''</sub> > 0 ए के बाद से<sup>(i)</sup> धनात्मक निश्चित है),
ध्यान दें कि ''a<sub>i,i</sub>'' > 0 चूँकि '''A'''<sup>(''i'')</sup> धनात्मक निश्चित है, तो हम '''A'''<sup>(''i'')</sup> को इस प्रकार लिख सकते हैं
तो हम '' लिख सकते हैं<sup>(i)</sup> के रूप में
:<math>\mathbf{A}^{(i)} = \mathbf{L}_{i} \mathbf{A}^{(i+1)} \mathbf{L}_{i}^{*}</math>
:<math>\mathbf{A}^{(i)} = \mathbf{L}_{i} \mathbf{A}^{(i+1)} \mathbf{L}_{i}^{*}</math>
कहाँ
जहां
:<math>\mathbf{A}^{(i+1)}=
:<math>\mathbf{A}^{(i+1)}=
\begin{pmatrix}
\begin{pmatrix}
Line 184: Line 180:
0                & 0 & \mathbf{B}^{(i)} - \frac{1}{a_{i,i}} \mathbf{b}_{i} \mathbf{b}_{i}^{*}
0                & 0 & \mathbf{B}^{(i)} - \frac{1}{a_{i,i}} \mathbf{b}_{i} \mathbf{b}_{i}^{*}
\end{pmatrix}.</math>
\end{pmatrix}.</math>
ध्यान दें कि बी<sub>''i''</sub> बी*<sub>''i''</sub> एक [[बाहरी उत्पाद]] है, इसलिए इस एल्गोरिदम को (गोलूब और वैन लोन) में बाहरी उत्पाद संस्करण कहा जाता है।
ध्यान दें कि '''b'''<sub>''i''</sub> '''b'''*<sub>''i''</sub> एक बाहरी उत्पाद है, इसलिए इस एल्गोरिदम को (गोलब और वैन लोन) में बाहरी-उत्पाद संस्करण कहा जाता है।
 
हम इसे i के लिए 1 से n तक दोहराते हैं। n चरणों के बाद, हमें 'A' मिलता है<sup>(n+1)</sup> = 'मैं'। इसलिए, निम्न त्रिकोणीय आव्यूह L जिसकी हम तलाश कर रहे हैं, की गणना इस प्रकार की जाती है


हम इसे i से 1 से n तक पुनरावर्ती हैं। n चरणों के बाद, हमें '''A'''<sup>(''n''+1)</sup> = '''I''' मिलता है। इसलिए, हम जिस निम्न त्रिभुजीय आव्यूह ''L'' की जांच कर रहे हैं, उसकी गणना इस प्रकार की जाती है
:<math>\mathbf{L} := \mathbf{L}_{1} \mathbf{L}_{2} \dots \mathbf{L}_{n}.</math>
:<math>\mathbf{L} := \mathbf{L}_{1} \mathbf{L}_{2} \dots \mathbf{L}_{n}.</math>




=== चोल्स्की-बनाकिविज़ और चोल्स्की-क्राउट एल्गोरिदम ===
=== चोल्स्की-बनाकिविज़ और चोल्स्की-क्राउट एल्गोरिदम ===
[[File:Chol.gif|thumb|इन-प्लेस चोल्स्की के लिए एक्सेस पैटर्न (सफ़ेद) और राइटिंग पैटर्न (पीला) - 5×5 आव्यूह पर बैनाचिविक्ज़ एल्गोरिथम]]अगर हम समीकरण लिखते हैं
[[File:Chol.gif|thumb|यथास्थान चोल्स्की के लिए अभिगम्य पैटर्न (सफ़ेद) और लेखन पैटर्न (पीला) - 5×5 आव्यूह पर बैनाचिविक्ज़ एल्गोरिथम]]यदि हम समीकरण लिखते हैं
:<math>\begin{align}
:<math>\begin{align}
\mathbf{A} = \mathbf{LL}^T & =
\mathbf{A} = \mathbf{LL}^T & =
Line 222: Line 217:
:<math> L_{j,j} = (\pm)\sqrt{ A_{j,j} - \sum_{k=1}^{j-1} L_{j,k}^2 }, </math>
:<math> L_{j,j} = (\pm)\sqrt{ A_{j,j} - \sum_{k=1}^{j-1} L_{j,k}^2 }, </math>
:<math> L_{i,j} = \frac{1}{L_{j,j}} \left( A_{i,j} - \sum_{k=1}^{j-1} L_{i,k} L_{j,k} \right) \quad \text{for } i>j. </math>
:<math> L_{i,j} = \frac{1}{L_{j,j}} \left( A_{i,j} - \sum_{k=1}^{j-1} L_{i,k} L_{j,k} \right) \quad \text{for } i>j. </math>
जटिल और वास्तविक मैट्रिसेस के लिए, विकर्ण और संबंधित ऑफ-डायगोनल तत्वों के महत्वहीन मनमाना परिवर्तन की अनुमति है। यदि वास्तविक और धनात्मक-निश्चित है तो [[वर्गमूल]] के तहत अभिव्यक्ति हमेशा धनात्मक होती है।
जटिल और वास्तविक आव्यूह के लिए, विकर्ण और संबंधित संवृत-विकर्ण तत्वों के अप्रासंगिक यादृच्छिक रूप से संकेत परिवर्तन की स्वीकृति है। यदि A वास्तविक और धनात्मक-निश्चित है तो वर्गमूल के अंतर्गत अभिव्यक्ति सदैव धनात्मक होती है।


जटिल हर्मिटियन आव्यूह के लिए, निम्न सूत्र प्रयुक्त होता है:
जटिल हर्मिटियन आव्यूह के लिए, निम्न सूत्र प्रयुक्त होता है:
Line 228: Line 223:
:<math> L_{j,j} = \sqrt{ A_{j,j} - \sum_{k=1}^{j-1} L_{j,k}L_{j,k}^* }, </math>
:<math> L_{j,j} = \sqrt{ A_{j,j} - \sum_{k=1}^{j-1} L_{j,k}L_{j,k}^* }, </math>
:<math> L_{i,j} = \frac{1}{L_{j,j}} \left( A_{i,j} - \sum_{k=1}^{j-1} L_{i,k} L_{j,k}^* \right) \quad \text{for } i>j. </math>
:<math> L_{i,j} = \frac{1}{L_{j,j}} \left( A_{i,j} - \sum_{k=1}^{j-1} L_{i,k} L_{j,k}^* \right) \quad \text{for } i>j. </math>
इसलिए हम (i, j) प्रविष्टि की गणना कर सकते हैं यदि हम बाईं और ऊपर की प्रविष्टियों को जानते हैं। गणना आमतौर पर निम्नलिखित में से किसी एक क्रम में व्यवस्थित की जाती है:
इसलिए हम (i, j) प्रविष्टि की गणना कर सकते हैं यदि हम बाईं और ऊपर की प्रविष्टियों को जानते हैं। गणना सामान्य रूप से निम्नलिखित में से किसी एक क्रम में व्यवस्थित की जाती है:
* 'चोल्स्की-Banachiewicz एल्गोरिथ्म' आव्यूह L के ऊपरी बाएँ कोने से शुरू होता है और पंक्ति दर पंक्ति आव्यूह की गणना करने के लिए आगे बढ़ता है। <syntaxhighlight lang="C">
* ''''चोल्स्की-बानाचीविक्ज़ एल्गोरिथ्म'''<nowiki/>' आव्यूह L के ऊपरी बाएँ कोर से प्रारंभ होता है और रो दर रो आव्यूह की गणना करने के लिए आगे बढ़ता है। <syntaxhighlight lang="C">
for (i = 0; i < dimensionSize; i++) {
for (i = 0; i < dimensionSize; i++) {
     for (j = 0; j <= i; j++) {
     for (j = 0; j <= i; j++) {
Line 243: Line 238:
}
}
</syntaxhighlight>
</syntaxhighlight>
* चोल्स्की-Crout एल्गोरिथम आव्यूह ''L'' के ऊपरी बाएँ कोने से शुरू होता है और कॉलम द्वारा आव्यूह कॉलम की गणना करने के लिए आगे बढ़ता है। <syntaxhighlight lang="C">
* चोल्स्की-क्राउट एल्गोरिथम आव्यूह ''L'' के ऊपरी बाएँ कोर से प्रारंभ होता है और कॉलम द्वारा आव्यूह कॉलम की गणना करने के लिए आगे बढ़ता है। <syntaxhighlight lang="C">
for (j = 0; j < dimensionSize; j++) {
for (j = 0; j < dimensionSize; j++) {
     float sum = 0;
     float sum = 0;
Line 260: Line 255:
}
}
</syntaxhighlight>
</syntaxhighlight>
एक्सेस का कोई भी पैटर्न वांछित होने पर पूरी गणना को इन-प्लेस करने की अनुमति देता है।
यदि वांछित हो तो अभिगम्य का कोई भी पैटर्न संपूर्ण गणना को उसी स्थान पर निष्पादित करने की स्वीकृति देता है।


=== गणना की स्थिरता ===
=== गणना की स्थिरता ===
मान लीजिए कि हम एक सशर्त संख्या | रैखिक समीकरणों की अच्छी तरह से अनुकूलित प्रणाली को हल करना चाहते हैं। यदि LU अपघटन का उपयोग किया जाता है, तो एल्गोरिथ्म तब तक अस्थिर होता है जब तक कि हम किसी प्रकार की धुरी रणनीति का उपयोग नहीं करते हैं। बाद के मामले में, त्रुटि आव्यूह के तथाकथित विकास कारक पर निर्भर करती है, जो आमतौर पर (लेकिन हमेशा नहीं) छोटी होती है।
मान लीजिए कि हम एक सशर्त संख्या रैखिक समीकरणों की अच्छी तरह से अनुकूलित प्रणाली को हल करना चाहते हैं। यदि LU अपघटन का उपयोग किया जाता है, तो एल्गोरिथ्म तब तक अस्थिर होता है जब तक कि हम किसी प्रकार की पिवट योजना का उपयोग नहीं करते हैं। बाद के स्थितियों में, त्रुटि आव्यूह के तथाकथित विकास कारक पर निर्भर करती है, जो सामान्य रूप से (लेकिन सदैव नहीं) छोटी होती है।


अब, मान लीजिए कि चोल्स्की अपघटन प्रयुक्त होता है। जैसा ऊपर बताया गया है, एल्गोरिदम दो गुना तेज़ होगा। इसके अलावा, कोई [[धुरी तत्व]] आवश्यक नहीं है, और त्रुटि हमेशा छोटी होगी। विशेष रूप से, यदि हम Ax = b को हल करना चाहते हैं, और y परिकलित समाधान को दर्शाता है, तो y विकृत प्रणाली (A + E) y = b को हल करता है, जहाँ
अब, मान लीजिए कि चोल्स्की अपघटन प्रयुक्त होता है। जैसा ऊपर बताया गया है, एल्गोरिदम दो गुना तीव्र होगा। इसके अतिरिक्त, कोई [[धुरी तत्व|पिवट तत्व]] आवश्यक नहीं है, और त्रुटि सदैव छोटी होगी। विशेष रूप से, यदि हम '''Ax = b''' को हल करना चाहते हैं, और y परिकलित समाधान को दर्शाता है, तो y विकृत प्रणाली '''(A + E) y = b''' को हल करता है, जहाँ
:<math> \|\mathbf{E}\|_2 \le c_n \varepsilon \|\mathbf{A}\|_2. </math>
:<math> \|\mathbf{E}\|_2 \le c_n \varepsilon \|\mathbf{A}\|_2. </math>
यहां ||·||<sub>2</sub> [[मैट्रिक्स मानदंड|आव्यूह मानदंड]] है | आव्यूह 2-मानदंड, सी<sub>n</sub>n के आधार पर एक छोटा स्थिरांक है, और ε [[यूनिट राउंड-ऑफ]] को दर्शाता है।
यहां ||·||<sub>2</sub> [[मैट्रिक्स मानदंड|आव्यूह मानदंड]] है | 2-मानदंड है, और ''c<sub>n</sub>'' n के आधार पर एक छोटा स्थिरांक है, और ε इकाई पूर्णांक को दर्शाता है।


चॉल्स्की अपघटन के बारे में जागरूक होने के लिए एक चिंता वर्ग जड़ों का उपयोग है। यदि गुणनखंड किया जा रहा आव्यूह आवश्यक रूप से धनात्मक निश्चित है, तो वर्गमूल के अंतर्गत संख्याएँ सटीक अंकगणित में हमेशा धनात्मक होती हैं। दुर्भाग्य से, पूर्णांक त्रुटियों के कारण संख्याएँ ऋणात्मक हो सकती हैं, जिस स्थिति में एल्गोरिथम जारी नहीं रह सकता है। हालाँकि, यह केवल तभी हो सकता है जब आव्यूह बहुत खराब स्थिति में हो। इसे संबोधित करने का एक तरीका धनात्मक-निश्चितता को बढ़ावा देने के प्रयास में विघटित होने वाले आव्यूह में एक विकर्ण सुधार आव्यूह जोड़ना है।<ref>{{cite journal|last=Fang|first=Haw-ren|author2=O'Leary, Dianne P.|author2-link= Dianne P. O'Leary |title=Modified Cholesky Algorithms: A Catalog with New Approaches|date=8 August 2006|url=http://www.cs.umd.edu/~oleary/tr/tr4807.pdf}}</ref> हालांकि यह अपघटन की सटीकता को कम कर सकता है, यह अन्य कारणों से बहुत अनुकूल हो सकता है; उदाहरण के लिए, अनुकूलन में न्यूटन की विधि का प्रदर्शन करते समय, एक विकर्ण आव्यूह जोड़ने से इष्टतम से दूर होने पर स्थिरता में सुधार हो सकता है।
चॉल्स्की अपघटन के बारे में जागरूक होने के लिए एक चिंता वर्ग जड़ों का उपयोग है। यदि गुणनखंड किया जा रहा आव्यूह आवश्यक रूप से धनात्मक निश्चित है, तो वर्गमूल के अंतर्गत संख्याएँ परिशुद्ध अंकगणित में सदैव धनात्मक होती हैं। तथापि, पूर्णांक त्रुटियों के कारण संख्याएँ ऋणात्मक हो सकती हैं, जिस स्थिति में एल्गोरिथम जारी नहीं रह सकता है। हालाँकि, यह केवल तभी हो सकता है जब आव्यूह बहुत विकृत स्थिति में हो। इसे संबोधित करने का एक तरीका धनात्मक-निश्चितता को बढ़ावा देने के प्रयास में विघटित होने वाले आव्यूह में एक विकर्ण संशोधन आव्यूह जोड़ना है।<ref>{{cite journal|last=Fang|first=Haw-ren|author2=O'Leary, Dianne P.|author2-link= Dianne P. O'Leary |title=Modified Cholesky Algorithms: A Catalog with New Approaches|date=8 August 2006|url=http://www.cs.umd.edu/~oleary/tr/tr4807.pdf}}</ref> हालांकि यह अपघटन की परिशुद्धता को कम कर सकता है, यह अन्य कारणों से बहुत अनुकूल हो सकता है; उदाहरण के लिए, अनुकूलन में न्यूटन की विधि का प्रदर्शन करते समय, एक विकर्ण आव्यूह जोड़ने से इष्टतम से दूर होने पर स्थिरता में संशोधन हो सकता है।


=== एलडीएल अपघटन ===
=== LDL अपघटन ===
एक वैकल्पिक रूप, वर्गमूल लेने की आवश्यकता को समाप्त करता है जब A सममित होता है, सममित अनिश्चित गुणनखंड है<ref>{{cite book |first=D. |last=Watkins |year=1991 |title=मैट्रिक्स संगणना के मूल तत्व|url=https://archive.org/details/fundamentalsofma0000watk |url-access=registration |location=New York |publisher=Wiley |page=[https://archive.org/details/fundamentalsofma0000watk/page/84 84] |isbn=0-471-61414-9 }}</ref>
एक वैकल्पिक रूप, वर्गमूल लेने की आवश्यकता को समाप्त करता है जब '''A''' सममित होता है, तब सममित अनिश्चित गुणनखंड है<ref>{{cite book |first=D. |last=Watkins |year=1991 |title=मैट्रिक्स संगणना के मूल तत्व|url=https://archive.org/details/fundamentalsofma0000watk |url-access=registration |location=New York |publisher=Wiley |page=[https://archive.org/details/fundamentalsofma0000watk/page/84 84] |isbn=0-471-61414-9 }}</ref>
:<math>
:<math>
\begin{align}
\begin{align}
Line 294: Line 289:
\end{align}
\end{align}
</math>
</math>
डी और L की प्रविष्टियों के लिए निम्नलिखित पुनरावर्ती संबंध प्रयुक्त होते हैं:
'''D''' और '''L''' की प्रविष्टियों के लिए निम्नलिखित पुनरावर्ती संबंध प्रयुक्त होते हैं:
:<math> D_j = A_{jj} - \sum_{k=1}^{j-1} L_{jk}^2 D_k, </math>
:<math> D_j = A_{jj} - \sum_{k=1}^{j-1} L_{jk}^2 D_k, </math>
:<math> L_{ij} = \frac{1}{D_j} \left( A_{ij} - \sum_{k=1}^{j-1} L_{ik} L_{jk} D_k \right) \quad \text{for } i>j. </math>
:<math> L_{ij} = \frac{1}{D_j} \left( A_{ij} - \sum_{k=1}^{j-1} L_{ik} L_{jk} D_k \right) \quad \text{for } i>j. </math>
यह तब तक काम करता है जब तक डी में उत्पन्न विकर्ण तत्व गैर-शून्य रहते हैं। अपघटन तब अद्वितीय है। यदि A वास्तविक है तो D और L वास्तविक हैं।
यह तब तक काम करता है जब तक '''D''' में उत्पन्न विकर्ण तत्व गैर-शून्य रहते हैं। अपघटन तब अद्वितीय है। यदि '''A''' वास्तविक है तो '''D''' और '''L''' वास्तविक हैं।


जटिल हर्मिटियन आव्यूह के लिए, निम्न सूत्र प्रयुक्त होता है:
जटिल हर्मिटियन आव्यूह '''A''' के लिए, निम्न सूत्र प्रयुक्त होता है:


:<math> D_{j} = A_{jj} - \sum_{k=1}^{j-1} L_{jk}L_{jk}^* D_k, </math>
:<math> D_{j} = A_{jj} - \sum_{k=1}^{j-1} L_{jk}L_{jk}^* D_k, </math>
:<math> L_{ij} = \frac{1}{D_j} \left( A_{ij} - \sum_{k=1}^{j-1} L_{ik} L_{jk}^* D_k \right) \quad \text{for } i>j. </math>
:<math> L_{ij} = \frac{1}{D_j} \left( A_{ij} - \sum_{k=1}^{j-1} L_{ik} L_{jk}^* D_k \right) \quad \text{for } i>j. </math>
दोबारा, पहुंच का पैटर्न वांछित होने पर पूरी गणना को जगह में करने की अनुमति देता है।
पुनः, अभिगम्य का पैटर्न वांछित होने पर पूरी गणना को उसी स्थान में करने की स्वीकृति देता है।


=== ब्लॉक संस्करण ===
=== ब्लॉक संस्करण ===
जब अनिश्चित मैट्रिसेस पर उपयोग किया जाता है, तो एलडीएल* गुणनखंड सावधानीपूर्वक धुरी के बिना अस्थिर होने के लिए जाना जाता है;<ref>{{cite book|last=Nocedal|first=Jorge|title=संख्यात्मक अनुकूलन|year=2000|publisher=Springer}}</ref> विशेष रूप से, गुणनखंड के तत्व मनमाने ढंग से बढ़ सकते हैं। एक संभावित सुधार ब्लॉक सब-मैट्रिसेस पर फैक्टराइजेशन करना है, आमतौर पर 2 × 2:<ref>{{cite journal|last=Fang|first=Haw-ren|title=सममित अनिश्चित मैट्रिक्स के लिए ब्लॉक एलडीएलटी फैक्टराइजेशन का विश्लेषण|date=24 August 2007}}</ref>
जब अनिश्चित आव्यूह पर उपयोग किया जाता है, तो '''LDL'''* गुणनखंड सावधानीपूर्वक पिवट के बिना अस्थिर होने के लिए जाना जाता है;<ref>{{cite book|last=Nocedal|first=Jorge|title=संख्यात्मक अनुकूलन|year=2000|publisher=Springer}}</ref> विशेष रूप से, गुणनखंड के तत्व यादृच्छिक रूप से बढ़ सकते हैं। एक संभावित सुधार सामान्य रूप से 2 × 2 ब्लॉक उप-आव्यूह पर गुणनखंडन करना है:<ref>{{cite journal|last=Fang|first=Haw-ren|title=सममित अनिश्चित मैट्रिक्स के लिए ब्लॉक एलडीएलटी फैक्टराइजेशन का विश्लेषण|date=24 August 2007}}</ref>
:<math>\begin{align}
:<math>\begin{align}
\mathbf{A} = \mathbf{LDL}^\mathrm{T} & =
\mathbf{A} = \mathbf{LDL}^\mathrm{T} & =
Line 331: Line 326:
\end{align}
\end{align}
</math>
</math>
जहां उपरोक्त मैट्रिसेस में प्रत्येक तत्व एक वर्ग सबमैट्रिक्स है। इससे, ये समान पुनरावर्ती संबंध अनुसरण करते हैं:
जहां उपरोक्त आव्यूह में प्रत्येक तत्व एक वर्ग उप-आव्यूह है। इससे, ये समान पुनरावर्ती संबंध अनुसरण करते हैं:


:<math>\mathbf D_j = \mathbf A_{jj} - \sum_{k=1}^{j-1} \mathbf L_{jk} \mathbf D_k \mathbf L_{jk}^\mathrm T,</math>
:<math>\mathbf D_j = \mathbf A_{jj} - \sum_{k=1}^{j-1} \mathbf L_{jk} \mathbf D_k \mathbf L_{jk}^\mathrm T,</math>
:<math>\mathbf L_{ij} = \left(\mathbf A_{ij} - \sum_{k=1}^{j-1} \mathbf L_{ik} \mathbf D_k \mathbf L_{jk}^\mathrm T\right) \mathbf D_j^{-1}.</math>
:<math>\mathbf L_{ij} = \left(\mathbf A_{ij} - \sum_{k=1}^{j-1} \mathbf L_{ik} \mathbf D_k \mathbf L_{jk}^\mathrm T\right) \mathbf D_j^{-1}.</math>
इसमें आव्यूह उत्पाद और स्पष्ट उलटा शामिल है, इस प्रकार व्यावहारिक ब्लॉक आकार को सीमित करता है।
इसमें आव्यूह उत्पाद और स्पष्ट व्युत्क्रमण सम्मिलित है, इस प्रकार व्यावहारिक ब्लॉक आकार को सीमित करता है।


=== अपघटन को अद्यतन करना ===
=== अपघटन को संशोधित करना ===
एक कार्य जो अक्सर अभ्यास में उत्पन्न होता है वह यह है कि किसी को चॉल्स्की अपघटन को अद्यतन करने की आवश्यकता होती है। अधिक विवरण में, पहले से ही चोलस्की अपघटन की गणना की जा चुकी है <math>\mathbf{A} = \mathbf{L}\mathbf{L}^*</math> किसी आव्यूह का <math>\mathbf{A}</math>, फिर कोई आव्यूह बदलता है <math>\mathbf{A}</math> किसी तरह दूसरे आव्यूह में, कहते हैं <math> \tilde{\mathbf{A}} </math>, और कोई अद्यतन आव्यूह के चोल्स्की अपघटन की गणना करना चाहता है: <math> \tilde{\mathbf{A}} = \tilde{\mathbf{L}} \tilde{\mathbf{L}}^* </math>. अब सवाल यह है कि क्या कोई चोलस्की अपघटन का उपयोग कर सकता है <math>\mathbf{A}</math> के चोलस्की अपघटन की गणना करने से पहले इसकी गणना की गई थी <math> \tilde{\mathbf{A}} </math>.
एक कार्य जो व्यवहार में प्रायः उत्पन्न होता है वह यह है कि किसी को चोलेस्की अपघटन को संशोधन करने की आवश्यकता होती है। अधिक विवरण में, किसी ने पहले ही कुछ आव्यूह <math>\mathbf{A} = \mathbf{L}\mathbf{L}^*</math> के चोल्स्की अपघटन <math>\mathbf{A}</math> की गणना कर ली है, फिर कोई आव्यूह <math>\mathbf{A}</math> को बदल देता है किसी तरह से दूसरे आव्यूह में, मान लें कि <math> \tilde{\mathbf{A}} </math>, और कोई संशोधन आव्यूह के चोल्स्की अपघटन <math> \tilde{\mathbf{A}} = \tilde{\mathbf{L}} \tilde{\mathbf{L}}^* </math>की गणना करना चाहता है। अब सवाल यह है कि क्या कोई <math>\mathbf{A}</math> के चॉलेस्की अपघटन का उपयोग कर सकता है, जिसकी गणना पहले <math> \tilde{\mathbf{A}} </math> के चॉलेस्की अपघटन की गणना करने के लिए की गई थी।


==== रैंक-वन अपडेट ====
==== एक श्रेणी संशोधन ====
विशिष्ट मामला, जहां अद्यतन आव्यूह <math> \tilde{\mathbf{A}} </math> आव्यूह से संबंधित है <math>\mathbf{A}</math> द्वारा <math> \tilde{\mathbf{A}} = \mathbf{A} + \mathbf{x} \mathbf{x}^* </math>, रैंक-वन अपडेट के रूप में जाना जाता है।
विशिष्ट स्थिति, जहां संशोधित आव्यूह <math> \tilde{\mathbf{A}} </math> आव्यूह <math>\mathbf{A}</math> द्वारा <math> \tilde{\mathbf{A}} = \mathbf{A} + \mathbf{x} \mathbf{x}^* </math> से संबंधित है, एक पद संशोधन के रूप में जाना जाता है।


यहाँ एक समारोह है<ref>Based on: {{cite book|last=Stewart|first=G. W.|title=Basic decompositions|year=1998|publisher=Soc. for Industrial and Applied Mathematics|location=Philadelphia|isbn=0-89871-414-1}}</ref> मैटलैब सिंटैक्स में लिखा गया है जो रैंक-वन अपडेट को महसूस करता है:
यहां मैटलैब सिंटैक्स में लिखा गया एक फलन<ref>Based on: {{cite book|last=Stewart|first=G. W.|title=Basic decompositions|year=1998|publisher=Soc. for Industrial and Applied Mathematics|location=Philadelphia|isbn=0-89871-414-1}}</ref> है जो एक पद संशोधन को प्राप्त करता है:
<syntaxhighlight lang="matlab">
<syntaxhighlight lang="matlab">
function [L] = cholupdate(L, x)
function [L] = cholupdate(L, x)
Line 359: Line 354:
end
end
</syntaxhighlight>
</syntaxhighlight>
एक रैंक-एन अपडेट वह है जहां आव्यूह के लिए <math>\mathbf{M}</math> one अपघटन को इस तरह अद्यतन करता है <math> \tilde{\mathbf{A}} = \mathbf{A} + \mathbf{M} \mathbf{M}^* </math>. के प्रत्येक कॉलम के लिए क्रमिक रूप से रैंक-वन अपडेट करके इसे प्राप्त किया जा सकता है <math>\mathbf{M}</math>.
एक श्रेणी-n संशोधन वह है जहां आव्यूह के लिए <math>\mathbf{M}</math> अपघटन <math> \tilde{\mathbf{A}} = \mathbf{A} + \mathbf{M} \mathbf{M}^* </math>को इस तरह संशोधित करता है। इसे <math>\mathbf{M}</math> के प्रत्येक कॉलम के लिए क्रमिक रूप से एक पद संशोधन करके इसे प्राप्त किया जा सकता है


==== रैंक-एक डाउनडेट ====
==== एक श्रेणी डाउनडेट ====
रैंक-वन डाउनडेट रैंक-वन अपडेट के समान है, सिवाय इसके कि जोड़ को घटाकर बदल दिया जाता है: <math> \tilde{\mathbf{A}} = \mathbf{A} - \mathbf{x} \mathbf{x}^* </math>. यह केवल तभी काम करता है जब नया आव्यूह <math> \tilde{\mathbf{A}} </math> अभी भी धनात्मक निश्चित है।
एक पद डाउनडेट एक पद संशोधन के समान है, इसके अतिरिक्त <math> \tilde{\mathbf{A}} = \mathbf{A} - \mathbf{x} \mathbf{x}^* </math> जोड़ को व्यवकलन द्वारा प्रतिस्थापित किया जाता है। यह केवल तभी काम करता है जब नया आव्यूह <math> \tilde{\mathbf{A}} </math> अभी भी धनात्मक निश्चित है।


ऊपर दिखाए गए रैंक-वन अपडेट के लिए कोड को आसानी से रैंक-वन डाउनडेट करने के लिए अनुकूलित किया जा सकता है: असाइनमेंट में केवल दो परिवर्धन को बदलने की आवश्यकता है <code>r</code> और <code>L((k+1):n, k)</code> घटाव द्वारा।
ऊपर दिखाए गए एक श्रेणी संशोधन के लिए कोड को एक पद डाउनडेट करने के लिए आसानी से अनुकूलित किया जा सकता है: किसी को केवल <code>r</code> और <code>L((k+1):n, k)</code> के समनुदेशन में दो अतिरिक्त को व्यवकलन द्वारा प्रतिस्थापित करने की आवश्यकता है।


==== पंक्तियों और स्तंभों को जोड़ना और हटाना ====
==== रो और कॉलम को जोड़ना और हटाना ====
यदि हमारे पास एक सममित और धनात्मक निश्चित आव्यूह है <math> \mathbf A </math> के रूप में ब्लॉक रूप में दर्शाया गया है
यदि हमारे पास एक सममित और धनात्मक निश्चित आव्यूह <math> \mathbf A </math> के रूप में ब्लॉक रूप में दर्शाया गया है


:<math>
:<math>
Line 384: Line 379:
\end{pmatrix},
\end{pmatrix},
</math>
</math>
फिर एक नए आव्यूह के लिए <math> \tilde{\mathbf{A}} </math>, जो समान है <math> \mathbf A </math> लेकिन नई पंक्तियों और स्तंभों के सम्मिलन के साथ,
फिर एक नए आव्यूह <math> \tilde{\mathbf{A}} </math> के लिए, जो <math> \mathbf A </math> के समान है,लेकिन नई रो और कॉलम के सम्मिलन के साथ,
:<math>\begin{align}
:<math>\begin{align}
\tilde{\mathbf{A}} &=  
\tilde{\mathbf{A}} &=  
Line 394: Line 389:
\end{align}
\end{align}
</math>
</math>
हम चोलस्की गुणनखंड खोजने में रुचि रखते हैं <math> \tilde{\mathbf{A}} </math>, जिसे हम कहते हैं <math> \tilde{\mathbf S} </math>, पूरे अपघटन की सीधे गणना किए बिना।
हम संपूर्ण अपघटन की प्रत्यक्ष गणना किए बिना <math> \tilde{\mathbf{A}} </math>,के चॉलेस्की गुणनखंडन को खोजने में रुचि रखते हैं, जिसे हम <math> \tilde{\mathbf S} </math> कहते हैं।
:<math>\begin{align}
:<math>\begin{align}
\tilde{\mathbf{S}} &=  
\tilde{\mathbf{S}} &=  
Line 404: Line 399:
\end{align}
\end{align}
</math>
</math>
लिखना <math> \mathbf A \setminus \mathbf{b}</math> समाधान के लिए <math> \mathbf A \mathbf x = \mathbf b</math>, जो त्रिकोणीय आव्यूहों के लिए आसानी से पाया जा सकता है, और <math> \text{chol} (\mathbf M)</math> चोलस्की अपघटन के लिए <math> \mathbf M </math>, निम्नलिखित संबंध पाए जा सकते हैं:
<math> \mathbf A \setminus \mathbf{b}</math> के समाधान के लिए <math> \mathbf A \mathbf x = \mathbf b</math> लिखना, जो त्रिभुजीय आव्यूह के लिए आसानी से पाया जा सकता है, और <math> \text{chol} (\mathbf M)</math> चोलस्की अपघटन <math> \mathbf M </math> के लिए, निम्नलिखित संबंध पाए जा सकते हैं:
:<math>\begin{align}
:<math>\begin{align}
\mathbf S_{11} &= \mathbf L_{11}, \\
\mathbf S_{11} &= \mathbf L_{11}, \\
Line 414: Line 409:
\end{align}
\end{align}
</math>
</math>
इन सूत्रों का उपयोग किसी भी स्थिति में पंक्तियों या स्तंभों के सम्मिलन के बाद चोल्स्की कारक को निर्धारित करने के लिए किया जा सकता है, यदि हम पंक्ति और स्तंभ आयामों को उचित रूप से सेट करते हैं (शून्य सहित)। उलटा समस्या, जब हमारे पास है
इन सूत्रों का उपयोग किसी भी स्थिति में रो या कॉलम के सम्मिलन के बाद चोल्स्की कारक को निर्धारित करने के लिए किया जा सकता है, यदि हम रो और कॉलम आयामों को उपयुक्त रूप से (शून्य सहित) समुच्चय करते हैं। व्युत्क्रमण समस्या, जब हमारे पास है


:<math>\begin{align}
:<math>\begin{align}
Line 435: Line 430:
\end{align}
\end{align}
</math>
</math>
और चोल्स्की फ़ैक्टर का निर्धारण करना चाहते हैं
और चोल्स्की गुणन का निर्धारण करना चाहते हैं
:<math>\begin{align}
:<math>\begin{align}
\mathbf{L} &=  
\mathbf{L} &=  
Line 444: Line 439:
\end{align}
\end{align}
</math>
</math>
आव्यूह का <math> \mathbf A </math> पंक्तियों और स्तंभों को हटाकर,
आव्यूह का <math> \mathbf A </math> रो और कॉलम को हटाकर,
:<math>\begin{align}
:<math>\begin{align}
\mathbf{A} &=  
\mathbf{A} &=  
Line 460: Line 455:
\end{align}
\end{align}
</math>
</math>
ध्यान दें कि उपरोक्त सभी समीकरणों में एक नए आव्यूह के चोलस्की अपघटन को खोजना शामिल है <math> \tilde{\mathbf{A}} = \mathbf{A} \pm \mathbf{x} \mathbf{x}^* </math>, जो उन्हें पिछले अनुभाग में विस्तृत अद्यतन और डाउनडेट प्रक्रियाओं का उपयोग करके कुशलतापूर्वक गणना करने की अनुमति देता है।<ref>Osborne, M. (2010), Appendix B.</ref>
ध्यान दें कि उपरोक्त सभी समीकरणों में एक नए आव्यूह के चोलस्की अपघटन <math> \tilde{\mathbf{A}} = \mathbf{A} \pm \mathbf{x} \mathbf{x}^* </math> को खोजना सम्मिलित है, जो उन्हें पूर्व अनुभाग में विस्तृत संशोधित और डाउनडेट प्रक्रियाओं का उपयोग करके कुशलतापूर्वक गणना करने की स्वीकृति देता है।<ref>Osborne, M. (2010), Appendix B.</ref>




== धनात्मक अर्ध-निश्चित मेट्रिसेस के लिए प्रमाण ==
== धनात्मक अर्ध-निश्चित आव्यूह के लिए प्रमाण ==


=== तर्क को सीमित करके सबूत ===
=== सीमित तर्क द्वारा प्रमाण ===
उपरोक्त एल्गोरिदम दिखाते हैं कि प्रत्येक धनात्मक निश्चित आव्यूह <math> \mathbf{A} </math> चोलेस्की अपघटन है। यह परिणाम सीमित तर्क द्वारा धनात्मक अर्ध-निश्चित मामले तक बढ़ाया जा सकता है। तर्क पूरी तरह से रचनात्मक नहीं है, यानी, यह चोल्स्की कारकों की गणना के लिए कोई स्पष्ट संख्यात्मक एल्गोरिदम नहीं देता है।
उपरोक्त एल्गोरिदम दिखाते हैं कि प्रत्येक धनात्मक निश्चित आव्यूह <math> \mathbf{A} </math> चोलेस्की अपघटन है। यह परिणाम सीमित तर्क द्वारा धनात्मक अर्ध-निश्चित स्थितियों तक बढ़ाया जा सकता है। तर्क पूरी तरह से रचनात्मक नहीं है, अर्थात, यह चोल्स्की कारकों की गणना के लिए कोई स्पष्ट संख्यात्मक एल्गोरिदम नहीं देता है।


अगर <math> \mathbf{A} </math> एक <math> n \times n </math> धनात्मक-निश्चित आव्यूह | धनात्मक अर्ध-निश्चित आव्यूह, फिर अनुक्रम <math display="inline"> \left(\mathbf{A}_k\right)_k := \left(\mathbf{A} + \frac{1}{k} \mathbf{I}_n\right)_k </math> धनात्मक-निश्चित आव्यूह के होते हैं। (उदाहरण के लिए, यह बहुपद कार्यात्मक कलन के लिए वर्णक्रमीय मानचित्रण प्रमेय का एक तात्कालिक परिणाम है।) साथ ही,
यदि <math> \mathbf{A} </math> एक <math> n \times n </math> धनात्मक-निश्चित आव्यूह, फिर अनुक्रम <math display="inline"> \left(\mathbf{A}_k\right)_k := \left(\mathbf{A} + \frac{1}{k} \mathbf{I}_n\right)_k </math> धनात्मक-निश्चित आव्यूह के होते हैं। उदाहरण के लिए, यह बहुपद कार्यात्मक गणना के लिए वर्णक्रमीय मानचित्रण प्रमेय का एक तात्कालिक परिणाम है। साथ ही,
:<math>  
:<math>  
\mathbf{A}_k \rightarrow \mathbf{A}
\mathbf{A}_k \rightarrow \mathbf{A}
\quad \text{for} \quad
\quad \text{for} \quad
k \rightarrow \infty
k \rightarrow \infty
</math> [[ऑपरेटर मानदंड]] में। धनात्मक निश्चित मामले से, प्रत्येक <math> \mathbf{A}_k </math> चोल्स्की अपघटन है <math> \mathbf{A}_k = \mathbf{L}_k\mathbf{L}_k^* </math>. ऑपरेटर मानदंड की संपत्ति से,
</math>  
:संक्रियक मानदंड में धनात्मक निश्चित स्थितियो से, प्रत्येक <math> \mathbf{A}_k </math> में चॉलेस्की अपघटन <math> \mathbf{A}_k = \mathbf{L}_k\mathbf{L}_k^* </math> होता है। संक्रियक मानदंड की गुण के अनुसार,


:<math>\| \mathbf{L}_k \|^2 \leq \| \mathbf{L}_k \mathbf{L}_k^* \| = \| \mathbf{A}_k \| \,.</math>
:<math>\| \mathbf{L}_k \|^2 \leq \| \mathbf{L}_k \mathbf{L}_k^* \| = \| \mathbf{A}_k \| \,.</math>
 
<math>\leq</math> h> इसलिए मान्य है क्योंकि <math>M_n(\mathbb{C})</math> संक्रियक मानदंड से सुसज्जित एक C* बीजगणित है। इसलिए <math> \left(\mathbf{L}_k \right)_k</math> संक्रियक के [[बनच स्थान|बनच समष्टि]] में एक परिबद्ध समुच्चय है, इसलिए [[अपेक्षाकृत कॉम्पैक्ट|अपेक्षाकृत सुसंहत]] है। क्योंकि अंतर्निहित सदिश समष्टि परिमित-आयामी है। परिणामस्वरूप, इसका एक अभिसारी परिणाम है, जिसे   <math> \left( \mathbf{L}_k \right)_k</math> सीमा के साथ <math> \mathbf{L}</math> द्वारा भी निरूपित किया जाता है। यह आसानी से जांचा जा सकता है कि इस <math> \mathbf{L}</math> मे वांछित गुण हैं, अर्थात <math> \mathbf{A} = \mathbf{L}\mathbf{L}^* </math> और <math> \mathbf{L}</math> सभी <math> x</math> और <math> y</math> के लिए गैर-ऋणात्मक विकर्ण प्रविष्टियों के साथ निम्न त्रिभुजीय है
<math>\leq</math> h> रखता है क्योंकि <math>M_n(\mathbb{C})</math> ऑपरेटर मानदंड से लैस एक सी * बीजगणित है। इसलिए <math> \left(\mathbf{L}_k \right)_k</math> ऑपरेटरों के [[बनच स्थान]] में एक घिरा हुआ सेट है, इसलिए [[अपेक्षाकृत कॉम्पैक्ट]] (क्योंकि अंतर्निहित वेक्टर स्थान परिमित-आयामी है)।
नतीजतन, इसका एक अभिसारी परिणाम है, जिसे इसके द्वारा भी निरूपित किया जाता है <math> \left( \mathbf{L}_k \right)_k</math>, सीमा के साथ <math> \mathbf{L}</math>.
इसे आसानी से चेक किया जा सकता है <math> \mathbf{L}</math> वांछित गुण हैं, अर्थात <math> \mathbf{A} = \mathbf{L}\mathbf{L}^* </math>, और <math> \mathbf{L}</math> गैर-नकारात्मक विकर्ण प्रविष्टियों के साथ निम्न त्रिकोणीय है: सभी के लिए <math> x</math> और <math> y</math>,
 
:<math>  
:<math>  
\langle \mathbf{A} x, y \rangle  
\langle \mathbf{A} x, y \rangle  
Line 487: Line 479:
= \langle \mathbf{L} \mathbf{L}^*x, y \rangle \,.  
= \langle \mathbf{L} \mathbf{L}^*x, y \rangle \,.  
</math>
</math>
इसलिए, <math> \mathbf{A} = \mathbf{L}\mathbf{L}^* </math>.
इसलिए <math> \mathbf{A} = \mathbf{L}\mathbf{L}^* </math>प्राप्त होता है। क्योंकि अंतर्निहित सदिश समष्टि परिमित-आयामी है, संक्रियक के स्थान पर सभी सांस्थिति समकक्ष हैं। इसलिए <math> \left( \mathbf{L}_k \right)_k</math> सामान्य अर्थों में <math> \mathbf{L}</math> आदर्श रूप में <math> \left( \mathbf{L}_k \right)_k</math> की ओर प्रवृत्त होता है और <math> \mathbf{L}</math> प्रविष्टिवार की ओर प्रवृत्त होता है। बदले में इसका तात्पर्य यह है कि, चूंकि प्रत्येक <math> \mathbf{L}_k</math> गैर-ऋणात्मक विकर्ण प्रविष्टियों के साथ निम्न त्रिभुजीय है, और इसिलिए <math> \mathbf{L}</math> भी है।
क्योंकि अंतर्निहित सदिश स्थान परिमित-आयामी है, ऑपरेटरों के स्थान पर सभी टोपोलॉजी समकक्ष हैं।
इसलिए <math> \left( \mathbf{L}_k \right)_k</math> आदत है <math> \mathbf{L}</math> आदर्श रूप में <math> \left( \mathbf{L}_k \right)_k</math> आदत है <math> \mathbf{L}</math> प्रवेशवार।
यह बदले में इसका तात्पर्य है कि, प्रत्येक के बाद से <math> \mathbf{L}_k</math> गैर-ऋणात्मक विकर्ण प्रविष्टियों के साथ निम्न त्रिभुजीय है, <math> \mathbf{L}</math> ई आल्सो।


=== क्यूआर अपघटन द्वारा प्रमाण ===
=== QR अपघटन द्वारा प्रमाण ===


होने देना <math>\mathbf{A}</math> धनात्मक-निश्चित आव्यूह बनें | धनात्मक अर्ध-निश्चित हर्मिटियन आव्यूह। तब इसे आव्यूह के वर्गमूल के गुणनफल के रूप में लिखा जा सकता है, <math>\mathbf{A} = \mathbf{B} \mathbf{B}^*</math>. अब [[क्यूआर अपघटन]] प्रयुक्त किया जा सकता है <math>\mathbf{B}^*</math>, जिसके परिणामस्वरूप <math>\mathbf{B}^* = \mathbf{Q}\mathbf{R}</math>
मान लीजिए <math>\mathbf{A}</math> धनात्मक अर्ध-निश्चित हर्मिटियन आव्यूह है। तब इसे आव्यूह <math>\mathbf{A} = \mathbf{B} \mathbf{B}^*</math>के वर्गमूल के गुणनफल के रूप में लिखा जा सकता है। अब [[क्यूआर अपघटन|QR अपघटन]] को <math>\mathbf{B}^*</math> प्रयुक्त किया जा सकता है जिसके परिणामस्वरूप <math>\mathbf{B}^* = \mathbf{Q}\mathbf{R}</math> प्राप्त होता है। जहां <math>\mathbf{Q}</math> एकात्मक है और <math>\mathbf{R}</math> उपरी त्रिकोण है। मूल समानता में अपघटन <math>A = \mathbf{B} \mathbf{B}^* = (\mathbf{QR})^*\mathbf{QR} = \mathbf{R}^*\mathbf{Q}^*\mathbf{QR} = \mathbf{R}^*\mathbf{R}</math> सम्मिलित करने से प्राप्त होता है। संस्थापन <math>\mathbf{L} = \mathbf{R}^*</math> करने से प्रमाण पूरा करता है।
, कहाँ <math>\mathbf{Q}</math> एकात्मक है और <math>\mathbf{R}</math> उपरी त्रिकोण है। अपघटन को मूल समानता पैदावार में सम्मिलित करना <math>A = \mathbf{B} \mathbf{B}^* = (\mathbf{QR})^*\mathbf{QR} = \mathbf{R}^*\mathbf{Q}^*\mathbf{QR} = \mathbf{R}^*\mathbf{R}</math>. सेटिंग <math>\mathbf{L} = \mathbf{R}^*</math> प्रमाण पूरा करता है।


== सामान्यीकरण ==
== सामान्यीकरण ==
चोल्स्की गुणनखंड को सामान्यीकृत किया जा सकता है {{Citation needed|date=October 2016}} से (आवश्यक रूप से परिमित नहीं) ऑपरेटर प्रविष्टियों के साथ मेट्रिसेस। होने देना <math>\{\mathcal{H}_n \}</math> [[हिल्बर्ट रिक्त स्थान]] का अनुक्रम बनें। ऑपरेटर आव्यूह पर विचार करें
चॉलेस्की गुणनखंडन को संक्रियक प्रविष्टियों के साथ (आवश्यक रूप से सीमित नहीं) आव्यूहों में सामान्यीकृत किया जा सकता है {{Citation needed|date=October 2016}} मान लीजिए कि <math>\{\mathcal{H}_n \}</math> हिल्बर्ट समष्टि का एक क्रम है। संक्रियक आव्यूह पर विचार करें


:<math>
:<math>
Line 509: Line 497:
\end{bmatrix}
\end{bmatrix}
</math>
</math>
प्रत्यक्ष योग पर अभिनय
प्रत्यक्ष योग पर कार्य करना


:<math>\mathcal{H} = \bigoplus_n \mathcal{H}_n,</math>
:<math>\mathcal{H} = \bigoplus_n \mathcal{H}_n,</math>
Line 518: Line 506:


:<math>h \in \bigoplus_{n = 1}^k \mathcal{H}_k ,</math>
:<math>h \in \bigoplus_{n = 1}^k \mathcal{H}_k ,</math>
अपने पास <math>\langle h, \mathbf{A} h\rangle \ge 0</math>, तो एक निम्न त्रिभुजीय ऑपरेटर आव्यूह L मौजूद है जैसे कि A = LL*कोई भी L की विकर्ण प्रविष्टियों को धनात्मक मान सकता है।
हमारे पास <math>\langle h, \mathbf{A} h\rangle \ge 0</math> है, तो एक निम्न त्रिभुजीय संक्रियक आव्यूह '''L''' सम्मिलित है जैसे कि '''A''' = '''LL'''* प्राप्त है। कोई भी L की विकर्ण प्रविष्टियों को धनात्मक मान सकता है।


== प्रोग्रामिंग पुस्तकालयों में कार्यान्वयन ==
== प्रोग्रामिंग पुस्तकालयों में कार्यान्वयन ==
* [[सी प्रोग्रामिंग भाषा]]: [[जीएनयू वैज्ञानिक पुस्तकालय]] चोल्स्की अपघटन के कई कार्यान्वयन प्रदान करती है।
* [[सी प्रोग्रामिंग भाषा|C प्रोग्रामिंग भाषा]]: [[जीएनयू वैज्ञानिक पुस्तकालय|जीएनयू वैज्ञानिक लाइब्रेरी]] चोल्स्की अपघटन के कई कार्यान्वयन प्रदान करती है।
* [[मैक्सिमा (सॉफ्टवेयर)]] कंप्यूटर बीजगणित प्रणाली: कार्य <code>cholesky</code> चोल्स्की अपघटन की गणना करता है।
* [[मैक्सिमा (सॉफ्टवेयर)|अधिकतम (सॉफ्टवेयर)]] कंप्यूटर बीजगणित प्रणाली: फलन <code>cholesky</code> चोल्स्की अपघटन की गणना करता है।
* [[जीएनयू ऑक्टेव]] न्यूमेरिकल कंप्यूटेशंस सिस्टम एक चोल्स्की अपघटन की गणना, अद्यतन और प्रयुक्त करने के लिए कई कार्य प्रदान करता है।
* जीएनयू ऑक्टेव संख्यात्मक संगणना प्रणाली एक चोल्स्की अपघटन की गणना, संशोधित और प्रयुक्त करने के लिए कई फलन प्रदान करता है।
* [[LAPACK]] पुस्तकालय चोलस्की अपघटन का एक उच्च प्रदर्शन कार्यान्वयन प्रदान करता है जिसे [[फोरट्रान]], [[सी (प्रोग्रामिंग भाषा)]] और अधिकांश भाषाओं से एक्सेस किया जा सकता है।
* [[LAPACK|लैपैक]] लाइब्रेरी चोलस्की अपघटन का एक उच्च प्रदर्शन कार्यान्वयन प्रदान करता है जिसे [[फोरट्रान]], [[सी (प्रोग्रामिंग भाषा)|C (प्रोग्रामिंग भाषा)]] और अधिकांश भाषाओं से अभिगम्य किया जा सकता है।
* [[पायथन (प्रोग्रामिंग भाषा)]] में, function <code>cholesky</code> से <code>numpy.linalg</code> मॉड्यूल चोल्स्की अपघटन करता है।
* [[पायथन (प्रोग्रामिंग भाषा)]] में, फलन <code>cholesky</code> से <code>numpy.linalg</code> मॉड्यूल चोल्स्की अपघटन करता है।
* मैटलैब में, <code>chol</code> फ़ंक्शन चोलस्की अपघटन देता है। ध्यान दें कि <code>chol</code> डिफ़ॉल्ट रूप से इनपुट आव्यूह के ऊपरी त्रिकोणीय कारक का उपयोग करता है, अर्थात यह गणना करता है <math>A = R^* R</math> कहाँ <math>R</math> उपरी त्रिकोण है। इसके बजाय निम्न त्रिभुजीय कारक का उपयोग करने के लिए एक ध्वज पारित किया जा सकता है।
* मैटलैब में, <code>chol</code> फलन चोलस्की अपघटन देता है। ध्यान दें कि <code>chol</code> डिफ़ॉल्ट रूप से निर्दिष्ट आव्यूह के ऊपरी त्रिभुजीय कारक का उपयोग करता है, अर्थात यह <math>A = R^* R</math> की गणना करता है,जहां <math>R</math> उपरी त्रिकोण है। इसके अतिरिक्त निम्न त्रिभुजीय कारक का उपयोग करने के लिए एक चिन्ह पारित किया जा सकता है।
* [[आर (प्रोग्रामिंग भाषा)]] में, <code>chol</code> फ़ंक्शन चोलस्की अपघटन देता है।
* [[आर (प्रोग्रामिंग भाषा)|R (प्रोग्रामिंग भाषा)]] में, <code>chol</code> फलन चोलस्की अपघटन देता है।
* [[जूलिया (प्रोग्रामिंग भाषा)]] में, <code>cholesky</code> समारोह से <code>LinearAlgebra</code> मानक पुस्तकालय चोलस्की अपघटन देता है।
* [[जूलिया (प्रोग्रामिंग भाषा)]] में, <code>cholesky</code> फलन से <code>LinearAlgebra</code> मानक लाइब्रेरी चोलस्की अपघटन देता है।
* गणित में, function<code>CholeskyDecomposition</code>मैट्रिक्स पर प्रयुक्त किया जा सकता है।
* गणित में, फलन<code>CholeskyDecomposition</code>आव्यूह पर प्रयुक्त किया जा सकता है।
* [[सी ++]] में, कई रैखिक बीजगणित पुस्तकालय इस अपघटन का समर्थन करते हैं:
* [[सी ++|C ++]] में, कई रैखिक बीजगणित लाइब्रेरी इस अपघटन का समर्थन करते हैं:
** [[अर्माडिलो (C++ लाइब्रेरी)]] कमांड की आपूर्ति करता है <code>chol</code> चोल्स्की अपघटन करने के लिए।
** [[अर्माडिलो (C++ लाइब्रेरी)]] अनुक्रम  <code>chol</code> चोल्स्की अपघटन करने के लिए आपूर्ति करता है।
** Eigen (C++ लाइब्रेरी) स्पार्स और डेंस मैट्रिसेस दोनों के लिए चोल्स्की गुणनखंडों की आपूर्ति करता है।
** ईजेन लाइब्रेरी विरल और सघन दोनों प्रकार के आव्यूहों के लिए चॉलेस्की गुणनखंड प्रदान करता है।
** [[ जड़ ]] पैकेज में, <code>TDecompChol</code> वर्ग उपलब्ध है।
** [[ जड़ | रूट]] पैकेज में, <code>TDecompChol</code> वर्ग उपलब्ध है।


* [[एनालिटिका (सॉफ्टवेयर)]] में, फ़ंक्शन <code>Decompose</code> चोल्स्की अपघटन देता है।
* [[एनालिटिका (सॉफ्टवेयर)]] में, फलन <code>Decompose</code> चोल्स्की अपघटन देता है।
* [http://commons.apache.org/proper/commons-math/javadocs/api-3.4/org/apache/commons/math3/linear/CholeskyDecomposition.html Apache Commons Math लाइब्रेरी में कार्यान्वयन है] जिसका उपयोग किया जा सकता है जावा, स्काला और किसी अन्य जेवीएम भाषा में।
* अपाचे सामान्य गणित लाइब्रेरी में एक कार्यान्वयन है जिसका उपयोग जावा, स्काला और किसी भी अन्य जेवीएम भाषा में किया जा सकता है।


== यह भी देखें ==
== यह भी देखें ==
* [[साइकिल रैंक]]
* [[साइकिल रैंक|चक्र श्रेणी]]
* [[अधूरा चॉल्स्की गुणनखंडन]]
* [[अधूरा चॉल्स्की गुणनखंडन|अपूर्ण चोल्स्की गुणनखंडन]]
* आव्यूह अपघटन
* आव्यूह अपघटन
* [[न्यूनतम डिग्री एल्गोरिदम]]
* [[न्यूनतम डिग्री एल्गोरिदम]]
Line 597: Line 585:
=== कंप्यूटर कोड ===
=== कंप्यूटर कोड ===
* [http://netlib.org/lapack/ LAPACK] सघन रैखिक बीजगणित समस्याओं (DPOTRF, DPOTRF2, [http://www.netlib.org/utk/papers/factor/node9. html विवरण] [http://www.netlib.org/utk/papers/factor/node13.html प्रदर्शन])
* [http://netlib.org/lapack/ LAPACK] सघन रैखिक बीजगणित समस्याओं (DPOTRF, DPOTRF2, [http://www.netlib.org/utk/papers/factor/node9. html विवरण] [http://www.netlib.org/utk/papers/factor/node13.html प्रदर्शन])
* [http://www.alglib.net/ ALGLIB] में LAPACK से C++, C#, डेल्फी, विजुअल बेसिक, आदि का आंशिक पोर्ट शामिल है। (spdmatrixcholesky, hpdmatrixchholesky)
* [http://www.alglib.net/ ALGLIB] में LAPACK से C++, C#, डेल्फी, विजुअल बेसिक, आदि का आंशिक पोर्ट सम्मिलित है। (spdmatrixcholesky, hpdmatrixchholesky)
* [http://www.cs.utexas.edu/users/flame/ libflame] LAPACK कार्यक्षमता वाली एक C लाइब्रेरी है।
* [http://www.cs.utexas.edu/users/flame/ libflame] LAPACK कार्यक्षमता वाली एक C लाइब्रेरी है।
* [http://www.cs.utexas.edu/users/flame/Movies.html#Chol नोट्स और चोलस्की फैक्टराइजेशन के उच्च-प्रदर्शन कार्यान्वयन पर वीडियो] ऑस्टिन में टेक्सास विश्वविद्यालय में।
* [http://www.cs.utexas.edu/users/flame/Movies.html#Chol नोट्स और चोलस्की गुणनखंड के उच्च-प्रदर्शन कार्यान्वयन पर वीडियो] ऑस्टिन में टेक्सास विश्वविद्यालय में।
* [http://upcommons.upc.edu/pfc/handle/2099.1/10988/ चोल्स्की : TBB + थ्रेड्स + SSE] एक किताब है जो TBB, थ्रेड्स और SSE (स्पैनिश में) के साथ CF के कार्यान्वयन की व्याख्या करती है।
* [http://upcommons.upc.edu/pfc/handle/2099.1/10988/ चोल्स्की : TBB + थ्रेड्स + SSE] एक किताब है जो TBB, थ्रेड्स और SSE (स्पैनिश में) के साथ CF के कार्यान्वयन की व्याख्या करती है।
* [http://ceres-solver.org/ पुस्तकालय सेरेस सॉल्वर] गूगल द्वारा।
* [http://ceres-solver.org/ लाइब्रेरी सेरेस सॉल्वर] गूगल द्वारा।
* [https://web.archive.org/web/20120807190828/http://infohost.nmt.edu/~borchers/ldlt.html LDL अपघटन] मैटलैब में रूटीन।
* [https://web.archive.org/web/20120807190828/http://infohost.nmt.edu/~borchers/ldlt.html LDL अपघटन] मैटलैब में रूटीन।
* [http://arma.sourceforge.net/download.html Armadillo] एक C++ रैखिक बीजगणित पैकेज है
* [http://arma.sourceforge.net/download.html Armadillo] एक C++ रैखिक बीजगणित पैकेज है
* [http://rosettacode.org/wiki/Rosetta_Code Rosetta Code] एक प्रोग्रामिंग क्रिस्टोमैथी साइट है। [https://rosettacode.org/wiki/Cholesky_decomposition पृष्ठ विषय पर]।
* [http://rosettacode.org/wiki/Rosetta_Code Rosetta Code] एक प्रोग्रामिंग क्रिस्टोमैथी साइट है। [https://rosettacode.org/wiki/Cholesky_decomposition पृष्ठ विषय पर]।
* [https://algowiki-project.org/en/Open_Encyclopedia_of_Parallel_Algorithmic_Features AlgoWiki] एल्गोरिदम के गुणों और उनके कार्यान्वयन की विशेषताओं का एक खुला विश्वकोश है [https://algowiki-project.org/en/Cholesky_decomposition on pageविषय]
* [https://algowiki-project.org/en/Open_Encyclopedia_of_Parallel_Algorithmic_Features AlgoWiki] एल्गोरिदम के गुणों और उनके कार्यान्वयन की विशेषताओं का एक खुला विश्वकोश है [https://algowiki-project.org/en/Cholesky_decomposition on pageविषय]
* [https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onemkl.html Intel® oneAPI मैथ कर्नेल लाइब्रेरी] न्यूमेरिकल कंप्यूटिंग के लिए Intel-Optimized मैथ लाइब्रेरी [https:/ /software.intel.com/content/www/us/en/develop/documentation/onemkl-developer-reference-c/top/lapack-routines/lapack-linear-equation-routines/lapack-linear-equation-computational-routines /आव्यूह-फैक्टराइजेशन-लैपैक-कम्प्यूटेशनल-रूटीन/potrf.html#potrf?potrf], [https://software.intel.com/content/www/us/en/develop/documentation/onemkl-developer-reference-c /top/lapack-routines/lapack-linear-equation-routines/lapack-linear-equation-computational-routines/solving-systems-of-linear-equations-lapack-computational-routines/potrs.html#potrs ?potrs]
* [https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onemkl.html Intel® oneAPI मैथ कर्नेल लाइब्रेरी] न्यूमेरिकल कंप्यूटिंग के लिए Intel-Optimized मैथ लाइब्रेरी [https:/ /software.intel.com/content/www/us/en/develop/documentation/onemkl-developer-reference-c/top/lapack-routines/lapack-linear-equation-routines/lapack-linear-equation-computational-routines /आव्यूह-गुणनखंड-लैपैक-संगणनात्मक-रूटीन/potrf.html#potrf?potrf], [https://software.intel.com/content/www/us/en/develop/documentation/onemkl-developer-reference-c /top/lapack-routines/lapack-linear-equation-routines/lapack-linear-equation-computational-routines/solving-systems-of-linear-equations-lapack-computational-routines/potrs.html#potrs ?potrs]


=== अनुकरण में आव्यूह का उपयोग ===
=== अनुकरण में आव्यूह का उपयोग ===
* [http://www.columbia.edu/~mh2078/MonteCarlo/MCS_Generate_RVars.pdf जनरेटिंग कोरिलेटेड रैंडम वेरिएबल्स और स्टोचैस्टिक प्रोसेस], मार्टिन हौ, [[ कोलम्बिया विश्वविद्यालय ]]
* [http://www.columbia.edu/~mh2078/MonteCarlo/MCS_Generate_RVars.pdf जनरेटिंग कोरिलेटेड रैंडम वेरिएबल्स और स्टोचैस्टिक प्रोसेस], मार्टिन हौ, [[ कोलम्बिया विश्वविद्यालय |कोलम्बिया विश्वविद्यालय]]


=== ऑनलाइन कैलकुलेटर ===
=== ऑनलाइन कैलकुलेटर ===
* [https://web.archive.org/web/20081212221215/http://www.bluebit.gr/matrix-calculator/ ऑनलाइन आव्यूह कैलकुलेटर] मेट्रिसेस का चोल्स्की अपघटन ऑनलाइन करता है।
* [https://web.archive.org/web/20081212221215/http://www.bluebit.gr/matrix-calculator/ ऑनलाइन आव्यूह कैलकुलेटर] आव्यूह का चोल्स्की अपघटन ऑनलाइन करता है।


{{Numerical linear algebra}}
{{Numerical linear algebra}}

Revision as of 12:00, 27 June 2023

रैखिक बीजगणित में, चोल्स्की अपघटन या चोल्स्की गुणनखंडन (उच्चारण /ʃəˈlɛski/ shə-LES-kee) एक हर्मिटियन, धनात्मक-निश्चित आव्यूह का एक निम्न त्रिभुजीय आव्यूह और उसके संयुग्मी स्थानान्तरण के उत्पाद में अपघटन है, जो दक्ष संख्यात्मक समाधान के लिए उपयोगी है, जैसे, मोंटे कार्लो अनुकरण होता है। वास्तविक आव्यूह के लिए इसकी खोज आंद्रे-लुई चोल्स्की ने की थी और इसे मरणोपरांत 1924 में प्रकाशित किया गया था।[1] जब यह प्रयुक्त होता है, तो चोलेस्की अपघटन रैखिक समीकरणों की प्रणालियों को हल करने के लिए LU अपघटन से लगभग दोगुना सक्षम होता है।[2]


कथन

हर्मिटियन आव्यूह धनात्मक-निश्चित आव्यूह A का चोल्स्की अपघटन, प्ररूप का अपघटन होता है

जहाँ L वास्तविक और धनात्मक विकर्ण प्रविष्टियों के साथ एक निम्न त्रिभुजीय आव्यूह है, और L*, L के संयुग्मी स्थानांतरण को दर्शाता है। प्रत्येक हर्मिटियन धनात्मक-निश्चित आव्यूह (और इस प्रकार प्रत्येक वास्तविक-मान सममित धनात्मक-निश्चित आव्यूह) में एक अद्वितीय चोल्स्की अपघटन होता है।[3]

उत्क्रम महत्वहीन है: यदि A को कुछ व्युत्क्रमणीय L, निम्न त्रिभुजीय या अन्यथा के लिए LL* के रूप में लिखा जा सकता है, तो A हर्मिटियन और धनात्मक निश्चित है।

जब A एक वास्तविक आव्यूह (इसलिए सममित धनात्मक-निश्चित) है, तो गुणनखंडन लिखा जा सकता है

जहां L धनात्मक विकर्ण प्रविष्टियों के साथ वास्तविक निम्न त्रिभुजीय आव्यूह है।[4][5][6]


धनात्मक अर्ध निश्चित आव्यूह

यदि एक हर्मिटियन आव्यूह A धनात्मक निश्चित के अतिरिक्त केवल धनात्मक अर्ध निश्चित है, तो इसमें अभी भी प्ररूप A = LL* का अपघटन है, जहाँ L की विकर्ण प्रविष्टियाँ शून्य होने की स्वीकृति है।[7] उदाहरण के लिए, अपघटन को अद्वितीय होने की आवश्यकता नहीं है:

हालाँकि, यदि A की श्रेणी r है, तो परिशुद्ध r धनात्मक विकर्ण तत्वों और n−r कॉलम वाला एक अद्वितीय निम्न त्रिभुजीय L होता है जिसमें सभी शून्य होते हैं।[8]

वैकल्पिक रूप से, जब एक पिवट विकल्प निर्धारित हो जाता है तो अपघटन को अद्वितीय बनाया जा सकता है। औपचारिक रूप से, यदि A श्रेणी r का एक n × n धनात्मक अर्धनिश्चित आव्यूह है, तो कम से कम एक क्रमपरिवर्तन आव्यूह P है, जैसे कि P A PT में P A PT = L L* के रूप में एक अद्वितीय अपघटन होता है, जिसमें होता है, जहां L1 धनात्मक विकर्ण वाला एक r × r निम्न त्रिभुजीय आव्यूह है।[9]


LDL अपघटन

उत्कृष्ट चोलेस्की अपघटन का एक निकट संबंधी संस्करण LDL अपघटन है,

जहां L एक निम्न इकाई त्रिभुजीय (एकत्रिभुजीय) आव्यूह है, और D एक विकर्ण आव्यूह है। अर्थात्, अपघटन में एक अतिरिक्त विकर्ण आव्यूह D को प्रस्तुत करने की कीमत पर L के विकर्ण तत्वों को 1 होना आवश्यक है। मुख्य लाभ यह है कि LDL अपघटन की गणना और अनिवार्य रूप से समान एल्गोरिदम के साथ उपयोग किया जा सकता है, लेकिन वर्गमूल निकालने से बचा जाता है।[10]

इस कारण से, LDL अपघटन को प्रायः वर्ग-मूल-मुक्त चोलेस्की अपघटन कहा जाता है। वास्तविक आव्यूहों के लिए, गुणनखंडन का रूप A = LDLT होता है और इसे प्रायः LDLT अपघटन (या LDLT अपघटन, या LDL′) के रूप में जाना जाता है। यह वास्तविक सममित आव्यूहों, A = QΛQT के ईजेन-अपघटन के समान है, लेकिन व्यवहार में यह अपेक्षाकृत अधिक भिन्न है क्योंकि Λ और D समान आव्यूह नहीं हैं।

LDL अपघटन रूप LL* के उत्कृष्ट चोल्स्की अपघटन से निम्नानुसार संबंधित है:

इसके विपरीत, एक धनात्मक निश्चित आव्यूह के उत्कृष्ट चोल्स्की अपघटन को देखते हुए, यदि S एक विकर्ण आव्यूह है जिसमें का मुख्य विकर्ण सम्मिलित है तो A को के रूप में विघटित किया जा सकता है जहां

(यह विकर्ण तत्व 1 बनाने के लिए प्रत्येक कॉलम को पुन: मापता है),

यदि A धनात्मक निश्चित है तो D के विकर्ण अवयव सभी धनात्मक हैं। धनात्मक अर्ध निश्चित A के लिए अपघटन सम्मिलित है जहां विकर्ण D पर गैर-शून्य तत्वों की संख्या परिशुद्ध A की श्रेणी है।[11] कुछ अनिश्चित आव्यूह जिनके लिए कोई चोलेस्की अपघटन सम्मिलित नहीं है, उनमें D में ऋणात्मक प्रविष्टियों के साथ LDL अपघटन होता है: यह पर्याप्त है कि A के पहले n−1 अग्रणी प्रमुख लघु व्युत्क्रमणीय हैं।[12]


उदाहरण

यहाँ एक सममित वास्तविक आव्यूह का चोल्स्की अपघटन है:

और यहाँ इसका LDLT अपघटन है:


अनुप्रयोग

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

अपघटन में वर्गमूल लेने से बचने का एक वैकल्पिक तरीका LDL अपघटन की गणना करना है, फिर y के लिए को हल करना, और अंत में को हल करना।

रैखिक प्रणालियों के लिए जिन्हें सममित रूप में रखा जा सकता है, अधितकम दक्षता और संख्यात्मक स्थिरता के लिए चोल्स्की अपघटन (या इसका LDL संस्करण) वरण की विधि है। LU अपघटन की तुलना में, यह लगभग दोगुना सक्षम है।[2]


रैखिक न्यूनतम वर्ग

A सममित और धनात्मक निश्चित के साथ रूप Ax = b की प्रणालियाँ अनुप्रयोगों में प्रायः सामने आती हैं। उदाहरण के लिए, रैखिक न्यूनतम वर्ग समस्याओं में सामान्य समीकरण इस रूप के होते हैं। ऐसा भी हो सकता है कि आव्यूह A एक ऊर्जा कार्यात्मकता से आता है, जो भौतिक विचारों से धनात्मक होना चाहिए; आंशिक अवकल समीकरणों के संख्यात्मक समाधान में ऐसा प्रायः होता है।

गैर रेखीय अनुकूलन

न्यूटन की विधि के परिवर्त का उपयोग करके गैर-रेखीय बहु-भिन्न फलनों को उनके मापदंडों पर कम किया जा सकता है, जिन्हें अर्ध-न्यूटन विधियां कहा जाता है। पुनरावृति k पर खोज एक दिशा में पुनरावृत्ति है जिसे के लिए को हल करके परिभाषित किया जाता है, जहां चरण की दिशा है, प्रवणता है, और प्रत्येक पुनरावृत्ति पर श्रेणी-1 संशोधन को पुनरावर्त करके गठित हेसियन आव्यूह का एक अनुमान है। दो प्रसिद्ध संशोधन सूत्र को डेविडन-फ्लेचर-पॉवेल (डीएफपी) और ब्रोयडेन-फ्लेचर-गोल्डफ़ार्ब-शैनो (बीएफजीएस) कहा जाता है। पूर्णांक त्रुटि के माध्यम से धनात्मक-निश्चित स्थिति के नुकसान से बचा जा सकता है यदि हेसियन के व्युत्क्रम के सन्निकटन को संशोधित करने के अतिरिक्त, हेसियन आव्यूह के एक सन्निकटन के चोल्स्की अपघटन को संशोधित किया जाता है।[13]


मोंटे कार्लो विधि

चॉल्स्की अपघटन का उपयोग सामान्य रूप से मोंटे कार्लो पद्धति में कई सहसंबद्ध चर वाले प्रणाली के अनुकरण के लिए किया जाता है। सहप्रसरण आव्यूह को निम्न-त्रिभुजीय L देने के लिए विघटित किया जाता है। इसे असंबद्ध प्रतिदर्शों u के एक सदिश पर प्रयुक्त करने से प्रणाली के सहप्रसरण गुणों के साथ एक प्रतिदर्श सदिश Lu उत्पन्न होता है।[14]

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

कलमन फ़िल्टर

तथाकथित सिग्मा बिंदुओं का एक समुच्चय चयन के लिए असुवासित कलमैन फ़िल्टर सामान्य रूप से चोल्स्की अपघटन का उपयोग करते हैं। कल्मन फ़िल्टर एक प्रणाली की औसत स्थिति को लंबाई N के सदिश x और N × N आव्यूह P के रूप में सहप्रसरण के रूप में पदांक प्राप्त करता है। आव्यूह P सदैव धनात्मक अर्ध-निश्चित होता है और इसे LLT में विघटित किया जा सकता है। 2N सदिश का एक समुच्चय बनाने के लिए L के कॉलम को माध्य x से जोड़ा और घटाया जा सकता है, जिसे सिग्मा बिन्दु कहा जाता है। ये सिग्मा बिंदु प्रणाली स्थिति के माध्य और सहप्रसरण को पूरी तरह से प्रग्रहण कर लेते हैं।

आव्यूह व्युत्क्रमण

हर्मिटियन आव्यूह के स्पष्ट व्युत्क्रम की गणना कोलेस्की अपघटन द्वारा की जा सकती है, जो कि संक्रिया ( गुणन) का उपयोग करके रैखिक प्रणालियों को हल करने के समान है।[10] संपूर्ण व्युत्क्रम को उसी स्थान पर कुशलतापूर्वक निष्पादित किया जा सकता है।

गैर-हर्मिटियन आव्यूह B को निम्नलिखित पहचान का उपयोग करके व्युत्क्रमण भी किया जा सकता है, जहां BB* सदैव हर्मिटियन होगा:


गणना

चोल्स्की अपघटन की गणना के लिए विभिन्न विधियाँ हैं। सामान्य रूप से उपयोग किए जाने वाले एल्गोरिदम की संगणनात्मक जटिलता सामान्य रूप से O(n3) है।[citation needed] नीचे वर्णित सभी एल्गोरिदम में वास्तविक रूप के लिए लगभग (1/3)n3 एफएलओपी (n3/6 गुणन और समान संख्या में जोड़) और जटिल रूप के लिए (4/3)n3 एफएलओपी सम्मिलित हैं,[15] जहां n का आकार आव्यूह A है। इसलिए, उनके पास LU अपघटन की अर्ध-कीमत है, जो 2n3/3 एफएलओपी (ट्रेफेथेन और बाउ 1997 देखें) का उपयोग करता है।

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

चोल्स्की एल्गोरिथम

अपघटन आव्यूह 'L' की गणना करने के लिए उपयोग किया जाने वाला चोल्स्की एल्गोरिदम, गॉसियन उन्मूलन का एक संशोधित संस्करण है।

पुनरावर्ती एल्गोरिथम i := 1 और से प्रारंभ होता है

A(1) := A.

चरण i पर, आव्यूह A(i) का निम्नलिखित रूप है:

जहां Ii−1 आयाम i - 1 के पहचान आव्यूह को दर्शाता है।

यदि अब हम आव्यूह Li को परिभाषित करते हैं

ध्यान दें कि ai,i > 0 चूँकि A(i) धनात्मक निश्चित है, तो हम A(i) को इस प्रकार लिख सकते हैं

जहां

ध्यान दें कि bi b*i एक बाहरी उत्पाद है, इसलिए इस एल्गोरिदम को (गोलब और वैन लोन) में बाहरी-उत्पाद संस्करण कहा जाता है।

हम इसे i से 1 से n तक पुनरावर्ती हैं। n चरणों के बाद, हमें A(n+1) = I मिलता है। इसलिए, हम जिस निम्न त्रिभुजीय आव्यूह L की जांच कर रहे हैं, उसकी गणना इस प्रकार की जाती है


चोल्स्की-बनाकिविज़ और चोल्स्की-क्राउट एल्गोरिदम

यथास्थान चोल्स्की के लिए अभिगम्य पैटर्न (सफ़ेद) और लेखन पैटर्न (पीला) - 5×5 आव्यूह पर बैनाचिविक्ज़ एल्गोरिथम

यदि हम समीकरण लिखते हैं

हम निम्नलिखित प्राप्त करते हैं:

और इसलिए L की प्रविष्टियों के लिए निम्नलिखित सूत्र:

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

जटिल हर्मिटियन आव्यूह के लिए, निम्न सूत्र प्रयुक्त होता है:

इसलिए हम (i, j) प्रविष्टि की गणना कर सकते हैं यदि हम बाईं और ऊपर की प्रविष्टियों को जानते हैं। गणना सामान्य रूप से निम्नलिखित में से किसी एक क्रम में व्यवस्थित की जाती है:

  • 'चोल्स्की-बानाचीविक्ज़ एल्गोरिथ्म' आव्यूह L के ऊपरी बाएँ कोर से प्रारंभ होता है और रो दर रो आव्यूह की गणना करने के लिए आगे बढ़ता है।
    for (i = 0; i < dimensionSize; i++) {
        for (j = 0; j <= i; j++) {
            float sum = 0;
            for (k = 0; k < j; k++)
                sum += L[i][k] * L[j][k];
    
            if (i == j)
                L[i][j] = sqrt(A[i][i] - sum);
            else
                L[i][j] = (1.0 / L[j][j] * (A[i][j] - sum));
        }
    }
    
  • चोल्स्की-क्राउट एल्गोरिथम आव्यूह L के ऊपरी बाएँ कोर से प्रारंभ होता है और कॉलम द्वारा आव्यूह कॉलम की गणना करने के लिए आगे बढ़ता है।
    for (j = 0; j < dimensionSize; j++) {
        float sum = 0;
        for (k = 0; k < j; k++) {
            sum += L[j][k] * L[j][k];
        }
        L[j][j] = sqrt(A[j][j] - sum);
    
        for (i = j + 1; i < dimensionSize; i++) {
            sum = 0;
            for (k = 0; k < j; k++) {
                sum += L[i][k] * L[j][k];
            }
            L[i][j] = (1.0 / L[j][j] * (A[i][j] - sum));
        }
    }
    

यदि वांछित हो तो अभिगम्य का कोई भी पैटर्न संपूर्ण गणना को उसी स्थान पर निष्पादित करने की स्वीकृति देता है।

गणना की स्थिरता

मान लीजिए कि हम एक सशर्त संख्या रैखिक समीकरणों की अच्छी तरह से अनुकूलित प्रणाली को हल करना चाहते हैं। यदि LU अपघटन का उपयोग किया जाता है, तो एल्गोरिथ्म तब तक अस्थिर होता है जब तक कि हम किसी प्रकार की पिवट योजना का उपयोग नहीं करते हैं। बाद के स्थितियों में, त्रुटि आव्यूह के तथाकथित विकास कारक पर निर्भर करती है, जो सामान्य रूप से (लेकिन सदैव नहीं) छोटी होती है।

अब, मान लीजिए कि चोल्स्की अपघटन प्रयुक्त होता है। जैसा ऊपर बताया गया है, एल्गोरिदम दो गुना तीव्र होगा। इसके अतिरिक्त, कोई पिवट तत्व आवश्यक नहीं है, और त्रुटि सदैव छोटी होगी। विशेष रूप से, यदि हम Ax = b को हल करना चाहते हैं, और y परिकलित समाधान को दर्शाता है, तो y विकृत प्रणाली (A + E) y = b को हल करता है, जहाँ

यहां ||·||2 आव्यूह मानदंड है | 2-मानदंड है, और cn n के आधार पर एक छोटा स्थिरांक है, और ε इकाई पूर्णांक को दर्शाता है।

चॉल्स्की अपघटन के बारे में जागरूक होने के लिए एक चिंता वर्ग जड़ों का उपयोग है। यदि गुणनखंड किया जा रहा आव्यूह आवश्यक रूप से धनात्मक निश्चित है, तो वर्गमूल के अंतर्गत संख्याएँ परिशुद्ध अंकगणित में सदैव धनात्मक होती हैं। तथापि, पूर्णांक त्रुटियों के कारण संख्याएँ ऋणात्मक हो सकती हैं, जिस स्थिति में एल्गोरिथम जारी नहीं रह सकता है। हालाँकि, यह केवल तभी हो सकता है जब आव्यूह बहुत विकृत स्थिति में हो। इसे संबोधित करने का एक तरीका धनात्मक-निश्चितता को बढ़ावा देने के प्रयास में विघटित होने वाले आव्यूह में एक विकर्ण संशोधन आव्यूह जोड़ना है।[16] हालांकि यह अपघटन की परिशुद्धता को कम कर सकता है, यह अन्य कारणों से बहुत अनुकूल हो सकता है; उदाहरण के लिए, अनुकूलन में न्यूटन की विधि का प्रदर्शन करते समय, एक विकर्ण आव्यूह जोड़ने से इष्टतम से दूर होने पर स्थिरता में संशोधन हो सकता है।

LDL अपघटन

एक वैकल्पिक रूप, वर्गमूल लेने की आवश्यकता को समाप्त करता है जब A सममित होता है, तब सममित अनिश्चित गुणनखंड है[17]

D और L की प्रविष्टियों के लिए निम्नलिखित पुनरावर्ती संबंध प्रयुक्त होते हैं:

यह तब तक काम करता है जब तक D में उत्पन्न विकर्ण तत्व गैर-शून्य रहते हैं। अपघटन तब अद्वितीय है। यदि A वास्तविक है तो D और L वास्तविक हैं।

जटिल हर्मिटियन आव्यूह A के लिए, निम्न सूत्र प्रयुक्त होता है:

पुनः, अभिगम्य का पैटर्न वांछित होने पर पूरी गणना को उसी स्थान में करने की स्वीकृति देता है।

ब्लॉक संस्करण

जब अनिश्चित आव्यूह पर उपयोग किया जाता है, तो LDL* गुणनखंड सावधानीपूर्वक पिवट के बिना अस्थिर होने के लिए जाना जाता है;[18] विशेष रूप से, गुणनखंड के तत्व यादृच्छिक रूप से बढ़ सकते हैं। एक संभावित सुधार सामान्य रूप से 2 × 2 ब्लॉक उप-आव्यूह पर गुणनखंडन करना है:[19]

जहां उपरोक्त आव्यूह में प्रत्येक तत्व एक वर्ग उप-आव्यूह है। इससे, ये समान पुनरावर्ती संबंध अनुसरण करते हैं:

इसमें आव्यूह उत्पाद और स्पष्ट व्युत्क्रमण सम्मिलित है, इस प्रकार व्यावहारिक ब्लॉक आकार को सीमित करता है।

अपघटन को संशोधित करना

एक कार्य जो व्यवहार में प्रायः उत्पन्न होता है वह यह है कि किसी को चोलेस्की अपघटन को संशोधन करने की आवश्यकता होती है। अधिक विवरण में, किसी ने पहले ही कुछ आव्यूह के चोल्स्की अपघटन की गणना कर ली है, फिर कोई आव्यूह को बदल देता है किसी तरह से दूसरे आव्यूह में, मान लें कि , और कोई संशोधन आव्यूह के चोल्स्की अपघटन की गणना करना चाहता है। अब सवाल यह है कि क्या कोई के चॉलेस्की अपघटन का उपयोग कर सकता है, जिसकी गणना पहले के चॉलेस्की अपघटन की गणना करने के लिए की गई थी।

एक श्रेणी संशोधन

विशिष्ट स्थिति, जहां संशोधित आव्यूह आव्यूह द्वारा से संबंधित है, एक पद संशोधन के रूप में जाना जाता है।

यहां मैटलैब सिंटैक्स में लिखा गया एक फलन[20] है जो एक पद संशोधन को प्राप्त करता है:

function [L] = cholupdate(L, x)
    n = length(x);
    for k = 1:n
        r = sqrt(L(k, k)^2 + x(k)^2);
        c = r / L(k, k);
        s = x(k) / L(k, k);
        L(k, k) = r;
        if k < n
            L((k+1):n, k) = (L((k+1):n, k) + s * x((k+1):n)) / c;
            x((k+1):n) = c * x((k+1):n) - s * L((k+1):n, k);
        end
    end
end

एक श्रेणी-n संशोधन वह है जहां आव्यूह के लिए अपघटन को इस तरह संशोधित करता है। इसे के प्रत्येक कॉलम के लिए क्रमिक रूप से एक पद संशोधन करके इसे प्राप्त किया जा सकता है

एक श्रेणी डाउनडेट

एक पद डाउनडेट एक पद संशोधन के समान है, इसके अतिरिक्त जोड़ को व्यवकलन द्वारा प्रतिस्थापित किया जाता है। यह केवल तभी काम करता है जब नया आव्यूह अभी भी धनात्मक निश्चित है।

ऊपर दिखाए गए एक श्रेणी संशोधन के लिए कोड को एक पद डाउनडेट करने के लिए आसानी से अनुकूलित किया जा सकता है: किसी को केवल r और L((k+1):n, k) के समनुदेशन में दो अतिरिक्त को व्यवकलन द्वारा प्रतिस्थापित करने की आवश्यकता है।

रो और कॉलम को जोड़ना और हटाना

यदि हमारे पास एक सममित और धनात्मक निश्चित आव्यूह के रूप में ब्लॉक रूप में दर्शाया गया है

और इसका ऊपरी चॉल्स्की कारक

फिर एक नए आव्यूह के लिए, जो के समान है,लेकिन नई रो और कॉलम के सम्मिलन के साथ,

हम संपूर्ण अपघटन की प्रत्यक्ष गणना किए बिना ,के चॉलेस्की गुणनखंडन को खोजने में रुचि रखते हैं, जिसे हम कहते हैं।

के समाधान के लिए लिखना, जो त्रिभुजीय आव्यूह के लिए आसानी से पाया जा सकता है, और चोलस्की अपघटन के लिए, निम्नलिखित संबंध पाए जा सकते हैं:

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

ज्ञात चोल्स्की अपघटन के साथ

और चोल्स्की गुणन का निर्धारण करना चाहते हैं

आव्यूह का रो और कॉलम को हटाकर,

निम्नलिखित नियम उत्पन्न करता है:

ध्यान दें कि उपरोक्त सभी समीकरणों में एक नए आव्यूह के चोलस्की अपघटन को खोजना सम्मिलित है, जो उन्हें पूर्व अनुभाग में विस्तृत संशोधित और डाउनडेट प्रक्रियाओं का उपयोग करके कुशलतापूर्वक गणना करने की स्वीकृति देता है।[21]


धनात्मक अर्ध-निश्चित आव्यूह के लिए प्रमाण

सीमित तर्क द्वारा प्रमाण

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

यदि एक धनात्मक-निश्चित आव्यूह, फिर अनुक्रम धनात्मक-निश्चित आव्यूह के होते हैं। उदाहरण के लिए, यह बहुपद कार्यात्मक गणना के लिए वर्णक्रमीय मानचित्रण प्रमेय का एक तात्कालिक परिणाम है। साथ ही,

संक्रियक मानदंड में धनात्मक निश्चित स्थितियो से, प्रत्येक में चॉलेस्की अपघटन होता है। संक्रियक मानदंड की गुण के अनुसार,

h> इसलिए मान्य है क्योंकि संक्रियक मानदंड से सुसज्जित एक C* बीजगणित है। इसलिए संक्रियक के बनच समष्टि में एक परिबद्ध समुच्चय है, इसलिए अपेक्षाकृत सुसंहत है। क्योंकि अंतर्निहित सदिश समष्टि परिमित-आयामी है। परिणामस्वरूप, इसका एक अभिसारी परिणाम है, जिसे सीमा के साथ द्वारा भी निरूपित किया जाता है। यह आसानी से जांचा जा सकता है कि इस मे वांछित गुण हैं, अर्थात और सभी और के लिए गैर-ऋणात्मक विकर्ण प्रविष्टियों के साथ निम्न त्रिभुजीय है

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

QR अपघटन द्वारा प्रमाण

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

सामान्यीकरण

चॉलेस्की गुणनखंडन को संक्रियक प्रविष्टियों के साथ (आवश्यक रूप से सीमित नहीं) आव्यूहों में सामान्यीकृत किया जा सकता है[citation needed] मान लीजिए कि हिल्बर्ट समष्टि का एक क्रम है। संक्रियक आव्यूह पर विचार करें

प्रत्यक्ष योग पर कार्य करना

जहां प्रत्येक

एक परिबद्ध संकारक है। यदि A धनात्मक (अर्द्धपरिमित) इस अर्थ में है कि सभी परिमित k और किसी के लिए

हमारे पास है, तो एक निम्न त्रिभुजीय संक्रियक आव्यूह L सम्मिलित है जैसे कि A = LL* प्राप्त है। कोई भी L की विकर्ण प्रविष्टियों को धनात्मक मान सकता है।

प्रोग्रामिंग पुस्तकालयों में कार्यान्वयन

  • C प्रोग्रामिंग भाषा: जीएनयू वैज्ञानिक लाइब्रेरी चोल्स्की अपघटन के कई कार्यान्वयन प्रदान करती है।
  • अधिकतम (सॉफ्टवेयर) कंप्यूटर बीजगणित प्रणाली: फलन cholesky चोल्स्की अपघटन की गणना करता है।
  • जीएनयू ऑक्टेव संख्यात्मक संगणना प्रणाली एक चोल्स्की अपघटन की गणना, संशोधित और प्रयुक्त करने के लिए कई फलन प्रदान करता है।
  • लैपैक लाइब्रेरी चोलस्की अपघटन का एक उच्च प्रदर्शन कार्यान्वयन प्रदान करता है जिसे फोरट्रान, C (प्रोग्रामिंग भाषा) और अधिकांश भाषाओं से अभिगम्य किया जा सकता है।
  • पायथन (प्रोग्रामिंग भाषा) में, फलन cholesky से numpy.linalg मॉड्यूल चोल्स्की अपघटन करता है।
  • मैटलैब में, chol फलन चोलस्की अपघटन देता है। ध्यान दें कि chol डिफ़ॉल्ट रूप से निर्दिष्ट आव्यूह के ऊपरी त्रिभुजीय कारक का उपयोग करता है, अर्थात यह की गणना करता है,जहां उपरी त्रिकोण है। इसके अतिरिक्त निम्न त्रिभुजीय कारक का उपयोग करने के लिए एक चिन्ह पारित किया जा सकता है।
  • R (प्रोग्रामिंग भाषा) में, chol फलन चोलस्की अपघटन देता है।
  • जूलिया (प्रोग्रामिंग भाषा) में, cholesky फलन से LinearAlgebra मानक लाइब्रेरी चोलस्की अपघटन देता है।
  • गणित में, फलनCholeskyDecompositionआव्यूह पर प्रयुक्त किया जा सकता है।
  • C ++ में, कई रैखिक बीजगणित लाइब्रेरी इस अपघटन का समर्थन करते हैं:
    • अर्माडिलो (C++ लाइब्रेरी) अनुक्रम chol चोल्स्की अपघटन करने के लिए आपूर्ति करता है।
    • ईजेन लाइब्रेरी विरल और सघन दोनों प्रकार के आव्यूहों के लिए चॉलेस्की गुणनखंड प्रदान करता है।
    • रूट पैकेज में, TDecompChol वर्ग उपलब्ध है।
  • एनालिटिका (सॉफ्टवेयर) में, फलन Decompose चोल्स्की अपघटन देता है।
  • अपाचे सामान्य गणित लाइब्रेरी में एक कार्यान्वयन है जिसका उपयोग जावा, स्काला और किसी भी अन्य जेवीएम भाषा में किया जा सकता है।

यह भी देखें

टिप्पणियाँ

  1. Benoit (1924). "Note sur une méthode de résolution des équations normales provenant de l'application de la méthode des moindres carrés à un système d'équations linéaires en nombre inférieur à celui des inconnues (Procédé du Commandant Cholesky)". Bulletin Géodésique (in français). 2: 66–67. doi:10.1007/BF03031308.
  2. 2.0 2.1 Press, William H.; Saul A. Teukolsky; William T. Vetterling; Brian P. Flannery (1992). Numerical Recipes in C: The Art of Scientific Computing (second ed.). Cambridge University England EPress. p. 994. ISBN 0-521-43108-5. Retrieved 2009-01-28.
  3. Golub & Van Loan (1996, p. 143), Horn & Johnson (1985, p. 407), Trefethen & Bau (1997, p. 174).
  4. Horn & Johnson (1985, p. 407).
  5. "मैट्रिसेस - एक जटिल सममित मैट्रिक्स का विकर्णीकरण". MathOverflow. Retrieved 2020-01-25.
  6. Schabauer, Hannes; Pacher, Christoph; Sunderland, Andrew G.; Gansterer, Wilfried N. (2010-05-01). "सामान्यीकृत जटिल सममित eigenvalue समस्याओं के लिए एक समानांतर सॉल्वर की ओर". Procedia Computer Science. ICCS 2010 (in English). 1 (1): 437–445. doi:10.1016/j.procs.2010.04.047. ISSN 1877-0509.
  7. Golub & Van Loan (1996, p. 147).
  8. Gentle, James E. (1998). Numerical Linear Algebra for Applications in Statistics (in English). Springer. p. 94. ISBN 978-1-4612-0623-1.
  9. Higham, Nicholas J. (1990). "Analysis of the Cholesky Decomposition of a Semi-definite Matrix". In Cox, M. G.; Hammarling, S. J. (eds.). विश्वसनीय संख्यात्मक संगणना (in English). Oxford, UK: Oxford University Press. pp. 161–185. ISBN 978-0-19-853564-5.
  10. 10.0 10.1 Krishnamoorthy, Aravindh; Menon, Deepak (2011). "चॉल्स्की अपघटन का उपयोग करके मैट्रिक्स उलटा". 1111: 4144. arXiv:1111.4144. Bibcode:2011arXiv1111.4144K. {{cite journal}}: Cite journal requires |journal= (help)
  11. So, Anthony Man-Cho (2007). A Semidefinite Programming Approach to the Graph Realization Problem: Theory, Applications and Extensions (PDF) (PhD) (in English). Theorem 2.2.6.
  12. Golub & Van Loan (1996, Theorem 4.1.3)
  13. Arora, J.S. Introduction to Optimum Design (2004), p. 327. https://books.google.com/books?id=9FbwVe577xwC&pg=PA327
  14. Matlab randn documentation. mathworks.com.
  15. ?potrf Intel® Math Kernel Library [1]
  16. Fang, Haw-ren; O'Leary, Dianne P. (8 August 2006). "Modified Cholesky Algorithms: A Catalog with New Approaches" (PDF). {{cite journal}}: Cite journal requires |journal= (help)
  17. Watkins, D. (1991). मैट्रिक्स संगणना के मूल तत्व. New York: Wiley. p. 84. ISBN 0-471-61414-9.
  18. Nocedal, Jorge (2000). संख्यात्मक अनुकूलन. Springer.
  19. Fang, Haw-ren (24 August 2007). "सममित अनिश्चित मैट्रिक्स के लिए ब्लॉक एलडीएलटी फैक्टराइजेशन का विश्लेषण". {{cite journal}}: Cite journal requires |journal= (help)
  20. Based on: Stewart, G. W. (1998). Basic decompositions. Philadelphia: Soc. for Industrial and Applied Mathematics. ISBN 0-89871-414-1.
  21. Osborne, M. (2010), Appendix B.


संदर्भ


बाहरी संबंध

विज्ञान का इतिहास

  • रेखीय समीकरणों की प्रणालियों के संख्यात्मक विभेदन पर, चोल्स्की की 1910 की पांडुलिपि, ऑनलाइन और पर विश्लेषण - रैखिक बिबनम (in French and English) [for English, click 'A télécharger']


जानकारी

कंप्यूटर कोड

अनुकरण में आव्यूह का उपयोग

ऑनलाइन कैलकुलेटर


श्रेणी:संचालक सिद्धांत श्रेणी:मैट्रिक्स अपघटन श्रेणी:संख्यात्मक रैखिक बीजगणित श्रेणी:लेख उदाहरण के साथ MATLAB/Octave कोड