रुंग-कुता विधियाँ

मुक्त ज्ञानकोश विकिपीडिया से
यहाँ जाएँ: भ्रमण, खोज

संख्यात्मक विश्लेषण में रुंगा-कुटा विधियाँ (Runge–Kutta methods) साधारण अवकल समीकरणों को हल करने की पुनरावृत्तिमूलक विधियाँ हैं। इनका विकास जर्मनी के गणितज्ञों सी रुङ्गा तथा एम डब्ल्यू कुटा ने १९०० ई के आसपास किया था। यह एक विधि नहीं बल्कि इसमें कई विधियाँ हैं।

रुंगा-कुटा विधि[संपादित करें]

इसे 'क्लासिकल रुंगा-कुटा विधि' या प्रायः "RK4" भी कहा जाता है। यह चार आर्डर वाली विधि है।

मान लीजिए कि एक साधारण अवकल समीकरण (आरम्भिक मान समस्या) निम्नलिखित है:

 \dot{y} = f(t, y), \quad y(t_0) = y_0.

यह विधि निम्नलिखित सूत्र से समझी जा सकती है:

\begin{align}
y_{n+1} &= y_n + \tfrac{1}{6} h\left(k_1 + 2k_2 + 2k_3 + k_4 \right)\\
t_{n+1} &= t_n + h \\
\end{align}

n = 0, 1, 2, 3, . . . , तथा


\begin{align}
k_1 &= f(t_n, y_n),
\\
k_2 &= f(t_n + \tfrac{1}{2}h, y_n +  \tfrac{h}{2} k_1),
\\
k_3 &= f(t_n + \tfrac{1}{2}h, y_n +   \tfrac{h}{2} k_2),
\\
k_4 &= f(t_n + h, y_n + h k_3).
\end{align}
[1]

h का उचित धनात्मक मान लेकर इस विधि को बारबार प्रयोग करके t के किसी भी मान के लिए y का सन्निकट मान निकाल सकते हैं।

उदाहरण[संपादित करें]

माना \frac{dx}{dt}=\frac{-t}{x} का हल निकालना है। दिया हुआ है कि t=0 \,\,\, x=1

इस अवकल समीकरण का ठीक-ठीक हल (इग्जैक्ट सलुशन) t^2 + x^2 = 1 है।

हम h = 0,1 लेकर इसका हल निकालते हैं।

k_1 = 0,0
k_2 = -0,05
k_3 = -0,0501253132832
k_4 = -0,100503778338

इससे t = 0,1 पर x = 0,994987426585 प्राप्त होता है।

इसी तरह हम t के विभिन्न मानों के लिये x का मान प्राप्त करते जाते हैं, जो निम्नांकित सारणी में दिखाये गये हैं-

t x
0.0 1.0
0.1 0.994987426585
0.2 0.979795852198
0.3 0.95393908717
0.4 0.916514893222
0.5 0.866024896597
0.6 0.799998909634
0.7 0.714140165921
0.8 0.599991210485
0.9 0.435832710519
1.0 0.0488018582123

ध्यान दें कि इस अवकल समीकरण के विशुद्ध हल से t = 1 पर x = 0 मिलेगा, जबकि इस विधि से x = 0.0488018582123 प्राप्त हुआ है जो विशुद्ध मान के काफी करीब है। इससे भी अधिक परिशुद्ध मान की गणना के लिये 'स्टेप साइज' को 0.1 के बजाय और कम रखना पड़ेगा।

स्पष्‍ट रुंगा-कुटा विधियाँ (Explicit Runge–Kutta methods)[संपादित करें]

ये विधियाँ RK4 के सामान्यीकृत रूप हैं। यह निम्नलिखित रूप में है:

 y_{n+1} = y_n + \sum_{i=1}^s b_i k_i,

जहाँ

 k_1 = hf(t_n, y_n), \,
 k_2 = hf(t_n+c_2h, y_n+a_{21}k_1), \,
 k_3 = hf(t_n+c_3h, y_n+a_{31}k_1+a_{32}k_2), \,
 \vdots
 k_s = hf(t_n+c_sh, y_n+a_{s1}k_1+a_{s2}k_2+\cdots+a_{s,s-1}k_{s-1}). [2]
(टिप्पणी: अलग-अलग पुस्तकों में यही समीकरण अलग-अलग तरह से पारिभाषित किया हुआ मिलता है किन्तु वे इसके तुल्य ही होते हैं।)

किसी विशेष विधि को प्राप्त करने के लिए पहले s (चरणों की संख्याँ) तय करनी पड़ती है। इसके अनुसार गुणांक aij (1 ≤ j < is), bi (i = 1, 2, ..., s) और ci (i = 2, 3, ..., s) तय किए जाते हैं। मैट्रिक्स [aij] को रुंगा-कुटा मैट्रिक्स कहते हैं। bi तथा ci को भार (weights) एवं नोड (nodes) कहते हैं।[3] ये संख्याएँ निम्नलिखित सारणी के रूप में व्यवस्थित की जातीं हैं जिसे 'बूचर टेबुल' कहते हैं।

0
 c_2  a_{21}
 c_3  a_{31}  a_{32}
 \vdots  \vdots  \ddots
 c_s  a_{s1}  a_{s2}  \cdots  a_{s,s-1}
 b_1  b_2  \cdots  b_{s-1}  b_s

रुंगा कुटा विधि एकरूप (consistent) होगी यदि

\sum_{j=1}^{i-1} a_{ij} = c_i\ \mathrm{for}\ i=2, \ldots, s.

यदि हम किसी विधि को p आर्डर वाला बनाना चाहते हैं तो कुछ और आवश्यकताएँ इसमें जुड़ जाती हैं। उदाहरण के लिए 2-चरण तथा 2-आर्डर की विधि प्राप्त करने के लिए निम्नलिखित शर्त आएगी:

b1 + b2 = 1, b2c2 = 1/2, and a21 = c2.[4]

सन्दर्भ[संपादित करें]

  1. Press et al. 2007, पृष्ठ 908; Süli & Mayers 2003, पृष्ठ 328
  2. Press et al. 2007, पृष्ठ 907
  3. Iserles 1996, पृष्ठ 38
  4. Iserles 1996, पृष्ठ 39