अनुकूली चरण आकार

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

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

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

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

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

प्रारंभिक मान समस्या पर विचार करें
 * $$ y'(t) = f(t,y(t)), \qquad y(a)=y_a $$

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

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

t के मानों के अनुक्रम (tn) के लिए, tn = a + nh, के साथ, यूलर विधि y(tn) के संगत मानों का अनुमान इस प्रकार देती है
 * $$y_{n+1}^{(0)}=y_n+hf(t_n,y_n)$$

इस सन्निकटन की स्थानीय ट्रंकेशन त्रुटि द्वारा परिभाषित किया गया है
 * $$\tau_{n+1}^{(0)}=y(t_{n+1}) - y_{n+1}^{(0)}$$

और टेलर के प्रमेय द्वारा, यह दिखाया जा सकता है कि (f पर्याप्त रूप से चिकनी है) स्थानीय ट्रंकेशन त्रुटि चरण आकार के वर्ग के आनुपातिक है:
 * $$\tau_{n+1}^{(0)}=ch^2$$

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

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

C का मान हमें ज्ञात नहीं है। आइए अब हम y(tn+1) के लिए दूसरा सन्निकटन उत्पन्न करने के लिए एक अलग चरण आकार के साथ यूलर की विधि को फिर से प्रयुक्त करें। हमें दूसरा समाधान मिलता है जिसे हम $$(1)$$ से लेबल करते हैं। नया चरण आकार मूल चरण आकार का आधा लें और यूलर की विधि के दो चरण प्रयुक्त करें। यह दूसरा समाधान संभवतः अधिक स्पष्ट है। चूंकि हमें यूलर की विधि को दो बार प्रयुक्त करना है, स्थानीय त्रुटि (सबसे खराब स्थिति में) मूल त्रुटि से दोगुनी है।
 * $$y_{n+\frac{1}{2}}=y_n+\frac{h}{2}f(t_n,y_n)$$
 * $$y_{n+1}^{(1)}=y_{n+\frac{1}{2}}+\frac{h}{2}f(t_{n+\frac{1}{2}},y_{n+\frac{1}{2}})$$
 * $$\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)}$$
 * $$y_{n+1}^{(1)} + \tau_{n+1}^{(1)}=y(t+h)$$

यहां, हम मानते हैं कि अंतराल $$[t, t+h]$$ पर त्रुटि कारक $$c$$ स्थिर है। वास्तव में इसके परिवर्तन की दर $$y^{(3)}(t)$$ के समानुपाती होती है। घटाव समाधान त्रुटि अनुमान देता है:


 * $$ y_{n+1}^{(1)}-y_{n+1}^{(0)} = \tau_{n+1}^{(1)} $$

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

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


 * $$ 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) $$

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


 * $$ y_{n+1}^{(2)} = y_{n+1}^{(1)} + \tau_{n+1}^{(1)} $$

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

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

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

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

एम्बेडेड विधि के विचारों को स्पष्ट करने के लिए, निम्न योजना पर विचार करें जो $$y_n$$ अद्यतन करती है :
 * $$y_{n+1}=y_n + h_n \psi(t_n,y_n,h_n)$$
 * $$t_{n+1}=t_n + h_n$$

अगले चरण $$h_n$$ का पूर्वानुमान पिछली जानकारी $$h_n=g(t_n,y_n, h_{n-1})$$ से लगाया गया है।

एम्बेडेड RK विधि के लिए, $$\psi$$ की गणना में निम्न क्रम आरके विधि $$\tilde{\psi}$$ सम्मिलित है। त्रुटि तब बस के रूप में लिखी जा सकती है
 * $$ \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))$$

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


 * $$ \textrm{tol}_n = \textrm{Atol} + \textrm{Rtol} \cdot \max(|y_n|, |y_{n-1}|)$$
 * $$ E_n = \textrm{norm}(\textrm{err}_n / \textrm{tol}_n)$$

फिर हम अनुमानित $$h_n$$ प्राप्त करने के लिए सामान्यीकृत त्रुटि $$E_n$$ की तुलना 1 से करते हैं।
 * $$ h_n = h_{n-1} (1/E_n)^{1/(q+1)}$$

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

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

यह भी देखें

 * अनुकूली चतुर्भुज
 * अनुकूली संख्यात्मक भेदभाव

अग्रिम पठन

 * 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