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

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

परिचय
मूल रूप से, सपाट तख़्ता विकट: लोचदार शासकों के लिए एक शब्द था जो कई पूर्वनिर्धारित बिंदुओं या गांठों से गुजरने के लिए मुड़े हुए थे। इनका उपयोग हाथ से जहाज निर्माण और निर्माण के लिए तकनीकी चित्र बनाने के लिए किया जाता था, जैसा कि चित्र में दिखाया गया है।

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

किसी भी वक्र की वक्रता $$y = y(x)$$ परिभाषित किया जाता है


 * $$\kappa = \frac{y''}{(1 + y'^2)^{3/2}},$$

कहाँ $$y'$$ और $$y''$$ के पहले और दूसरे व्युत्पन्न हैं $$y(x)$$ इसके संबंध में $$x$$. तख़्ते को एक ऐसा आकार देने के लिए जो झुकने को कम करता है (सभी गांठों से गुजरने की बाधा के तहत), हम दोनों को परिभाषित करेंगे $$y'$$ और $$y''$$ गांठों सहित हर जगह निरंतर रहना। प्रत्येक क्रमिक बहुपद में उनके जुड़ने वाले गांठों पर समान मान (जो संबंधित डेटापॉइंट के y-मान के बराबर होते हैं), डेरिवेटिव और दूसरा डेरिवेटिव होना चाहिए, जिसका अर्थ है कि


 * $$\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.$$ यह केवल तभी प्राप्त किया जा सकता है जब डिग्री 3 (घन बहुपद) या उच्चतर के बहुपदों का उपयोग किया जाता है। शास्त्रीय दृष्टिकोण बिल्कुल 3 डिग्री - घनीय पट्टी के बहुपदों का उपयोग करना है।

उपरोक्त तीन शर्तों के अलावा, एक 'प्राकृतिक घन तख़्ता ' में यह शर्त होती है $$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)$$ इंटरपोलेटेड फ़ंक्शन का व्युत्पन्न है।

उपरोक्त तीन मुख्य स्थितियों के अलावा, 'नॉट-ए-नॉट स्प्लाइन<नोविकी/>' में ऐसी स्थितियाँ हैं जो $$q_1(x_1) = q_2(x_1)$$ और $$q_{n-1}(x_{n-1}) = q_{n}(x_{n-1})$$.

इंटरपोलेटिंग क्यूबिक स्पलाइन को खोजने के लिए एल्गोरिदम
हम प्रत्येक बहुपद ज्ञात करना चाहते हैं $$q_i(x)$$ अंक दिए गए $$(x_0, y_0)$$ द्वारा $$(x_n, y_n)$$. ऐसा करने के लिए, हम वक्र के केवल एक टुकड़े पर विचार करेंगे, $$q(x)$$, जो से प्रक्षेपित होगा $$(x_1, y_1)$$ को $$(x_2, y_2)$$. इस टुकड़े में ढलान होगी $$k_1$$ और $$k_2$$ इसके अंतिम बिंदु पर. या, अधिक सटीक रूप से,


 * $$q(x_1) = y_1,$$
 * $$q(x_2) = y_2,$$
 * $$q'(x_1) = k_1,$$
 * $$q'(x_2) = k_2.$$

पूरा समीकरण $$q(x)$$ सममित रूप में लिखा जा सकता है

कहाँ

लेकिन क्या हैं $$k_1$$ और $$k_2$$? इन महत्वपूर्ण मूल्यों को प्राप्त करने के लिए, हमें उस पर विचार करना चाहिए


 * $$q' = \frac{dq}{dx} = \frac{dq}{dt} \frac{dt}{dx} = \frac{dq}{dt} \frac{1}{x_2 - x_1}.$$

इसके बाद यह अनुसरण करता है

सेटिंग $t = 0$ और $t = 1$ क्रमशः समीकरणों में ($$) और ($$), एक से मिलता है ($$) वह वास्तव में पहला व्युत्पन्न है $q′(x_{1}) = k_{1}$ और $q′(x_{2}) = k_{2}$, और दूसरा डेरिवेटिव भी

अगर अब $(x_{i}, y_{i}), i = 0, 1, ..., n$ हैं $n + 1$ अंक, और

जहां मैं = 1, 2, ..., एन, और $$t = \tfrac{x - x_{i-1}}{x_i - x_{i-1}}$$ n तृतीय-डिग्री बहुपद प्रक्षेप हैं $$अंतराल में $x_{i−1} ≤ x ≤ x_{i}$ i = 1, ..., n के लिए ऐसा कि $q′_{i} (x_{i}) = q′_{i+1}(x_{i})$ i = 1, ..., n − 1 के लिए, तो n बहुपद मिलकर अंतराल में एक अवकलनीय फलन को परिभाषित करते हैं $x_{0} ≤ x ≤ x_{n}$, और

i = 1, ..., n, कहां के लिए

यदि क्रम $k_{0}, k_{1}, ..., k_{n}$ ऐसा है कि, इसके अलावा, $q′′_{i}(x_{i}) = q′′_{i+1}(x_{i})$ i = 1, ..., n − 1 के लिए धारण करता है, तो परिणामी फ़ंक्शन में निरंतर दूसरा व्युत्पन्न भी होगा।

से ($$), ($$), ($$) और ($$) इस प्रकार है कि यह मामला है यदि और केवल यदि

i = 1, ..., n − 1 के लिए। संबंध ($$) हैं $n − 1$ के लिए रैखिक समीकरण $n + 1$ मान $k_{0}, k_{1}, ..., k_{n}$.

तख़्ता प्रक्षेप के लिए मॉडल होने वाले लोचदार शासकों के लिए, सबसे बाईं ओर की गाँठ के बाईं ओर और सबसे दाईं ओर की गाँठ के दाईं ओर शासक स्वतंत्र रूप से घूम सकता है और इसलिए एक सीधी रेखा का रूप ले लेगा $q′′ = 0$. जैसा $$ का एक सतत कार्य होना चाहिए $$, इसके अतिरिक्त प्राकृतिक विभाजन $n − 1$ रेखीय समीकरण ($$) होना चाहिए
 * $$q''_1(x_0) = 2 \frac {3(y_1 - y_0) - (k_1 + 2k_0)(x_1 - x_0)}{{(x_1 - x_0)}^2} = 0,$$
 * $$q''_n(x_n) = -2 \frac {3(y_n - y_{n-1}) - (2k_n + k_{n-1})(x_n - x_{n-1})}{{(x_n - x_{n-1})}^2} = 0,$$

यानी कि

अंततः, ($y$) के साथ साथ ($$) और ($$) गठित करना $n + 1$ रैखिक समीकरण जो विशिष्ट रूप से परिभाषित करते हैं $n + 1$ पैरामीटर $k_{0}, k_{1}, ..., k_{n}$.

अन्य अंतिम स्थितियाँ मौजूद हैं, क्लैम्प्ड स्प्लाइन, जो स्प्लाइन के सिरों पर ढलान को निर्दिष्ट करती है, और लोकप्रिय नॉट-ए-नॉट स्प्लाइन, जिसके लिए आवश्यक है कि तीसरा व्युत्पन्न भी निरंतर हो। $x_{1}$ और $x_{n−1}$ अंक. नॉट-अ-गाँठ तख़्ता के लिए, अतिरिक्त समीकरण पढ़ेंगे:


 * $$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),$$
 * $$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}$$.

उदाहरण
तीन बिंदुओं के मामले में मान $$k_0, k_1, k_2$$ त्रिविकर्ण मैट्रिक्स को हल करके पाए जाते हैं

\begin{bmatrix} a_{11} & a_{12} & 0      \\ a_{21} & a_{22} & a_{23} \\ 0     & a_{32} & a_{33}  \\ \end{bmatrix} \begin{bmatrix} k_0 \\ k_1 \\ k_2 \\ \end{bmatrix} = \begin{bmatrix} b_1 \\ b_2 \\ b_3 \\ \end{bmatrix} $$ साथ
 * $$a_{11} = \frac{2}{x_1 - x_0},$$
 * $$a_{12} = \frac{1}{x_1 - x_0},$$
 * $$a_{21} = \frac{1}{x_1 - x_0},$$
 * $$a_{22} = 2 \left(\frac{1}{x_1 - x_0} + \frac{1}\right),$$
 * $$a_{23} = \frac{1},$$
 * $$a_{32} = \frac{1}{x_2 - x_1},$$
 * $$a_{33} = \frac{2}{x_2 - x_1},$$
 * $$b_1 = 3 \frac{y_1 - y_0}{(x_1 - x_0)^2},$$
 * $$b_2 = 3 \left(\frac{y_1 - y_0}{{(x_1 - x_0)}^2} + \frac{y_2 - y_1}{{(x_2 - x_1)}^2}\right),$$
 * $$b_3 = 3 \frac{y_2 - y_1}{(x_2 - x_1)^2}.$$

तीन बिंदुओं के लिए
 * $$(-1,0.5),\ (0,0),\ (3,3),$$

किसी को वह मिल जाता है
 * $$k_0 = -0.6875,\ k_1 = -0.1250,\ k_2 = 1.5625,$$

और से ($$) और ($$) वह
 * $$a_1 = k_0(x_1 - x_0) - (y_1 - y_0) = -0.1875,$$
 * $$b_1 = -k_1(x_1 - x_0) + (y_1 - y_0) = -0.3750,$$
 * $$a_2 = k_1(x_2 - x_1) - (y_2 - y_1) = -3.3750,$$
 * $$b_2 = -k_2(x_2 - x_1) + (y_2 - y_1) = -1.6875.$$

चित्र में, दो घन बहुपदों से युक्त तख़्ता फलन $$q_1(x)$$ और $$q_2(x)$$ द्वारा दिए गए ($$) यह प्रदर्शित है।

यह भी देखें

 * घन हर्माइट तख़्ता
 * सेंट्रिपेटल कैटमुल-रोम स्पलाइन
 * असतत तख़्ता प्रक्षेप
 * मोनोटोन क्यूबिक इंटरपोलेशन
 * गैर-समान तर्कसंगत बी-स्पलाइन
 * बहुभिन्नरूपी प्रक्षेप
 * बहुपद प्रक्षेप
 * तख़्ता को चिकना करना
 * तख़्ता तरंगिका
 * पतली प्लेट तख़्ता
 * पॉलीहार्मोनिक तख़्ता

कंप्यूटर कोड
TinySpline: स्प्लिन के लिए ओपन सोर्स सी-लाइब्रेरी जो क्यूबिक स्पलाइन इंटरपोलेशन लागू करती है

SciPy स्प्लाइन इंटरपोलेशन: एक पायथन पैकेज जो इंटरपोलेशन लागू करता है

क्यूबिक इंटरपोलेशन: क्यूबिक स्पलाइन इंटरपोलेशन के लिए ओपन सोर्स सी#-लाइब्रेरी

बाहरी संबंध

 * Cubic Spline Interpolation Online Calculation and Visualization Tool (with JavaScript source code)
 * Dynamic cubic splines with JSXGraph
 * Lectures on the theory and practice of spline interpolation
 * Paper which explains step by step how cubic spline interpolation is done, but only for equidistant knots.
 * Numerical Recipes in C, Go to Chapter 3 Section 3-3
 * A note on cubic splines
 * Information about spline interpolation (including code in Fortran 77)
 * Information about spline interpolation (including code in Fortran 77)