अनुकूली चरण आकार: Difference between revisions

From Vigyanwiki
(Created page with "{{refimprove|date=October 2012}} गणित और संख्यात्मक विश्लेषण में, विधि की त्रुटियों क...")
 
No edit summary
Line 1: Line 1:
{{refimprove|date=October 2012}}
गणित और [[संख्यात्मक विश्लेषण]] में, विधि की त्रुटियों को नियंत्रित करने और [[संख्यात्मक स्थिरता]] सुनिश्चित करने के लिए सामान्य अंतर समीकरणों ([[संख्यात्मक एकीकरण]] के विशेष स्थिति सहित) के संख्यात्मक विधि के लिए कुछ विधि में एक अनुकूली चरण आकार का उपयोग किया जाता है जैसे ए- स्थिरता व्युत्पत्ति के आकार में बड़ी भिन्नता होने पर एक अनुकूली स्टेपसाइज का उपयोग करना विशेष महत्व रखता है।
गणित और [[संख्यात्मक विश्लेषण]] में, विधि की त्रुटियों को नियंत्रित करने और [[संख्यात्मक स्थिरता]] सुनिश्चित करने के लिए सामान्य अंतर समीकरणों ([[संख्यात्मक एकीकरण]] के विशेष मामले सहित) के संख्यात्मक तरीकों के लिए कुछ तरीकों में एक अनुकूली चरण आकार का उपयोग किया जाता है जैसे ए- स्थिरता।
 
डेरिवेटिव के आकार में बड़ी भिन्नता होने पर एक अनुकूली स्टेपसाइज का उपयोग करना विशेष महत्व रखता है।
उदाहरण के लिए, एक मानक केपलर कक्षा के रूप में पृथ्वी के बारे में एक उपग्रह की गति को मॉडलिंग करते समय, एक निश्चित टाइम-स्टेपिंग विधि जैसे [[यूलर विधि]] पर्याप्त हो सकती है।
उदाहरण के लिए, एक मानक केपलर कक्षा के रूप में पृथ्वी के बारे में एक उपग्रह की गति को मॉडलिंग करते समय, एक निश्चित टाइम-स्टेपिंग विधि जैसे [[यूलर विधि]] पर्याप्त हो सकती है।
हालाँकि चीजें अधिक कठिन होती हैं यदि कोई पृथ्वी और चंद्रमा दोनों को ध्यान में रखते हुए अंतरिक्ष यान की गति को थ्री-बॉडी समस्या के रूप में मॉडल करना चाहता है।
 
वहां, ऐसे परिदृश्य उभर कर आते हैं जहां अंतरिक्ष यान पृथ्वी और चंद्रमा से दूर होने पर बड़े समय के कदम उठा सकता है, लेकिन अगर अंतरिक्ष यान किसी एक ग्रह पिंड से टकराने के करीब पहुंच जाता है, तो छोटे समय के कदमों की जरूरत होती है। रोमबर्ग की विधि और रनगे-कुट्टा-फेहलबर्ग विधि | रनगे-कुट्टा-फेहलबर्ग संख्यात्मक एकीकरण विधियों के उदाहरण हैं जो एक अनुकूली चरण आकार का उपयोग करते हैं।
चूँकि चीजें अधिक कठिन होती हैं यदि कोई पृथ्वी और चंद्रमा दोनों को ध्यान में रखते हुए अंतरिक्ष यान की गति को थ्री-बॉडी समस्या के रूप में मॉडल करना चाहता है।
 
वहां, ऐसे परिदृश्य उभर कर आते हैं जहां अंतरिक्ष यान पृथ्वी और चंद्रमा से दूर होने पर बड़े समय के कदम उठा सकता है, किंतु यदि अंतरिक्ष यान किसी एक ग्रह पिंड से टकराने के समीप पहुंच जाता है, तो छोटे समय के कदमों की जरूरत होती है। रोमबर्ग की विधि और रनगे-कुट्टा-फेहलबर्ग विधि रनगे-कुट्टा-फेहलबर्ग संख्यात्मक एकीकरण विधियों के उदाहरण हैं जो एक अनुकूली चरण आकार का उपयोग करते हैं।


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


प्रारंभिक मूल्य समस्या पर विचार करें
प्रारंभिक मान समस्या पर विचार करें
:  <math> y'(t) = f(t,y(t)), \qquad y(a)=y_a </math>
:  <math> y'(t) = f(t,y(t)), \qquad y(a)=y_a </math>
जहाँ y और f सदिशों को निरूपित कर सकते हैं (जिस स्थिति में यह समीकरण कई चरों में युग्मित ODEs की एक प्रणाली का प्रतिनिधित्व करता है)।
जहाँ y और f सदिशों को निरूपित कर सकते हैं (जिस स्थिति में यह समीकरण कई चरों में युग्मित ओडीई की एक प्रणाली का प्रतिनिधित्व करता है)।


हमें फलन f(t,y) और प्रारंभिक शर्तें (a, y<sub>''a''</sub>), और हम टी = बी पर समाधान खोजने में रुचि रखते हैं। चलो y(b) b पर सटीक समाधान को दर्शाता है, और चलो y<sub>b</sub>उस समाधान को निरूपित करें जिसकी हम गणना करते हैं। हम लिखते हैं <math>y_b + \varepsilon = y(b)</math>, कहाँ <math>\varepsilon</math> संख्यात्मक समाधान में त्रुटि है।
हमें फलन f(t,y) और प्रारंभिक नियम (a, y<sub>''a''</sub>), और हम ''t'' = ''b'' पर समाधान खोजने में रुचि रखते हैं। चलो y(b) b पर स्पष्ट समाधान को दर्शाता है, और चलो y<sub>b</sub>उस समाधान को निरूपित करें जिसकी हम गणना करते हैं। हम लिखते हैं <math>y_b + \varepsilon = y(b)</math>, जहाँ <math>\varepsilon</math> संख्यात्मक समाधान में त्रुटि है।


अनुक्रम के लिए (टी<sub>''n''</sub>) टी के मूल्यों के साथ, टी के साथ<sub>''n''</sub> = a + nh, यूलर विधि y(t<sub>''n''</sub>) जैसा
t के मानों के अनुक्रम (''t<sub>n</sub>'') के लिए, ''t<sub>n</sub>'' = ''a'' + ''nh'', के साथ, यूलर विधि y(t<sub>''n''</sub>) के संगत मानों का अनुमान इस प्रकार देती है
: <math>y_{n+1}^{(0)}=y_n+hf(t_n,y_n)</math>
: <math>y_{n+1}^{(0)}=y_n+hf(t_n,y_n)</math>
इस सन्निकटन की स्थानीय ट्रंकेशन त्रुटि द्वारा परिभाषित किया गया है
इस सन्निकटन की स्थानीय ट्रंकेशन त्रुटि द्वारा परिभाषित किया गया है
:  <math>\tau_{n+1}^{(0)}=y(t_{n+1}) - y_{n+1}^{(0)}</math>
:  <math>\tau_{n+1}^{(0)}=y(t_{n+1}) - y_{n+1}^{(0)}</math>
और टेलर के प्रमेय द्वारा, यह दिखाया जा सकता है कि (एफ पर्याप्त रूप से चिकनी है) स्थानीय ट्रंकेशन त्रुटि चरण आकार के वर्ग के आनुपातिक है:
और टेलर के प्रमेय द्वारा, यह दिखाया जा सकता है कि (''f'' पर्याप्त रूप से चिकनी है) स्थानीय ट्रंकेशन त्रुटि चरण आकार के वर्ग के आनुपातिक है:
:  <math>\tau_{n+1}^{(0)}=ch^2</math>
:  <math>\tau_{n+1}^{(0)}=ch^2</math>
जहाँ c आनुपातिकता का कोई स्थिरांक है।
जहाँ c आनुपातिकता का कोई स्थिरांक है।


हमने इस समाधान और इसकी त्रुटि को एक के साथ चिह्नित किया है <math>(0)</math>.
हमने इस समाधान और इसकी त्रुटि को <math>(0)</math> से चिह्नित किया है।


C का मान हमें ज्ञात नहीं है। आइए अब यूलर की विधि को फिर से एक अलग चरण आकार के साथ y(t) के लिए दूसरा सन्निकटन उत्पन्न करने के लिए लागू करें।<sub>''n''+1</sub>). हमें दूसरा समाधान मिलता है, जिसे हम a से लेबल करते हैं <math>(1)</math>.
C का मान हमें ज्ञात नहीं है। आइए अब हम ''y''(''t<sub>n</sub>''<sub>+1</sub>) के लिए दूसरा सन्निकटन उत्पन्न करने के लिए एक अलग चरण आकार के साथ यूलर की विधि को फिर से प्रयुक्त करें। हमें दूसरा समाधान मिलता है, जिसे हम <math>(1)</math> से लेबल करते हैं। नया चरण आकार मूल चरण आकार का आधा लें, और यूलर की विधि के दो चरण प्रयुक्त करें। यह दूसरा समाधान संभवतः अधिक स्पष्ट है। चूंकि हमें यूलर की विधि को दो बार प्रयुक्त करना है, स्थानीय त्रुटि (सबसे खराब स्थिति में) मूल त्रुटि से दोगुनी है।
नया चरण आकार मूल चरण आकार का आधा लें, और यूलर की विधि के दो चरण लागू करें। यह दूसरा समाधान संभवतः अधिक सटीक है। चूंकि हमें यूलर की विधि को दो बार लागू करना है, स्थानीय त्रुटि (सबसे खराब स्थिति में) मूल त्रुटि से दोगुनी है।
:  <math>y_{n+\frac{1}{2}}=y_n+\frac{h}{2}f(t_n,y_n)</math>
:  <math>y_{n+\frac{1}{2}}=y_n+\frac{h}{2}f(t_n,y_n)</math>
:  <math>y_{n+1}^{(1)}=y_{n+\frac{1}{2}}+\frac{h}{2}f(t_{n+\frac{1}{2}},y_{n+\frac{1}{2}})</math>
:  <math>y_{n+1}^{(1)}=y_{n+\frac{1}{2}}+\frac{h}{2}f(t_{n+\frac{1}{2}},y_{n+\frac{1}{2}})</math>
:  <math>\tau_{n+1}^{(1)}=c\left(\frac{h}{2}\right)^2+c\left(\frac{h}{2}\right)^2=2c\left(\frac{h}{2}\right)^2=\frac{1}{2}ch^2=\frac{1}{2}\tau_{n+1}^{(0)}</math>
:  <math>\tau_{n+1}^{(1)}=c\left(\frac{h}{2}\right)^2+c\left(\frac{h}{2}\right)^2=2c\left(\frac{h}{2}\right)^2=\frac{1}{2}ch^2=\frac{1}{2}\tau_{n+1}^{(0)}</math>
:  <math>y_{n+1}^{(1)} + \tau_{n+1}^{(1)}=y(t+h)</math>
:  <math>y_{n+1}^{(1)} + \tau_{n+1}^{(1)}=y(t+h)</math>
यहाँ, हम त्रुटि कारक मानते हैं <math>c</math> अंतराल पर स्थिर है <math>[t, t+h]</math>. वास्तव में इसके परिवर्तन की दर किसके समानुपाती होती है? <math>y^{(3)}(t)</math>. घटाव समाधान त्रुटि अनुमान देता है:
यहां, हम मानते हैं कि अंतराल <math>[t, t+h]</math> पर त्रुटि कारक <math>c</math> स्थिर है। वास्तव में इसके परिवर्तन की दर <math>y^{(3)}(t)</math> के समानुपाती होती है। घटाव समाधान त्रुटि अनुमान देता है:


:  <math> y_{n+1}^{(1)}-y_{n+1}^{(0)} = \tau_{n+1}^{(1)} </math>
:  <math> y_{n+1}^{(1)}-y_{n+1}^{(0)} = \tau_{n+1}^{(1)} </math>
यह स्थानीय त्रुटि अनुमान तीसरा क्रम सटीक है।
यह स्थानीय त्रुटि अनुमान तीसरा क्रम स्पष्ट है।


स्थानीय त्रुटि अनुमान का उपयोग यह तय करने के लिए किया जा सकता है कि स्टेपसाइज कैसे किया जाए <math>h</math> वांछित सटीकता प्राप्त करने के लिए संशोधित किया जाना चाहिए। उदाहरण के लिए, यदि एक स्थानीय सहिष्णुता <math>\text{tol}</math> अनुमति है, हम h को इस तरह विकसित होने दे सकते हैं:
स्थानीय त्रुटि अनुमान का उपयोग यह तय करने के लिए किया जा सकता है कि वांछित स्पष्टता  प्राप्त करने के लिए <math>h</math> को कैसे संशोधित किया जाना चाहिए। उदाहरण के लिए, यदि <math>\text{tol}</math> की स्थानीय सहनशीलता की अनुमति है, तो हम h को इस प्रकार विकसित होने दे सकते हैं:


:  <math> h \rightarrow 0.9 \times h \times \min \left(\max \left( \left(\frac{\text{tol}}{2\left|\tau_{n+1}^{(1)}\right|}\right)^{1/2}, 0.3\right) ,2\right) </math>
:  <math> h \rightarrow 0.9 \times h \times \min \left(\max \left( \left(\frac{\text{tol}}{2\left|\tau_{n+1}^{(1)}\right|}\right)^{1/2}, 0.3\right) ,2\right) </math>


  <math>0.9</math> h> अगले प्रयास में सफलता सुनिश्चित करने के लिए एक सुरक्षा कारक है। न्यूनतम और अधिकतम पिछले चरणों के आकार में अत्यधिक परिवर्तन को रोकने के लिए हैं। यह, सिद्धांत रूप में के बारे में एक त्रुटि देना चाहिए <math>0.9 \times \text{tol}</math> अगली कोशिश में। अगर <math>|\tau_{n+1}^{(1)}| < \text{tol}</math>, हम कदम को सफल मानते हैं, और समाधान को बेहतर बनाने के लिए त्रुटि अनुमान का उपयोग किया जाता है:
  <math>0.9</math> h> अगले प्रयास में सफलता सुनिश्चित करने के लिए एक सुरक्षा कारक है। न्यूनतम और अधिकतम पिछले चरणों के आकार में अत्यधिक परिवर्तन को रोकने के लिए हैं। यह, सिद्धांत रूप में के बारे में एक त्रुटि देना चाहिए <math>0.9 \times \text{tol}</math> अगली प्रयास में यदि <math>|\tau_{n+1}^{(1)}| < \text{tol}</math>, हम कदम को सफल मानते हैं, और समाधान को उत्तम बनाने के लिए त्रुटि अनुमान का उपयोग किया जाता है:


: <math> y_{n+1}^{(2)} = y_{n+1}^{(1)} + \tau_{n+1}^{(1)} </math>
: <math> y_{n+1}^{(2)} = y_{n+1}^{(1)} + \tau_{n+1}^{(1)} </math>
यह समाधान वास्तव में स्थानीय दायरे (वैश्विक दायरे में दूसरा क्रम) में तीसरा क्रम सटीक है, लेकिन चूंकि इसके लिए कोई त्रुटि अनुमान नहीं है, यह चरणों की संख्या को कम करने में मदद नहीं करता है। इस तकनीक को [[रिचर्डसन एक्सट्रपलेशन]] कहा जाता है।
यह समाधान वास्तव में स्थानीय सीमा (वैश्विक सीमा में दूसरा क्रम) में तीसरा क्रम स्पष्ट है, किंतु चूंकि इसके लिए कोई त्रुटि अनुमान नहीं है, यह चरणों की संख्या को कम करने में सहायता नहीं करता है। इस विधि को [[रिचर्डसन एक्सट्रपलेशन]] कहा जाता है।


के प्रारंभिक चरण के साथ शुरुआत <math>h=b-a</math>, यह सिद्धांत बिंदु से ODE के हमारे नियंत्रणीय एकीकरण की सुविधा प्रदान करता है <math>a</math> को <math>b</math>, स्थानीय त्रुटि सहनशीलता दिए गए चरणों की इष्टतम संख्या का उपयोग करके। एक दोष यह है कि कदम का आकार निषेधात्मक रूप से छोटा हो सकता है, विशेष रूप से निम्न-क्रम यूलर विधि का उपयोग करते समय।
<math>h=b-a</math> के प्रारंभिक चरण के साथ प्रारंभिक करते हुए, यह सिद्धांत स्थानीय त्रुटि सहनशीलता दिए गए चरणों की इष्टतम संख्या का उपयोग करके ओडीई के बिंदु <math>a</math> से <math>b</math> तक हमारे नियंत्रणीय एकीकरण की सुविधा प्रदान करता है। एक दोष यह है कि कदम का आकार निषेधात्मक रूप से छोटा हो सकता है, विशेष रूप से निम्न-क्रम यूलर विधि के समय उपयोग करते है ।


इसी तरह के तरीकों को उच्च क्रम के तरीकों के लिए विकसित किया जा सकता है, जैसे कि चौथा क्रम रंज-कुट्टा विधि। साथ ही, स्थानीय त्रुटि को वैश्विक दायरे में स्केल करके एक वैश्विक त्रुटि सहिष्णुता प्राप्त की जा सकती है।
इसी तरह के विधि को उच्च क्रम के विधि के लिए विकसित किया जा सकता है, जैसे कि चौथा क्रम रंज-कुट्टा विधि साथ ही, स्थानीय त्रुटि को वैश्विक सीमा में स्केल करके एक वैश्विक त्रुटि सहिष्णुता प्राप्त की जा सकती है।


== एंबेडेड त्रुटि अनुमान ==
== एंबेडेड त्रुटि अनुमान ==


तथाकथित 'एम्बेडेड' त्रुटि अनुमान का उपयोग करने वाली अनुकूली स्टेपसाइज विधियों में बोगाकी-शैम्पिन विधि शामिल है। मेथड | डोरमैंड-प्रिंस मेथड्स। इन विधियों को कम्प्यूटेशनल रूप से अधिक कुशल माना जाता है, लेकिन उनके त्रुटि अनुमानों में कम सटीकता होती है।
तथाकथित 'एम्बेडेड' त्रुटि अनुमान का उपयोग करने वाली अनुकूली स्टेपसाइज विधियों में बोगाकी-शैम्पिन विधि सम्मिलित है। मेथड डोरमैंड-प्रिंस मेथड्स इन विधियों को कम्प्यूटेशनल रूप से अधिक कुशल माना जाता है, किंतु उनके त्रुटि अनुमानों में कम स्पष्टता  होती है।


एम्बेडेड विधि के विचारों को स्पष्ट करने के लिए, निम्न योजना पर विचार करें जो अद्यतन करती है <math>y_n</math>:
एम्बेडेड विधि के विचारों को स्पष्ट करने के लिए, निम्न योजना पर विचार करें जो <math>y_n</math> अद्यतन करती है :
:  <math>y_{n+1}=y_n + h_n \psi(t_n,y_n,h_n)</math>
:  <math>y_{n+1}=y_n + h_n \psi(t_n,y_n,h_n)</math>
:  <math>t_{n+1}=t_n + h_n</math>
:  <math>t_{n+1}=t_n + h_n</math>
अगले कदम <math>h_n</math> पिछली जानकारी से अनुमान लगाया गया है <math>h_n=g(t_n,y_n, h_{n-1})</math>.
अगले चरण <math>h_n</math> का पूर्वानुमान पिछली जानकारी <math>h_n=g(t_n,y_n, h_{n-1})</math> से लगाया गया है।


एम्बेडेड आरके विधि के लिए, की गणना <math>\psi</math> एक निम्न क्रम आरके विधि शामिल है <math>\tilde{\psi}</math>. त्रुटि
एम्बेडेड RK  विधि के लिए, <math>\psi</math> की गणना में निम्न क्रम आरके विधि <math>\tilde{\psi}</math> सम्मिलित है। त्रुटि तब बस के रूप में लिखी जा सकती है
तो बस के रूप में लिखा जा सकता है
:  <math> \textrm{err}_n(h) = \tilde{y}_{n+1} - y_{n+1} = h(\tilde{\psi}(t_n, y_n, h_n) - \psi(t_n, y_n, h_n))</math>
:  <math> \textrm{err}_n(h) = \tilde{y}_{n+1} - y_{n+1} = h(\tilde{\psi}(t_n, y_n, h_n) - \psi(t_n, y_n, h_n))</math>


<math> \textrm{err}_n</math> असामान्य त्रुटि है। इसे सामान्य करने के लिए, हम इसकी तुलना उपयोगकर्ता द्वारा परिभाषित सहिष्णुता से करते हैं, जो
<math> \textrm{err}_n</math> असामान्य त्रुटि है। इसे सामान्य करने के लिए, हम इसकी तुलना उपयोगकर्ता द्वारा परिभाषित सहिष्णुता से करते हैं, जो
पूर्ण सहिष्णुता और सापेक्ष सहिष्णुता शामिल हैं:
पूर्ण सहिष्णुता और सापेक्ष सहिष्णुता सम्मिलित हैं:
 
: <math> \textrm{tol}_n = \textrm{Atol} + \textrm{Rtol} \cdot \max(|y_n|, |y_{n-1}|)</math>
: <math> \textrm{tol}_n = \textrm{Atol} + \textrm{Rtol} \cdot \max(|y_n|, |y_{n-1}|)</math>
: <math> E_n = \textrm{norm}(\textrm{err}_n / \textrm{tol}_n)</math>
: <math> E_n = \textrm{norm}(\textrm{err}_n / \textrm{tol}_n)</math>
फिर हम सामान्यीकृत त्रुटि की तुलना करते हैं <math>E_n</math> भविष्यवाणी करने के लिए 1 के खिलाफ <math>h_n</math>:
फिर हम अनुमानित <math>h_n</math> प्राप्त करने के लिए सामान्यीकृत त्रुटि <math>E_n</math> की तुलना 1 से करते हैं।
: <math> h_n = h_{n-1} (1/E_n)^{1/(q+1)}</math>
: <math> h_n = h_{n-1} (1/E_n)^{1/(q+1)}</math>
पैरामीटर क्यू आरके विधि से संबंधित क्रम है <math>\tilde{\psi}</math>, जिसका निम्न क्रम है।
पैरामीटर q RK  पद्धति <math>\tilde{\psi}</math> के संगत क्रम है, जिसका निम्न क्रम है। उपरोक्त भविष्यवाणी सूत्र इस मायने में प्रशंसनीय है कि यदि अनुमानित स्थानीय त्रुटि सहनशीलता से छोटी है तो यह चरण को बड़ा करता है और अन्यथा चरण को छोटा करता है।
उपरोक्त भविष्यवाणी सूत्र इस मायने में प्रशंसनीय है कि यह अनुमानित स्थानीय त्रुटि से कम होने पर चरण को बढ़ाता है
सहिष्णुता और यह अन्यथा कदम को सिकोड़ता है।


ऊपर दिया गया विवरण स्पष्ट आरके सॉल्वरों के लिए स्टेपसाइज़ नियंत्रण में उपयोग की जाने वाली एक सरलीकृत प्रक्रिया है। अधिक विस्तृत उपचार
ऊपर दिया गया विवरण स्पष्ट आरके सॉल्वरों के लिए स्टेपसाइज़ नियंत्रण में उपयोग की जाने वाली एक सरलीकृत प्रक्रिया है। अधिक विस्तृत उपचार हेयरर की पाठ्यपुस्तक में पाया जा सकता है।<ref name="hairer">E. Hairer, S. P. Norsett G. Wanner, “Solving Ordinary Differential Equations I: Nonstiff Problems”, Sec. II.</ref> कई प्रोग्रामिंग भाषाओं में ओडीई सॉल्वर इस प्रक्रिया को अनुकूली चरणबद्ध नियंत्रण के लिए डिफ़ॉल्ट रणनीति के रूप में उपयोग करता है, जो प्रणाली को और अधिक स्थिर बनाने के लिए अन्य इंजीनियरिंग पैरामीटर जोड़ता है।
हेयरर की पाठ्यपुस्तक में पाया जा सकता है।<ref name="hairer">E. Hairer, S. P. Norsett G. Wanner, “Solving Ordinary Differential Equations I: Nonstiff Problems”, Sec. II.</ref> कई प्रोग्रामिंग भाषाओं में ओडीई सॉल्वर इस प्रक्रिया को अनुकूली चरणबद्ध नियंत्रण के लिए डिफ़ॉल्ट रणनीति के रूप में उपयोग करता है, जो सिस्टम को और अधिक स्थिर बनाने के लिए अन्य इंजीनियरिंग पैरामीटर जोड़ता है।


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

Revision as of 16:02, 5 May 2023

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

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

चूँकि चीजें अधिक कठिन होती हैं यदि कोई पृथ्वी और चंद्रमा दोनों को ध्यान में रखते हुए अंतरिक्ष यान की गति को थ्री-बॉडी समस्या के रूप में मॉडल करना चाहता है।

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

उदाहरण

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

प्रारंभिक मान समस्या पर विचार करें

जहाँ y और f सदिशों को निरूपित कर सकते हैं (जिस स्थिति में यह समीकरण कई चरों में युग्मित ओडीई की एक प्रणाली का प्रतिनिधित्व करता है)।

हमें फलन f(t,y) और प्रारंभिक नियम (a, ya), और हम t = b पर समाधान खोजने में रुचि रखते हैं। चलो y(b) b पर स्पष्ट समाधान को दर्शाता है, और चलो ybउस समाधान को निरूपित करें जिसकी हम गणना करते हैं। हम लिखते हैं , जहाँ संख्यात्मक समाधान में त्रुटि है।

t के मानों के अनुक्रम (tn) के लिए, tn = a + nh, के साथ, यूलर विधि y(tn) के संगत मानों का अनुमान इस प्रकार देती है

इस सन्निकटन की स्थानीय ट्रंकेशन त्रुटि द्वारा परिभाषित किया गया है

और टेलर के प्रमेय द्वारा, यह दिखाया जा सकता है कि (f पर्याप्त रूप से चिकनी है) स्थानीय ट्रंकेशन त्रुटि चरण आकार के वर्ग के आनुपातिक है:

जहाँ c आनुपातिकता का कोई स्थिरांक है।

हमने इस समाधान और इसकी त्रुटि को से चिह्नित किया है।

C का मान हमें ज्ञात नहीं है। आइए अब हम y(tn+1) के लिए दूसरा सन्निकटन उत्पन्न करने के लिए एक अलग चरण आकार के साथ यूलर की विधि को फिर से प्रयुक्त करें। हमें दूसरा समाधान मिलता है, जिसे हम से लेबल करते हैं। नया चरण आकार मूल चरण आकार का आधा लें, और यूलर की विधि के दो चरण प्रयुक्त करें। यह दूसरा समाधान संभवतः अधिक स्पष्ट है। चूंकि हमें यूलर की विधि को दो बार प्रयुक्त करना है, स्थानीय त्रुटि (सबसे खराब स्थिति में) मूल त्रुटि से दोगुनी है।

यहां, हम मानते हैं कि अंतराल पर त्रुटि कारक स्थिर है। वास्तव में इसके परिवर्तन की दर के समानुपाती होती है। घटाव समाधान त्रुटि अनुमान देता है:

यह स्थानीय त्रुटि अनुमान तीसरा क्रम स्पष्ट है।

स्थानीय त्रुटि अनुमान का उपयोग यह तय करने के लिए किया जा सकता है कि वांछित स्पष्टता प्राप्त करने के लिए को कैसे संशोधित किया जाना चाहिए। उदाहरण के लिए, यदि की स्थानीय सहनशीलता की अनुमति है, तो हम h को इस प्रकार विकसित होने दे सकते हैं:

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

यह समाधान वास्तव में स्थानीय सीमा (वैश्विक सीमा में दूसरा क्रम) में तीसरा क्रम स्पष्ट है, किंतु चूंकि इसके लिए कोई त्रुटि अनुमान नहीं है, यह चरणों की संख्या को कम करने में सहायता नहीं करता है। इस विधि को रिचर्डसन एक्सट्रपलेशन कहा जाता है।

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

इसी तरह के विधि को उच्च क्रम के विधि के लिए विकसित किया जा सकता है, जैसे कि चौथा क्रम रंज-कुट्टा विधि साथ ही, स्थानीय त्रुटि को वैश्विक सीमा में स्केल करके एक वैश्विक त्रुटि सहिष्णुता प्राप्त की जा सकती है।

एंबेडेड त्रुटि अनुमान

तथाकथित 'एम्बेडेड' त्रुटि अनुमान का उपयोग करने वाली अनुकूली स्टेपसाइज विधियों में बोगाकी-शैम्पिन विधि सम्मिलित है। मेथड डोरमैंड-प्रिंस मेथड्स इन विधियों को कम्प्यूटेशनल रूप से अधिक कुशल माना जाता है, किंतु उनके त्रुटि अनुमानों में कम स्पष्टता होती है।

एम्बेडेड विधि के विचारों को स्पष्ट करने के लिए, निम्न योजना पर विचार करें जो अद्यतन करती है :

अगले चरण का पूर्वानुमान पिछली जानकारी से लगाया गया है।

एम्बेडेड RK विधि के लिए, की गणना में निम्न क्रम आरके विधि सम्मिलित है। त्रुटि तब बस के रूप में लिखी जा सकती है

असामान्य त्रुटि है। इसे सामान्य करने के लिए, हम इसकी तुलना उपयोगकर्ता द्वारा परिभाषित सहिष्णुता से करते हैं, जो पूर्ण सहिष्णुता और सापेक्ष सहिष्णुता सम्मिलित हैं:

फिर हम अनुमानित प्राप्त करने के लिए सामान्यीकृत त्रुटि की तुलना 1 से करते हैं।

पैरामीटर q RK पद्धति के संगत क्रम है, जिसका निम्न क्रम है। उपरोक्त भविष्यवाणी सूत्र इस मायने में प्रशंसनीय है कि यदि अनुमानित स्थानीय त्रुटि सहनशीलता से छोटी है तो यह चरण को बड़ा करता है और अन्यथा चरण को छोटा करता है।

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

यह भी देखें

संदर्भ

  1. E. Hairer, S. P. Norsett G. Wanner, “Solving Ordinary Differential Equations I: Nonstiff Problems”, Sec. II.


अग्रिम पठन

  • William H. Press, Saul A. Teukolsky, William T. Vetterling, Brian P. Flannery, Numerical Recipes in C, Second Edition, CAMBRIDGE UNIVERSITY PRESS, 1992. ISBN 0-521-43108-5
  • Kendall E. Atkinson, Numerical Analysis, Second Edition, John Wiley & Sons, 1989. ISBN 0-471-62489-6