संयुग्म प्रवणता विधि: Difference between revisions
No edit summary |
No edit summary |
||
(13 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
{{Short description|Mathematical optimization algorithm}} | {{Short description|Mathematical optimization algorithm}} | ||
[[File:Conjugate gradient illustration.svg|right|thumb|किसी दिए गए रैखिक प्रणाली से जुड़े द्विघात समारोह को कम करने के लिए | [[File:Conjugate gradient illustration.svg|right|thumb|किसी दिए गए रैखिक प्रणाली से जुड़े द्विघात समारोह को कम करने के लिए प्रभावशाली चरण आकार (हरे रंग में) और संयुग्म सदिश (लाल रंग में) के साथ प्रवणता वंश के अभिसरण की तुलना होती है। संयुग्मी प्रवणता, त्रुटिहीन अंकगणित मानते हुए, अधिकांश n चरणों में अभिसरण करता है, जहाँ n प्रणाली के आव्यूह का आकार है (जंहा n = 2)।]]गणित में, संयुग्मी प्रवणता विधि रैखिक समीकरणों की विशेष प्रणाली के [[संख्यात्मक समाधान|संख्यात्मक व्याख्या]] के लिए [[कलन विधि]] है, जिसका आव्यूह [[सकारात्मक-निश्चित मैट्रिक्स|धनात्मक-निश्चित आव्यूह]] है। संयुग्मी प्रवणता पद्धति को अधिकांशतः पुनरावृत्त विधि के रूप में प्रयुक्त किया जाता है, जो [[विरल मैट्रिक्स|विरल आव्यूह]] प्रणाली पर प्रयुक्त होता है जो प्रत्यक्ष कार्यान्वयन या अन्य प्रत्यक्ष प्रणाली जैसे [[चोल्स्की अपघटन]] द्वारा नियंत्रित किया जा सकता है। आंशिक अंतर समीकरणों या अनुकूलन स्थितियों को संख्यात्मक रूप से हल करते समय बड़ी विरल प्रणालियां उत्पन्न होती हैं। | ||
संयुग्मी | संयुग्मी प्रवणता विधि का उपयोग [[ऊर्जा न्यूनीकरण]] जैसी अप्रतिबंधित [[गणितीय अनुकूलन]] स्थितियों को हल करने के लिए भी किया जा सकता है। यह सामान्यतः [[मैग्नस हेस्टेन्स]] और [[एडवर्ड बूट्स]] को जिम्मेदार प्रबन्धित किया जाता है,<ref>{{cite journal|last = Hestenes|author-link = Magnus Hestenes|first = Magnus R. |author2=Stiefel, Eduard |author-link2=Eduard Stiefel |title = Methods of Conjugate Gradients for Solving Linear Systems|journal = Journal of Research of the National Bureau of Standards|volume = 49|issue = 6|pages = 409|date=December 1952|doi=10.6028/jres.049.044|doi-access = free| url=http://nvlpubs.nist.gov/nistpubs/jres/049/6/V49.N06.A08.pdf}}</ref><ref>{{cite document |last=Straeter |first=T. A. |date=1971 |title=On the Extension of the Davidon–Broyden Class of Rank One, Quasi-Newton Minimization Methods to an Infinite Dimensional Hilbert Space with Applications to Optimal Control Problems |work=NASA Technical Reports Server |publisher=NASA |hdl=2060/19710026200 }}</ref> जिसने इसे [[Z4 (कंप्यूटर)]] पर प्रोग्राम किया,<ref>{{cite book |author-link=Ambros Speiser |last=Speiser |first=Ambros |trans-chapter=Konrad Zuse and the ERMETH: A worldwide comparison of architectures |chapter=Konrad Zuse und die ERMETH: Ein weltweiter Architektur-Vergleich |editor-first=Hans Dieter |editor-last=Hellige |title=Geschichten der Informatik. Visionen, Paradigmen, Leitmotive |location=Berlin |publisher=Springer |year=2004 |isbn=3-540-00217-0 |page=185 |language=de }}</ref> और इस पर गहन शोध किया था।<ref name="BP">{{cite book |author-link=Boris T. Polyak |last=Polyak |first=Boris |title=Introduction to Optimization |year=1987 |language=en |url=https://www.researchgate.net/publication/342978480 }}</ref><ref name="AG">{{cite book |author-link=Anne Greenbaum |last=Greenbaum |first=Anne |title=Iterative Methods for Solving Linear Systems |year=1997 |language=en |isbn=978-0898713961 |doi=10.1137/1.9781611970937 |url=https://doi.org/10.1137/1.9781611970937 }}</ref> | ||
संयुग्म प्रवणता विधि गैर-सममित आव्यूहों को सामान्यीकरण प्रदान करती है। विभिन्न अरैखिक संयुग्मी प्रवणता विधियाँ अरैखिक अनुकूलन स्थितियों की न्यूनतम खोज करती हैं। | |||
मान लीजिए हम रैखिक समीकरणों की प्रणाली को हल करना चाहते | == संयुग्म प्रवणता द्वारा संबोधित स्थिति का विवरण == | ||
मान लीजिए हम रैखिक समीकरणों की प्रणाली को हल करना चाहते हैं। | |||
:<math>\mathbf{A}\mathbf{x} = \mathbf{b}</math> | :<math>\mathbf{A}\mathbf{x} = \mathbf{b}</math> | ||
<math>\mathbf{x}</math>,सदिश के लिए जहां <math>n \times n</math> आव्यूह जाना जाता है तब <math>\mathbf{A}</math> [[सममित मैट्रिक्स|सममित आव्यूह]] (अर्थात, A<sup>T</sup> = A), धनात्मक-निश्चित आव्यूह है। धनात्मक-श्चित (अर्थात x<sup>T</sup>Ax > 0 सभी शून्येतर सदिशों के लिए <math>\mathbf{x}</math><sup>n</sup> r में), और [[वास्तविक संख्या]], और <math>\mathbf{b}</math> भी जाना जाता है। हम इस प्रणाली में <math>\mathbf{x}_*</math> के अद्वितीय व्याख्या को निरूपित करते हैं। | |||
== प्रत्यक्ष विधि के रूप में व्युत्पत्ति == | == प्रत्यक्ष विधि के रूप में व्युत्पत्ति == | ||
{{Main| | {{Main|संयुग्मी प्रवणता विधि की व्युत्पत्ति}} | ||
संयुग्मी प्रवणता पद्धति को कई | |||
संयुग्मी प्रवणता पद्धति को कई भिन्न-भिन्न दृष्टिकोणों से प्राप्त किया जा सकता है, जिसमें अनुकूलन के लिए संयुग्मी दिशा पद्धति की विशेषज्ञता और [[eigenvalue|एइगेन्वलुए]] स्थितियों के लिए अर्नोल्डी पुनरावृत्ति / एइगेन्लैंवलुएक्ज़ोस पुनरावृत्ति की भिन्नता सम्मलित है। उनके दृष्टिकोणों में अंतर के अतिरिक्त, ये व्युत्पत्ति सामान्य विषय को साझा करते हैं - अवशेषों की ओर्थोगोनलिटी और खोज दिशाओं की संयुग्मता को सिद्ध करते हैं। विधि के प्रसिद्ध संक्षिप्त सूत्रीकरण को विकसित करने के लिए ये दो गुण महत्वपूर्ण हैं। | |||
हम | हम कह सकते हैं कि दो शून्येतर सदिश u और v संयुग्मी हैं (<math>\mathbf{A}</math> के संबंध में) यदि | ||
:<math> \mathbf{u}^\mathsf{T} \mathbf{A} \mathbf{v} = 0. </math> | :<math> \mathbf{u}^\mathsf{T} \mathbf{A} \mathbf{v} = 0. </math> | ||
तब से <math>\mathbf{A}</math> सममित और | तब से <math>\mathbf{A}</math> सममित और धनात्मक-निश्चित है, बाएं हाथ की ओर [[आंतरिक उत्पाद स्थान]] को परिभाषित करता है। | ||
:<math> | :<math> | ||
Line 29: | Line 31: | ||
\langle \mathbf{u}, \mathbf{A}\mathbf{v}\rangle. | \langle \mathbf{u}, \mathbf{A}\mathbf{v}\rangle. | ||
</math> | </math> | ||
दो सदिश संयुग्मी हैं | यदि दो सदिश संयुग्मी हैं और वे इस आंतरिक उत्पाद के संबंध में ओर्थोगोनल हैं तब संयुग्मी होना सममित संबंध है, यदि <math>\mathbf{v}</math>, <math>\mathbf{u}</math> से संयुग्मित है तब <math>\mathbf{v}</math> से संयुग्मित <math>\mathbf{u}</math> है अर्थात् प्रतीत होता है कि | ||
:<math>P = \{ \mathbf{p}_1, \dots, \mathbf{p}_n \}</math> | :<math>P = \{ \mathbf{p}_1, \dots, \mathbf{p}_n \}</math> | ||
<math>n</math> के संबंध में पारस्परिक रूप से संयुग्मित सदिश <math>\mathbf{A}</math> है अर्थात। <math>\mathbf{p}_i^\mathsf{T} \mathbf{A} \mathbf{p}_j = 0</math> सभी के लिए <math>i \neq j</math>. का चयन है। | |||
तब <math>P</math> के लिए | |||
तब <math>P</math> के लिए <math>\mathbb{R}^n</math> [[आधार (रैखिक बीजगणित)]] बनाता है और हम <math>\mathbf{Ax} = \mathbf{b}</math> इस आधार पर <math>\mathbf{x}_*</math> की व्याख्या व्यक्त कर सकते हैं। | |||
:<math>\mathbf{x}_* = \sum^{n}_{i=1} \alpha_i \mathbf{p}_i \Rightarrow \mathbf{A} \mathbf{x}_* = \sum^{n}_{i=1} \alpha_i \mathbf{A} \mathbf{p}_i.</math> | :<math>\mathbf{x}_* = \sum^{n}_{i=1} \alpha_i \mathbf{p}_i \Rightarrow \mathbf{A} \mathbf{x}_* = \sum^{n}_{i=1} \alpha_i \mathbf{A} \mathbf{p}_i.</math> | ||
स्थिति को वाम-गुणा करना <math>\mathbf{Ax} = \mathbf{b}</math> सदिश के साथ <math>\mathbf{p}_k^\mathsf{T}</math> उत्पन्नवार | |||
:<math> | :<math> | ||
Line 44: | Line 47: | ||
= \sum^{n}_{i=1} \alpha_i \left \langle \mathbf{p}_k, \mathbf{p}_i \right \rangle_{\mathbf{A}} | = \sum^{n}_{i=1} \alpha_i \left \langle \mathbf{p}_k, \mathbf{p}_i \right \rangle_{\mathbf{A}} | ||
= \alpha_k \left \langle \mathbf{p}_k, \mathbf{p}_k \right \rangle_{\mathbf{A}} </math> | = \alpha_k \left \langle \mathbf{p}_k, \mathbf{p}_k \right \rangle_{\mathbf{A}} </math> | ||
अतः | |||
:<math>\alpha_k = \frac{\langle \mathbf{p}_k, \mathbf{b} \rangle}{\langle \mathbf{p}_k, \mathbf{p}_k \rangle_\mathbf{A}}.</math> | :<math>\alpha_k = \frac{\langle \mathbf{p}_k, \mathbf{b} \rangle}{\langle \mathbf{p}_k, \mathbf{p}_k \rangle_\mathbf{A}}.</math> | ||
यह निम्न विधि देता | यह निम्न विधि देता है।<ref name="BP" /> समीकरण को हल करने के लिए {{math|'''Ax''' {{=}} '''b'''}} का क्रम खोजें और <math>n</math> संयुग्मित दिशाएँ, और फिर <math>\alpha_k</math> गुणांकों की गणना करता है। | ||
== पुनरावृत्त विधि के रूप में == | == पुनरावृत्त विधि के रूप में == | ||
यदि हम संयुग्म | यदि हम संयुग्म सदिश <math>\mathbf{p}_k</math> के संरक्षण का चयन करते हैं, तब व्याख्या के लिए उचित सन्निकटन <math>\mathbf{x}_*</math> प्राप्त करने के लिए हमें उन सभी की आवश्यकता नहीं होती है अतः, हम संयुग्मी प्रवणता विधि को पुनरावृत्त विधि के रूप में मान लेते हैं। यह हमें उन प्रणालियों को हल करने की भी अनुमति देता है जहाँ n इतना बड़ा है कि प्रत्यक्ष विधि में बहुत अधिक समय लगता है। | ||
हम | हम {{math|'''x'''<sub>∗</sub>}} द्वारा {{math|'''x'''<sub>0</sub>}} (हम सामान्यता की हानि के बिना मान सकते हैं कि {{math|'''x'''<sub>0</sub> {{=}} '''0'''}}, अन्यथा प्रणाली Az = b - Ax<sub>0</sub> पर विचार करें अतिरिक्त) के लिए प्रारंभिक अनुमान निरूपित करते हैं। {{math|'''x'''<sub>0</sub>}} से प्रारंभ होने पर हम व्याख्या की खोज की जाती हैं और प्रत्येक पुनरावृत्ति में हमें यह व्यक्त करने के लिए मीट्रिक की आवश्यकता होती है कि क्या हम व्याख्या {{math|'''x'''<sub>∗</sub>}} के समीप हैं (यह हमारे लिए अज्ञात है)। यह मीट्रिक इस तथ्य से आता है कि व्याख्या {{math|'''x'''<sub>∗</sub>}} निम्नलिखित द्विघात फलन का अद्वितीय न्यूनतमकारक भी है। | ||
:<math> | :<math> | ||
f(\mathbf{x}) = \tfrac12 \mathbf{x}^\mathsf{T} \mathbf{A}\mathbf{x} - \mathbf{x}^\mathsf{T} \mathbf{b}, \qquad \mathbf{x}\in\mathbf{R}^n \,. | f(\mathbf{x}) = \tfrac12 \mathbf{x}^\mathsf{T} \mathbf{A}\mathbf{x} - \mathbf{x}^\mathsf{T} \mathbf{b}, \qquad \mathbf{x}\in\mathbf{R}^n \,. | ||
</math> | </math> | ||
अद्वितीय न्यूनतम का अस्तित्व स्पष्ट है क्योंकि इसके दूसरे व्युत्पन्न का [[हेसियन मैट्रिक्स|हेसियन आव्यूह]] सममित धनात्मक-निश्चित है। | |||
:<math> | :<math> | ||
\mathbf{H}(f(\mathbf{x})) = \mathbf{A} \,, | \mathbf{H}(f(\mathbf{x})) = \mathbf{A} \,, | ||
</math> | </math> | ||
और यह कि | और यह कि न्यूनतम (उपयोग Df('x')=0) प्रारंभिक स्थिति को इसके प्रथम व्युत्पन्न से हल करता है। | ||
:<math> | :<math> | ||
\nabla f(\mathbf{x}) = \mathbf{A} \mathbf{x} - \mathbf{b} \,. | \nabla f(\mathbf{x}) = \mathbf{A} \mathbf{x} - \mathbf{b} \,. | ||
</math> | </math> | ||
यह प्रथम आधार सदिश P<sub>0</sub> लेने का प्रस्ताव देता है और 'x<sub>0</sub>' = 'x<sub>0</sub>' पर f की प्रवणता का ऋणात्मक होता है जिससे f की प्रवणता समान्तर होती है {{math|'''Ax''' − '''b'''}}. प्रारंभिक अनुमान x<sub>0</sub> से प्रारंभ किया जाता है इसका तात्पर्य है कि हम P<sub>0</sub> = B- x लेते हैं जिसके आधार में अन्य सदिश प्रवणता के संयुग्मित होंगे अतः इसका नाम संयुग्म प्रवणता विधि है। यहाँ पर ध्यान दें कि 'P'<sub>0</sub> एल्गोरिथम (कलन विधि) के इस प्रारंभिक चरण द्वारा प्रदान किया गया [[अवशिष्ट (संख्यात्मक विश्लेषण)]] भी है। | |||
अतः r<sub>''k''</sub> kवें चरण में अवशिष्ट (संख्यात्मक विश्लेषण) होता है। | |||
:<math> \mathbf{r}_k = \mathbf{b} - \mathbf{Ax}_k.</math> | :<math> \mathbf{r}_k = \mathbf{b} - \mathbf{Ax}_k.</math> | ||
जैसा कि ऊपर देखा गया है, <math>\mathbf{r}_k</math> की ऋणात्मक प्रवणता | जैसा कि ऊपर देखा गया है, <math>\mathbf{r}_k</math> की ऋणात्मक प्रवणता <math>\mathbf{x}_k</math> है,अतः प्रवणता अवतरण विधि को दिशा r<sub>''k''</sub> में स्थानांतरित करने की आवश्यकता होगी चूंकि, हम कह सकते हैं कि निर्देश <math>\mathbf{p}_k</math> दूसरे से संयुग्मित होना चाहिए। इसे प्रयुक्त करने के लिए व्यावहारिक विधि यह है कि वर्तमान अवशिष्ट और सभी पिछली खोज दिशाओं से अगली खोज दिशा बनाई जाए। जो संयुग्मन बाधा ऑर्थोनॉर्मल-प्रकार की बाधा है अतः एल्गोरिथम (कलन विधि) को ग्राम-श्मिट प्रक्रिया के उदाहरण के रूप में देखा जाता है। ग्राम-श्मिट ऑर्थोनॉर्मलाइज़ेशन के माध्यम से निम्नलिखित अभिव्यक्ति देता है। | ||
:<math>\mathbf{p}_{k} = \mathbf{r}_{k} - \sum_{i < k}\frac{\mathbf{p}_i^\mathsf{T} \mathbf{A} \mathbf{r}_{k}}{\mathbf{p}_i^\mathsf{T}\mathbf{A} \mathbf{p}_i} \mathbf{p}_i</math> | :<math>\mathbf{p}_{k} = \mathbf{r}_{k} - \sum_{i < k}\frac{\mathbf{p}_i^\mathsf{T} \mathbf{A} \mathbf{r}_{k}}{\mathbf{p}_i^\mathsf{T}\mathbf{A} \mathbf{p}_i} \mathbf{p}_i</math> | ||
(अभिसरण पर संयुग्मन बाधा के प्रभाव के लिए लेख के शीर्ष पर चित्र देखें)। इस दिशा का पालन करते हुए | (अभिसरण पर संयुग्मन बाधा के प्रभाव के लिए लेख के शीर्ष पर चित्र देखें)। इस दिशा का पालन करते हुए अगला प्रभावशाली स्थान दिया गया है। | ||
:<math> \mathbf{x}_{k+1} = \mathbf{x}_k + \alpha_k \mathbf{p}_k </math> | :<math> \mathbf{x}_{k+1} = \mathbf{x}_k + \alpha_k \mathbf{p}_k </math> | ||
साथ | जिसके साथ | ||
:<math> \alpha_{k} = \frac{\mathbf{p}_k^\mathsf{T} (\mathbf{b} - \mathbf{Ax}_k )}{\mathbf{p}_k^\mathsf{T} \mathbf{A} \mathbf{p}_k} = \frac{\mathbf{p}_{k}^\mathsf{T} \mathbf{r}_{k}}{\mathbf{p}_{k}^\mathsf{T} \mathbf{A} \mathbf{p}_{k}}, </math> | :<math> \alpha_{k} = \frac{\mathbf{p}_k^\mathsf{T} (\mathbf{b} - \mathbf{Ax}_k )}{\mathbf{p}_k^\mathsf{T} \mathbf{A} \mathbf{p}_k} = \frac{\mathbf{p}_{k}^\mathsf{T} \mathbf{r}_{k}}{\mathbf{p}_{k}^\mathsf{T} \mathbf{A} \mathbf{p}_{k}}, </math> | ||
जहां अंतिम समानता | जहां अंतिम समानता <math>\mathbf{r}_k</math> की परिभाषा होती है। | ||
जिसके लिए अभिव्यक्ति <math> \alpha_k </math> व्युत्पन्न किया जा सकता है यदि कोई x<sub>''k''+1</sub> के लिए अभिव्यक्ति को प्रतिस्थापित करता है तब f और में और <math> \alpha_k </math> इसके संबंध में इसे कार्य करना होता है | |||
:<math> | :<math> | ||
\begin{align} | \begin{align} | ||
Line 88: | Line 90: | ||
\end{align} | \end{align} | ||
</math> | </math> | ||
=== परिणामी एल्गोरिथ्म === | === परिणामी एल्गोरिथ्म === | ||
उपरोक्त एल्गोरिथम संयुग्मी प्रवणता विधि की सबसे सरल व्याख्या देता है। प्रतीत होता है, | उपरोक्त एल्गोरिथम (कलन विधि) संयुग्मी प्रवणता विधि की सबसे सरल व्याख्या देता है। जैसा कि कहा जाता है जिससे प्रतीत होता है, कि एल्गोरिदम को सभी पिछली खोज दिशाओं और अवशेष सदिशों के साथ-साथ कई आव्यूह-सदिश गुणाओं के भंडारण की आवश्यकता होती है और इस प्रकार कम्प्यूटेशनल रूप में मूल्यवान हो सकता है। चूँकि, एल्गोरिथम (कलन विधि) के समीप विश्लेषण से पता चलता है <math>\mathbf{r}_i</math> और <math>\mathbf{r}_j</math> यह ओर्थोगोनल है अर्थात। <math>\mathbf{r}_i^\mathsf{T} \mathbf{r}_j=0 </math> ,i ≠ j के लिए <math>\mathbf{p}_i</math>है। <math>\mathbf{A}</math>-ऑर्थोगोनल यह <math>\mathbf{p}_j</math> , अर्थात। <math>\mathbf{p}_i^\mathsf{T} \mathbf{A} \mathbf{p}_j=0 </math> , के लिए <math>i \neq j</math>. यह माना जा सकता है कि जैसे-जैसे एल्गोरिथम (कलन विधि) आगे बढ़ता है, <math>\mathbf{p}_i</math> और <math>\mathbf{r}_i</math> ही क्रायलोव उप-क्षेत्र में फैला हुआ है। जंहा <math>\mathbf{r}_i</math> मानक आंतरिक उत्पाद के संबंध में ऑर्थोगोनल आधार बनाते हैं, और <math>\mathbf{p}_i</math> द्वारा प्रेरित आंतरिक उत्पाद के संबंध में <math>\mathbf{A}</math> ऑर्थोगोनल आधार बनाते हैं अतः,<math>\mathbf{x}</math> क्रायलोव उपक्षेत्र पर <math>\mathbf{x}_k</math> का प्रक्षेपण माना जा सकता है। | ||
Ax = b को हल करने के लिए एल्गोरिथम का विवरण नीचे दिया गया है <math>\mathbf{A}</math> | Ax = b को हल करने के लिए एल्गोरिथम (कलन विधि) का विवरण नीचे दिया गया है <math>\mathbf{A}</math> वास्तविक, सममित, धनात्मक-निश्चित आव्यूह है। निवेश सदिश <math>\mathbf{x}_0</math> अनुमानित प्रारंभिक व्याख्या या 0 हो सकता है। यह ऊपर वर्णित त्रुटिहीन प्रक्रिया का अलग सूत्रीकरण है। | ||
:<math>\begin{align} | :<math>\begin{align} | ||
Line 111: | Line 111: | ||
& \text{return } \mathbf{x}_{k+1} \text{ as the result} | & \text{return } \mathbf{x}_{k+1} \text{ as the result} | ||
\end{align}</math> | \end{align}</math> | ||
यह सबसे अधिक उपयोग किया जाने वाला | यह सबसे अधिक उपयोग किया जाने वाला प्रारूप है। इसके लिए {{mvar|β<sub>k</sub>}} सूत्र है जिसमे फ्लेचर-रीव्स अरेखीय संयुग्म प्रवणता विधि में भी प्रयोग किया जाता है। | ||
====पुनरारंभ ==== | ====पुनरारंभ ==== | ||
हमने | हमने यह ज्ञात किया कि <math>\mathbf{x}_{1}</math> प्रवणता के अलग रेखा के व्याख्या प्रणाली विधि द्वारा <math>\mathbf{x}_{0}</math> गणना की जाती है इसको स्थिर करने के लिए <math>\beta_{k}=0</math> इसी तरह <math>\mathbf{x}_{k+1}</math> बना देगा। प्रवणता के अलग रेखा के व्याख्या प्रणाली विधि द्वारा <math>\mathbf{x}_{k}</math> की गणना गई अर्थात, संयुग्म प्रवणता पुनरावृत्तियों के पुनरारंभ के सरल कार्यान्वयन के रूप में उपयोग किया जा सकता है।<ref name="BP" /> पुनर्प्रारंभ अभिसरण को मंद करता है लेकिन स्थिरता में सुधार कर सकता है यदि संयुग्मी प्रवणता विधि गलत व्यवहार करती है, उदाहरण के लिए, पूर्णांक करने की त्रुटि का कारण इत्यादि। | ||
==== स्पष्ट अवशिष्ट गणना ==== | ==== स्पष्ट अवशिष्ट गणना ==== | ||
सूत्र <math>\mathbf{x}_{k+1} := \mathbf{x}_k + \alpha_k \mathbf{p}_k</math> और <math>\mathbf{r}_k := \mathbf{b} - \mathbf{A x}_k</math>, जो दोनों | सूत्र <math>\mathbf{x}_{k+1} := \mathbf{x}_k + \alpha_k \mathbf{p}_k</math> और <math>\mathbf{r}_k := \mathbf{b} - \mathbf{A x}_k</math>, जो दोनों त्रुटिहीन अंकगणित में धारण करते हैं और यह सूत्र बनाते हैं <math>\mathbf{r}_{k+1} := \mathbf{r}_k - \alpha_k \mathbf{A p}_k</math> और <math>\mathbf{r}_{k+1} := \mathbf{b} - \mathbf{A x}_{k+1}</math> गणितीय समकक्ष पूर्व का उपयोग एल्गोरिथम (कलन विधि) में अतिरिक्त गुणन से बचने के लिए किया जाता है <math>\mathbf{A}</math> सदिश के पश्चात् से <math>\mathbf{A p}_k</math> मूल्यांकन के लिए पहले से ही गणना की गई है <math>\alpha_k</math>. उत्तरार्द्ध अधिक त्रुटिहीन हो सकता है, जो स्पष्ट गणना को प्रतिस्थापित कर सकता है <math>\mathbf{r}_{k+1} := \mathbf{b} - \mathbf{A x}_{k+1}</math> निहित के लिए पुनरावर्ती त्रुटि संचय के अधीन है और इस प्रकार सामयिक मूल्यांकन के लिए अनुशंसित है।<ref>{{cite book | first=Jonathan R | last=Shewchuk |title=An Introduction to the Conjugate Gradient Method Without the Agonizing Pain |year=1994 |url=http://www.cs.cmu.edu/~quake-papers/painless-conjugate-gradient.pdf }}</ref> | ||
अवशिष्ट का | |||
अवशिष्ट का मानदंड सामान्यतः मानदंडों को रोकने के लिए उपयोग किया जाता है। स्पष्ट अवशिष्ट का मानदंड <math>\mathbf{r}_{k+1} := \mathbf{b} - \mathbf{A x}_{k+1}</math> त्रुटिहीन अंकगणित और गोलाई त्रुटियों की उपस्थिति में त्रुटिहीनता का गारंटीकृत स्तर प्रदान करता है, जहां अभिसरण स्वाभाविक रूप से स्थिर हो जाता है। इसके विपरीत, निहित अवशिष्ट <math>\mathbf{r}_{k+1} := \mathbf{r}_k - \alpha_k \mathbf{A p}_k</math> गोलाई त्रुटियों के स्तर से अधिक नीचे आयाम में लघु होता रहता है और इस प्रकार अभिसरण के ठहराव को निर्धारित करने के लिए उपयोग नहीं किया जाता है। | |||
==== अल्फा और बीटा की गणना ==== | ==== अल्फा और बीटा की गणना ==== | ||
एल्गोरिथ्म में, {{mvar|α<sub>k</sub>}} ऐसा चुना जाता है <math>\mathbf{r}_{k+1}</math> यह ओर्थोगोनल है <math>\mathbf{r}_{k}</math>. भाजक से सरलीकृत किया गया | एल्गोरिथ्म में, {{mvar|α<sub>k</sub>}} ऐसा चुना जाता है <math>\mathbf{r}_{k+1}</math> यह ओर्थोगोनल है <math>\mathbf{r}_{k}</math>. भाजक से सरलीकृत किया गया है। | ||
:<math>\alpha_k = \frac{\mathbf{r}_{k}^\mathsf{T} \mathbf{r}_{k}}{\mathbf{r}_{k}^\mathsf{T} \mathbf{A} \mathbf{p}_k} = \frac{\mathbf{r}_k^\mathsf{T} \mathbf{r}_k}{\mathbf{p}_k^\mathsf{T} \mathbf{A p}_k} </math> | :<math>\alpha_k = \frac{\mathbf{r}_{k}^\mathsf{T} \mathbf{r}_{k}}{\mathbf{r}_{k}^\mathsf{T} \mathbf{A} \mathbf{p}_k} = \frac{\mathbf{r}_k^\mathsf{T} \mathbf{r}_k}{\mathbf{p}_k^\mathsf{T} \mathbf{A p}_k} </math> | ||
तब से <math>\mathbf{r}_{k+1} = \mathbf{p}_{k+1}-\mathbf{\beta}_{k}\mathbf{p}_{k}</math>. {{mvar|β<sub>k</sub>}} }} ऐसा चुना जाता है कि <math>\mathbf{p}_{k+1}</math> से संयुग्मित है <math>\mathbf{p}_{k}</math>. प्रारंभ में, {{mvar|β<sub>k</sub>}} | तब से <math>\mathbf{r}_{k+1} = \mathbf{p}_{k+1}-\mathbf{\beta}_{k}\mathbf{p}_{k}</math>. {{mvar|β<sub>k</sub>}} }} ऐसा चुना जाता है कि <math>\mathbf{p}_{k+1}</math> से संयुग्मित है <math>\mathbf{p}_{k}</math>. प्रारंभ में, {{mvar|β<sub>k</sub>}} है। | ||
:<math>\beta_k = - \frac{\mathbf{r}_{k+1}^\mathsf{T} \mathbf{A} \mathbf{p}_k}{\mathbf{p}_k^\mathsf{T} \mathbf{A} \mathbf{p}_k}</math> | :<math>\beta_k = - \frac{\mathbf{r}_{k+1}^\mathsf{T} \mathbf{A} \mathbf{p}_k}{\mathbf{p}_k^\mathsf{T} \mathbf{A} \mathbf{p}_k}</math> | ||
Line 133: | Line 134: | ||
<math> \mathbf{A} \mathbf{p}_{k} = \frac{1}{\alpha_{k}} (\mathbf{r}_{k} - \mathbf{r}_{k+1}), </math> | <math> \mathbf{A} \mathbf{p}_{k} = \frac{1}{\alpha_{k}} (\mathbf{r}_{k} - \mathbf{r}_{k+1}), </math> | ||
का अंश {{mvar|β<sub>k</sub>}} के रूप में पुनः लिखा जाता | |||
का अंश {{mvar|β<sub>k</sub>}} के रूप में पुनः लिखा जाता है। | |||
:<math> \mathbf{r}_{k+1}^\mathsf{T} \mathbf{A} \mathbf{p}_k = \frac{1}{\alpha_k} \mathbf{r}_{k+1}^\mathsf{T} (\mathbf{r}_k - \mathbf{r}_{k+1}) = - \frac{1}{\alpha_k} \mathbf{r}_{k+1}^\mathsf{T} \mathbf{r}_{k+1} </math> | :<math> \mathbf{r}_{k+1}^\mathsf{T} \mathbf{A} \mathbf{p}_k = \frac{1}{\alpha_k} \mathbf{r}_{k+1}^\mathsf{T} (\mathbf{r}_k - \mathbf{r}_{k+1}) = - \frac{1}{\alpha_k} \mathbf{r}_{k+1}^\mathsf{T} \mathbf{r}_{k+1} </math> | ||
क्योंकि <math>\mathbf{r}_{k+1}</math> और <math>\mathbf{r}_{k}</math> डिजाइन द्वारा ओर्थोगोनल हैं। भाजक को फिर से लिखा जाता | क्योंकि <math>\mathbf{r}_{k+1}</math> और <math>\mathbf{r}_{k}</math> डिजाइन द्वारा ओर्थोगोनल हैं। भाजक को फिर से लिखा जाता है। | ||
:<math> \mathbf{p}_k^\mathsf{T} \mathbf{A} \mathbf{p}_k = (\mathbf{r}_k + \beta_{k-1} \mathbf{p}_{k-1})^\mathsf{T} \mathbf{A} \mathbf{p}_k = \frac{1}{\alpha_k} \mathbf{r}_k^\mathsf{T} (\mathbf{r}_k - \mathbf{r}_{k+1}) = \frac{1}{\alpha_k} \mathbf{r}_k^\mathsf{T} \mathbf{r}_k </math> | :<math> \mathbf{p}_k^\mathsf{T} \mathbf{A} \mathbf{p}_k = (\mathbf{r}_k + \beta_{k-1} \mathbf{p}_{k-1})^\mathsf{T} \mathbf{A} \mathbf{p}_k = \frac{1}{\alpha_k} \mathbf{r}_k^\mathsf{T} (\mathbf{r}_k - \mathbf{r}_{k+1}) = \frac{1}{\alpha_k} \mathbf{r}_k^\mathsf{T} \mathbf{r}_k </math> | ||
इसका उपयोग करते हुए खोज दिशाएँ p<sub>''k''</sub> संयुग्मित हैं और फिर से अवशिष्ट ऑर्थोगोनल हैं। यह | इसका उपयोग करते हुए खोज दिशाएँ p<sub>''k''</sub> संयुग्मित हैं और फिर से अवशिष्ट ऑर्थोगोनल हैं। यह {{mvar|β}} देता है और एल्गोरिथ्म {{mvar|α<sub>k</sub>}}. में रद्द करने के पश्चात् कार्य करता है। | ||
====मैटलैब / जीएनयू ऑक्टेव में उदाहरण कोड ==== | |||
==== | ==== कार्य एक्स = कंजग्रेड (ए, बी, एक्स) ==== | ||
function x = conjgrad(A, b, x) | |||
r = b - A * x; | |||
p = r; | |||
rsold = r' * r; | |||
for i = 1:length(b) | |||
Ap = A * p; | |||
alpha = rsold / (p' * Ap); | |||
x = x + alpha * p; | |||
r = r - alpha * Ap; | |||
rsnew = r' * r; | |||
if sqrt(rsnew) < 1e-10 | |||
break | |||
end | |||
p = r + (rsnew / rsold) * p; | |||
rsold = rsnew; | |||
end | |||
=== संख्यात्मक उदाहरण === | === संख्यात्मक उदाहरण === | ||
द्वारा दी गई रैखिक प्रणाली Ax = b पर विचार | द्वारा दी गई रैखिक प्रणाली Ax = b पर विचार करें। | ||
:<math>\mathbf{A} \mathbf{x}= \begin{bmatrix} 4 & 1 \\ 1 & 3 \end{bmatrix} \begin{bmatrix} x_1 \\ x_2 \end{bmatrix} = \begin{bmatrix} 1 \\ 2 \end{bmatrix},</math> | :<math>\mathbf{A} \mathbf{x}= \begin{bmatrix} 4 & 1 \\ 1 & 3 \end{bmatrix} \begin{bmatrix} x_1 \\ x_2 \end{bmatrix} = \begin{bmatrix} 1 \\ 2 \end{bmatrix},</math> | ||
हम प्रारंभिक अनुमान से शुरुआत करते हुए संयुग्मी | हम प्रारंभिक अनुमान से शुरुआत करते हुए संयुग्मी प्रवणता विधि के दो चरण करेंगे। | ||
:<math>\mathbf{x}_0 = \begin{bmatrix} 2 \\ 1 \end{bmatrix}</math> | :<math>\mathbf{x}_0 = \begin{bmatrix} 2 \\ 1 \end{bmatrix}</math> | ||
प्रणाली के लिए | प्रणाली के लिए अनुमानित व्याख्या खोजने के लिए। | ||
==== उपाय ==== | ==== उपाय ==== | ||
संदर्भ के लिए, | संदर्भ के लिए, त्रुटिहीन व्याख्या है। | ||
:<math> \mathbf{x} = \begin{bmatrix} \frac{1}{11} \\\\ \frac{7}{11} \end{bmatrix} \approx \begin{bmatrix} 0.0909 \\\\ 0.6364 \end{bmatrix}</math> | :<math> \mathbf{x} = \begin{bmatrix} \frac{1}{11} \\\\ \frac{7}{11} \end{bmatrix} \approx \begin{bmatrix} 0.0909 \\\\ 0.6364 \end{bmatrix}</math> | ||
हमारा पहला कदम अवशिष्ट सदिश r | हमारा पहला कदम अवशिष्ट सदिश r<sub>0</sub> की गणना करता है जो x<sub>0</sub> से जुड़ा हुआ है इस अवशिष्ट की गणना सूत्र r से की जाती है r<sub>0</sub> = b- x<sub>0</sub>, और हमारे स्थितियों में k समान्तर होता है। | ||
:<math>\mathbf{r}_0 = \begin{bmatrix} 1 \\ 2 \end{bmatrix} - | :<math>\mathbf{r}_0 = \begin{bmatrix} 1 \\ 2 \end{bmatrix} - | ||
Line 182: | Line 184: | ||
\begin{bmatrix} 2 \\ 1 \end{bmatrix} = | \begin{bmatrix} 2 \\ 1 \end{bmatrix} = | ||
\begin{bmatrix}-8 \\ -3 \end{bmatrix} = \mathbf{p}_0.</math> | \begin{bmatrix}-8 \\ -3 \end{bmatrix} = \mathbf{p}_0.</math> | ||
चूंकि यह | चूंकि यह प्रथम पुनरावृत्ति है, हम अवशिष्ट सदिश r<sub>0</sub> का उपयोग करेंगे हमारी प्रारंभिक खोज दिशा p<sub>0</sub> के रूप में p<sub>''k''</sub> चुनने की विधि में आगे के पुनरावृत्तियों में परिवर्तित हो जाएगा। | ||
अब हम स्केलर की गणना करते हैं {{math|''α''<sub>0</sub>}} संबंध का उपयोग करना | अब हम स्केलर की गणना करते हैं {{math|''α''<sub>0</sub>}} संबंध का उपयोग करना | ||
:<math> \alpha_0 = \frac{\mathbf{r}_0^\mathsf{T} \mathbf{r}_0}{\mathbf{p}_0^\mathsf{T} \mathbf{A p}_0} = \frac{\begin{bmatrix} -8 & -3 \end{bmatrix} \begin{bmatrix} -8 \\ -3 \end{bmatrix}}{ \begin{bmatrix} -8 & -3 \end{bmatrix} \begin{bmatrix} 4 & 1 \\ 1 & 3 \end{bmatrix} \begin{bmatrix} -8 \\ -3 \end{bmatrix} } =\frac{73}{331}\approx0.2205</math> | :<math> \alpha_0 = \frac{\mathbf{r}_0^\mathsf{T} \mathbf{r}_0}{\mathbf{p}_0^\mathsf{T} \mathbf{A p}_0} = \frac{\begin{bmatrix} -8 & -3 \end{bmatrix} \begin{bmatrix} -8 \\ -3 \end{bmatrix}}{ \begin{bmatrix} -8 & -3 \end{bmatrix} \begin{bmatrix} 4 & 1 \\ 1 & 3 \end{bmatrix} \begin{bmatrix} -8 \\ -3 \end{bmatrix} } =\frac{73}{331}\approx0.2205</math> | ||
अब हम x | अब हम x<sub>1</sub> की गणना कर सकते हैं, सूत्र का उपयोग करना | ||
:<math>\mathbf{x}_1 = \mathbf{x}_0 + \alpha_0\mathbf{p}_0 = \begin{bmatrix} 2 \\ 1 \end{bmatrix} + \frac{73}{331} \begin{bmatrix} -8 \\ -3 \end{bmatrix} \approx \begin{bmatrix} 0.2356 \\ 0.3384 \end{bmatrix}.</math> | :<math>\mathbf{x}_1 = \mathbf{x}_0 + \alpha_0\mathbf{p}_0 = \begin{bmatrix} 2 \\ 1 \end{bmatrix} + \frac{73}{331} \begin{bmatrix} -8 \\ -3 \end{bmatrix} \approx \begin{bmatrix} 0.2356 \\ 0.3384 \end{bmatrix}.</math> | ||
यह परिणाम | यह परिणाम प्रथम पुनरावृत्ति को पूरा करता है, परिणाम प्रणाली के लिए उत्तम अनुमानित व्याख्या है, x<sub>1</sub> अब हम आगे बढ़ सकते हैं और अगले अवशिष्ट सदिश r<sub>1</sub> की गणना कर सकते हैं सूत्र का उपयोग करना | ||
:<math>\mathbf{r}_1 = \mathbf{r}_0 - \alpha_0 \mathbf{A} \mathbf{p}_0 = \begin{bmatrix} -8 \\ -3 \end{bmatrix} - \frac{73}{331} \begin{bmatrix} 4 & 1 \\ 1 & 3 \end{bmatrix} \begin{bmatrix} -8 \\ -3 \end{bmatrix} \approx \begin{bmatrix} -0.2810 \\ 0.7492 \end{bmatrix}.</math> | :<math>\mathbf{r}_1 = \mathbf{r}_0 - \alpha_0 \mathbf{A} \mathbf{p}_0 = \begin{bmatrix} -8 \\ -3 \end{bmatrix} - \frac{73}{331} \begin{bmatrix} 4 & 1 \\ 1 & 3 \end{bmatrix} \begin{bmatrix} -8 \\ -3 \end{bmatrix} \approx \begin{bmatrix} -0.2810 \\ 0.7492 \end{bmatrix}.</math> | ||
इस प्रक्रिया में हमारा अगला कदम स्केलर की गणना करना है {{math|''β''<sub>0</sub>}} जिसका उपयोग अंततः अगली खोज दिशा p | इस प्रक्रिया में हमारा अगला कदम स्केलर की गणना करना है {{math|''β''<sub>0</sub>}} जिसका उपयोग अंततः अगली खोज दिशा p<sub>1</sub> निर्धारित करने के लिए किया जाएगा। | ||
:<math>\beta_0 = \frac{\mathbf{r}_1^\mathsf{T} \mathbf{r}_1}{\mathbf{r}_0^\mathsf{T} \mathbf{r}_0} \approx \frac{\begin{bmatrix} -0.2810 & 0.7492 \end{bmatrix} \begin{bmatrix} -0.2810 \\ 0.7492 \end{bmatrix}}{\begin{bmatrix} -8 & -3 \end{bmatrix} \begin{bmatrix} -8 \\ -3 \end{bmatrix}} = 0.0088.</math> | :<math>\beta_0 = \frac{\mathbf{r}_1^\mathsf{T} \mathbf{r}_1}{\mathbf{r}_0^\mathsf{T} \mathbf{r}_0} \approx \frac{\begin{bmatrix} -0.2810 & 0.7492 \end{bmatrix} \begin{bmatrix} -0.2810 \\ 0.7492 \end{bmatrix}}{\begin{bmatrix} -8 & -3 \end{bmatrix} \begin{bmatrix} -8 \\ -3 \end{bmatrix}} = 0.0088.</math> | ||
अब इस अदिश | अब इस अदिश {{math|''β''<sub>0</sub>}} का उपयोग करते हुए हम अगली खोज दिशा p<sub>1</sub> की गणना कर सकते हैं संबंध का उपयोग करना | ||
:<math>\mathbf{p}_1 = \mathbf{r}_1 + \beta_0 \mathbf{p}_0 \approx \begin{bmatrix} -0.2810 \\ 0.7492 \end{bmatrix} + 0.0088 \begin{bmatrix} -8 \\ -3 \end{bmatrix} = \begin{bmatrix} -0.3511 \\ 0.7229 \end{bmatrix}.</math> | :<math>\mathbf{p}_1 = \mathbf{r}_1 + \beta_0 \mathbf{p}_0 \approx \begin{bmatrix} -0.2810 \\ 0.7492 \end{bmatrix} + 0.0088 \begin{bmatrix} -8 \\ -3 \end{bmatrix} = \begin{bmatrix} -0.3511 \\ 0.7229 \end{bmatrix}.</math> | ||
अब हम स्केलर की गणना करते हैं {{math|''α''<sub>1</sub>}} हमारे नए अधिग्रहीत | अब हम स्केलर की गणना करते हैं {{math|''α''<sub>1</sub>}} हमारे नए अधिग्रहीत p<sub>1</sub> का उपयोग करने के लिए जिस विधि का उपयोग किया जाता है उसी विधि का {{math|''α''<sub>0</sub>}}. में उपयोग करना | ||
:<math> \alpha_1 = \frac{\mathbf{r}_1^\mathsf{T} \mathbf{r}_1}{\mathbf{p}_1^\mathsf{T} \mathbf{A p}_1} \approx \frac{\begin{bmatrix} -0.2810 & 0.7492 \end{bmatrix} \begin{bmatrix} -0.2810 \\ 0.7492 \end{bmatrix}}{ \begin{bmatrix} -0.3511 & 0.7229 \end{bmatrix} \begin{bmatrix} 4 & 1 \\ 1 & 3 \end{bmatrix} \begin{bmatrix} -0.3511 \\ 0.7229 \end{bmatrix} } = 0.4122.</math> | :<math> \alpha_1 = \frac{\mathbf{r}_1^\mathsf{T} \mathbf{r}_1}{\mathbf{p}_1^\mathsf{T} \mathbf{A p}_1} \approx \frac{\begin{bmatrix} -0.2810 & 0.7492 \end{bmatrix} \begin{bmatrix} -0.2810 \\ 0.7492 \end{bmatrix}}{ \begin{bmatrix} -0.3511 & 0.7229 \end{bmatrix} \begin{bmatrix} 4 & 1 \\ 1 & 3 \end{bmatrix} \begin{bmatrix} -0.3511 \\ 0.7229 \end{bmatrix} } = 0.4122.</math> | ||
अंत में, हम x पाते हैं<sub> | अंत में, हम x<sub>2</sub> पाते हैं x<sub>1</sub> को खोजने के लिए उपयोग की जाने वाली विधि का उपयोग करना | ||
:<math>\mathbf{x}_2 = \mathbf{x}_1 + \alpha_1 \mathbf{p}_1 \approx \begin{bmatrix} 0.2356 \\ 0.3384 \end{bmatrix} + 0.4122 \begin{bmatrix} -0.3511 \\ 0.7229 \end{bmatrix} = \begin{bmatrix} 0.0909 \\ 0.6364 \end{bmatrix}.</math> | :<math>\mathbf{x}_2 = \mathbf{x}_1 + \alpha_1 \mathbf{p}_1 \approx \begin{bmatrix} 0.2356 \\ 0.3384 \end{bmatrix} + 0.4122 \begin{bmatrix} -0.3511 \\ 0.7229 \end{bmatrix} = \begin{bmatrix} 0.0909 \\ 0.6364 \end{bmatrix}.</math> | ||
परिणामस्वरूप, x<sub>2</sub>, x<sub>1</sub> की तुलना में प्रणाली के व्याख्या का उत्तम सन्निकटन है और x<sub>0</sub> यदि इस उदाहरण में सीमित-परिशुद्धता के अतिरिक्त त्रुटिहीन अंकगणित का उपयोग किया जाना था, तो सैद्धांतिक रूप से त्रुटिहीन व्याख्या n = 2 पुनरावृत्तियों (n प्रणाली का क्रम होने के सम्बन्ध में) के पश्चात् पहुंचा होगा। | |||
== अभिसरण गुण == | == अभिसरण गुण == | ||
संयुग्मी | संयुग्मी प्रवणता विधि को सैद्धांतिक रूप से प्रत्यक्ष विधि के रूप में देखा जा सकता है, जिससे कि गोल-बंद त्रुटि के अभाव में यह पुनरावृत्तियों की सीमित संख्या के पश्चात् त्रुटिहीन व्याख्या उत्पन्न करता है, जो आव्यूह के आकार से बड़ा नहीं है। व्यावहारिक रूप से, त्रुटिहीन व्याख्या कभी प्राप्त नहीं होता है क्योंकि संयुग्मी प्रवणता विधि छोटी अस्तव्यस्तता के संबंध में भी अस्थिर है, उदाहरण के लिए, क्रायलोव उप-स्थानों को उत्पन्न करने की अपक्षयी प्रकृति के कारण, अधिकांश दिशाएं संयुग्मित व्यवहार में नहीं हैं। | ||
पुनरावृत्त विधि के रूप में, संयुग्मी | पुनरावृत्त विधि के रूप में, संयुग्मी प्रवणता विधि नीरस रूप से (ऊर्जा मानक में) सन्निकटन में सुधार करती है <math>\mathbf{x}_{k}</math> त्रुटिहीन व्याख्या के लिए और पुनरावृत्तियों की अपेक्षाकृत छोटी (स्थिति के आकार की तुलना में) संख्या के पश्चात् आवश्यक सहिष्णुता तक पहुंच सकता है। सुधार सामान्यतः रैखिक होता है और इसकी गति स्थिति संख्या द्वारा निर्धारित की जाती है <math>\kappa(A)</math> प्रणाली आव्यूह का <math>A</math>: बड़ा <math>\kappa(A)</math> है, सुधार जितना मंद होगा।<ref name=saad1996iterative>{{cite book|last=Saad|first=Yousef|title=Iterative methods for sparse linear systems|year=2003|publisher=Society for Industrial and Applied Mathematics|location=Philadelphia, Pa.|isbn=978-0-89871-534-7|pages=[https://archive.org/details/iterativemethods0000saad/page/195 195]|edition=2nd|url=https://archive.org/details/iterativemethods0000saad/page/195}}</ref> | ||
यदि <math>\kappa(A)</math> बड़ा है, मूल प्रणाली को बदलने के लिए सामान्यतः पूर्व [[शर्त]] का उपयोग किया जाता है <math>\mathbf{A x}-\mathbf{b} = 0</math> साथ <math>\mathbf{M}^{-1}(\mathbf{A x}-\mathbf{b}) = 0</math> ऐसा है कि <math>\kappa(\mathbf{M}^{-1}\mathbf{A})</math> की तुलना में छोटा है <math>\kappa(\mathbf{A})</math>, नीचे देखें। | |||
यदि <math>\kappa(A)</math> बड़ा है, मूल प्रणाली को बदलने के लिए सामान्यतः पूर्व [[शर्त]] का उपयोग किया जाता है <math>\mathbf{A x}-\mathbf{b} = 0</math> साथ <math>\mathbf{M}^{-1}(\mathbf{A x}-\mathbf{b}) = 0</math> ऐसा कहा जाता है कि <math>\kappa(\mathbf{M}^{-1}\mathbf{A})</math> की तुलना में छोटा है <math>\kappa(\mathbf{A})</math>, नीचे देखें। | |||
=== अभिसरण प्रमेय === | === अभिसरण प्रमेय === | ||
बहुपदों के उपसमुच्चय को इस रूप में परिभाषित | बहुपदों के उपसमुच्चय को इस रूप में परिभाषित कीजिए। | ||
:<math> | :<math> | ||
\Pi_k^* := \left\lbrace \ p \in \Pi_k \ : \ p(0)=1 \ \right\rbrace \,, | \Pi_k^* := \left\lbrace \ p \in \Pi_k \ : \ p(0)=1 \ \right\rbrace \,, | ||
</math> | </math> | ||
जंहा <math> \Pi_k </math> अधिकतम डिग्री <math> k </math> के बहुपद वलय का समुच्चय है। | |||
होने देना <math> \left( \mathbf{x}_k \right)_k </math> | होने देना <math> \left( \mathbf{x}_k \right)_k </math> त्रुटिहीन व्याख्या <math> \mathbf{x}_* </math> के पुनरावृत्त सन्निकटन हो और त्रुटियों <math> \mathbf{e}_k := \mathbf{x}_k - \mathbf{x}_* </math>को परिभाषित करें। | ||
अब, अभिसरण की दर का अनुमान लगाया जा सकता | |||
अब, अभिसरण की दर का अनुमान लगाया जा सकता है। <ref name="BP" /><ref>{{Cite book |title=Iterative solution of large sparse systems of equations |last=Hackbusch |first=W. |isbn=9783319284835 |edition=2nd |location=Switzerland |publisher=Springer |oclc=952572240|date=2016-06-21 }}</ref> | |||
:<math> | :<math> | ||
\begin{align} | \begin{align} | ||
Line 234: | Line 238: | ||
\end{align} | \end{align} | ||
</math> | </math> | ||
जंहा <math> \sigma(\mathbf{A}) </math> आव्यूह के वर्णक्रम को दर्शाता है और <math> \kappa(\mathbf{A}) </math> स्थिति संख्या को दर्शाता है। | |||
ध्यान दें, महत्वपूर्ण सीमा | ध्यान दें, महत्वपूर्ण सीमा जब <math> \kappa(\mathbf{A}) </math> शिष्टाचार <math> \infty </math> है | ||
:<math> | :<math> | ||
\frac{ \sqrt{\kappa(\mathbf{A})}-1 }{ \sqrt{\kappa(\mathbf{A})}+1 } | \frac{ \sqrt{\kappa(\mathbf{A})}-1 }{ \sqrt{\kappa(\mathbf{A})}+1 } | ||
Line 244: | Line 248: | ||
\,. | \,. | ||
</math> | </math> | ||
यह सीमा जैकोबी पद्धति या गॉस-सीडेल विधि की पुनरावृत्ति विधियों की तुलना में | यह सीमा जैकोबी पद्धति या गॉस-सीडेल विधि की पुनरावृत्ति विधियों की तुलना में तेज अभिसरण दर दिखाती है। <math> \approx 1 - \frac{2}{\kappa(\mathbf{A})} </math>. | ||
अभिसरण प्रमेय में कोई गोल-बंद त्रुटि नहीं मानी जाती है, लेकिन अभिसरण सीमा सामान्यतः व्यवहार में मान्य होती है जैसा कि सैद्धांतिक रूप से समझाया गया | अभिसरण प्रमेय में कोई गोल-बंद त्रुटि नहीं मानी जाती है, लेकिन अभिसरण सीमा सामान्यतः व्यवहार में मान्य होती है जैसा कि सैद्धांतिक रूप से [[ऐनी ग्रीनबाउम]] द्वारा समझाया गया है।<ref name="AG" /> | ||
=== व्यावहारिक अभिसरण === | === व्यावहारिक अभिसरण === | ||
यदि | यदि व्यावहारिक अभिसरण सर्वोत्तम रूप से आरंभ किया जाता है, तो पुनरावृत्तियों का पहला चरण अधिकांशतः सबसे तेज़ होता है, क्योंकि क्रायलोव उप-स्थान ,में आंतरिक त्रुटि समाप्त हो जाती है जो प्रारंभ में छोटी प्रभावी स्थिति संख्या को दर्शाती है। अभिसरण का दूसरा चरण सामान्यतः सैद्धांतिक अभिसरण <math display="inline"> \sqrt{\kappa(\mathbf{A})}</math> द्वारा उचित प्रकार से परिभाषित होता है लेकिन आव्यूह के स्पेक्ट्रम के वितरण के आधार पर सुपर-रैखिक हो सकता है <math>A</math> और त्रुटि का वर्णक्रमीय वितरण होता है।<ref name="AG" />अंतिम चरण में, सबसे छोटी प्राप्त त्रुटिहीनता तक पहुँच जाती है और अभिसरण रुक जाता है या विधि विचलन भी प्रारंभ कर सकती है। बड़े आकार के मैट्रिसेस के लिए दुगनी-परिशुद्धता तैरनेवाला स्थल प्रारूप में विशिष्ट वैज्ञानिक कंप्यूटिंग अनुप्रयोगों में, संयुग्म प्रवणता विधि सहिष्णुता के साथ रोक मानदंड का उपयोग करती है जो पहले या दूसरे चरण के दौरान पुनरावृत्तियों को समाप्त करती है। | ||
==पूर्वानुकूल संयुग्म | ==पूर्वानुकूल संयुग्म प्रवणता विधि== | ||
{{See also| | {{See also|शर्त लगाना}} | ||
ज्यादातर स्थितियों में, संयुग्म | |||
ज्यादातर स्थितियों में, संयुग्म विचलन विधि के तेजी से अभिसरण सुनिश्चित करने के लिए पूर्व शर्त आवश्यक है। यदि <math>\mathbf{M}^{-1}</math> सममित धनात्मक-निश्चित है और <math>\mathbf{M}^{-1}\mathbf{A}</math> से उत्तम स्थिति संख्या है <math>\mathbf{A}</math>, पूर्वानुकूलित संयुग्मी प्रवणता विधि का उपयोग किया जा सकता है। यह निम्न रूप लेता है।<ref> | |||
{{cite book | {{cite book | ||
| first1 = Richard | | first1 = Richard | ||
Line 289: | Line 294: | ||
:<math>\mathbf{p}_0 := \mathbf{z}_0</math> | :<math>\mathbf{p}_0 := \mathbf{z}_0</math> | ||
:<math>k := 0 \, </math> | :<math>k := 0 \, </math> | ||
: | :'''repeat''' | ||
::<math>\alpha_k := \frac{\mathbf{r}_k^\mathsf{T} \mathbf{z}_k}{\mathbf{p}_k^\mathsf{T} \mathbf{A p}_k}</math> | ::<math>\alpha_k := \frac{\mathbf{r}_k^\mathsf{T} \mathbf{z}_k}{\mathbf{p}_k^\mathsf{T} \mathbf{A p}_k}</math> | ||
::<math>\mathbf{x}_{k+1} := \mathbf{x}_k + \alpha_k \mathbf{p}_k</math> | ::<math>\mathbf{x}_{k+1} := \mathbf{x}_k + \alpha_k \mathbf{p}_k</math> | ||
::<math>\mathbf{r}_{k+1} := \mathbf{r}_k - \alpha_k \mathbf{A p}_k</math> | ::<math>\mathbf{r}_{k+1} := \mathbf{r}_k - \alpha_k \mathbf{A p}_k</math> | ||
::यदि | ::यदि r<sub>''k''+1</sub> पर्याप्त रूप से छोटा है तो बाहर निकाले गये लूप अंत यदि | ||
::<math>\mathbf{z}_{k+1} := \mathbf{M}^{-1} \mathbf{r}_{k+1}</math> | ::<math>\mathbf{z}_{k+1} := \mathbf{M}^{-1} \mathbf{r}_{k+1}</math> | ||
::<math>\beta_k := \frac{\mathbf{r}_{k+1}^\mathsf{T} \mathbf{z}_{k+1}}{\mathbf{r}_k^\mathsf{T} \mathbf{z}_k}</math> | ::<math>\beta_k := \frac{\mathbf{r}_{k+1}^\mathsf{T} \mathbf{z}_{k+1}}{\mathbf{r}_k^\mathsf{T} \mathbf{z}_k}</math> | ||
::<math>\mathbf{p}_{k+1} := \mathbf{z}_{k+1} + \beta_k \mathbf{p}_k</math> | ::<math>\mathbf{p}_{k+1} := \mathbf{z}_{k+1} + \beta_k \mathbf{p}_k</math> | ||
::<math>k := k + 1 \, </math> | ::<math>k := k + 1 \, </math> | ||
: | : '''end repeat''' | ||
:परिणाम x | :इसका परिणाम x<sub>''k''+1</sub> है। | ||
उपरोक्त सूत्रीकरण नियमित संयुग्मी | उपरोक्त सूत्रीकरण नियमित संयुग्मी प्रवणता विधि को पूर्वानुकूलित प्रणाली में प्रयुक्त करने के समांतर है।<ref>{{cite book|first1=Gene H.|last1=Golub|first2= Charles F.|last2= Van Loan|title=Matrix Computations|edition=4th|at=sec. 11.5.2|publisher=Johns Hopkins University Press| isbn=978-1-4214-0794-4|date=2013}}</ref> | ||
:<math>\mathbf{E}^{-1}\mathbf{A}(\mathbf{E}^{-1})^\mathsf{T}\mathbf{\hat{x}}=\mathbf{E}^{-1}\mathbf{b}</math> | :<math>\mathbf{E}^{-1}\mathbf{A}(\mathbf{E}^{-1})^\mathsf{T}\mathbf{\hat{x}}=\mathbf{E}^{-1}\mathbf{b}</math> | ||
जहां | |||
:<math>\mathbf{EE}^\mathsf{T}=\mathbf{M}, \qquad \mathbf{\hat{x}}=\mathbf{E}^\mathsf{T}\mathbf{x}.</math> | :<math>\mathbf{EE}^\mathsf{T}=\mathbf{M}, \qquad \mathbf{\hat{x}}=\mathbf{E}^\mathsf{T}\mathbf{x}.</math> | ||
प्रणाली की समरूपता (और धनात्मक निश्चितता) को बनाए रखने के लिए पूर्व शर्तो के चोल्स्की अपघटन का उपयोग किया जाना चाहिए। चूँकि, इस अपघटन की गणना करने की आवश्यकता नहीं है और यह जानने के लिए <math>\mathbf{M}^{-1}</math> पर्याप्त है यह दिखाया जा सकता है <math>\mathbf{E}^{-1}\mathbf{A}(\mathbf{E}^{-1})^\mathsf{T}</math> के समान स्पेक्ट्रम <math>\mathbf{M}^{-1}\mathbf{A}</math> है | |||
[[पूर्व शर्त]] आव्यूह '''M''' को सममित धनात्मक-निश्चित और निश्चित होना चाहिए, अर्थात पुनरावृत्ति से पुनरावृत्ति में परिवर्तित नही कर सकता है। | |||
यदि पूर्वानुकूलन पर इनमें से किसी भी धारणा का उल्लंघन किया जाता है, तो पूर्वानुकूलित संयुग्मी प्रवणता पद्धति का व्यवहार अप्रत्याशित हो सकता है। | यदि पूर्वानुकूलन पर इनमें से किसी भी धारणा का उल्लंघन किया जाता है, तो पूर्वानुकूलित संयुग्मी प्रवणता पद्धति का व्यवहार अप्रत्याशित हो सकता है। | ||
सामान्यतः उपयोग किए जाने वाले | सामान्यतः उपयोग किए जाने वाले पूर्व शर्तो का उदाहरण अपूर्ण चोल्स्की गुणनखंडन है।<ref>{{cite journal |first1=P. |last1=Concus |first2=G. H. |last2=Golub |first3=G. |last3=Meurant |year=1985 |title=Block Preconditioning for the Conjugate Gradient Method |journal=SIAM Journal on Scientific and Statistical Computing |volume=6 |issue=1 |pages=220–252 |doi=10.1137/0906018 |url=https://escholarship.org/uc/item/0j60b61v }}</ref> | ||
== लचीला पूर्व शर्त संयुग्म प्रवणता विधि == | |||
== लचीला पूर्व शर्त संयुग्म | |||
संख्यात्मक रूप से चुनौतीपूर्ण अनुप्रयोगों में, परिष्कृत | संख्यात्मक रूप से चुनौतीपूर्ण अनुप्रयोगों में, परिष्कृत पूर्व शर्तो का उपयोग किया जाता है, जिससे पुनरावृत्तियों के मध्य परिवर्तनशील पूर्वानुकूलन हो सकता है। यहां तक कि यदि पूर्व शर्त प्रत्येक पुनरावृत्ति पर सममित धनात्मक-निश्चित है, तो तथ्य यह है कि यह परवर्तित हो सकता है जो तर्कों को अमान्य बना देता है, और व्यावहारिक परीक्षणों में ऊपर प्रस्तुत एल्गोरिदम के अभिसरण की महत्वपूर्ण धीमी गति की ओर जाता है। अरैखिक संयुग्मी प्रवणता पद्धति का उपयोग करना पोलक-रिबिएर सूत्रों द्वारा | ||
:<math>\beta_k := \frac{\mathbf{r}_{k+1}^\mathsf{T} \left(\mathbf{z}_{k+1}-\mathbf{z}_{k}\right)}{\mathbf{r}_k^\mathsf{T} \mathbf{z}_k}</math> | :<math>\beta_k := \frac{\mathbf{r}_{k+1}^\mathsf{T} \left(\mathbf{z}_{k+1}-\mathbf{z}_{k}\right)}{\mathbf{r}_k^\mathsf{T} \mathbf{z}_k}</math> | ||
अरैखिक संयुग्मी | अरैखिक संयुग्मी प्रवणता पद्धति के अतिरिक्त | फ्लेचर-रीव्स सूत्र | ||
:<math>\beta_k := \frac{\mathbf{r}_{k+1}^\mathsf{T} \mathbf{z}_{k+1}}{\mathbf{r}_k^\mathsf{T} \mathbf{z}_k}</math> | :<math>\beta_k := \frac{\mathbf{r}_{k+1}^\mathsf{T} \mathbf{z}_{k+1}}{\mathbf{r}_k^\mathsf{T} \mathbf{z}_k}</math> | ||
इस स्थितियों में नाटकीय रूप से अभिसरण में सुधार कर सकते हैं।<ref>{{cite journal |doi=10.1137/S1064827597323415 |title=Inexact Preconditioned Conjugate Gradient Method with Inner-Outer Iteration |year=1999 |last1=Golub |first1=Gene H. |last2=Ye |first2=Qiang |journal=SIAM Journal on Scientific Computing |volume=21 |issue=4 |pages=1305|citeseerx=10.1.1.56.1755 }}</ref> पूर्वानुकूल संयुग्म | इस स्थितियों में नाटकीय रूप से अभिसरण में सुधार कर सकते हैं।<ref>{{cite journal |doi=10.1137/S1064827597323415 |title=Inexact Preconditioned Conjugate Gradient Method with Inner-Outer Iteration |year=1999 |last1=Golub |first1=Gene H. |last2=Ye |first2=Qiang |journal=SIAM Journal on Scientific Computing |volume=21 |issue=4 |pages=1305|citeseerx=10.1.1.56.1755 }}</ref> पूर्वानुकूल संयुग्म प्रवणता विधि के इस संस्करण को लचीला कहा जा सकता है<ref>{{cite journal|doi=10.1137/S1064827599362314|title=Flexible Conjugate Gradients|year=2000|last1=Notay|first1=Yvan|journal=SIAM Journal on Scientific Computing|volume=22|issue=4|pages=1444–1460|citeseerx=10.1.1.35.7473}}</ref> जिससे कि यह परिवर्तनीय पूर्व शर्त के लिए अनुमति देता है। | ||
लचीला संस्करण भी दिखाया गया है<ref>{{Cite journal|url=https://doi.org/10.1016/j.procs.2015.05.241|doi=10.1016/j.procs.2015.05.241|title=Nonsymmetric Preconditioning for Conjugate Gradient and Steepest Descent Methods 1|year=2015|last1=Bouwmeester|first1=Henricus|last2=Dougherty|first2=Andrew|last3=Knyazev|first3=Andrew V.|journal=Procedia Computer Science|volume=51|pages=276–285|s2cid=51978658|doi-access=free}}</ref> मजबूत होने के लिए यदि पूर्व शर्त सममित धनात्मक निश्चित (एसपीडी) न हो। | |||
लचीले संस्करण के कार्यान्वयन के लिए अतिरिक्त सदिश के भंडारण की आवश्यकता होती है। निश्चित एसपीडी पूर्व शर्त के लिए, <math>\mathbf{r}_{k+1}^\mathsf{T} \mathbf{z}_{k}=0,</math> अतः दोनों सूत्र {{mvar|β<sub>k</sub>}} त्रुटिहीन अंकगणित में समतुल्य हैं, अर्थात राउंड-ऑफ त्रुटि के बिना। | |||
गैर-रैखिक संयुग्म प्रवणता विधि के साथ विधि के उत्तम अभिसरण व्यवहार की गणितीय व्याख्या होती है। पोलक-रिबिएर सूत्र यह है कि इस स्थितियों में विधि स्थानीय रूप से प्रभावशाली है, विशेष रूप से, यह स्थानीय रूप से प्रभावशाली तीव्र पृथक विधि की तुलना में धीमी अभिसरण नहीं करती है।<ref>{{cite journal|doi=10.1137/060675290|title=Steepest Descent and Conjugate Gradient Methods with Variable Preconditioning| year=2008| last1=Knyazev|first1=Andrew V.|last2=Lashuk|first2=Ilya|journal=SIAM Journal on Matrix Analysis and Applications|volume=29|issue=4|pages=1267|arxiv=math/0605767|s2cid=17614913}}</ref> | |||
== बनाम। स्थानीय रूप से प्रभावशाली तीव्र पृथक विधि == | |||
= | मूल और पूर्वानुकूल संयुग्म प्रवणता दोनों विधियों में केवल चयन करने की आवश्यकता होती है <math>\beta_k := 0</math> [[रेखा खोज]], [[तेज वंश]] विधियों का उपयोग करके उन्हें स्थानीय रूप से प्रभावशाली बनाने के लिए। इस प्रतिस्थापन के साथ, vectors {{math|'''p'''}} हमेशा सदिश {{math|'''z'''}} के समान होते हैं अतः सदिश {{math|'''p'''}} को स्टोर करने की कोई आवश्यकता नहीं है इस प्रकार, संयुग्मित प्रवणता विधियों की तुलना में इन सबसे तेज वर्ग विधियों का प्रत्येक पुनरावृत्ति थोड़ा सस्ता है। चूंकि, पश्चात् वाला तेजी से अभिसरण करता है, जब तक कि (अत्यधिक) चर और/या गैर-एसपीडी पूर्व शर्त का उपयोग नहीं किया जाता है, ऊपर देखें। | ||
=== डबल इंटीग्रेटर के लिए प्रभावशाली प्रतिक्रिया नियंत्रक के रूप में संयुग्मित प्रवणता विधि === | |||
[[इष्टतम नियंत्रण|प्रभावशाली नियंत्रण]] का उपयोग करके संयुग्म प्रवणता विधि भी प्राप्त की जा सकती है।<ref name=":0">[[I. Michael Ross|Ross, I. M.]], "An Optimal Control Theory for Accelerated Optimization," {{arXiv|1902.09004}}, 2019.</ref> इस दृष्टिकोण में, संयुग्मी प्रवणता विधि [[प्रतिक्रिया नियंत्रण]] के रूप में बाहर हो जाती है,<math display="block">u = k(x, v):= -\gamma_a \nabla f(x) - \gamma_b v </math>[[डबल इंटीग्रेटर]] के लिए,<math display="block">\dot x = v, \quad \dot v = u </math>मात्राएँ <math>\gamma_a</math> और <math>\gamma_b</math> परिवर्तनीय प्रतिक्रिया के लाभ हैं।<ref name=":0" /> | |||
== [[सामान्य समीकरण]] पर संयुग्म प्रवणता == | |||
संयुग्मी प्रवणता विधि को सामान्य समीकरणों 'A' पर प्रयुक्त करके अव्यवस्थित रूप से एन-दर-एम आव्यूह पर प्रयुक्त किया जा सकता है। चूंकि A<sup>T</sup>A किसी भी A<sup>T</sup>और दाईं ओर सदिश A<sup>T</sup>b, A के लिए सममित धनात्मक-निश्चित आव्यूह A नकारात्मक निश्चित.2C अर्ध-निश्चित और अनिश्चित आव्यूह धनात्मक अर्ध-परिमित आव्यूह है। परिणाम सामान्य समीकरणों (CGNR) पर संयुग्मित प्रवणता है। | |||
: A<sup>T</sup>x = A<sup>T</sup> | |||
पुनरावृत्त विधि के रूप में, A<sup>T</sup> बनाना आवश्यक नहीं है A स्मृति में स्पष्ट रूप से लेकिन आव्यूह-सदिश को निष्पादित करने और आव्यूह-सदिश गुणन को स्थानांतरित करने के लिए किया जाता है। अतः, CGNR विशेष रूप से उपयोगी होता है जब 'A' विरल आव्यूह होता है जिससे कि ये ऑपरेशन सामान्यतः अधिक कुशल होते हैं। चूँकि सामान्य समीकरण बनाने का नकारात्मक पक्ष यह है कि स्थिति संख्या κ(A<sup>T</sup>A) κ के बराबर (A)<sup>2</sup> है अतः CGNR के अभिसरण की दर धीमी हो सकती है और अनुमानित व्याख्या की गुणवत्ता राउंड ऑफ त्रुटियों के प्रति संवेदनशील हो सकती है। अच्छा पूर्व-आयाम खोजना अधिकांशतः CGNR पद्धति के उपयोग करने का महत्वपूर्ण भाग होता है। | |||
कई एल्गोरिदम प्रस्तावित किए गए हैं (उदाहरण के लिए, CGLS, LSQR इत्यदि)। [https://web.stanford.edu/group/SOL/software/lsqr/ LSQR] एल्गोरिथम (कलन विधि) कथित तौर पर सर्वश्रेष्ठ संख्यात्मक स्थिरता रखता है जब A दूषित होता है, अर्थात, A के समीप बड़ी स्थिति संख्या होती है। | |||
संयुग्मी | == जटिल हर्मिटियन मेट्रिसेस के लिए संयुग्मी प्रवणता विधि == | ||
जटिल-मूल्यवान आव्यूह A और सदिश B, रैखिक समीकरणों की प्रणाली को देखते हुए, तुच्छ संशोधन के साथ संयुग्म प्रवणता विधि को हल करने के लिए विस्तार योग्य है <math>\mathbf {A} \mathbf {x} =\mathbf {b}</math> कॉम्प्लेक्स-वैल्यू सदिश x के लिए, जहां A [[हर्मिटियन]] है (अर्थात, A' = A) और धनात्मक-निश्चित आव्यूह, और प्रतीक ' MATLAB/GNU ऑक्टेव शैली का उपयोग करके संयुग्मित संक्रमण को दर्शाता है। तुच्छ संशोधन प्रत्येक स्थान पर वास्तविक स्थानान्तरण के लिए बस संयुग्म स्थानान्तरण को प्रतिस्थापित करता है। यह प्रतिस्थापन पिछड़ा संगत है, जिस कारण संयुग्मित स्थानान्तरण वास्तविक-मूल्यवान सदिशों और आव्यूहों पर वास्तविक स्थानान्तरण में परिवर्तित हो जाता है। ऊपर दिए गए संयुग्म प्रवणता विधि उदाहरण कोड मैटलैब / जीएनयू ऑक्टेव में उदाहरण कोड इस प्रकार पहले से ही जटिल हर्मिटियन मैट्रिसेस के लिए कार्य करता है, जिसमें किसी संशोधन की आवश्यकता नहीं है। | |||
जटिल-मूल्यवान | |||
== यह भी देखें == | == यह भी देखें == | ||
{{Div col|colwidth=20em}} | {{Div col|colwidth=20em}} | ||
* | * उभयलिंगी प्रवणता विधि (बीआईसीजी) | ||
* | * अवशिष्ट विधि | ||
* विश्वास प्रचार | * विश्वास प्रचार गाऊसी विश्वास प्रचार .28GaBP.29 | ||
* | * प्रणाली के समीप पुनरावृत्त विधि | पुनरावर्ती विधि:निर्जीव प्रणाली | ||
* क्रायलोव उपक्षेत्र | * क्रायलोव उपक्षेत्र | ||
* गैर रेखीय संयुग्म ढाल विधि | * गैर रेखीय संयुग्म ढाल विधि | ||
* पूर्व शर्त | * पूर्व शर्त | ||
* विरल मैट्रिक्स- | * विरल मैट्रिक्स-सदिश गुणन | ||
{{Div col end}} | {{Div col end}} | ||
==संदर्भ== | ==संदर्भ== | ||
{{Reflist}} | {{Reflist}} | ||
==अग्रिम पठन== | ==अग्रिम पठन== | ||
Line 380: | Line 377: | ||
{{Numerical linear algebra}} | {{Numerical linear algebra}} | ||
{{DEFAULTSORT:Conjugate Gradient Method}} | |||
{{DEFAULTSORT:Conjugate Gradient Method}} | |||
[[Category: | [[Category:Articles with hatnote templates targeting a nonexistent page|Conjugate Gradient Method]] | ||
[[Category:Created On 13/02/2023]] | [[Category:CS1 Deutsch-language sources (de)]] | ||
[[Category:CS1 English-language sources (en)]] | |||
[[Category:Collapse templates|Conjugate Gradient Method]] | |||
[[Category:Created On 13/02/2023|Conjugate Gradient Method]] | |||
[[Category:Lua-based templates|Conjugate Gradient Method]] | |||
[[Category:MATLAB/Octave कोड उदाहरण के साथ लेख|Conjugate Gradient Method]] | |||
[[Category:Machine Translated Page|Conjugate Gradient Method]] | |||
[[Category:Multi-column templates|Conjugate Gradient Method]] | |||
[[Category:Navigational boxes| ]] | |||
[[Category:Navigational boxes without horizontal lists|Conjugate Gradient Method]] | |||
[[Category:Pages using div col with small parameter|Conjugate Gradient Method]] | |||
[[Category:Pages with script errors|Conjugate Gradient Method]] | |||
[[Category:Short description with empty Wikidata description|Conjugate Gradient Method]] | |||
[[Category:Sidebars with styles needing conversion|Conjugate Gradient Method]] | |||
[[Category:Template documentation pages|Documentation/doc]] | |||
[[Category:Templates Vigyan Ready|Conjugate Gradient Method]] | |||
[[Category:Templates generating microformats|Conjugate Gradient Method]] | |||
[[Category:Templates that add a tracking category|Conjugate Gradient Method]] | |||
[[Category:Templates that are not mobile friendly|Conjugate Gradient Method]] | |||
[[Category:Templates that generate short descriptions|Conjugate Gradient Method]] | |||
[[Category:Templates using TemplateData|Conjugate Gradient Method]] | |||
[[Category:Templates using under-protected Lua modules|Conjugate Gradient Method]] | |||
[[Category:Wikipedia fully protected templates|Div col]] | |||
[[Category:Wikipedia metatemplates|Conjugate Gradient Method]] | |||
[[Category:ग्रेडिएंट तरीके|Conjugate Gradient Method]] | |||
[[Category:संख्यात्मक रैखिक बीजगणित|Conjugate Gradient Method]] |
Latest revision as of 10:16, 24 February 2023
गणित में, संयुग्मी प्रवणता विधि रैखिक समीकरणों की विशेष प्रणाली के संख्यात्मक व्याख्या के लिए कलन विधि है, जिसका आव्यूह धनात्मक-निश्चित आव्यूह है। संयुग्मी प्रवणता पद्धति को अधिकांशतः पुनरावृत्त विधि के रूप में प्रयुक्त किया जाता है, जो विरल आव्यूह प्रणाली पर प्रयुक्त होता है जो प्रत्यक्ष कार्यान्वयन या अन्य प्रत्यक्ष प्रणाली जैसे चोल्स्की अपघटन द्वारा नियंत्रित किया जा सकता है। आंशिक अंतर समीकरणों या अनुकूलन स्थितियों को संख्यात्मक रूप से हल करते समय बड़ी विरल प्रणालियां उत्पन्न होती हैं।
संयुग्मी प्रवणता विधि का उपयोग ऊर्जा न्यूनीकरण जैसी अप्रतिबंधित गणितीय अनुकूलन स्थितियों को हल करने के लिए भी किया जा सकता है। यह सामान्यतः मैग्नस हेस्टेन्स और एडवर्ड बूट्स को जिम्मेदार प्रबन्धित किया जाता है,[1][2] जिसने इसे Z4 (कंप्यूटर) पर प्रोग्राम किया,[3] और इस पर गहन शोध किया था।[4][5]
संयुग्म प्रवणता विधि गैर-सममित आव्यूहों को सामान्यीकरण प्रदान करती है। विभिन्न अरैखिक संयुग्मी प्रवणता विधियाँ अरैखिक अनुकूलन स्थितियों की न्यूनतम खोज करती हैं।
संयुग्म प्रवणता द्वारा संबोधित स्थिति का विवरण
मान लीजिए हम रैखिक समीकरणों की प्रणाली को हल करना चाहते हैं।
,सदिश के लिए जहां आव्यूह जाना जाता है तब सममित आव्यूह (अर्थात, AT = A), धनात्मक-निश्चित आव्यूह है। धनात्मक-श्चित (अर्थात xTAx > 0 सभी शून्येतर सदिशों के लिए n r में), और वास्तविक संख्या, और भी जाना जाता है। हम इस प्रणाली में के अद्वितीय व्याख्या को निरूपित करते हैं।
प्रत्यक्ष विधि के रूप में व्युत्पत्ति
संयुग्मी प्रवणता पद्धति को कई भिन्न-भिन्न दृष्टिकोणों से प्राप्त किया जा सकता है, जिसमें अनुकूलन के लिए संयुग्मी दिशा पद्धति की विशेषज्ञता और एइगेन्वलुए स्थितियों के लिए अर्नोल्डी पुनरावृत्ति / एइगेन्लैंवलुएक्ज़ोस पुनरावृत्ति की भिन्नता सम्मलित है। उनके दृष्टिकोणों में अंतर के अतिरिक्त, ये व्युत्पत्ति सामान्य विषय को साझा करते हैं - अवशेषों की ओर्थोगोनलिटी और खोज दिशाओं की संयुग्मता को सिद्ध करते हैं। विधि के प्रसिद्ध संक्षिप्त सूत्रीकरण को विकसित करने के लिए ये दो गुण महत्वपूर्ण हैं।
हम कह सकते हैं कि दो शून्येतर सदिश u और v संयुग्मी हैं ( के संबंध में) यदि
तब से सममित और धनात्मक-निश्चित है, बाएं हाथ की ओर आंतरिक उत्पाद स्थान को परिभाषित करता है।
यदि दो सदिश संयुग्मी हैं और वे इस आंतरिक उत्पाद के संबंध में ओर्थोगोनल हैं तब संयुग्मी होना सममित संबंध है, यदि , से संयुग्मित है तब से संयुग्मित है अर्थात् प्रतीत होता है कि
के संबंध में पारस्परिक रूप से संयुग्मित सदिश है अर्थात। सभी के लिए . का चयन है।
तब के लिए आधार (रैखिक बीजगणित) बनाता है और हम इस आधार पर की व्याख्या व्यक्त कर सकते हैं।
स्थिति को वाम-गुणा करना सदिश के साथ उत्पन्नवार
अतः
यह निम्न विधि देता है।[4] समीकरण को हल करने के लिए Ax = b का क्रम खोजें और संयुग्मित दिशाएँ, और फिर गुणांकों की गणना करता है।
पुनरावृत्त विधि के रूप में
यदि हम संयुग्म सदिश के संरक्षण का चयन करते हैं, तब व्याख्या के लिए उचित सन्निकटन प्राप्त करने के लिए हमें उन सभी की आवश्यकता नहीं होती है अतः, हम संयुग्मी प्रवणता विधि को पुनरावृत्त विधि के रूप में मान लेते हैं। यह हमें उन प्रणालियों को हल करने की भी अनुमति देता है जहाँ n इतना बड़ा है कि प्रत्यक्ष विधि में बहुत अधिक समय लगता है।
हम x∗ द्वारा x0 (हम सामान्यता की हानि के बिना मान सकते हैं कि x0 = 0, अन्यथा प्रणाली Az = b - Ax0 पर विचार करें अतिरिक्त) के लिए प्रारंभिक अनुमान निरूपित करते हैं। x0 से प्रारंभ होने पर हम व्याख्या की खोज की जाती हैं और प्रत्येक पुनरावृत्ति में हमें यह व्यक्त करने के लिए मीट्रिक की आवश्यकता होती है कि क्या हम व्याख्या x∗ के समीप हैं (यह हमारे लिए अज्ञात है)। यह मीट्रिक इस तथ्य से आता है कि व्याख्या x∗ निम्नलिखित द्विघात फलन का अद्वितीय न्यूनतमकारक भी है।
अद्वितीय न्यूनतम का अस्तित्व स्पष्ट है क्योंकि इसके दूसरे व्युत्पन्न का हेसियन आव्यूह सममित धनात्मक-निश्चित है।
और यह कि न्यूनतम (उपयोग Df('x')=0) प्रारंभिक स्थिति को इसके प्रथम व्युत्पन्न से हल करता है।
यह प्रथम आधार सदिश P0 लेने का प्रस्ताव देता है और 'x0' = 'x0' पर f की प्रवणता का ऋणात्मक होता है जिससे f की प्रवणता समान्तर होती है Ax − b. प्रारंभिक अनुमान x0 से प्रारंभ किया जाता है इसका तात्पर्य है कि हम P0 = B- x लेते हैं जिसके आधार में अन्य सदिश प्रवणता के संयुग्मित होंगे अतः इसका नाम संयुग्म प्रवणता विधि है। यहाँ पर ध्यान दें कि 'P'0 एल्गोरिथम (कलन विधि) के इस प्रारंभिक चरण द्वारा प्रदान किया गया अवशिष्ट (संख्यात्मक विश्लेषण) भी है।
अतः rk kवें चरण में अवशिष्ट (संख्यात्मक विश्लेषण) होता है।
जैसा कि ऊपर देखा गया है, की ऋणात्मक प्रवणता है,अतः प्रवणता अवतरण विधि को दिशा rk में स्थानांतरित करने की आवश्यकता होगी चूंकि, हम कह सकते हैं कि निर्देश दूसरे से संयुग्मित होना चाहिए। इसे प्रयुक्त करने के लिए व्यावहारिक विधि यह है कि वर्तमान अवशिष्ट और सभी पिछली खोज दिशाओं से अगली खोज दिशा बनाई जाए। जो संयुग्मन बाधा ऑर्थोनॉर्मल-प्रकार की बाधा है अतः एल्गोरिथम (कलन विधि) को ग्राम-श्मिट प्रक्रिया के उदाहरण के रूप में देखा जाता है। ग्राम-श्मिट ऑर्थोनॉर्मलाइज़ेशन के माध्यम से निम्नलिखित अभिव्यक्ति देता है।
(अभिसरण पर संयुग्मन बाधा के प्रभाव के लिए लेख के शीर्ष पर चित्र देखें)। इस दिशा का पालन करते हुए अगला प्रभावशाली स्थान दिया गया है।
जिसके साथ
जहां अंतिम समानता की परिभाषा होती है।
जिसके लिए अभिव्यक्ति व्युत्पन्न किया जा सकता है यदि कोई xk+1 के लिए अभिव्यक्ति को प्रतिस्थापित करता है तब f और में और इसके संबंध में इसे कार्य करना होता है
परिणामी एल्गोरिथ्म
उपरोक्त एल्गोरिथम (कलन विधि) संयुग्मी प्रवणता विधि की सबसे सरल व्याख्या देता है। जैसा कि कहा जाता है जिससे प्रतीत होता है, कि एल्गोरिदम को सभी पिछली खोज दिशाओं और अवशेष सदिशों के साथ-साथ कई आव्यूह-सदिश गुणाओं के भंडारण की आवश्यकता होती है और इस प्रकार कम्प्यूटेशनल रूप में मूल्यवान हो सकता है। चूँकि, एल्गोरिथम (कलन विधि) के समीप विश्लेषण से पता चलता है और यह ओर्थोगोनल है अर्थात। ,i ≠ j के लिए है। -ऑर्थोगोनल यह , अर्थात। , के लिए . यह माना जा सकता है कि जैसे-जैसे एल्गोरिथम (कलन विधि) आगे बढ़ता है, और ही क्रायलोव उप-क्षेत्र में फैला हुआ है। जंहा मानक आंतरिक उत्पाद के संबंध में ऑर्थोगोनल आधार बनाते हैं, और द्वारा प्रेरित आंतरिक उत्पाद के संबंध में ऑर्थोगोनल आधार बनाते हैं अतः, क्रायलोव उपक्षेत्र पर का प्रक्षेपण माना जा सकता है।
Ax = b को हल करने के लिए एल्गोरिथम (कलन विधि) का विवरण नीचे दिया गया है वास्तविक, सममित, धनात्मक-निश्चित आव्यूह है। निवेश सदिश अनुमानित प्रारंभिक व्याख्या या 0 हो सकता है। यह ऊपर वर्णित त्रुटिहीन प्रक्रिया का अलग सूत्रीकरण है।
यह सबसे अधिक उपयोग किया जाने वाला प्रारूप है। इसके लिए βk सूत्र है जिसमे फ्लेचर-रीव्स अरेखीय संयुग्म प्रवणता विधि में भी प्रयोग किया जाता है।
पुनरारंभ
हमने यह ज्ञात किया कि प्रवणता के अलग रेखा के व्याख्या प्रणाली विधि द्वारा गणना की जाती है इसको स्थिर करने के लिए इसी तरह बना देगा। प्रवणता के अलग रेखा के व्याख्या प्रणाली विधि द्वारा की गणना गई अर्थात, संयुग्म प्रवणता पुनरावृत्तियों के पुनरारंभ के सरल कार्यान्वयन के रूप में उपयोग किया जा सकता है।[4] पुनर्प्रारंभ अभिसरण को मंद करता है लेकिन स्थिरता में सुधार कर सकता है यदि संयुग्मी प्रवणता विधि गलत व्यवहार करती है, उदाहरण के लिए, पूर्णांक करने की त्रुटि का कारण इत्यादि।
स्पष्ट अवशिष्ट गणना
सूत्र और , जो दोनों त्रुटिहीन अंकगणित में धारण करते हैं और यह सूत्र बनाते हैं और गणितीय समकक्ष पूर्व का उपयोग एल्गोरिथम (कलन विधि) में अतिरिक्त गुणन से बचने के लिए किया जाता है सदिश के पश्चात् से मूल्यांकन के लिए पहले से ही गणना की गई है . उत्तरार्द्ध अधिक त्रुटिहीन हो सकता है, जो स्पष्ट गणना को प्रतिस्थापित कर सकता है निहित के लिए पुनरावर्ती त्रुटि संचय के अधीन है और इस प्रकार सामयिक मूल्यांकन के लिए अनुशंसित है।[6]
अवशिष्ट का मानदंड सामान्यतः मानदंडों को रोकने के लिए उपयोग किया जाता है। स्पष्ट अवशिष्ट का मानदंड त्रुटिहीन अंकगणित और गोलाई त्रुटियों की उपस्थिति में त्रुटिहीनता का गारंटीकृत स्तर प्रदान करता है, जहां अभिसरण स्वाभाविक रूप से स्थिर हो जाता है। इसके विपरीत, निहित अवशिष्ट गोलाई त्रुटियों के स्तर से अधिक नीचे आयाम में लघु होता रहता है और इस प्रकार अभिसरण के ठहराव को निर्धारित करने के लिए उपयोग नहीं किया जाता है।
अल्फा और बीटा की गणना
एल्गोरिथ्म में, αk ऐसा चुना जाता है यह ओर्थोगोनल है . भाजक से सरलीकृत किया गया है।
तब से . βk }} ऐसा चुना जाता है कि से संयुग्मित है . प्रारंभ में, βk है।
का उपयोग करते हुए
और समान रूप से
का अंश βk के रूप में पुनः लिखा जाता है।
क्योंकि और डिजाइन द्वारा ओर्थोगोनल हैं। भाजक को फिर से लिखा जाता है।
इसका उपयोग करते हुए खोज दिशाएँ pk संयुग्मित हैं और फिर से अवशिष्ट ऑर्थोगोनल हैं। यह β देता है और एल्गोरिथ्म αk. में रद्द करने के पश्चात् कार्य करता है।
मैटलैब / जीएनयू ऑक्टेव में उदाहरण कोड
कार्य एक्स = कंजग्रेड (ए, बी, एक्स)
function x = conjgrad(A, b, x)
r = b - A * x; p = r; rsold = r' * r; for i = 1:length(b) Ap = A * p; alpha = rsold / (p' * Ap); x = x + alpha * p; r = r - alpha * Ap; rsnew = r' * r; if sqrt(rsnew) < 1e-10 break end p = r + (rsnew / rsold) * p; rsold = rsnew; end
संख्यात्मक उदाहरण
द्वारा दी गई रैखिक प्रणाली Ax = b पर विचार करें।
हम प्रारंभिक अनुमान से शुरुआत करते हुए संयुग्मी प्रवणता विधि के दो चरण करेंगे।
प्रणाली के लिए अनुमानित व्याख्या खोजने के लिए।
उपाय
संदर्भ के लिए, त्रुटिहीन व्याख्या है।
हमारा पहला कदम अवशिष्ट सदिश r0 की गणना करता है जो x0 से जुड़ा हुआ है इस अवशिष्ट की गणना सूत्र r से की जाती है r0 = b- x0, और हमारे स्थितियों में k समान्तर होता है।
चूंकि यह प्रथम पुनरावृत्ति है, हम अवशिष्ट सदिश r0 का उपयोग करेंगे हमारी प्रारंभिक खोज दिशा p0 के रूप में pk चुनने की विधि में आगे के पुनरावृत्तियों में परिवर्तित हो जाएगा।
अब हम स्केलर की गणना करते हैं α0 संबंध का उपयोग करना
अब हम x1 की गणना कर सकते हैं, सूत्र का उपयोग करना
यह परिणाम प्रथम पुनरावृत्ति को पूरा करता है, परिणाम प्रणाली के लिए उत्तम अनुमानित व्याख्या है, x1 अब हम आगे बढ़ सकते हैं और अगले अवशिष्ट सदिश r1 की गणना कर सकते हैं सूत्र का उपयोग करना
इस प्रक्रिया में हमारा अगला कदम स्केलर की गणना करना है β0 जिसका उपयोग अंततः अगली खोज दिशा p1 निर्धारित करने के लिए किया जाएगा।
अब इस अदिश β0 का उपयोग करते हुए हम अगली खोज दिशा p1 की गणना कर सकते हैं संबंध का उपयोग करना
अब हम स्केलर की गणना करते हैं α1 हमारे नए अधिग्रहीत p1 का उपयोग करने के लिए जिस विधि का उपयोग किया जाता है उसी विधि का α0. में उपयोग करना
अंत में, हम x2 पाते हैं x1 को खोजने के लिए उपयोग की जाने वाली विधि का उपयोग करना
परिणामस्वरूप, x2, x1 की तुलना में प्रणाली के व्याख्या का उत्तम सन्निकटन है और x0 यदि इस उदाहरण में सीमित-परिशुद्धता के अतिरिक्त त्रुटिहीन अंकगणित का उपयोग किया जाना था, तो सैद्धांतिक रूप से त्रुटिहीन व्याख्या n = 2 पुनरावृत्तियों (n प्रणाली का क्रम होने के सम्बन्ध में) के पश्चात् पहुंचा होगा।
अभिसरण गुण
संयुग्मी प्रवणता विधि को सैद्धांतिक रूप से प्रत्यक्ष विधि के रूप में देखा जा सकता है, जिससे कि गोल-बंद त्रुटि के अभाव में यह पुनरावृत्तियों की सीमित संख्या के पश्चात् त्रुटिहीन व्याख्या उत्पन्न करता है, जो आव्यूह के आकार से बड़ा नहीं है। व्यावहारिक रूप से, त्रुटिहीन व्याख्या कभी प्राप्त नहीं होता है क्योंकि संयुग्मी प्रवणता विधि छोटी अस्तव्यस्तता के संबंध में भी अस्थिर है, उदाहरण के लिए, क्रायलोव उप-स्थानों को उत्पन्न करने की अपक्षयी प्रकृति के कारण, अधिकांश दिशाएं संयुग्मित व्यवहार में नहीं हैं।
पुनरावृत्त विधि के रूप में, संयुग्मी प्रवणता विधि नीरस रूप से (ऊर्जा मानक में) सन्निकटन में सुधार करती है त्रुटिहीन व्याख्या के लिए और पुनरावृत्तियों की अपेक्षाकृत छोटी (स्थिति के आकार की तुलना में) संख्या के पश्चात् आवश्यक सहिष्णुता तक पहुंच सकता है। सुधार सामान्यतः रैखिक होता है और इसकी गति स्थिति संख्या द्वारा निर्धारित की जाती है प्रणाली आव्यूह का : बड़ा है, सुधार जितना मंद होगा।[7]
यदि बड़ा है, मूल प्रणाली को बदलने के लिए सामान्यतः पूर्व शर्त का उपयोग किया जाता है साथ ऐसा कहा जाता है कि की तुलना में छोटा है , नीचे देखें।
अभिसरण प्रमेय
बहुपदों के उपसमुच्चय को इस रूप में परिभाषित कीजिए।
जंहा अधिकतम डिग्री के बहुपद वलय का समुच्चय है।
होने देना त्रुटिहीन व्याख्या के पुनरावृत्त सन्निकटन हो और त्रुटियों को परिभाषित करें।
अब, अभिसरण की दर का अनुमान लगाया जा सकता है। [4][8]
जंहा आव्यूह के वर्णक्रम को दर्शाता है और स्थिति संख्या को दर्शाता है।
ध्यान दें, महत्वपूर्ण सीमा जब शिष्टाचार है
यह सीमा जैकोबी पद्धति या गॉस-सीडेल विधि की पुनरावृत्ति विधियों की तुलना में तेज अभिसरण दर दिखाती है। .
अभिसरण प्रमेय में कोई गोल-बंद त्रुटि नहीं मानी जाती है, लेकिन अभिसरण सीमा सामान्यतः व्यवहार में मान्य होती है जैसा कि सैद्धांतिक रूप से ऐनी ग्रीनबाउम द्वारा समझाया गया है।[5]
व्यावहारिक अभिसरण
यदि व्यावहारिक अभिसरण सर्वोत्तम रूप से आरंभ किया जाता है, तो पुनरावृत्तियों का पहला चरण अधिकांशतः सबसे तेज़ होता है, क्योंकि क्रायलोव उप-स्थान ,में आंतरिक त्रुटि समाप्त हो जाती है जो प्रारंभ में छोटी प्रभावी स्थिति संख्या को दर्शाती है। अभिसरण का दूसरा चरण सामान्यतः सैद्धांतिक अभिसरण द्वारा उचित प्रकार से परिभाषित होता है लेकिन आव्यूह के स्पेक्ट्रम के वितरण के आधार पर सुपर-रैखिक हो सकता है और त्रुटि का वर्णक्रमीय वितरण होता है।[5]अंतिम चरण में, सबसे छोटी प्राप्त त्रुटिहीनता तक पहुँच जाती है और अभिसरण रुक जाता है या विधि विचलन भी प्रारंभ कर सकती है। बड़े आकार के मैट्रिसेस के लिए दुगनी-परिशुद्धता तैरनेवाला स्थल प्रारूप में विशिष्ट वैज्ञानिक कंप्यूटिंग अनुप्रयोगों में, संयुग्म प्रवणता विधि सहिष्णुता के साथ रोक मानदंड का उपयोग करती है जो पहले या दूसरे चरण के दौरान पुनरावृत्तियों को समाप्त करती है।
पूर्वानुकूल संयुग्म प्रवणता विधि
ज्यादातर स्थितियों में, संयुग्म विचलन विधि के तेजी से अभिसरण सुनिश्चित करने के लिए पूर्व शर्त आवश्यक है। यदि सममित धनात्मक-निश्चित है और से उत्तम स्थिति संख्या है , पूर्वानुकूलित संयुग्मी प्रवणता विधि का उपयोग किया जा सकता है। यह निम्न रूप लेता है।[9]
- repeat
- यदि rk+1 पर्याप्त रूप से छोटा है तो बाहर निकाले गये लूप अंत यदि
- end repeat
- इसका परिणाम xk+1 है।
उपरोक्त सूत्रीकरण नियमित संयुग्मी प्रवणता विधि को पूर्वानुकूलित प्रणाली में प्रयुक्त करने के समांतर है।[10]
जहां
प्रणाली की समरूपता (और धनात्मक निश्चितता) को बनाए रखने के लिए पूर्व शर्तो के चोल्स्की अपघटन का उपयोग किया जाना चाहिए। चूँकि, इस अपघटन की गणना करने की आवश्यकता नहीं है और यह जानने के लिए पर्याप्त है यह दिखाया जा सकता है के समान स्पेक्ट्रम है
पूर्व शर्त आव्यूह M को सममित धनात्मक-निश्चित और निश्चित होना चाहिए, अर्थात पुनरावृत्ति से पुनरावृत्ति में परिवर्तित नही कर सकता है।
यदि पूर्वानुकूलन पर इनमें से किसी भी धारणा का उल्लंघन किया जाता है, तो पूर्वानुकूलित संयुग्मी प्रवणता पद्धति का व्यवहार अप्रत्याशित हो सकता है।
सामान्यतः उपयोग किए जाने वाले पूर्व शर्तो का उदाहरण अपूर्ण चोल्स्की गुणनखंडन है।[11]
लचीला पूर्व शर्त संयुग्म प्रवणता विधि
संख्यात्मक रूप से चुनौतीपूर्ण अनुप्रयोगों में, परिष्कृत पूर्व शर्तो का उपयोग किया जाता है, जिससे पुनरावृत्तियों के मध्य परिवर्तनशील पूर्वानुकूलन हो सकता है। यहां तक कि यदि पूर्व शर्त प्रत्येक पुनरावृत्ति पर सममित धनात्मक-निश्चित है, तो तथ्य यह है कि यह परवर्तित हो सकता है जो तर्कों को अमान्य बना देता है, और व्यावहारिक परीक्षणों में ऊपर प्रस्तुत एल्गोरिदम के अभिसरण की महत्वपूर्ण धीमी गति की ओर जाता है। अरैखिक संयुग्मी प्रवणता पद्धति का उपयोग करना पोलक-रिबिएर सूत्रों द्वारा
अरैखिक संयुग्मी प्रवणता पद्धति के अतिरिक्त | फ्लेचर-रीव्स सूत्र
इस स्थितियों में नाटकीय रूप से अभिसरण में सुधार कर सकते हैं।[12] पूर्वानुकूल संयुग्म प्रवणता विधि के इस संस्करण को लचीला कहा जा सकता है[13] जिससे कि यह परिवर्तनीय पूर्व शर्त के लिए अनुमति देता है।
लचीला संस्करण भी दिखाया गया है[14] मजबूत होने के लिए यदि पूर्व शर्त सममित धनात्मक निश्चित (एसपीडी) न हो।
लचीले संस्करण के कार्यान्वयन के लिए अतिरिक्त सदिश के भंडारण की आवश्यकता होती है। निश्चित एसपीडी पूर्व शर्त के लिए, अतः दोनों सूत्र βk त्रुटिहीन अंकगणित में समतुल्य हैं, अर्थात राउंड-ऑफ त्रुटि के बिना।
गैर-रैखिक संयुग्म प्रवणता विधि के साथ विधि के उत्तम अभिसरण व्यवहार की गणितीय व्याख्या होती है। पोलक-रिबिएर सूत्र यह है कि इस स्थितियों में विधि स्थानीय रूप से प्रभावशाली है, विशेष रूप से, यह स्थानीय रूप से प्रभावशाली तीव्र पृथक विधि की तुलना में धीमी अभिसरण नहीं करती है।[15]
बनाम। स्थानीय रूप से प्रभावशाली तीव्र पृथक विधि
मूल और पूर्वानुकूल संयुग्म प्रवणता दोनों विधियों में केवल चयन करने की आवश्यकता होती है रेखा खोज, तेज वंश विधियों का उपयोग करके उन्हें स्थानीय रूप से प्रभावशाली बनाने के लिए। इस प्रतिस्थापन के साथ, vectors p हमेशा सदिश z के समान होते हैं अतः सदिश p को स्टोर करने की कोई आवश्यकता नहीं है इस प्रकार, संयुग्मित प्रवणता विधियों की तुलना में इन सबसे तेज वर्ग विधियों का प्रत्येक पुनरावृत्ति थोड़ा सस्ता है। चूंकि, पश्चात् वाला तेजी से अभिसरण करता है, जब तक कि (अत्यधिक) चर और/या गैर-एसपीडी पूर्व शर्त का उपयोग नहीं किया जाता है, ऊपर देखें।
डबल इंटीग्रेटर के लिए प्रभावशाली प्रतिक्रिया नियंत्रक के रूप में संयुग्मित प्रवणता विधि
प्रभावशाली नियंत्रण का उपयोग करके संयुग्म प्रवणता विधि भी प्राप्त की जा सकती है।[16] इस दृष्टिकोण में, संयुग्मी प्रवणता विधि प्रतिक्रिया नियंत्रण के रूप में बाहर हो जाती है,
सामान्य समीकरण पर संयुग्म प्रवणता
संयुग्मी प्रवणता विधि को सामान्य समीकरणों 'A' पर प्रयुक्त करके अव्यवस्थित रूप से एन-दर-एम आव्यूह पर प्रयुक्त किया जा सकता है। चूंकि ATA किसी भी ATऔर दाईं ओर सदिश ATb, A के लिए सममित धनात्मक-निश्चित आव्यूह A नकारात्मक निश्चित.2C अर्ध-निश्चित और अनिश्चित आव्यूह धनात्मक अर्ध-परिमित आव्यूह है। परिणाम सामान्य समीकरणों (CGNR) पर संयुग्मित प्रवणता है।
- ATx = AT
पुनरावृत्त विधि के रूप में, AT बनाना आवश्यक नहीं है A स्मृति में स्पष्ट रूप से लेकिन आव्यूह-सदिश को निष्पादित करने और आव्यूह-सदिश गुणन को स्थानांतरित करने के लिए किया जाता है। अतः, CGNR विशेष रूप से उपयोगी होता है जब 'A' विरल आव्यूह होता है जिससे कि ये ऑपरेशन सामान्यतः अधिक कुशल होते हैं। चूँकि सामान्य समीकरण बनाने का नकारात्मक पक्ष यह है कि स्थिति संख्या κ(ATA) κ के बराबर (A)2 है अतः CGNR के अभिसरण की दर धीमी हो सकती है और अनुमानित व्याख्या की गुणवत्ता राउंड ऑफ त्रुटियों के प्रति संवेदनशील हो सकती है। अच्छा पूर्व-आयाम खोजना अधिकांशतः CGNR पद्धति के उपयोग करने का महत्वपूर्ण भाग होता है।
कई एल्गोरिदम प्रस्तावित किए गए हैं (उदाहरण के लिए, CGLS, LSQR इत्यदि)। LSQR एल्गोरिथम (कलन विधि) कथित तौर पर सर्वश्रेष्ठ संख्यात्मक स्थिरता रखता है जब A दूषित होता है, अर्थात, A के समीप बड़ी स्थिति संख्या होती है।
जटिल हर्मिटियन मेट्रिसेस के लिए संयुग्मी प्रवणता विधि
जटिल-मूल्यवान आव्यूह A और सदिश B, रैखिक समीकरणों की प्रणाली को देखते हुए, तुच्छ संशोधन के साथ संयुग्म प्रवणता विधि को हल करने के लिए विस्तार योग्य है कॉम्प्लेक्स-वैल्यू सदिश x के लिए, जहां A हर्मिटियन है (अर्थात, A' = A) और धनात्मक-निश्चित आव्यूह, और प्रतीक ' MATLAB/GNU ऑक्टेव शैली का उपयोग करके संयुग्मित संक्रमण को दर्शाता है। तुच्छ संशोधन प्रत्येक स्थान पर वास्तविक स्थानान्तरण के लिए बस संयुग्म स्थानान्तरण को प्रतिस्थापित करता है। यह प्रतिस्थापन पिछड़ा संगत है, जिस कारण संयुग्मित स्थानान्तरण वास्तविक-मूल्यवान सदिशों और आव्यूहों पर वास्तविक स्थानान्तरण में परिवर्तित हो जाता है। ऊपर दिए गए संयुग्म प्रवणता विधि उदाहरण कोड मैटलैब / जीएनयू ऑक्टेव में उदाहरण कोड इस प्रकार पहले से ही जटिल हर्मिटियन मैट्रिसेस के लिए कार्य करता है, जिसमें किसी संशोधन की आवश्यकता नहीं है।
यह भी देखें
- उभयलिंगी प्रवणता विधि (बीआईसीजी)
- अवशिष्ट विधि
- विश्वास प्रचार गाऊसी विश्वास प्रचार .28GaBP.29
- प्रणाली के समीप पुनरावृत्त विधि | पुनरावर्ती विधि:निर्जीव प्रणाली
- क्रायलोव उपक्षेत्र
- गैर रेखीय संयुग्म ढाल विधि
- पूर्व शर्त
- विरल मैट्रिक्स-सदिश गुणन
संदर्भ
- ↑ Hestenes, Magnus R.; Stiefel, Eduard (December 1952). "Methods of Conjugate Gradients for Solving Linear Systems" (PDF). Journal of Research of the National Bureau of Standards. 49 (6): 409. doi:10.6028/jres.049.044.
- ↑ Straeter, T. A. (1971). "On the Extension of the Davidon–Broyden Class of Rank One, Quasi-Newton Minimization Methods to an Infinite Dimensional Hilbert Space with Applications to Optimal Control Problems". NASA Technical Reports Server. NASA. hdl:2060/19710026200.
- ↑ Speiser, Ambros (2004). "Konrad Zuse und die ERMETH: Ein weltweiter Architektur-Vergleich" [Konrad Zuse and the ERMETH: A worldwide comparison of architectures]. In Hellige, Hans Dieter (ed.). Geschichten der Informatik. Visionen, Paradigmen, Leitmotive (in Deutsch). Berlin: Springer. p. 185. ISBN 3-540-00217-0.
- ↑ 4.0 4.1 4.2 4.3 Polyak, Boris (1987). Introduction to Optimization (in English).
- ↑ 5.0 5.1 5.2 Greenbaum, Anne (1997). Iterative Methods for Solving Linear Systems (in English). doi:10.1137/1.9781611970937. ISBN 978-0898713961.
- ↑ Shewchuk, Jonathan R (1994). An Introduction to the Conjugate Gradient Method Without the Agonizing Pain (PDF).
- ↑ Saad, Yousef (2003). Iterative methods for sparse linear systems (2nd ed.). Philadelphia, Pa.: Society for Industrial and Applied Mathematics. pp. 195. ISBN 978-0-89871-534-7.
- ↑ Hackbusch, W. (2016-06-21). Iterative solution of large sparse systems of equations (2nd ed.). Switzerland: Springer. ISBN 9783319284835. OCLC 952572240.
- ↑ Barrett, Richard; Berry, Michael; Chan, Tony F.; Demmel, James; Donato, June; Dongarra, Jack; Eijkhout, Victor; Pozo, Roldan; Romine, Charles; van der Vorst, Henk. Templates for the Solution of Linear Systems: Building Blocks for Iterative Methods (PDF) (in English) (2nd ed.). Philadelphia, PA: SIAM. p. 13. Retrieved 2020-03-31.
- ↑ Golub, Gene H.; Van Loan, Charles F. (2013). Matrix Computations (4th ed.). Johns Hopkins University Press. sec. 11.5.2. ISBN 978-1-4214-0794-4.
- ↑ Concus, P.; Golub, G. H.; Meurant, G. (1985). "Block Preconditioning for the Conjugate Gradient Method". SIAM Journal on Scientific and Statistical Computing. 6 (1): 220–252. doi:10.1137/0906018.
- ↑ Golub, Gene H.; Ye, Qiang (1999). "Inexact Preconditioned Conjugate Gradient Method with Inner-Outer Iteration". SIAM Journal on Scientific Computing. 21 (4): 1305. CiteSeerX 10.1.1.56.1755. doi:10.1137/S1064827597323415.
- ↑ Notay, Yvan (2000). "Flexible Conjugate Gradients". SIAM Journal on Scientific Computing. 22 (4): 1444–1460. CiteSeerX 10.1.1.35.7473. doi:10.1137/S1064827599362314.
- ↑ Bouwmeester, Henricus; Dougherty, Andrew; Knyazev, Andrew V. (2015). "Nonsymmetric Preconditioning for Conjugate Gradient and Steepest Descent Methods 1". Procedia Computer Science. 51: 276–285. doi:10.1016/j.procs.2015.05.241. S2CID 51978658.
- ↑ Knyazev, Andrew V.; Lashuk, Ilya (2008). "Steepest Descent and Conjugate Gradient Methods with Variable Preconditioning". SIAM Journal on Matrix Analysis and Applications. 29 (4): 1267. arXiv:math/0605767. doi:10.1137/060675290. S2CID 17614913.
- ↑ 16.0 16.1 Ross, I. M., "An Optimal Control Theory for Accelerated Optimization," arXiv:1902.09004, 2019.
अग्रिम पठन
- Atkinson, Kendell A. (1988). "Section 8.9". An introduction to numerical analysis (2nd ed.). John Wiley and Sons. ISBN 978-0-471-50023-0.
- Avriel, Mordecai (2003). Nonlinear Programming: Analysis and Methods. Dover Publishing. ISBN 978-0-486-43227-4.
- Golub, Gene H.; Van Loan, Charles F. (2013). "Chapter 11". Matrix Computations (4th ed.). Johns Hopkins University Press. ISBN 978-1-4214-0794-4.
- Saad, Yousef (2003-04-01). "Chapter 6". Iterative methods for sparse linear systems (2nd ed.). SIAM. ISBN 978-0-89871-534-7.
- Gérard Meurant: "Detection and correction of silent errors in the conjugate gradient algorithm", Numerical Algorithms, vol.92 (2023), pp.869-891. url=https://doi.org/10.1007/s11075-022-01380-1
बाहरी संबंध
- "Conjugate gradients, method of", Encyclopedia of Mathematics, EMS Press, 2001 [1994]