स्प्लाईन (गणित)
गणित में कई निष्कोण वक्रों (smooth curves) को जोड़कर बने वक्र को स्प्लाइन (Spline) कहते हैं। अतः यह एक पर्याप्त रूप से निष्कोण खण्डश: बहुपद (piecewise polynomial) है। अन्तर्वेशन की समस्याओं में स्प्लाईन अन्तर्वेशन प्रायः बहुपद अन्तर्वेशन (polynomial interpolation) की तुलना में अधिक पसंद किया जाता है क्योंकि यह कम डिग्री के बहुपदो का उपयोग करते हुए भी समान परिणाम देता है। इसके अलावा उच्च डिग्री के उपयोग से बहुपद अन्तर्वेशन में आने वाली रुंग परिघटना (Runge's phenomenon) स्प्लाइन अन्तर्वेशन में नहीं आती।
कंप्यूटर ग्राफिक्स में स्प्लाईन का बहुत उपयोग होता है क्योंकि इनका गठन सरल होता है, मूल्यांकन यथार्थ एवं आसान है और यह जटिल आकार को भी इंटरैक्टिव कर्व डिजाईन के माध्यम से सन्निकटीकरण (approximation) करने में सक्षम है। सामान्यतः घन स्प्लाइन (cubic spline) (त्रिघाती स्प्लाईन), विशेष रूप से घन B-spline एवं घन Bézier spline उपयोग में लाए जाते हैं।
परिभाषा
स्प्लाईन एक खंडित बहुपद रियल फंक्शन है।
- <math>S: [a,b]\to \mathbb{R}</math>
एक अंतराल [a,b] जो की k क्रमांकित एवं विभिन्न उप अंतरालों <math>[t_{i-1}, t_i] </math> से निर्मित है एवं
- <math>a = t_0 < t_1 < \cdots < t_{k-1} < t_k = b</math>.
S को i अंतराल के लिए सीमित करना एक बहुपद है
- <math>P_i: [t_{i-1}, t_i] \to \mathbb{R}</math>,
ताकि
- <math>S(t) = P_1 (t) \mbox{, } t_0 \le t < t_1,</math>
- <math>S(t) = P_2 (t) \mbox{, } t_1 \le t < t_2,</math>
- <math>\vdots</math>
- <math>S(t) = P_k (t) \mbox{, } t_{k-1} \le t \le t_k.</math>
बहुपद <math> P_i (t)</math> का उच्चतम क्रम स्प्लाईन का क्रम् S कहलाता है। यदि सभी उप-अंतराल एक ही अवधि के हैं तब स्प्लाईन uniform कहलाता है अन्यथा वह non-uniform कहलाता है।
हमारा इरादा एक ऐसे बहुपद चुनने का है जो की S की पर्याप्त निर्विघ्नता की गारंटी देता है। विशेष रूप से, n क्रम के स्प्लाईन के लिए S को n-1 क्रम तक आतंरिक बिंदुओं <math>t_i</math>: सभी <math>i=1, \dots, k-1 </math> और सभी <math>j \quad 0 \le j \le n-1</math> पर लगातार विभेदित होना जरूरी है।
<math>P_i^{(j)} (t_i) = P_{i+1}^{(j)} (t_i)</math>
बिन्दुओ के बीच प्रक्षेपित घन-स्प्लाईन की व्युत्पत्ति
यह स्प्लाईन के महत्वपूर्ण उपयोगों में से एक है। इसकी कलन विधि Spline interpolation अनुच्छेद में है।
उदाहरण
द्विघात स्प्लाईन का सरल उदाहरण (दुसरे क्रम की स्प्लाईन) है
- <math>
S(t) = \begin{cases} (t+1)^2-1 & -2 \le t < 0\\ 1-(t-1)^2 & 0 \le t \le 2 \end{cases} </math>
जिसके लिए <math>S'(0)=2</math>
घनीय स्प्लाईन का सरल उदाहरण है
- <math>S(t) = \left|t\right|^3 </math>
इस रूप में
- <math>
S(t) = \begin{cases} t^3 & t \ge 0\\ -t^3 & t < 0 \end{cases} </math> और
- <math>S(0)' =\ 0</math>
- <math>S(0) =\ 0</math>
घनीय स्प्लाईन का घंटी के आकार का वक्र बनाने में उपयोग का उदाहरण इरविन-हॉल बहुपद है:
- <math>
f_X(x)= \begin{cases} \frac{1}{4}(x+2)^3 & -2\le x \le -1\\ \frac{1}{4}\left(3|x|^3 - 6x^2 +4 \right)& -1\le x \le 1\\ \frac{1}{4}(2-x)^3 & 1\le x \le 2 \end{cases} </math>
इतिहास
कंप्यूटर से पहले गड़ना हाथ से की जाती थी। step function जैसे फंक्शन उपयोग किये जाते थे परन्तु बहुपदों को प्राथमिकता दी जाती थी। कंप्यूटर के आने से स्प्लाईन्स ने पहले बहुपदों को प्रतिस्थापित किया और फिर कंप्यूटर ग्राफिक्स में लचीले और सुडोल आकार बनाने के काम में आये.[१]
सामान्यतः यह मन गया है की स्प्लाईन्स का पहला गणितज्ञ सन्दर्भ Schoenberg,[२] के १९४६ के एक पत्र में किया गया जो की शायद पहली जगह थी जहाँ स्प्लाईन शब्द का प्रयोग हुआ। हालांकि मूल विचार विमान और जहाज निर्माण उद्योग से आया था।
सन्दर्भ
इन्हें भी देखें
- खण्डशः रैखिक फलन
- वक्र बैठाना (curve fitting)
और पढ़ें
सिद्धांत
- Cubic Splines Module Prof. John H. Mathews California State University, Fullerton
- Spline Curves, Prof. Donald H. House Clemson University
- An Interactive Introduction to Splines, ibiblio.org
- Introduction to Splines, codeplea.com
एक्सेल फलन (फंक्शन)
- Open source Excel cubic spline User Defined Function
- SRS1 Cubic Spline for Excel - Free Excel cubic spline function (with utility to embed spline function code into any workbook)
ऑनलाइन उपयोगी सामग्री और औजार
- Online Cubic Spline Interpolation Utility
- Learning by Simulations Interactive simulation of various cubic splines
- Symmetrical Spline Curves, an animation by Theodore Gray, The Wolfram Demonstrations Project, 2007.
कंप्यूटर कोड
- Notes, PPT, Mathcad, Maple, Mathematica, Matlab, Holistic Numerical Methods Institute
- various routines, NTCC
- Sisl: Opensource C-library for NURBS, SINTEF
- Closed Bezier Spline, C#, WPF स्क्रिप्ट त्रुटि: "webarchive" ऐसा कोई मॉड्यूल नहीं है।, Oleg V. Polikarpotchkin
- Bezier Spline from 2D Points, C#, WPF स्क्रिप्ट त्रुटि: "webarchive" ऐसा कोई मॉड्यूल नहीं है।, Oleg V. Polikarpotchkin