गाउस-साइडल विधि

संख्यात्मक रैखिक बीजगणित में, गॉस-सीडेल विधि, जिसे लिबमैन विधि या क्रमिक विस्थापन की विधि के रूप में भी जाना जाता है, एक पुनरावृत्त विधि है जिसका उपयोग रैखिक समीकरणों की प्रणाली को हल करने के लिए किया जाता है। इसका नाम जर्मनी के गणितज्ञ कार्ल फ्रेडरिक गॉस और फिलिप लुडविग वॉन सीडेल के नाम पर रखा गया है, और यह जैकोबी पद्धति के समान है। यद्यपि इसे विकर्णों पर गैर-शून्य तत्वों वाले किसी भी मैट्रिक्स पर लागू किया जा सकता है, अभिसरण की गारंटी केवल तभी दी जाती है जब मैट्रिक्स या तो विकर्ण रूप से प्रमुख मैट्रिक्स हो, या सममित मैट्रिक्स और सकारात्मक-निश्चित मैट्रिक्स। इसका उल्लेख केवल 1823 में गॉस द्वारा अपने छात्र क्रिश्चियन लुडविग गेर्लिंग को लिखे एक निजी पत्र में किया गया था। सीडेल द्वारा 1874 से पहले कोई प्रकाशन वितरित नहीं किया गया था।

विवरण
होने देना $A\mathbf x = \mathbf b$ की एक वर्ग प्रणाली हो $n$ रैखिक समीकरण, जहां:

$$A = \begin{bmatrix} a_{11} & a_{12} & \cdots & a_{1n} \\ a_{21} & a_{22} & \cdots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\a_{n1} & a_{n2} & \cdots & a_{nn} \end{bmatrix}, \qquad \mathbf{x} = \begin{bmatrix} x_{1} \\ x_2 \\ \vdots \\ x_n \end{bmatrix}, \qquad  \mathbf{b} = \begin{bmatrix} b_{1} \\ b_2 \\ \vdots \\ b_n \end{bmatrix}.$$ कब $$A$$ और $$\mathbf b$$ ज्ञात हैं, और $$\mathbf x$$ अज्ञात है, हम अनुमान लगाने के लिए गॉस-सीडेल विधि का उपयोग कर सकते हैं $$\mathbf x$$. सदिश $$\mathbf x^{(0)}$$ के लिए हमारे प्रारंभिक अनुमान को दर्शाता है $$\mathbf x$$ (अक्सर $$\mathbf x^{(0)}_i=0$$ के लिए $$i=1,2,...,n$$). हम निरूपित करते हैं $$\mathbf{x}^{(k)}$$ के रूप में $k$-वाँ सन्निकटन या पुनरावृत्ति $$\mathbf{x}$$, और $$\mathbf{x}^{(k+1)}$$ का अगला (या k+1) पुनरावृत्ति है $$\mathbf{x}$$.

मैट्रिक्स-आधारित सूत्र
समाधान पुनरावर्ती रूप से प्राप्त किया जाता है $$ L_* \mathbf{x}^{(k+1)} = \mathbf{b} - U \mathbf{x}^{(k)}, $$ जहां मैट्रिक्स $$A$$ एक त्रिकोणीय मैट्रिक्स घटक में विघटित हो जाता है $$L_*$$, और एक त्रिकोणीय मैट्रिक्स # कड़ाई से त्रिकोणीय मैट्रिक्स घटक $$U$$ ऐसा है कि $$ A = L_* + U $$. अधिक विशेष रूप से, का अपघटन $$A$$ में $$L_*$$ और $$U$$ द्वारा दिया गया है:

$$A = \underbrace{ \begin{bmatrix} a_{11} & 0 & \cdots & 0 \\ a_{21} & a_{22} & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\a_{n1} & a_{n2} & \cdots & a_{nn} \end{bmatrix} }_{\textstyle L_*} + \underbrace{ \begin{bmatrix} 0 & a_{12} & \cdots & a_{1n} \\ 0 & 0 & \cdots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\0 & 0 & \cdots & 0 \end{bmatrix} }_{\textstyle U} . $$

मैट्रिक्स-आधारित सूत्र क्यों काम करता है
रैखिक समीकरणों की प्रणाली को इस प्रकार फिर से लिखा जा सकता है:
 * $$\begin{alignat}{1}

A\mathbf x &= \mathbf b \\ (L_*+U) \mathbf x &= \mathbf b \\ L_* \mathbf x+U\mathbf x &= \mathbf b \\ L_* \mathbf{x} &= \mathbf{b} - U \mathbf{x} \end{alignat} $$ गॉस-सीडेल विधि अब इस अभिव्यक्ति के बाईं ओर को हल करती है$$\mathbf{x}$$, के लिए पिछले मान का उपयोग करना$$\mathbf{x}$$दाहिने हाथ की ओर। विश्लेषणात्मक रूप से, इसे इस प्रकार लिखा जा सकता है: $$ \mathbf{x}^{(k+1)} = L_*^{-1} \left(\mathbf{b} - U \mathbf{x}^{(k)}\right). $$

तत्व-आधारित सूत्र
हालाँकि, त्रिकोणीय रूप का लाभ उठाकर $$L_*$$, के तत्व $$\mathbf{x}^{(k+1)}$$ प्रत्येक पंक्ति के लिए क्रमिक रूप से गणना की जा सकती है $$i$$ आगे प्रतिस्थापन का उपयोग करना: $$ x^{(k+1)}_i = \frac{1}{a_{ii}} \left(b_i - \sum_{j=1}^{i-1}a_{ij}x^{(k+1)}_j - \sum_{j=i+1}^{n}a_{ij}x^{(k)}_j \right),\quad i=1,2,\dots,n. $$ ध्यान दें कि सूत्र प्रति पुनरावृत्ति दो योगों का उपयोग करता है जिन्हें एक योग के रूप में व्यक्त किया जा सकता है $$\sum_{j \ne i} a_{ij}x_j$$ जो कि सबसे हाल ही में गणना की गई पुनरावृत्ति का उपयोग करता है $$x_j$$. प्रक्रिया आम तौर पर तब तक जारी रखी जाती है जब तक कि पुनरावृत्ति द्वारा किए गए परिवर्तन कुछ सहनशीलता से कम न हों, जैसे कि पर्याप्त रूप से छोटा अवशिष्ट (संख्यात्मक विश्लेषण)।

चर्चा
गॉस-सीडेल विधि का तत्व-वार सूत्र जैकोबी विधि के समान है।

की गणना $$\mathbf{x}^{(k+1)}$$ के तत्वों का उपयोग करता है $$\mathbf{x}^{(k+1)}$$ जिसकी गणना पहले ही की जा चुकी है, और केवल इसके तत्व $$\mathbf{x}^{(k)}$$ जिसकी गणना नहीं की गई है $(k+1)$-वाँ पुनरावृत्ति. इसका मतलब यह है कि, जैकोबी पद्धति के विपरीत, केवल एक स्टोरेज वेक्टर की आवश्यकता होती है क्योंकि तत्वों की गणना करते समय उन्हें ओवरराइट किया जा सकता है, जो बहुत बड़ी समस्याओं के लिए फायदेमंद हो सकता है।

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

गॉस-सीडेल क्रमिक अति-विश्राम के समान है $$\omega=1$$.

अभिसरण
गॉस-सीडेल विधि के अभिसरण गुण मैट्रिक्स ए पर निर्भर हैं। अर्थात्, प्रक्रिया को अभिसरण के लिए जाना जाता है यदि या तो: गॉस-सीडेल विधि कभी-कभी इन शर्तों के संतुष्ट न होने पर भी अभिसरण करती है।
 * $A$ सममित सकारात्मक-निश्चित मैट्रिक्स है|सकारात्मक-निश्चित, या
 * $A$ सख्ती से या अपरिवर्तनीय रूप से विकर्ण रूप से प्रभावशाली मैट्रिक्स है।

गोलूब और वैन लोन एक एल्गोरिथ्म के लिए एक प्रमेय देते हैं जो विभाजित होता है $$A$$ दो भागों में. कल्पना करना $$A = M - N$$ निरर्थक है. होने देना $$r = \rho(M^{-1}N)$$ की वर्णक्रमीय त्रिज्या हो $$M^{-1}N$$. फिर पुनरावृत्त होता है $$x^{(k)}$$ द्वारा परिभाषित $$Mx^{(k+1)} = Nx^{(k)} + b$$ में जुटना $$x = A^{-1}b$$ किसी भी आरंभिक वेक्टर के लिए $$x^{(0)}$$ अगर $$M$$ निरर्थक है और $$r < 1$$.

एल्गोरिथम
चूँकि इस एल्गोरिथ्म में तत्वों की गणना करते समय उन्हें ओवरराइट किया जा सकता है, केवल एक स्टोरेज वेक्टर की आवश्यकता होती है, और वेक्टर इंडेक्सिंग को छोड़ दिया जाता है। एल्गोरिथ्म इस प्रकार है:

एल्गोरिथम गॉस-सीडेल विधि है इनपुट: A, b    output: φ Choose an initial guess φ to the solution अभिसरण तक दोहराएँ के लिए i 1 से तक n करना σ ← 0 के लिए j 1 से तक n करना अगर j ≠ i तब σ ← σ + aijφj अगर अंत अंत (j-कुंडली) φi ← (bi − σ) / aii अंत (i-कुंडली) जाँच करें कि क्या अभिसरण पहुँच गया है अंत (दोहराएँ)

मैट्रिक्स संस्करण के लिए एक उदाहरण
एक रैखिक प्रणाली के रूप में दिखाया गया है $$A \mathbf{x} = \mathbf{b}$$ द्वारा दिया गया है: $$ A=     \begin{bmatrix} 16 &   3 \\            7  & -11 \\           \end{bmatrix} \quad \text{and} \quad b=     \begin{bmatrix} 11 \\          13           \end{bmatrix}. $$ हम समीकरण का उपयोग करना चाहते हैं $$ \mathbf{x}^{(k+1)} = L_*^{-1} (\mathbf{b} - U \mathbf{x}^{(k)}) $$ प्रपत्र में $$ \mathbf{x}^{(k+1)} = T \mathbf{x}^{(k)} + C $$ कहाँ:
 * $$T = - L_*^{-1} U \quad \text{and} \quad C = L_*^{-1} \mathbf{b}.$$

हमें विघटित होना चाहिए $$A$$ निचले त्रिकोणीय घटक के योग में $$L_*$$ और एक सख्त ऊपरी त्रिकोणीय घटक $$U$$: $$ L_*= \begin{bmatrix} 16 &  0 \\           7  & -11 \\           \end{bmatrix} \quad \text{and} \quad U = \begin{bmatrix} 0 & 3 \\          0 & 0        \end{bmatrix}.$$ का उलटा $$L_*$$ है: $$ L_*^{-1} = \begin{bmatrix} 16 &  0 \\           7  & -11           \end{bmatrix}^{-1} =     \begin{bmatrix} 0.0625 & 0.0000 \\           0.0398 & -0.0909 \\           \end{bmatrix}. $$ अब हम पा सकते हैं: $$\begin{align} T &= - \begin{bmatrix} 0.0625 & 0.0000 \\           0.0398 & -0.0909      \end{bmatrix} \begin{bmatrix} 0 & 3 \\          0 & 0      \end{bmatrix} =     \begin{bmatrix} 0.000 & -0.1875 \\          0.000 & -0.1194      \end{bmatrix}, \\[1ex] C &= \begin{bmatrix} 0.0625 & 0.0000 \\           0.0398 & -0.0909      \end{bmatrix} \begin{bmatrix} 11 \\          13      \end{bmatrix} =     \begin{bmatrix} 0.6875 \\         -0.7439      \end{bmatrix}. \end{align}$$ अब हमारे पास है $$T$$ और $$C$$ और हम उनका उपयोग सदिश प्राप्त करने के लिए कर सकते हैं $$\mathbf{x}$$ पुनरावर्ती रूप से।

सबसे पहले हमें चुनना होगा $$\mathbf{x}^{(0)}$$: हम केवल अनुमान लगा सकते हैं. अनुमान जितना बेहतर होगा, एल्गोरिदम उतनी ही तेजी से काम करेगा।

हम एक प्रारंभिक बिंदु चुनते हैं: $$ x^{(0)} = \begin{bmatrix} 1.0 \\ 1.0 \end{bmatrix}.$$ फिर हम गणना कर सकते हैं: $$\begin{align} x^{(1)} &= \begin{bmatrix} 0.000 & -0.1875 \\          0.000 & -0.1193      \end{bmatrix} \begin{bmatrix} 1.0 \\          1.0      \end{bmatrix} +     \begin{bmatrix} 0.6875 \\         -0.7443      \end{bmatrix} =     \begin{bmatrix} 0.5000 \\         -0.8636      \end{bmatrix}. \\[1ex] x^{(2)} &= \begin{bmatrix} 0.000 & -0.1875 \\          0.000 & -0.1193      \end{bmatrix} \begin{bmatrix} 0.5000 \\         -0.8636      \end{bmatrix} +     \begin{bmatrix} 0.6875 \\         -0.7443      \end{bmatrix} =     \begin{bmatrix} 0.8494 \\         -0.6413      \end{bmatrix}. \\[1ex] x^{(3)} &= \begin{bmatrix} 0.000 & -0.1875 \\          0.000 & -0.1193      \end{bmatrix} \begin{bmatrix} 0.8494 \\         -0.6413 \\      \end{bmatrix} +     \begin{bmatrix} 0.6875 \\         -0.7443      \end{bmatrix} =     \begin{bmatrix} 0.8077 \\         -0.6678      \end{bmatrix}. \\[1ex] x^{(4)} &= \begin{bmatrix} 0.000 & -0.1875 \\          0.000 & -0.1193      \end{bmatrix} \begin{bmatrix} 0.8077 \\         -0.6678      \end{bmatrix} +     \begin{bmatrix} 0.6875 \\         -0.7443      \end{bmatrix} =     \begin{bmatrix} 0.8127 \\         -0.6646      \end{bmatrix}. \\[1ex] x^{(5)} &= \begin{bmatrix} 0.000 & -0.1875 \\          0.000 & -0.1193      \end{bmatrix} \begin{bmatrix} 0.8127 \\         -0.6646      \end{bmatrix} +     \begin{bmatrix} 0.6875 \\         -0.7443      \end{bmatrix} =     \begin{bmatrix} 0.8121 \\         -0.6650      \end{bmatrix}. \\[1ex] x^{(6)} &= \begin{bmatrix} 0.000 & -0.1875 \\          0.000 & -0.1193      \end{bmatrix} \begin{bmatrix} 0.8121 \\         -0.6650      \end{bmatrix} +     \begin{bmatrix} 0.6875 \\         -0.7443      \end{bmatrix} =     \begin{bmatrix} 0.8122 \\         -0.6650      \end{bmatrix}. \\[1ex] x^{(7)} &= \begin{bmatrix} 0.000 & -0.1875 \\          0.000 & -0.1193      \end{bmatrix} \begin{bmatrix} 0.8122 \\         -0.6650      \end{bmatrix} +     \begin{bmatrix} 0.6875 \\         -0.7443      \end{bmatrix} =     \begin{bmatrix} 0.8122 \\         -0.6650      \end{bmatrix}. \end{align}$$ जैसा कि अपेक्षित था, एल्गोरिथ्म सटीक समाधान में परिवर्तित होता है: $$ \mathbf{x} = A^{-1} \mathbf{b} \approx \begin{bmatrix} 0.8122\\ -0.6650 \end{bmatrix}. $$ वास्तव में, मैट्रिक्स $A$ सख्ती से विकर्ण रूप से प्रभावशाली है (लेकिन सकारात्मक निश्चित नहीं)।

मैट्रिक्स संस्करण के लिए एक और उदाहरण
एक अन्य रैखिक प्रणाली के रूप में दिखाया गया है $$A \mathbf{x} = \mathbf{b}$$ द्वारा दिया गया है:

$$ A=     \begin{bmatrix} 2 & 3 \\          5 & 7 \\           \end{bmatrix} \quad \text{and} \quad b = \begin{bmatrix} 11 \\          13 \\           \end{bmatrix}. $$ हम समीकरण का उपयोग करना चाहते हैं $$ \mathbf{x}^{(k+1)} = L_*^{-1} (\mathbf{b} - U \mathbf{x}^{(k)}) $$ प्रपत्र में $$ \mathbf{x}^{(k+1)} = T \mathbf{x}^{(k)} + C $$ कहाँ:
 * $$T = - L_*^{-1} U \quad \text{and} \quad C = L_*^{-1} \mathbf{b}.$$

हमें विघटित होना चाहिए $$A$$ निचले त्रिकोणीय घटक के योग में $$L_*$$ और एक सख्त ऊपरी त्रिकोणीय घटक $$U$$: $$ L_*= \begin{bmatrix} 2 & 0 \\          5 & 7 \\           \end{bmatrix} \quad \text{and} \quad U = \begin{bmatrix} 0 & 3 \\          0 & 0 \\        \end{bmatrix}.$$ का उलटा $$L_*$$ है: $$ L_*^{-1} = \begin{bmatrix} 2 & 0 \\          5 & 7 \\           \end{bmatrix}^{-1} =     \begin{bmatrix} 0.500 & 0.000 \\         -0.357 & 0.143 \\           \end{bmatrix} .$$ अब हम पा सकते हैं: $$\begin{align} T &= - \begin{bmatrix} 0.500 & 0.000 \\         -0.357 & 0.143 \\      \end{bmatrix} \begin{bmatrix} 0 & 3 \\          0 & 0 \\      \end{bmatrix} =     \begin{bmatrix} 0.000 & -1.500 \\          0.000 &  1.071 \\      \end{bmatrix}, \\[1ex] C &= \begin{bmatrix} 0.500 & 0.000 \\         -0.357 & 0.143 \\      \end{bmatrix} \begin{bmatrix} 11 \\          13 \\      \end{bmatrix} =     \begin{bmatrix} 5.500 \\         -2.071 \\      \end{bmatrix}. \end{align}$$ अब हमारे पास है $$T$$ और $$C$$ और हम उनका उपयोग सदिश प्राप्त करने के लिए कर सकते हैं $$\mathbf{x}$$ पुनरावर्ती रूप से।

सबसे पहले हमें चुनना होगा $$\mathbf{x}^{(0)}$$: हम केवल अनुमान लगा सकते हैं. अनुमान जितना बेहतर होगा, एल्गोरिदम उतनी ही तेजी से निष्पादित होगा।

हम कल्पना करते हैं: $$ x^{(0)} = \begin{bmatrix} 1.1 \\ 2.3 \end{bmatrix}.$$ फिर हम गणना कर सकते हैं: $$\begin{align} x^{(1)} &= \begin{bmatrix} 0 & -1.500 \\          0 &  1.071 \\      \end{bmatrix} \begin{bmatrix} 1.1 \\          2.3 \\      \end{bmatrix} +     \begin{bmatrix} 5.500 \\         -2.071 \\      \end{bmatrix} =     \begin{bmatrix} 2.050 \\          0.393 \\      \end{bmatrix}. \\[1ex] x^{(2)} &= \begin{bmatrix} 0 & -1.500 \\          0 &  1.071 \\      \end{bmatrix} \begin{bmatrix} 2.050 \\          0.393 \\      \end{bmatrix} +     \begin{bmatrix} 5.500 \\         -2.071 \\      \end{bmatrix} =     \begin{bmatrix} 4.911 \\         -1.651      \end{bmatrix}. \\[1ex] x^{(3)} &= \cdots. \end{align}$$ यदि हम अभिसरण के लिए परीक्षण करते हैं तो हम पाएंगे कि एल्गोरिदम अलग हो जाता है। वास्तव में, मैट्रिक्स ए न तो विकर्ण रूप से प्रभावशाली है और न ही सकारात्मक निश्चित है। फिर, सटीक समाधान के लिए अभिसरण $$ \mathbf{x} = A^{-1} \mathbf{b} = \begin{bmatrix} -38\\ 29 \end{bmatrix} $$ इसकी गारंटी नहीं है और, इस मामले में, घटित नहीं होगा।

समीकरण संस्करण के लिए एक उदाहरण
मान लीजिए दिया है $k$ समीकरण जहां xn इन समीकरणों के सदिश और प्रारंभिक बिंदु x हैं0. पहले समीकरण से x के लिए हल करें1 के अनुसार $$x_{n+1}, x_{n+2}, \dots, x_n.$$ अगले समीकरण के लिए xs के पिछले मानों को प्रतिस्थापित करें।

इसे स्पष्ट करने के लिए एक उदाहरण पर विचार करें। $$\begin{array}{rrrrl} 10x_1 &-  x_2 &+  2x_3 &       & = 6, \\ -x_1 &+ 11x_2 &-  x_3 &+ 3x_4 & =  25, \\ 2x_1 &-  x_2 &+ 10x_3 &-  x_4 & =  -11, \\ &  3x_2 &-   x_3 &+ 8x_4 & =  15. \end{array}$$ के लिए समाधान $$x_1, x_2, x_3$$ और $$x_4$$ देता है: $$\begin{align} x_1 & = x_2/10 - x_3/5 + 3/5, \\ x_2 & = x_1/11 + x_3/11 - 3x_4/11 + 25/11, \\ x_3 & = -x_1/5 + x_2/10 + x_4/10  - 11/10, \\ x_4 & = -3x_2/8 + x_3/8 + 15/8. \end{align}$$ मान लीजिए हम चुनते हैं $(0, 0, 0, 0)$ प्रारंभिक सन्निकटन के रूप में, फिर पहला सन्निकटन समाधान दिया जाता है $$\begin{align} x_1 & = 3/5 = 0.6, \\ x_2 & = (3/5)/11 + 25/11 = 3/55 + 25/11 = 2.3272, \\ x_3 & = -(3/5)/5 +(2.3272)/10-11/10 = -3/25 + 0.23272-1.1 = -0.9873,\\ x_4 & = -3(2.3272)/8 +(-0.9873)/8+15/8 = 0.8789. \end{align}$$ प्राप्त अनुमानों का उपयोग करते हुए, वांछित सटीकता तक पहुंचने तक पुनरावृत्ति प्रक्रिया दोहराई जाती है। चार पुनरावृत्तियों के बाद अनुमानित समाधान निम्नलिखित हैं। सिस्टम का सटीक समाधान है $(1, 2, −1, 1)$.

पायथन और NumPy
का उपयोग करने वाला एक उदाहरण निम्नलिखित संख्यात्मक प्रक्रिया केवल समाधान वेक्टर उत्पन्न करने के लिए पुनरावृत्त होती है।

आउटपुट उत्पन्न करता है:

मनमाना नंबर हल करने का कार्यक्रम। मैटलैब
का उपयोग करके समीकरणों का निम्नलिखित कोड सूत्र का उपयोग करता है $$x^{(k+1)}_i = \frac{1}{a_{ii}} \left(b_i - \sum_{ji}a_{ij}x^{(k)}_j \right),\quad \begin{array}{l} i=1,2,\ldots,n \\ k=0,1,2,\ldots \end{array}$$

यह भी देखें

 * संयुग्मित ढाल विधि
 * विश्वास प्रचार#गाऊसी विश्वास प्रचार .28GaBP.29
 * पुनरावृत्तीय विधि#रैखिक प्रणालियाँ|पुनरावृत्तीय विधि: रेखीय प्रणालियाँ
 * काक्ज़मर्ज़ विधि (एक पंक्ति-उन्मुख विधि, जबकि गॉस-सीडेल स्तंभ-उन्मुख है। उदाहरण के लिए, देखें, यह पेपर।)
 * मैट्रिक्स विभाजन
 * रिचर्डसन पुनरावृत्ति

बाहरी संबंध

 * Gauss–Seidel from www.math-linux.com
 * Gauss–Seidel From Holistic Numerical Methods Institute
 * Gauss Siedel Iteration from www.geocities.com
 * The Gauss-Seidel Method
 * Bickson
 * Matlab code
 * C code example
 * C code example