स्प्लाइन अन्तर्वेशन

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

## उदाहरण
नीचे की तालिका में ७ बिन्दुओं के निर्देशांक दिये हुए हैं। पास में ही इन बिन्दुओं की स्थिति लाल रंग के बिन्दुओं द्वारा दर्शायी गयी है।

इन सातों बिन्दुओं के बीच कुल छः खण्ड हैं। बाएँ से दाएँ, इन खण्डों के बीच तीन-घात वाले निम्नलिखित बहुपद फिट किये जा सकते हैं।

: f(x) = \left\{ \begin{matrix}
-0{,}1522 x^3 + 0{,}9937 x, & \mbox { for } x \in [0,1], \\
-0{,}01258 x^3 - 0{,}4189 x^2 + 1{,}4126 x - 0{,}1396, & \mbox{ for } x \in [1,2], \\
0{,}1403 x^3 - 1{,}3359 x^2 + 3{,}2467 x - 1{,}3623, & \mbox{ for } x \in [2,3], \\
0{,}1579 x^3 - 1{,}4945 x^2 + 3{,}7225 x - 1{,}8381, & \mbox{ for } x \in [3,4], \\
0{,}05375 x^3 -0{,}2450 x^2 - 1{,}2756 x + 4{,}8259, & \mbox{ for} x \in [4,5], \\
-0{,}1871 x^3 + 3{,}3673 x^2 - 19{,}3370 x + 34{,}9282, & \mbox{ for } x \in [5,6]. \\
\end{matrix} \right. 

इतना ही नहीं, हम इन छः खण्डों के लिये सरल रेखा भी फिट कर सकते है, जो सबसे सरल है। इसी प्रकार ४,५ ६ या अधिक घात के बहुपद भी फिट किये जा सकते हैं। उपरोक्त तीन घात वाले बहुपदों में कुछ और भी गुण हैं जिनके कारण उन्हें 'सहज घन स्प्लाइन' (natural cubic spline) कहते हैं।

माना हमारे पास n + 1 बिन्दुओं (knots) का एक अनुक्रम है जिसमें (x_0, y_0) से लेकर (x_n, y_n) बिन्दु हैं। दो क्रमागत बिन्दुओं (x_{i-1}, y_{i-1}) और (x_i, y_i) के बीच एक घन पद होगा (cubic polynomial) q_i(x)=y होगा जो उन दोनों बिन्दुओं को जोड़ता है (यहाँ i = 1, 2, \dots, n)। अर्थात n बहुपद होंगे जिसमें से पहला बहुपद (x_0, y_0) से आरम्भ होगा और अन्तिम बहुपद (x_n, y_n) पर समाप्त होगा। इन घन पदों के निम्नलिखित गुण भी होने चाहिये-

: \begin{cases}
 q_i(x_i) = q_{i+1}(x_i)  = y_i \\
 q'_i(x_i) = q'_{i+1}(x_i) \\
 q*_i(x_i) = q*_{i+1}(x_i)
\end{cases}
\qquad
1 \le i \le n - 1.

यह तभी सम्भव है जब स्प्लाइन के लिये तीन घात वाले या उससे अधिक घात के बहुपदों का प्रयोग किया जाय। पहले से तीन घात वाले बहुपदों का उपयोग होता आया है।

ऊपर वर्णित तीन शर्तों के अलावा, यदि q*_1(x_0) = q*_n(x_n) = 0 तो उसे 'सहज घन स्प्लाइन' कहते हैं।

ऊपर वर्णित तीन मुख्य शर्तों के अलावा यदि q'_1(x_0) = f'(x_0) तथा q'_n(x_n) = f'(x_n) जहाँ f'(x) इन्टर्पोलेशन बहुपद का अवकलज है तो ऐसे घन स्प्लाइन को **तो a **clamped cubic spline** कहते हैं।

ऊपर वर्णित तीन मुख्य शर्तों के अलावा यदि <math>q**_1(x_1) = q**_2(x_1)</math> तथा <math>q**_{n-1}(x_{n-1}) = q**_{n}(x_{n-1})</math>. तो ऐसे घन स्प्लाइन को **'not-a-knot spline** कहते हैं। 

==अन्तर्वेशी घन स्प्लाइन प्राप्त करने की कलन विधि ==

माना  बहुपदों बिन्दु <math>(x_0, y_0)</math> से लेकर <math>(x_n, y_n)</math> तक दिये हुए हैम और हम सभी स्प्लाइन बहुपदों <math>q_i(x)</math> को पाना चाहते हैं। इसके लिये हम केवल अकेली वक्र <math>q(x)</math> को लेते हैं जो बिन्दु <math>(x_1, y_1)</math> से बिन्दु <math>(x_2, y_2)</math> तक अन्तर्निवेशन करेगा । इस वक्र के दोनों सिरों पर प्रवणता (स्लोप) <math>k_1</math> तथा <math>k_2</math> हैं। अर्थात्

: <math>q(x_1) = y_1,</math>
: <math>q(x_2) = y_2,</math>
: <math>q'(x_1) = k_1,</math>
: <math>q'(x_2) = k_2.</math>

सम्पूर्ण समीकरण <math>q(x)</math> को सममित रूप में इस तरह लिखा जा सकता है-
: <math>q(x) = \big(1 - t(x)\big)\,y_1 + t(x)\,y_2 + t(x)\big(1 - t(x)\big)\Big(\big(1 - t(x)\big)\,a + t(x)\,b\Big),</math> -- (1)
जहाँ
: <math>t(x) = \frac{x - x_1}{x_2 - x_1},</math> -- (2)
: <math>a =  k_1 (x_2 - x_1) - (y_2 - y_1),</math>  -- (3)
: <math>b = -k_2 (x_2 - x_1) + (y_2 - y_1).</math>  -- (4)

किन्तु <math>k_1</math> और <math>k_2</math> के मान क्या होंगे? इनका मान निकालने के लिये हमे पता है कि

: <math>q' = \frac{dq}{dx} = \frac{dq}{dt} \frac{dt}{dx} = \frac{dq}{dt} \frac{1}{x_2 - x_1}.</math>
इससे निम्नलिखित समीकरण प्राप्त होते हैं
:<math>q' = \frac{y_2 - y_1}{x_2 - x_1} + (1 - 2t) \frac {a(1 - t) + bt}{x_2 - x_1} + t(1 - t) \frac{b - a}{x_2 - x_1},</math> -- (5)
:<math>q'' = 2 \frac{b - 2a + (a - b)3t}{x_i - x_{i-1}} + \left(\frac{1}{x_i - x_{i-1}} + \frac{1}\right) 2k_i + \frac{k_{i+1}} =
   3 \left(\frac{y_i - y_{i-1}}{{(x_i - x_{i-1})}^2} + \frac{y_{i+1} - y_i}{(x_n - x_{n-1})^2}.</math>  -- (17)

Eventually, (15) together with (16) and (17) constitute  linear equations that uniquely define the  parameters .

There exist other end conditions, "clamped spline", which specifies the slope at the ends of the spline, and the popular "not-a-knot spline", which requires that the third derivative is also continuous at the  and  points.
For the "not-a-knot" spline, the additional equations will read:

: <math>q**_1(x_1) = q**_2(x_1) \Rightarrow \frac{1}{\Delta x_1^2} k_0 + \left( \frac{1}{\Delta x_1^2} - \frac{1}{\Delta x_2^2} \right) k_1 - \frac{1}{\Delta x_2^2} k_2 = 2 \left( \frac{\Delta y_1}{\Delta x_1^3} - \frac{\Delta y_2}{\Delta x_2^3} \right),</math>
: <math>q**_{n-1}(x_{n-1}) = q'''_n(x_{n-1}) \Rightarrow \frac{1}{\Delta x_{n-1}^2} k_{n-2} + \left( \frac{1}{\Delta x_{n-1}^2} - \frac{1}{\Delta x_n^2} \right) k_{n-1} - \frac{1}{\Delta x_n^2} k_n = 2\left( \frac{\Delta y_{n-1} }{\Delta x_{n-1}^3 }- \frac{ \Delta y_n}{ \Delta x_n^3 } \right),

जहाँ \Delta x_i = x_i - x_{i-1},\ \Delta y_i = y_i - y_{i-1}.

## इन्हें भी देखें
* स्प्लाइन

## सन्दर्भ