जैकोबी विधि: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
Line 255: Line 255:


=== पायथन उदहारण ===
=== पायथन उदहारण ===
import numpy as np ITERATION_LIMIT = 1000
<blockquote>
#initialize the matrix
#import numpy as np
A = np.array([[10., -1., 2., 0.],
#ITERATION_LIMIT = 1000
              [-1., 11., -1., 3.],
## initialize the matrix
              [2., -1., 10., -1.],
#A = np.array([[10., -1., 2., 0.],
              [0.0, 3., -1., 8.]])
#[-1., 11., -1., 3.],
#initialize the RHS vector
# [2., -1., 10., -1.],
b = np.array([6., 25., -11., 15.])
# [0.0, 3., -1., 8.]])
#prints the system
## initialize the RHS vector
print("System:") for i in range(A.shape[0]):
#b = np.array([6., 25., -11., 15.])
    row = [f"{A[i, j]}*x{j + 1}" for j in range(A.shape[1])]
## prints the system
    print(f'{" + ".join(row)} = {b[i]}')
#print("System:")
print()
#for i in range(A.shape[0]):
 
# row = [f"{A[i, j]}*x{j + 1}" for j in range(A.shape[1])]
x = np.zeros_like(b) for it_count in range(ITERATION_LIMIT):
#print(f'{" + ".join(row)} = {b[i]}')
    if it_count != 0:
#print()
        print(f"Iteration {it_count}: {x}")
#x = np.zeros_like(b)
    x_new = np.zeros_like(x)
#for it_count in range(ITERATION_LIMIT):
 
# if it_count != 0:
    for i in range(A.shape[0]):
#print(f"Iteration {it_count}: {x}")
        s1 = np.dot(A[i, :i], x[:i])
#x_new = np.zeros_like(x)
        s2 = np.dot(A[i, i + 1:], x[i + 1:])
#for i in range(A.shape[0]):
        x_new[i] = (b[i] - s1 - s2) / A[i, i]
#s1 = np.dot(A[i, :i], x[:i])
        if x_new[i] == x_new[i-1]:
#s2 = np.dot(A[i, i + 1:], x[i + 1:])
          break
#x_new[i] = (b[i] - s1 - s2) / A[i, i]
 
#if x_new[i] == x_new[i-1]:
    if np.allclose(x, x_new, atol=1e-10, rtol=0.):
#break
        break
# if np.allclose(x, x_new, atol=1e-10, rtol=0.):
 
# break
    x = x_new
#x = x_new
print("Solution: ") print(x) error = np.dot(A, x) - b print("Error:") print(error)<blockquote>
#print("Solution: ")
#print(x)
# error = np.dot(A, x) - b
#print("Error:")
#print(error)
</blockquote>
</blockquote>


== भारित जैकोबी विधि ==
==भारित जैकोबी विधि==


भारित जैकोबी पुनरावृत्ति एक पैरामीटर का उपयोग करता है <math>\omega</math> पुनरावृत्ति की गणना करने के लिए
भारित जैकोबी पुनरावृत्ति, पुनरावृत्ति की गणना करने के लिए एक पैरामीटर <math>\omega</math> का उपयोग करता है 


:<math> \mathbf{x}^{(k+1)} = \omega D^{-1} (\mathbf{b} - (L+U) \mathbf{x}^{(k)}) + \left(1-\omega\right)\mathbf{x}^{(k)}</math>
:<math> \mathbf{x}^{(k+1)} = \omega D^{-1} (\mathbf{b} - (L+U) \mathbf{x}^{(k)}) + \left(1-\omega\right)\mathbf{x}^{(k)}</math>
साथ <math>\omega = 2/3</math> सामान्य पसंद होने के नाते।<ref>{{cite book|last=Saad|first=Yousef|author-link=Yousef Saad|title=विरल रेखीय प्रणालियों के लिए पुनरावर्ती तरीके|edition=2nd|year=2003|publisher=[[Society for Industrial and Applied Mathematics|SIAM]]|isbn=0898715342|page=[https://archive.org/details/iterativemethods0000saad/page/414 414]|url=https://archive.org/details/iterativemethods0000saad/page/414}}</ref>
<math>\omega = 2/3</math> के साथ अत्यधिक उपयोग होने के कारण <ref>{{cite book|last=Saad|first=Yousef|author-link=Yousef Saad|title=विरल रेखीय प्रणालियों के लिए पुनरावर्ती तरीके|edition=2nd|year=2003|publisher=[[Society for Industrial and Applied Mathematics|SIAM]]|isbn=0898715342|page=[https://archive.org/details/iterativemethods0000saad/page/414 414]|url=https://archive.org/details/iterativemethods0000saad/page/414}}</ref> संबंध <math> L + U = A - D </math> से इसे <math> \mathbf{x}^{(k+1)} = \omega D^{-1} \mathbf{b} + \left( I - \omega D^{-1} A \right) \mathbf{x}^{(k)} </math> के रूप में भी व्यक्त किया जा सकता है।
संबंध से <math> L + U = A - D </math>, इसे इस रूप में भी व्यक्त किया जा सकता है
:.
:<math> \mathbf{x}^{(k+1)} = \omega D^{-1} \mathbf{b} + \left( I - \omega D^{-1} A \right) \mathbf{x}^{(k)} </math>.


=== सममित सकारात्मक निश्चित मामले में अभिसरण ===
===सममित सकारात्मक निश्चित मामले में अभिसरण===


मामले में कि सिस्टम मैट्रिक्स <math> A </math> सममित सकारात्मक-निश्चित मैट्रिक्स का है | सकारात्मक-निश्चित प्रकार कोई अभिसरण दिखा सकता है।
इस मामले में कि सिस्टम [[सकारात्मक-निश्चित मैट्रिक्स|आव्यूह]] <math> A </math> सममित सकारात्मक-निश्चित प्रकार का है, कोई अभिसरण दिखा सकता है।


होने देना <math> C=C_\omega = I-\omega D^{-1}A </math> पुनरावृत्ति मैट्रिक्स हो।
माना  <math> C=C_\omega = I-\omega D^{-1}A </math> पुनरावृति मैट्रिक्स हो और फिर <math>
फिर, अभिसरण की गारंटी है
:<math>
\rho(C_\omega) < 1
\rho(C_\omega) < 1
   \quad \Longleftrightarrow \quad
   \quad \Longleftrightarrow \quad
   0 < \omega < \frac{2}{\lambda_\text{max} (D^{-1}A)} \,,
   0 < \omega < \frac{2}{\lambda_\text{max} (D^{-1}A)} \,,
</math> कहाँ <math> \lambda_\text{max} </math> अधिकतम eigenvalue है।
</math> के लिए अभिसरण की गारंटी दी जाती है, जहां <math> \lambda_\text{max} </math>अधिकतम एगेनवैल्यू  है|


किसी विशेष विकल्प के लिए वर्णक्रमीय त्रिज्या को कम किया जा सकता है <math> \omega = \omega_\text{opt} </math> निम्नलिखित नुसार
<math> \omega = \omega_\text{opt} </math>किसी विशेष विकल्प के लिए वर्णक्रमीय त्रिज्या को कम किया जा सकता है  निम्नलिखित नुसार
<math display="block">
<math display="block">
\min_\omega \rho (C_\omega) = \rho (C_{\omega_\text{opt}}) = 1-\frac{2}{\kappa(D^{-1}A)+1}
\min_\omega \rho (C_\omega) = \rho (C_{\omega_\text{opt}}) = 1-\frac{2}{\kappa(D^{-1}A)+1}
Line 318: Line 318:
कहाँ <math> \kappa </math> स्थिति संख्या#मैट्रिसेस है।
कहाँ <math> \kappa </math> स्थिति संख्या#मैट्रिसेस है।


== यह भी देखें ==
==यह भी देखें==


* गॉस-सीडेल विधि
* गॉस-सीडेल विधि
* लगातार अति-विश्राम
*लगातार अति-विश्राम
* इटरेटिव मेथड # लीनियर सिस्टम | इटरेटिव मेथड § लीनियर सिस्टम
*इटरेटिव मेथड # लीनियर सिस्टम | इटरेटिव मेथड § लीनियर सिस्टम
*विश्वास प्रचार#गाऊसी विश्वास प्रसार .28GaBP.29
*विश्वास प्रचार#गाऊसी विश्वास प्रसार .28GaBP.29
* [[मैट्रिक्स विभाजन]]
*[[मैट्रिक्स विभाजन]]


== संदर्भ ==
==संदर्भ==
{{Reflist}}
{{Reflist}}


Line 332: Line 332:
==बाहरी संबंध==
==बाहरी संबंध==
* {{CFDWiki|name=Jacobi_method}}
* {{CFDWiki|name=Jacobi_method}}
* {{MathWorld|urlname=JacobiMethod|title=Jacobi method|author=Black, Noel|author2=Moore, Shirley|author3= Weisstein, Eric W.|name-list-style=amp}}
*{{MathWorld|urlname=JacobiMethod|title=Jacobi method|author=Black, Noel|author2=Moore, Shirley|author3= Weisstein, Eric W.|name-list-style=amp}}
* [http://www.math-linux.com/spip.php?article49 Jacobi Method from www.math-linux.com]
*[http://www.math-linux.com/spip.php?article49 Jacobi Method from www.math-linux.com]


{{Numerical linear algebra}}
{{Numerical linear algebra}}
{{Authority control}}
{{Authority control}}
[[Category: संख्यात्मक रैखिक बीजगणित]] [[Category: स्यूडोकोड के उदाहरण वाले लेख]] [[Category: आराम (पुनरावृत्ति के तरीके)]] [[Category: लेख उदाहरण के साथ पायथन (प्रोग्रामिंग भाषा) कोड]]  
[[Category: संख्यात्मक रैखिक बीजगणित]]  
 
[[Category: स्यूडोकोड के उदाहरण वाले लेख]]  
 
[[Category: आराम (पुनरावृत्ति के तरीके)]]  
[[Category: लेख उदाहरण के साथ पायथन (प्रोग्रामिंग भाषा) कोड]]  


[[Category: Machine Translated Page]]
[[Category: Machine Translated Page]]
[[Category:Created On 23/05/2023]]
[[Category:Created On 23/05/2023]]

Revision as of 14:07, 31 May 2023

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

विवरण

चलो , n रैखिक समीकरणों की एक वर्ग प्रणाली हो, जहाँ:

जब और ज्ञात हैं, और अज्ञात है, हम अनुमानित के लिए जैकोबी विधि का उपयोग कर सकते हैं। सदिश के लिए हमारे प्रारंभिक अनुमान को दर्शाता है (अक्सर के लिए ) के रूप में निरूपित करते हैं को के k-वें सन्निकटन या पुनरावृत्ति के रूप में निरुपित करते है, और का अगला पुनरावृत्ति ( k+1) है .

मैट्रिक्स आधारित सूत्र

तब A को एक विकर्ण घटक D, एक निचला त्रिकोणीय भाग L और एक ऊपरी त्रिकोणीय भाग U में विघटित किया जा सकता है:

इसके बाद समाधान को पुनरावृत्त रूप से प्राप्त किया जाता है


तत्व-आधारित सूत्र

प्रत्येक पंक्ति के लिए तत्व-आधारित सूत्र इस प्रकार है:

की गणना के लिए स्वयं को छोड़कर में प्रत्येक अवयव की आवश्यकता होती है। गॉस-सीडेल विधि के विपरीत, हम को के साथ अधिलेखित नहीं कर सकते क्योंकि शेष गणना के लिए उस मान की आवश्यकता होगी। भंडारण की न्यूनतम मात्रा आकार n के दो वैक्टर हैं।

एल्गोरिथम

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 ji then
                σ = σ + aij xj(k)
            end
        end
        xi(k+1) = (bi − σ) / aii
    end
    increment k
end

अभिसरण

मानक अभिसरण स्थिति (किसी पुनरावृत्त विधि के लिए) तब होती है जब पुनरावृत्ति आव्यूह का वर्णक्रमीय त्रिज्या 1 से कम होता है:

अभिसरण की विधि के लिए एक पर्याप्त (लेकिन आवश्यक नहीं) शर्त यह है कि मैट्रिक्स A अलघुकरणीय रूप से विकर्ण प्रमुख है। यथार्थ पंक्ति विकर्ण प्रमुख का अर्थ है कि प्रत्येक पंक्ति के लिए विकर्ण पद का निरपेक्ष मान अन्य पदों के निरपेक्ष मानों के योग से अधिक है:

जैकोबी पद्धति कभी-कभी अभिसरण करती है, भले ही ये शर्तें संतुष्ट न हों।

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


उदाहरण

उदाहरण 1

एक रैखिक प्रणाली प्रारंभिक अनुमान के साथ द्वारा दिया गया है

का अनुमान लगाने के लिए हम ऊपर वर्णित समीकरण का उपयोग करते हैं | सबसे पहले हम हम ज्ञात मानों से और समीकरण को अधिक सुविधाजनक रूप में फिर से समीकरण को लिखते हैं |

हम निर्धारित करते हैं जैसा
आगे, रूप में पाया जाता है
साथ और गणना, हम अनुमान लगाते हैं जैसा :
अगला पुनरावृत्ति निम्न है
यह प्रक्रिया अभिसरण तक दोहराई जाती है (यानी, जब तक छोटा है)। 25 पुनरावृत्तियों के बाद समाधान है


उदाहरण 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).

पायथन उदहारण

  1. import numpy as np
  2. ITERATION_LIMIT = 1000
    1. initialize the matrix
  3. A = np.array([[10., -1., 2., 0.],
  4. [-1., 11., -1., 3.],
  5. [2., -1., 10., -1.],
  6. [0.0, 3., -1., 8.]])
    1. initialize the RHS vector
  7. b = np.array([6., 25., -11., 15.])
    1. prints the system
  8. print("System:")
  9. for i in range(A.shape[0]):
  10. row = [f"{A[i, j]}*x{j + 1}" for j in range(A.shape[1])]
  11. print(f'{" + ".join(row)} = {b[i]}')
  12. print()
  13. x = np.zeros_like(b)
  14. for it_count in range(ITERATION_LIMIT):
  15. if it_count != 0:
  16. print(f"Iteration {it_count}: {x}")
  17. x_new = np.zeros_like(x)
  18. for i in range(A.shape[0]):
  19. s1 = np.dot(A[i, :i], x[:i])
  20. s2 = np.dot(A[i, i + 1:], x[i + 1:])
  21. x_new[i] = (b[i] - s1 - s2) / A[i, i]
  22. if x_new[i] == x_new[i-1]:
  23. break
  24. if np.allclose(x, x_new, atol=1e-10, rtol=0.):
  25. break
  26. x = x_new
  27. print("Solution: ")
  28. print(x)
  29. error = np.dot(A, x) - b
  30. print("Error:")
  31. print(error)

भारित जैकोबी विधि

भारित जैकोबी पुनरावृत्ति, पुनरावृत्ति की गणना करने के लिए एक पैरामीटर का उपयोग करता है

के साथ अत्यधिक उपयोग होने के कारण [1] संबंध से इसे के रूप में भी व्यक्त किया जा सकता है।

.

सममित सकारात्मक निश्चित मामले में अभिसरण

इस मामले में कि सिस्टम आव्यूह सममित सकारात्मक-निश्चित प्रकार का है, कोई अभिसरण दिखा सकता है।

माना पुनरावृति मैट्रिक्स हो और फिर के लिए अभिसरण की गारंटी दी जाती है, जहां अधिकतम एगेनवैल्यू है|

किसी विशेष विकल्प के लिए वर्णक्रमीय त्रिज्या को कम किया जा सकता है निम्नलिखित नुसार

कहाँ स्थिति संख्या#मैट्रिसेस है।

यह भी देखें

  • गॉस-सीडेल विधि
  • लगातार अति-विश्राम
  • इटरेटिव मेथड # लीनियर सिस्टम | इटरेटिव मेथड § लीनियर सिस्टम
  • विश्वास प्रचार#गाऊसी विश्वास प्रसार .28GaBP.29
  • मैट्रिक्स विभाजन

संदर्भ

  1. Saad, Yousef (2003). विरल रेखीय प्रणालियों के लिए पुनरावर्ती तरीके (2nd ed.). SIAM. p. 414. ISBN 0898715342.


बाहरी संबंध