In the mathematical field of numerical analysis, discrete spline interpolation is a form of interpolation where the interpolant is a special type of piecewise polynomial called a discrete spline. A discrete spline is a piecewise polynomial such that its central differences are continuous at the knots whereas a spline is a piecewise polynomial such that its derivatives are continuous at the knots. Discrete cubic splines are discrete splines where the central differences of orders 0, 1, and 2 are required to be continuous.
Discrete splines were introduced by Mangasarin and Schumaker in 1971 as solutions of certain minimization problems involving differences.
Discrete cubic splines
Let x1, x2, . . ., xn-1 be an increasing sequence of real numbers. Let g(x) be a piecewise polynomial defined by
g ( x ) = { g 1 ( x ) x < x 1 g i ( x ) x i − 1 ≤ x < x i for i = 2 , 3 , … , n − 1 g n ( x ) x ≥ x n − 1 {\displaystyle g(x)={\begin{cases}g_{1}(x)&x<x_{1}\\g_{i}(x)&x_{i-1}\leq x<x_{i}{\text{ for }}i=2,3,\ldots ,n-1\\g_{n}(x)&x\geq x_{n-1}\end{cases}}}where g1(x), . . ., gn(x) are polynomials of degree 3. Let h > 0. If
( g i + 1 − g i ) ( x i + j h ) = 0 for j = − 1 , 0 , 1 and i = 1 , 2 , … , n − 1 {\displaystyle (g_{i+1}-g_{i})(x_{i}+jh)=0{\text{ for }}j=-1,0,1{\text{ and }}i=1,2,\ldots ,n-1}then g(x) is called a discrete cubic spline.3
Alternative formulation 1
The conditions defining a discrete cubic spline are equivalent to the following:
g i + 1 ( x i − h ) = g i ( x i − h ) {\displaystyle g_{i+1}(x_{i}-h)=g_{i}(x_{i}-h)} g i + 1 ( x i ) = g i ( x i ) {\displaystyle g_{i+1}(x_{i})=g_{i}(x_{i})} g i + 1 ( x i + h ) = g i ( x i + h ) {\displaystyle g_{i+1}(x_{i}+h)=g_{i}(x_{i}+h)}Alternative formulation 2
The central differences of orders 0, 1, and 2 of a function f(x) are defined as follows:
D ( 0 ) f ( x ) = f ( x ) {\displaystyle D^{(0)}f(x)=f(x)} D ( 1 ) f ( x ) = f ( x + h ) − f ( x − h ) 2 h {\displaystyle D^{(1)}f(x)={\frac {f(x+h)-f(x-h)}{2h}}} D ( 2 ) f ( x ) = f ( x + h ) − 2 f ( x ) + f ( x − h ) h 2 {\displaystyle D^{(2)}f(x)={\frac {f(x+h)-2f(x)+f(x-h)}{h^{2}}}}The conditions defining a discrete cubic spline are also equivalent to4
D ( j ) g i + 1 ( x i ) = D ( j ) g i ( x i ) for j = 0 , 1 , 2 and i = 1 , 2 , … , n − 1. {\displaystyle D^{(j)}g_{i+1}(x_{i})=D^{(j)}g_{i}(x_{i}){\text{ for }}j=0,1,2{\text{ and }}i=1,2,\ldots ,n-1.}This states that the central differences D ( j ) g ( x ) {\displaystyle D^{(j)}g(x)} are continuous at xi.
Example
Let x1 = 1 and x2 = 2 so that n = 3. The following function defines a discrete cubic spline:5
g ( x ) = { x 3 x < 1 x 3 − 2 ( x − 1 ) ( ( x − 1 ) 2 − h 2 ) 1 ≤ x < 2 x 3 − 2 ( x − 1 ) ( ( x − 1 ) 2 − h 2 ) + ( x − 2 ) ( ( x − 2 ) 2 − h 2 ) x ≥ 2 {\displaystyle g(x)={\begin{cases}x^{3}&x<1\\x^{3}-2(x-1)((x-1)^{2}-h^{2})&1\leq x<2\\x^{3}-2(x-1)((x-1)^{2}-h^{2})+(x-2)((x-2)^{2}-h^{2})&x\geq 2\end{cases}}}
Discrete cubic spline interpolant
Let x0 < x1 and xn > xn-1 and f(x) be a function defined in the closed interval [x0 - h, xn + h]. Then there is a unique cubic discrete spline g(x) satisfying the following conditions:
g ( x i ) = f ( x i ) for i = 0 , 1 , … , n . {\displaystyle g(x_{i})=f(x_{i}){\text{ for }}i=0,1,\ldots ,n.} D ( 1 ) g 1 ( x 0 ) = D ( 1 ) f ( x 0 ) . {\displaystyle D^{(1)}g_{1}(x_{0})=D^{(1)}f(x_{0}).} D ( 1 ) g n ( x n ) = D ( 1 ) f ( x n ) . {\displaystyle D^{(1)}g_{n}(x_{n})=D^{(1)}f(x_{n}).}This unique discrete cubic spline is the discrete spline interpolant to f(x) in the interval [x0 - h, xn + h]. This interpolant agrees with the values of f(x) at x0, x1, . . ., xn.
Applications
- Discrete cubic splines were originally introduced as solutions of certain minimization problems.67
- They have applications in computing nonlinear splines.89
- They are used to obtain approximate solution of a second order boundary value problem.10
- Discrete interpolatory splines have been used to construct biorthogonal wavelets.11
References
Tom Lyche (1979). "Discrete Cubic Spline Interpolation". BIT. 16 (3): 281–290. doi:10.1007/bf01932270. S2CID 122300608. /wiki/Doi_(identifier) ↩
Mangasarian, O. L.; Schumaker, L. L. (1971). "Discrete splines via mathematical programming". SIAM J. Control. 9 (2): 174–183. doi:10.1137/0309015. /wiki/Doi_(identifier) ↩
Tom Lyche (1979). "Discrete Cubic Spline Interpolation". BIT. 16 (3): 281–290. doi:10.1007/bf01932270. S2CID 122300608. /wiki/Doi_(identifier) ↩
Tom Lyche (1979). "Discrete Cubic Spline Interpolation". BIT. 16 (3): 281–290. doi:10.1007/bf01932270. S2CID 122300608. /wiki/Doi_(identifier) ↩
Tom Lyche (1979). "Discrete Cubic Spline Interpolation". BIT. 16 (3): 281–290. doi:10.1007/bf01932270. S2CID 122300608. /wiki/Doi_(identifier) ↩
Tom Lyche (1979). "Discrete Cubic Spline Interpolation". BIT. 16 (3): 281–290. doi:10.1007/bf01932270. S2CID 122300608. /wiki/Doi_(identifier) ↩
Mangasarian, O. L.; Schumaker, L. L. (1971). "Discrete splines via mathematical programming". SIAM J. Control. 9 (2): 174–183. doi:10.1137/0309015. /wiki/Doi_(identifier) ↩
Tom Lyche (1979). "Discrete Cubic Spline Interpolation". BIT. 16 (3): 281–290. doi:10.1007/bf01932270. S2CID 122300608. /wiki/Doi_(identifier) ↩
Michael A. Malcolm (April 1977). "On the computation of nonlinear spline functions". SIAM Journal on Numerical Analysis. 14 (2): 254–282. Bibcode:1977SJNA...14..254M. doi:10.1137/0714017. /wiki/Bibcode_(identifier) ↩
Fengmin Chen, Wong, P.J.Y. (Dec 2012). "Solving second order boundary value problems by discrete cubic splines". Control Automation Robotics & Vision (ICARCV), 2012 12th International Conference: 1800–1805.{{cite journal}}: CS1 maint: multiple names: authors list (link) /wiki/Template:Cite_journal ↩
Averbuch, A.Z., Pevnyi, A.B., Zheludev, V.A. (Nov 2001). "Biorthogonal Butterworth wavelets derived from discrete interpolatory splines". IEEE Transactions on Signal Processing. 49 (11): 2682–2692. Bibcode:2001ITSP...49.2682A. CiteSeerX 10.1.1.332.7428. doi:10.1109/78.960415.{{cite journal}}: CS1 maint: multiple names: authors list (link) /wiki/Bibcode_(identifier) ↩