जैकोबी विधि: Difference between revisions
No edit summary |
No edit summary |
||
Line 2: | Line 2: | ||
{{Distinguish|Jacobi eigenvalue algorithm}} | {{Distinguish|Jacobi eigenvalue algorithm}} | ||
[[संख्यात्मक रैखिक बीजगणित]] में जैकोबी | [[संख्यात्मक रैखिक बीजगणित]] में जैकोबी विधि रैखिक समीकरणों के विकर्ण प्रभावी प्रणाली के समाधान को निर्धारण करने के लिए एक पुनरावृत्ति एल्गोरिथ्म है, जो प्रत्येक विकर्ण अवयव के लिए हल किया जाता है, और अनुमानित मान को रखा जाता है। यह प्रक्रिया तब तक दोहराई जाती है जब तक कि यह अभिसरित न हो जाए। यह एल्गोरिथम आव्यूह विकर्णन के जैकोबी परिवर्तन बिधि का एक स्ट्रिप्ड-डाउन संस्करण है। इस विधि का नाम [[कार्ल गुस्ताव जैकब जैकोबी]] के नाम पर रखा गया है। | ||
== विवरण == | == विवरण == | ||
चलो <math>A\mathbf x = \mathbf b</math> n रैखिक समीकरणों की एक वर्ग प्रणाली हो, जहाँ:<math display="block">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}.</math> | चलो <math>A\mathbf x = \mathbf b</math>, n रैखिक समीकरणों की एक वर्ग प्रणाली हो, जहाँ:<math display="block">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}.</math> | ||
जब <math>A</math> और <math>\mathbf b</math> ज्ञात हैं, और <math>\mathbf x</math> अज्ञात है, हम अनुमानित <math>\mathbf x</math> के लिए जैकोबी विधि का उपयोग कर सकते हैं। सदिश <math>\mathbf x^{(0)}</math> के लिए हमारे प्रारंभिक अनुमान | जब <math>A</math> और <math>\mathbf b</math> ज्ञात हैं, और <math>\mathbf x</math> अज्ञात है, हम अनुमानित <math>\mathbf x</math> के लिए जैकोबी विधि का उपयोग कर सकते हैं। सदिश <math>\mathbf x^{(0)}</math> के लिए हमारे प्रारंभिक अनुमान <math>\mathbf x</math> को दर्शाता है (अक्सर <math>\mathbf x^{(0)}_i=0</math> के लिए <math>i=1,2,...,n</math>) के रूप में निरूपित करते हैं <math>\mathbf{x}^{(k)}</math>को <math>\mathbf{x}</math> के k-वें सन्निकटन या पुनरावृत्ति के रूप में निरुपित करते है, और <math>\mathbf{x}^{(k+1)}</math> का अगला पुनरावृत्ति ( k+1) है . | ||
=== मैट्रिक्स आधारित सूत्र === | === मैट्रिक्स आधारित सूत्र === | ||
तब A को एक | तब A को एक विकर्ण घटक D, एक निचला त्रिकोणीय भाग L और एक ऊपरी त्रिकोणीय भाग U में विघटित किया जा सकता है:<math display="block">A=D+L+U \qquad \text{where} \qquad D = \begin{bmatrix} a_{11} & 0 & \cdots & 0 \\ 0 & a_{22} & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\0 & 0 & \cdots & a_{nn} \end{bmatrix} \text{ and } L+U = \begin{bmatrix} 0 & a_{12} & \cdots & a_{1n} \\ a_{21} & 0 & \cdots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{n1} & a_{n2} & \cdots & 0 \end{bmatrix}. </math>इसके बाद समाधान को पुनरावृत्त रूप से प्राप्त किया जाता है | ||
:<math> \mathbf{x}^{(k+1)} = D^{-1} (\mathbf{b} - (L+U) \mathbf{x}^{(k)}). </math> | :<math> \mathbf{x}^{(k+1)} = D^{-1} (\mathbf{b} - (L+U) \mathbf{x}^{(k)}). </math> | ||
Line 16: | Line 16: | ||
=== तत्व-आधारित सूत्र === | === तत्व-आधारित सूत्र === | ||
प्रत्येक पंक्ति के लिए तत्व-आधारित सूत्र <math>i</math> इस प्रकार है:<math display="block"> x^{(k+1)}_i = \frac{1}{a_{ii}} \left(b_i -\sum_{j\ne i}a_{ij}x^{(k)}_j\right),\quad i=1,2,\ldots,n. </math> | प्रत्येक पंक्ति के लिए तत्व-आधारित सूत्र <math>i</math> इस प्रकार है:<math display="block"> x^{(k+1)}_i = \frac{1}{a_{ii}} \left(b_i -\sum_{j\ne i}a_{ij}x^{(k)}_j\right),\quad i=1,2,\ldots,n. </math><math>x_i^{(k+1)}</math> की गणना के लिए स्वयं को छोड़कर <math>\mathbf{x}^{(k)}</math>में प्रत्येक अवयव की आवश्यकता होती है। गॉस-सीडेल विधि के विपरीत, हम <math>x_i^{(k)}</math> को <math>x_i^{(k+1)}</math> के साथ अधिलेखित नहीं कर सकते क्योंकि शेष गणना के लिए उस मान की आवश्यकता होगी। भंडारण की न्यूनतम मात्रा आकार n के दो वैक्टर हैं। | ||
== एल्गोरिथम == | == एल्गोरिथम == |
Revision as of 11:15, 31 May 2023
संख्यात्मक रैखिक बीजगणित में जैकोबी विधि रैखिक समीकरणों के विकर्ण प्रभावी प्रणाली के समाधान को निर्धारण करने के लिए एक पुनरावृत्ति एल्गोरिथ्म है, जो प्रत्येक विकर्ण अवयव के लिए हल किया जाता है, और अनुमानित मान को रखा जाता है। यह प्रक्रिया तब तक दोहराई जाती है जब तक कि यह अभिसरित न हो जाए। यह एल्गोरिथम आव्यूह विकर्णन के जैकोबी परिवर्तन बिधि का एक स्ट्रिप्ड-डाउन संस्करण है। इस विधि का नाम कार्ल गुस्ताव जैकब जैकोबी के नाम पर रखा गया है।
विवरण
चलो , n रैखिक समीकरणों की एक वर्ग प्रणाली हो, जहाँ:
मैट्रिक्स आधारित सूत्र
तब A को एक विकर्ण घटक D, एक निचला त्रिकोणीय भाग L और एक ऊपरी त्रिकोणीय भाग U में विघटित किया जा सकता है:
तत्व-आधारित सूत्र
प्रत्येक पंक्ति के लिए तत्व-आधारित सूत्र इस प्रकार है:
एल्गोरिथम
Input: initial guess x(0) to the solution, (diagonal dominant) matrix A, right-hand side vector b, convergence criterion Output: solution when convergence is reached Comments: pseudocode based on the element-based formula above k = 0 while convergence not reached do for i := 1 step until n do σ = 0 for j := 1 step until n do if j ≠ i then σ = σ + aij xj(k) end end xi(k+1) = (bi − σ) / aii end increment k end
अभिसरण
मानक अभिसरण स्थिति (किसी पुनरावृत्त विधि के लिए) तब होती है जब पुनरावृत्ति मैट्रिक्स का वर्णक्रमीय त्रिज्या 1 से कम होता है:
अभिसरण की विधि के लिए एक पर्याप्त (लेकिन आवश्यक नहीं) शर्त यह है कि मैट्रिक्स ए सख्ती से या अनियमित रूप से तिरछे प्रभावशाली मैट्रिक्स है। सख्त पंक्ति विकर्ण प्रभुत्व का अर्थ है कि प्रत्येक पंक्ति के लिए, विकर्ण पद का निरपेक्ष मान अन्य पदों के निरपेक्ष मानों के योग से अधिक है:
जैकोबी पद्धति कभी-कभी अभिसरण करती है, भले ही ये शर्तें संतुष्ट न हों।
ध्यान दें कि जैकोबी विधि प्रत्येक सममित सकारात्मक-निश्चित मैट्रिक्स के लिए अभिसरण नहीं करती है। उदाहरण के लिए,
उदाहरण
उदाहरण 1
फॉर्म की एक रैखिक प्रणाली प्रारंभिक अनुमान के साथ द्वारा दिया गया है
हम समीकरण का उपयोग करते हैं , ऊपर वर्णित, अनुमान लगाने के लिए . सबसे पहले, हम समीकरण को अधिक सुविधाजनक रूप में फिर से लिखते हैं , कहाँ और . ज्ञात मूल्यों से
उदाहरण 2
मान लीजिए कि हमें निम्नलिखित रैखिक प्रणाली दी गई है:
अगर हम चुनते हैं (0, 0, 0, 0) को प्रारंभिक सन्निकटन के रूप में, तो प्रथम सन्निकट हल द्वारा दिया जाता है
0.6 | 2.27272 | -1.1 | 1.875 |
1.04727 | 1.7159 | -0.80522 | 0.88522 |
0.93263 | 2.05330 | -1.0493 | 1.13088 |
1.01519 | 1.95369 | -0.9681 | 0.97384 |
0.98899 | 2.0114 | -1.0102 | 1.02135 |
व्यवस्था का सटीक समाधान है (1, 2, −1, 1).
पायथन उदाहरण
import numpy as np
ITERATION_LIMIT = 1000
initialize the matrix
A = np.array([[10., -1., 2., 0.],
[-1., 11., -1., 3.], [2., -1., 10., -1.], [0.0, 3., -1., 8.]])
initialize the RHS vector
b = np.array([6., 25., -11., 15.])
prints the system
print("System:") for i in range(A.shape[0]):
row = [f"{A[i, j]}*x{j + 1}" for j in range(A.shape[1])] print(f'{" + ".join(row)} = {b[i]}')
print() x = np.zeros_like(b) for it_count in range(ITERATION_LIMIT):
if it_count != 0: print(f"Iteration {it_count}: {x}") x_new = np.zeros_like(x) for i in range(A.shape[0]): s1 = np.dot(A[i, :i], x[:i]) s2 = np.dot(A[i, i + 1:], x[i + 1:]) x_new[i] = (b[i] - s1 - s2) / A[i, i] if x_new[i] == x_new[i-1]: break if np.allclose(x, x_new, atol=1e-10, rtol=0.): break x = x_new
print("Solution: ") print(x) error = np.dot(A, x) - b print("Error:") print(error)
भारित जैकोबी विधि
भारित जैकोबी पुनरावृत्ति एक पैरामीटर का उपयोग करता है पुनरावृत्ति की गणना करने के लिए
साथ सामान्य पसंद होने के नाते।[1] संबंध से , इसे इस रूप में भी व्यक्त किया जा सकता है
- .
सममित सकारात्मक निश्चित मामले में अभिसरण
मामले में कि सिस्टम मैट्रिक्स सममित सकारात्मक-निश्चित मैट्रिक्स का है | सकारात्मक-निश्चित प्रकार कोई अभिसरण दिखा सकता है।
होने देना पुनरावृत्ति मैट्रिक्स हो। फिर, अभिसरण की गारंटी है
- कहाँ अधिकतम eigenvalue है।
किसी विशेष विकल्प के लिए वर्णक्रमीय त्रिज्या को कम किया जा सकता है निम्नलिखित नुसार
यह भी देखें
- गॉस-सीडेल विधि
- लगातार अति-विश्राम
- इटरेटिव मेथड # लीनियर सिस्टम | इटरेटिव मेथड § लीनियर सिस्टम
- विश्वास प्रचार#गाऊसी विश्वास प्रसार .28GaBP.29
- मैट्रिक्स विभाजन
संदर्भ
- ↑ Saad, Yousef (2003). विरल रेखीय प्रणालियों के लिए पुनरावर्ती तरीके (2nd ed.). SIAM. p. 414. ISBN 0898715342.
बाहरी संबंध
- This article incorporates text from the article Jacobi_method on CFD-Wiki that is under the GFDL license.
- Black, Noel; Moore, Shirley & Weisstein, Eric W. "Jacobi method". MathWorld.
- Jacobi Method from www.math-linux.com