0% found this document useful (0 votes)
76 views7 pages

Bicubic Spline Interpolation (Journal of Mathematics and Physics, Vol. 41, Issue 1-4) (1962)

Uploaded by

Hatori Hockaido
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
76 views7 pages

Bicubic Spline Interpolation (Journal of Mathematics and Physics, Vol. 41, Issue 1-4) (1962)

Uploaded by

Hatori Hockaido
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

BICUBIC SPLINE INTERPOLATION

By CARL DE BOOR
1. Introduction. Let values Uij = u(x" Yj) be given at the mesh-points
(x" Yj) 'Of a rectangular mesh, (i = 0, " . , I; j = 0, ... , J); let the normal
derivatives be given at the boundary points of the mesh, i.e., Pij = U.,(x., Yj)
for i = 0,1 and j = 0, ... , J, and qij = Uy(Xi, Yj) for i = 0, ... , I and j =
0, J; finally, let 8ij = U'"I/(x" Yj) be given at the four corners of the mesh. The
problem is to fit a "smooth" function u(x, y) E C2 through these given values.
The bicubic spline interpolation method to be described yields a piecewise
bicubic polynomial function u(x, y). This is defined in each rectangular cell
Ri; : Xi-I ~ X ~ Xi; Yi-l ~ Y ~ Yi of the grid as a bicubic polynomial, i.e.,
u(x, y) = ei;(x, y) = L:!..n-o a:!.. (x - Xi-I) m(y - Yj-l)", (X, y) E R ij •

It is shown in §3 that there exists exactly one such piecewise bicubic polynomial
function which assumes the given values and is of class C2• In §§4-5, an efficient
procedure for computing the coefficients a:!" is described.

2. Linearized Spline Interpolation. Bicubic spline interpolation is a two-


dimensional analog of "linearized spline interpolation" (cf. [1, p. 258]) for func-
tions of one variable. Some apparently unpublished properties of this
interpolation procedure are needed to establish this analogy. A short resume of
linearized spline interpolation is, therefore, given here.
For functions of one variable, linearized spline interpolation defines a func-
tion u(x) of class C2 which assumes given values Ui = u(x.) at given points
Xi, i = 0, ... , I, Xo < Xl < ... < XI, and given slopes Pi = U'(Xi) at the
two endpoints Xo and XI . The interpolating function is a cubic polynomial in
each of the intervals [Xi-I, Xi], i = 1, ... , I. The points Xi, i = 0, " . , I, are
called the joints of u(x). Let S(z; Zl, Z2, ... , z.. ), Zl < Z2 < ... < Z,,' denote
the linear space of all functions u(z) of class C 2 on the interval [Zl , Zn], which
are equal to a cubic polynomial in each of the intervals [Zi-l , Zi], i = 2, ... , n,
i.e., piecewise cubic.
THEOREM 1. For each set {uo, Ul, ... , UI, po, PI} of values there exists
exactly one u(x) E Sex; Xo, ... , XI) such that
(1) U(Xi) = Ui, i = 0, ... , I, U'(Xo) = po, U'(XI) = PI.
PROOF. We first recall a well-known result.
LEMMA 1. There is exactly one cubic polynomial e(x) = L:!....o O!m(X - a) III

which assumes given values for e(x) and e'(x) at the endpoints of any interval
[a, b], a ~ b. This polynomial is

e(x) = e(a) + e'(a)(x - a) + [3 e(~i ~ :)~a) - e'(b)b ~ 2:' (a)] (x - al

(2) + [-2 e(b) - e(a) + e' (b) + e' (a)] (x _ at


(b - a)3 (b - a)2
212
BICUBIC SPLINE INTERPOLATION 213

The first statement follows from the fact that the determinant of the matrix
connecting c(a), c'(a), c(b), c'(b) and the four coefficients am is (b - a)-4 ~
for b ~ a. Equation 2 then follows by inspection.
°
COROLLARY. If Ui and Pi are given for i = 0, ... ,I, then there exists exactly
one piecewise cubic polynomial u(x) E al with joints Xo, ... , XI, which satisfies
U(Xi) = Ui and U'(Xi) = pi, i = 0, ... ,I.
LEMMA 2. Let Xo , Xl , X2 be such that Axo = Xl - Xo ~ and .::lXl = X2 -
Xl ~ 0, but not necessarily Xo ~ X2. Let vex) and w(x) be cubic polynomials
°
satisfying V(Xl) = W(Xl) = Ul and v' (Xl) = w' (Xl) = PI . Then v" (Xl) = w" (Xl)
if and only if
Axl v' (xo) + 2 (Axl + Axo) PI + Axo w' (X2)
(3)
= 3 [~: (W(X2) - Ul) + ~: (Ul - V(xo» J.
PROOF. Set a = Xl, b = Xo, c(X) == vex) in (2) j then

V
"( ) = 2 [3
Xl -A-
- ...Xo
v (xo) A - Ul
- ...Xo
- V, (Xo) - 2]
PI .

Similarly, set a = Xl, b = X2, c(X) == w(x) in (2) j then

W "() 2[3
Xl = -
Axl
W (X2) - Ul -
Axl
W , (X2) - 2]
PI .

Thus W"(Xl) = V"(Xl) if and only if (3) holds.


COROLLARY. Let u(x) be a piecewise cubic polynomial of class al with joints
Xo, .•. ,XI. Forgivenui = u(Xi),i = 0, ···,1,andpo = u'(Xo),Pr = U'(XI),
there exists exactly one set of values Pi = U'(Xi), i = 1, ... , I - 1, such that
u(x) E a2•
PROOF. By Lemma 2, the continuity of u"(x) for u(x) E al is equivalent to
a set of I - 1 linear equations

Axi Pi-I + 2 (Ax. + .::lxi-l) p. + .::lxi-I p.+!


(4)
= 3 [Axi-l .::lUi + Ax, .::lUi-I] , i 1,··· ,I - 1,
Ax. Axi-l
for the I - 1 unknowns, Pi , i = 1, ... , I - 1. The tridiagonal matrix of this
linear system is strictly diagonally dominant, hence* has only non-zero eigen-
values and is thus non-singular. The I - 1 equations (4) are, therefore, linearly
independent and hence determine the Pi, i = 1, ... , I - 1, uniquely.
The Corollaries to Lemmas 1 and 2 imply Theorem 1, which concludes the
proof.
Lemmas 1 and 2 may be used to devise an efficient computational scheme
for the evaluation of the interpolating function u(x) for given u., po, PI. In
this scheme, one computes values Pi = U'(Xi), i = 1, ... , I - 1, from equation
(4). Since u(x) equals a cubic polynomial Ci(X) in each interval [Xi-I, Xi], one
* This follows from Gershgorin's Circle Theorem, cf. [2, Thm. 3.3.(a), p. 11].
214 CARL DE BOOR

then uses equation (2) to compute u(x) = c.(x) from c.(xl<) = Uk and C~(Xk)
Pk, k = i - 1, i, for x E [Xi-I, x.].
Theorem 1 has as a consequence
COROLLARY 1. Sex; Xo, .•• , XI) is an (I + 3)-dimensional linear space.
PROOF. Equation (1) assigns to each u(x) E Sex; Xo, ... , XI) a unique
vector {uo, ... , UI, po, PI!. Theorem 1 shows that equation 1 assigns, con-
versely, a unique u(x) E Sex; Xo, ... , XI) to each vector {Uo, ••• , UI, Po, PI}'
COROLLARY 2. The set of ¢.(x) E sex; Xo, ... , XI), i = 0, ... ,I + 2, de-
fined by the conditions
O, i ¢ j
¢;(x.) = Oii = { l,'t ., ¢;(xo) = ¢;(Xr) = 0, for i, j = 0, ... , I,
= J

(5) ¢I+l(X.) = ¢I+2(X.) = 0, for i = 0, "', I,


¢;+I(XO) = ¢;+2(XI) 1, ¢;+I(XI) = ¢;+2(XO) = 0,
is a basis of the linear space Sex; Xo, ••. ,XI)'

3. Bicubic Spline Interpolation. We are now ready to treat bicubic spline


interpolation.
For the (J + 3)-dimensional linear space S(y; Yo, ... , YJ), let {lPi(Y)},
j = 0, ... , J + 2, denote the basis defined in Corollary 2 of Theorem 1. Con-
sider the tensor product T = Sex; Xo, ... , XI) ® S(y; Yo, ... , YJ). T is the
(I + 3)(J + 3)-dimensionallinear space of all functions of the form

(6) U(x, y) = :E~!.~ :E~:;o f3mn¢m(X)lPn(Y).


2
The ¢m and IPn are piecewise cubic and of class C on R: XO ~ x ~ XI ; Yo ~ Y ~
YJ • Therefore, any product or linear combination of the ¢m and IPn is piecewise
2 2
bicubic and of class C , i.e., u(x, y) E C on R for any choice of the coefficients
f3mn.* Conversely, every function, which is a bicubic polynomial in each of the
rectangles Rij : Xi-l ~ x ~ x. ; Y ;-1 ~ Y ~ Y j , and is of class c on R, is in T.
2

THEOREM 2. Let there be given values


Uij U(Xi,Yi), i = 0, '" , I; j = 0, ... , J,

Pi; = U.,(x" Yi), i = 0, I; j = 0, ... , J,


(7)
q'i = Uy(x" Y;), i = 0, ... , I; j = 0, J, and
Si; = U"'II(X",Yi), i = 0, I; j = 0, J.

Then there exists exactly one piecewise bicubic function u(x, y) of the form (6),
which satisfies (7).
PROOF. Equations (5) (and their analogs for IPn(Y» imply that, for functions
* Clearly, the higher order partial derivatives 'Uuu , 'U.,uv , 'U""v , of 'U are continuous on
R as well.
BICUBIC SPLINE INTERPOLATION 215

of the form (6), equations (7) are equivalent to


Ui; = u(x., Yj)
= L~~o L~~o{3mnq,m(X.)1/I,,(Yj) = {3i;, i = 0,"', Iii = 0, "', J,

(
p'j=U",Xi,Yj) = "L..L..{3m"q,m
" ' (X.)1/1" ()
Y = {f3I+l,;
{3 ,i -=
... OJ
I ' J. = 0, " ' , J ,
1+2,J , ~ -

q.; = Uy ( x., Yj ) = L..L..pm"q,m


" " f.1
Xi '1''' Yi
().,.' ( )
= {f3"J+1'
{3. iJ' -= J OJ ' ~. = 0,"', I,
(8) .,J+2, -
f3I+l'J+1' i = O,j = 0
" f3I+l,J+2, i = O,j = J
8'j = U"",(Xi,Yj) = L L{3m"q,m(Xi)1/I,,(Yj) = f3 .. - I J' - O'
{ 1+2,J+l , ~ - , -
f3I+2,J+2, i = I, j = J
Since each 13m" occurs exactly once in the last members of the preceding (I + 3)
+
(J 3) equations, and each of these equations is equivalent to one of the (I + 3)
(J+ 3) conditions (7), the theorem follows.

4. Derivatives at Mesh-points. In §3, the existence and uniqueness of a


piecewise bicubic function u(x, y) f C2 of the form (6) satisfying the conditions
(7) was proved. In the following pages, an efficient computational scheme for
the evaluation of u(x, fi) defined by (6) and (7) at a point (x, fi) E R is derived,
which makes use of the piecewise polynomial character of u( x, y). The procedure
is a two-dimensional analog of the one described at the end of §2 for "linearized
spline interpolation". The relevant equations are derived in the following
Lemmas 3 and 4.
By definition, the interpolating function u(x, y) equals a bicubic polynomial
(9) c'j(X, y) L!,n-o'Y!,i,,(X - X'_l)m(y - Yi-l)"

in Rii : Xi-I ~ X ~ Xi i YH ~ Y ~ Yj •
LEMMA 3. Let Ui; , Pi; , qij and 8ij be given at the four corners of the rectangle
R i ; • Then there exists exactly one bicubic polynomial Ci;(X, y) (9) which as-
sumes the given values. The matrix r ij = II 'Y!,i" II of coefficients in (9) is given
in terms of the matrix Kii of given values by the matrix equation
(10) A (Ax,_I) K ijA (fly j-l) rij,

where
K ij -_\ -Bi-l,j-l : Bi-l,; \
-----------
B',j_l [ Bij
with Bm" = Ipm" qm"m" I'
Um"
8

and the matrix A(h) is defined by

A (h) =
o
1

I -31h2
° °
1
-21h
° °
o
31h
7
-1/h
-2lha
2 2
21h' 1/k 1/h
216 CARL DE BOOR

PROOF. The first part of the lemma is the special case I = J = 1 of Theorem
2. Since equation (10) is linear in Kij , the second part of the lemma may be
verified by computations showing its correctness for the sixteen basis functions
(x - Xi-I) m(y - Yi-l)", m, n = 0, ... ,3.
LEMMA 4. If the values (7) are given, then, for u(x, y) of the form (6), the
values Pi; = U,,(Xi, Yi), (i = 1, "',1 - l;j = 0,,," J), qij = Uu(Xi, Yi),
(i = 0, "', I;j = 1, ... ,J - 1), and 8il = UZg(x.:, y;), (i = 1, "', 1- 1;
j = 0, J, and i = 0, \\\\.\, I;j = 1, .. , , J - 1), are uniquely determined by
thefollowing21 + J + 51inear systems of altogether3IJ + 1+ J - 5equations:
for j = 0, '" , J,

Axi-l Pi-Hoi + 2 (AXi-1 + AX;) pi; + AX. Pi-I,;


(11)
- U~I' - u" + .lXi_I"
--
=
.1Xi_l
3 [- ( ) AX.: (
u .. - U·..... 1 .
)]
i = 1, "', 1- 1;
Ax; .J ., ,J ,

for j = 0, J,

Axi-l 81+1,; + 2 (.1:&i-1 + Ax.) 8;; + Ax,8i-l.;


(12)
= 3 [ ~'1A --
",Xi
(ql+l,; - qij) + ...~
Ax·
Xi-l
(q;j - qi-l,i)
]
, i = 1, "', 1- 1;

for i = 0, ... , I,

.1YH q.,i+l + 2(AYH + AYi)qi; + AY; qi,i-l


(13)
= 3 [AYi-l (u·',3+1 - u .,..) + AYI-l"
Ayj (U" - U i j I)J j = 1" .,. J - l',
.1Yi ,-,
1
= 0, '" , 1,
for i
"
.1Yi-l 8;';+1 + 2 (AYi-I + AYi) 8il + Ay; 8'.i-l
(14)
A-: (pi,HI - pi,i) + .......--:-
= 3 [ AYi-l AYi (P'i - Pi';-l) ] , j = 1"", J - 1.
... y, ...y,-l
PROOF. Along each mesh-line Y = Yi, j = 0, ... , J,

u(x,y) = Vj(x) ES(X;Xo,'" ,Xl), and u,,(x,y;) = v; (x).


v;
By the Corollary to Lemma 2 (in §2), the numbers (Xi) = u",(x., Yj) = Pii,
i = 1, '" , I - 1, are uniquely determined if Vj(x;), i = 0, ... , I, and v;(xo),
V;(Xl) are known. Since Vj(x,) = Uij, i = 0, ... , I, and v;(xo) = POj, V~(XI) =
prj are given for j = 0, .. , , J, it follows from the Corollary to Lemma 2 that
P'i, (i = 1, ... , I - Ijj = 0, .,. , J) is uniquely determined by the J 1 +
sets of (I - 1) equations (11), given the values (7). By similar reasoning, equa-
tions (13) determine qij, (i = 0, ... I; j = 1, ." , J - 1), uniquely, given
the values (7). Along each mesh-line y = Yi, j = 0, J,
Uu(x, Yi) =L (tP,.,(x) (L (Jm,.,p~(Yi)) = Wj(x) E S(Xj Xo , ." , XI),
BICUBIC SPLINE INTERPOLATION 217

and uzl/(x, Yj) = w;(x). Since W;(Xi) = Sij, i = 0, I, and Wj(Xi) = qij, i =
0, ... ,I, is given for j = 0, J, equations (12) determine Sij, (i = 1, ... ,I - 1;
j = 0, J), uniquely, given the values (7). Finally, for each i = 0, ... , I,

u,,(x, ,y) = Zi(Y) E S(y; Yo, •.• , YJ), and Uzy(Xi' y) = z~(y).
For each i = 0, "', I, Zi(Yj) = U,,(Xi, Y;), j = 0, "', J, is either given or
can be uniquely detennined from (11), and z~(yj), j = 0, J, is either given or
can be uniquely detennined from (12). We invoke the Corollary to Lemma 2
a last time to conclude that Sij, (i = 0, ... , I j j = 1, ... , J - 1), is uniquely
deterInined by equations (14) with (11) and (12), given the values (7). This
proves Lemma 4.

6. Computational Procedure. We are now ready to describe the computa-


tional procedure. First compute the values Pij , qij , and Sij from the given values
(7) at all mesh-points (Xi, Yj), at which they are not given, using equations
(11)-(14). The computation of these numbers pij, qij and Sij from these equa-
tions can be done very efficiently and accurately by Gauss eliInination, since
the matrix of each of the 21 + J + 5 systems of equations (11)-(14) is tri-
diagonal and strictly diagonally dOIninant. In solving such a linear system
B~ = 4., B = II bij II and tridiagonal, g = {Zl' Z2, ••• ,Zn}, 4. = {d1 , d2 , ••• ,d,,},
by Gauss eliInination, one first computes quantities b~i by
(15) b~l bl l , b~i bii - bi,i-lbi-l,i/b~-l,i-l' i 2,' .. , n.
One then computes a vector 4.' = {d~, d~ , ... , d~} by

(16) d~ d1 , d~ d. - bi,i-l d~-t/b~-l,i-l , i = 2, " ' , n,


and, finally, finds the solution by the recursion formula

Z" d~/b~n, Zi = (d~ - bi,i+1Zi+l)/b~i,


(17)
i = n - 1, n - 2, ... , 1.

Since only two distinct matrices appear in equations (11)-(14), one has to use
(15) only twice, and then solves each of the 21 + J + 5 systems (11)-(14) in
turn, using (16) and (17) only.
Having solved equations (11)-(14), and stored the results together with
the given values (7), one then has the value of u, u" , Uy, and Uzy available at
every mesh-point (Xi, Yj) of the mesh. Now use equation (10) in each rectangle
Rij to compute the coefficients "/:.t" of the bicubic polynoInial (9) in that rec-
tangle from the values of u, u" , Uy and Uiy at the four corners of Rij . Once the
coefficients "/:.t" of (9) are computed for each rectangle R ij , the evaluation of
the interpolating function u(x, y) at a point (X, '0) E R reduces to finding indices
(i, j) such that (x, y) E R ij , followed by the evaluation of the bicubic poly-
noInial (9).
The method of bicuhic spline interpolation can be generalized, using tensor
218 CARL DE BOOR

products, to functions of n independent variables of class C2 on an n-dimensional


hypercuboid, following the pattern outlined in §§3-5. This generalization will
be presented elsewhere.
REFERENCES
[I] G. BIRKHOFF AND H. L. GARABEDIAN, "Smooth Surface Interpolation", J. Math.
Physics, 39 (1960), pp. 258-268.
[2] M. MARCUS, "Basic Theorems in Matrix Theory", NBS Appl. Math. Series 57 (1960).
(Received February 21, 1962)

You might also like