<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Efficient Computational Algorithm for Spline Surfaces</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Lukáš Minˇ o</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Institute of Computer Science, Faculty of Science</institution>
          ,
          <addr-line>P. J. Šafárik University in Košice Jesenná 5, 040 01 Košice</addr-line>
          ,
          <country country="SK">Slovakia</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2015</year>
      </pub-date>
      <fpage>30</fpage>
      <lpage>37</lpage>
      <abstract>
        <p>Many data mining tasks can be reformulated as optimization problems, in the solution of which approximation by surfaces plays a key role. The paper proposes a new efficient computational algorithm for spline surfaces over uniform grids. The algorithm is based on a recent result on approximation of a biquartic polynomial by bicubic ones, that ensures C2 continuity of the corresponding four bicubic spline components. As a consequence of this biquartic polynomial based approach to constructing spline surfaces, the classical de Boor's computational task breaks down to a reduced task and a simple remainder one. The comparison of the proposed and classical computational algorithm shows that the former needs less multiplication operations resulting in non negligible speed up.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Recent years a considerable effort has been seen to
develop reliable and efficient data mining tools to discover
hidden knowledge in very large data bases. The
fundamental problem is proposing algorithms to extract some
useful information from very large databases. Fortunately,
many data mining tasks can be reformulated as
optimization problems, where approximation by surfaces plays
a key role [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ].
      </p>
      <p>The goal of the paper is to show that even such standard
result as de Boor’s sequential algorithm for construction of
interpolating spline surfaces can be improved. It suggests
a computational algorithm based on new model equations,
in derivation of which biquartic polynomials played an
essential role.</p>
      <p>
        The idea of using quartic and biquartic polynomials in
cubic and bicubic spline construction comes from recent
results of Török and Szabó [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ], [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ], [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. They have
proven a key interrelation of these polynomials using the
IZA representation [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ], [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], which can incorporate both
interpolation and approximation. The IZA representation
was obtained using an r-point transformation that was a
generalization of its three point ancestor [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. A three
point transformation was successfully applied to various
approximation problems. Works [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ], [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] showed how it
can be used to assess the unknown degree in regression
polynomials. In [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] a three point method was developed
to detect piecewise cubic approximation segments for data
with moderate errors. The technique, based on which the
IZA representation has been derived, was first used in [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
The paper [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] showed how to properly use the IZA
representation’s reference points for segment connection and
their relation to derivatives. Papers [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] contain
results on approximation of 3D data based on the reference
point approach. The first remarkable asymptotic
properties of the IZA representation based two-part
approximation model were gained in [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] and [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]. These
properties confirmed the validity of the two-part approximation
model, which led first to [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ], where the interrelation of
quartic and cubic polynomials was shown, and then to
papers [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] and [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] that introduced the reduced system
approach to spline curve construction and proved the
interrelation of bicubic and biquartic polynomials.
      </p>
      <p>
        The algorithm presented in this paper has a decreased
number of equations and is based on the generalized
results of [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] and [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
      </p>
      <p>The structure of the article is as follows. Section two is
devoted to problem statement. To be self-contained,
section three briefly describes de Boor’s algorithm. The next
section first provides the definition of bicubic and
biquartic polynomials. Then it shortly discusses the
interrelation of these bivariate polynomials and their role in the
computational schema. Section five contains the proposed
sequential computational algorithm based on reduced
systems. Section six briefly compares the new and the
classical algorithm. The efficiency of the proposed algorithm is
shown in the last but one section by computing the
theoretical speedup that is approximately 1.33.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Problem Statement</title>
      <p>The section defines the inputs for the spline surface, and
the requirements that it should fulfil and based on which it
can be constructed.</p>
      <p>Consider a uniform grid
[u0, u1, . . . , u2m] × [v0, v1, . . . , v2n],
(1)
where
ui = u0 + ihx, i = 1, 2, . . . , 2m, m ∈ N,
v j = v0 + jhy,</p>
      <p>j = 1, 2, . . . , 2n, n ∈ N.</p>
      <p>
        According to [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], the spline surface is defined by given
values
(7)
(8)
(9)
at the equispaced grid-points, and given first directional
derivatives
where i = 1, . . . , 2m − 1;
for j = 0, 2n,
at boundary verticals,
dix, j, i = 0, 2m,
      </p>
      <p>j = 0, 1, . . . , 2n
y
di, j, i = 0, 1, . . . , 2m,
j = 0, 2n
at boundary horizontals and cross derivatives
dix,,jy, i = 0, 2m,
j = 0, 2n
at the four corners of the grid.</p>
      <p>The task is to define a quadruple [zi, j, dix, j, diy, j, dix,,jy] at
every grid-point [ui, v j], based on which a uniform bicubic
clamped spline surface S of class C2 can be constructed
with properties
(3)
(4)
(5)</p>
      <p>S(ui, v j) = zi, j,
∂ S(ui, v j)
∂ x
= dix, j,
∂ S(ui, v j)</p>
      <p>∂ y
∂ 2S(ui, v j)
∂ x∂ y</p>
      <p>
        y
= di, j,
= dix,,jy,
where the adjacent spline segments are twice continuously
differentiable. Our aim is to solve this task with less
equations and less multiplications than the standard spline
construction algorithm [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. We will achieve this by means of
Hermite splines and using a recently derived relationship
property between biquartic and bicubic polynomials.
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Carl de Boor’s Algorithm</title>
      <p>
        Paper [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] is devoted to bicubic spline surface
interpolation. It formulates the problem and gives the solution to it.
We briefly reformulate the paper’s main result for uniform
splines to show the four main equations, based on which
the numerous tridiagonal systems of de Boor’s algorithm
for solution of the unknown derivatives are constructed.
Thanks to it the paper is self contained and the reader can
count up the number of operational multiplications and so
quantitatively compare de Boor’s and the proposed new
algorithm.
      </p>
      <p>Lemma 1 (de Boor). If the above z values and d
derivatives are given, then the values
dix, j,</p>
      <p>y
di, j,
dix,,jy,
i = 1, . . . , 2m − 1,
i = 0, . . . , 2m,</p>
      <p>j = 0, . . . , 2n,
j = 1, . . . , 2n − 1,
i = 1, . . . , 2m − 1,
and i = 0, . . . , 2m, j = 1, . . . , 2n − 1
are uniquely determined by the following 2(2m) + (2n) + 5
linear systems of altogether 3(2m)(2n) + (2m) + (2n) − 5
equations:
for j = 0, . . . , 2n,
di+1, j + 4dix, j + di−1, j =
x x
(zi+1, j − zi−1, j),
dix+,y1, j + 4dix,,jy + dix−,y1, j =
(diy+1, j − di−1, j),
y
where i = 1, . . . , 2m − 1;
for i = 0, . . . , 2m,
where j = 1, . . . , 2n − 1;
for i = 0, . . . , 2m,
where j = 1, . . . , 2n − 1.</p>
      <p>di, j+1 + 4diy, j + di, j−1 = hy
y y</p>
      <p>(zi, j+1 − zi, j−1),
dix,,jy+1 + 4dix,,jy + dix,,jy−1 =
(dix, j+1 − di, j−1),</p>
      <p>x
3
hx
3
3
hy
4</p>
    </sec>
    <sec id="sec-4">
      <title>Biquartic Polynomials and Bicubic</title>
    </sec>
    <sec id="sec-5">
      <title>Splines</title>
      <p>The section begins with definition of bicubic and
biquartic polynomials. Then it shortly discusses the interrelation
of these bivariate polynomials and its role in the
computational schema.</p>
      <p>
        The tensor product formulas of bicubic Hermite spline
components, see [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], and biquaric polynomials are given
by the following two definitions.
      </p>
      <p>Definition 1. On grid (1) the bicubic Hermite spline
components Si, j(x, y) for
i = 0, 1, 2, . . . , 2m − 1,</p>
      <p>j = 0, 1, 2, . . . , 2n − 1,
x ∈ [ui, ui+1],
y ∈ [v j, v j+1],
are defined as follows</p>
      <p>Si, j(x, y) = λ T (x, ui, hx) · ϕ i, j · λ (y, v j, hy),
(10)
where λ is a vector of basis functions
 (1+2 t−ht0 )(t−t1)2 T</p>
      <p>h2
 (t−t0)2(1−2 t−ht1 ) 
λ (t, t0, h) =  (t−t0)h(2t−t1)2  ,</p>
      <p>
 h2 
 (t−t0)2(t−t1) 
h2
t1 = t0 + h and ϕ is a matrix of function values and first
derivatives
</p>
      <p>zi, j

ϕ i, j = zi+1, j</p>
      <p>x
 di, j

 x
di+1, j
For the spline components the following conditions hold
For uk, vl defined in (1) the following conditions hold
Si, j(uk, vl )
∂ Si, j(uk, vl )</p>
      <p>∂ x
∂ Si, j(uk, vl )</p>
      <p>∂ y
∂ 2Si, j(uk, vl )
∂ x∂ y
=
=
=
=
zk,l ,
dkx,l ,</p>
      <p>y
dk,l ,
dkx,,ly,
k = i, i + 1, l = j, j + 1,
k = i, i + 1, l = j, j + 1,
k = i, i + 1, l = j, j + 1,
k = i, i + 1, l = j, j + 1.</p>
      <p>Based on (10) the second derivatives of Si, j(x, y) can be
expressed effectively, e.g.</p>
      <p>∂ 2Si, j(x, y)
∂ x2
=
∂ 2λ T (x, ui, hx)
∂ x2
· ϕ i, j · λ (y, v j, hy), (11)
where
∂ 2λ (t, t0, h)
∂ t2
 6(2t−2t0−h) T</p>
      <p>h3
 6(−2t+2t0+h) 
=  2(3t−3t0−2h)  .</p>
      <p>h3
 h2 
 2(3t−3t0−h) 
h2</p>
      <p>The biquartic polynomials are also defined by tensor
product.</p>
      <p>On grid (1) the biquartic polynomials
i = 0, 2, 4, . . . , 2(m − 1),
j = 0, 2, 4, . . . , 2(n − 1),
x ∈ [ui, ui+2],
y ∈ [v j, v j+2],</p>
      <sec id="sec-5-1">
        <title>Definition 2.</title>
        <p>Fi, j(x, y) for</p>
        <p>Fi, j(x, y) = LT(x, ui, hx) · Φi, j · L(y, v j, hy),
(12)
where L is a vector of basis functions
 −(1+2 t−ht0 )(t−t1)(t−t2)2 T</p>
        <p>4h3
 (t−t0)h2(4t−t2)2 
L(t, t0, h) =  (t−t0)2(t−t1)(1−2 t−ht2 )  ,
 −(t(−t−t0t0))2((t44t−−hh33tt11))((tt−−tt22))2 
4h3
t1 = t0 + h, t2 = t0 + 2h and Φ is a matrix of function values
and first derivatives
 zi, j

zi+1, j

Φi, j = zi+2, j
 x
 di, j
 x
di+2, j</p>
        <p>The tensor product definition of Fi, j(x, y) by (12)
provides a compact way to express first derivatives, e.g.
∂ Fi, j(x, y)
∂ y
= LT(x, ui, hx) · Φi, j ·
∂ L(y, v j, hy) .</p>
        <p>∂ y
(13)</p>
        <p>
          Works [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ], [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ] prove how is a biquartic polynomial
approximated by four bicubic polynomials. We want to
apply this idea in our new approach to computing uniform
bicubic splines of class C2. The point of the approach is to
solve only one half of derivatives from equations, and the
second half of derivatives to compute from simple
formulas that are derived from corresponding biquartic
polynomials.
        </p>
        <p>
          Unlike de Boor’s lemma, we provide only the
interpretation of the main result of [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ]: a 2 × 2-component
bicubic Hermite spline of class C1 will be of class C2, if
the grid-points are equispaced and the unknown
derivatives of the bicubic spline components at them are
computed from a corresponding biquartic polynomial that is
uniquely determined by the spline problem of Section 2
for the [u0, u1, u2] × [v0, v1, v2] grid.
        </p>
        <p>This interrelation between a biquartic and four bicubic
polynomials is illustrated by the schema in Fig. 1. The
biquartic polynomial F over [u0, u2] × [v0, v2] is defined by
given nine function values z and sixteen derivatives d that
set up four quadruples [z, dx, dy, dx,y], two pairs [z, dx], two
pairs [z, dy] and a single z. Every bicubic spline
component is defined by four quadruples[z, dx, dy, dx,y]. The nine
quadruples in the figure are depicted around nine
gridpoints. Those eleven directional and cross first derivatives
that are computed from the biquartic polynomial F and
that are needed to construct the four bicubic spline
components S = {S0,0, S0,1, S1,0, S1,1}, are denoted by δ , see
Fig. 1.</p>
        <p>The below proposed algorithm was developed by
generalizing the above described interrelation between biquartic
and bicubic polynomials. First biquartic polynomials were
handled and then based on them new model equations and
formulas for unknown derivatives of the bicubic spline
surface were derived.</p>
        <p>Figure 2 illustrates the schema of the proposed
computational algorithm for (2m + 1) × (2n + 1) bicubic spline
surface of class C2. There are 2m + 1 verticals and 2n +
1 horizontals. Rectangles and thick rectangles indicate
the boundary of bicubic spline components and biquartic
polynomials, respectively. There are two types of objects
at every grid-point: known and unknown ones. The given
values and derivatives are denoted by z, d and the unknown
first derivatives byD, δ . Notice that z is provided at every
grid-point and d only along the total grid’s boundary. The
most important is where are the unknown D and δ
parameters. The D parameters are located only along the thick
rectangles, but never in their center. As we shall see later
the D parameters will be computed from equations and the
δ parameters from explicit formulas. The equations were
derived from the equality of second derivatives of spline
components and the formulas from the biquartic
polynomials.</p>
        <p>
          The derived new model equations for the unknown D
derivatives of the spline surface segments and parts of the
explicite formulas for δ are generalization of model
equations and formulas of the unknown derivatives of spline
curve segments, see [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ].
This section presents a new sequential algorithm for
computing a C2-class uniform spline surface’s unknown first
derivatives. Its efficiency will be shown in the next
section. The central part of the algorithm are three new model
equations and five new explicit formulas. We do not derive
these model equations and explicit formulas, only
mention that for their derivation we had to (see Fig. 2)
thoroughly analyse the structure of the bicubic and biquartic
polynomials, specify which derivatives should be the D
and which the δ parameters, understand which
polynomials are critical for obtaining the equations and formulas,
and for all this the following steps were needed:
1. construction of some biquartic polynomials Fi, j,
see (12),
2. construction of δ parameters as functions, see (13),
3. construction of some appropriate Hermite spline
components S, see (10), for comparing of their
second derivatives, see (11).
        </p>
        <p>The below proposed algorithm can be characterized
from two aspects
• what it computes,
• the quality of its outcome.</p>
        <p>The algorithm computes D and δ coefficients for
bicubic spline surface components from inputs given at
equispaced grid-points described in Section 2. The D
coefficients are computed from linear systems based on
equations (14), (16), (18) – (21). The δ coefficients are gained
from explicit formulas (15), (17), (22) – (24). Since the
equations for the D parameters were derived from the
equality of second derivatives of spline components and
the formulas for the δ parameters were gained from
biquartic polynomials that as we know grant C2 continuity
of their components, the algorithm provides such
coefficients that the uniform bicubic spline surface will be of
class C2.</p>
        <p>Algorithm for computing the unknown first derivatives of
the spline surface in three main steps with reduced
systems.</p>
        <p>Inputs: z and d values, see (2) – (5).</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Step 1a. Computation of Dx parameters along the hor</title>
      <p>izontals from equation systems.</p>
      <p>For each horizontal we construct a system of linear
equations to compute the Dx values, located on the inside
odd grid-points. Each horizontal represents an
independent tridiagonal system of linear equations.</p>
      <p>For each horizontal, see Fig. 2, j = 0, 1, . . . , 2n, a
tridiagonal system is constructed based on equations
D2(i+1), j − 14Dx2i, j + D2(i−1), j =
x x</p>
      <p>3 12
= hx (z2(i+1), j − z2(i−1), j) − hx (z2i+1, j − z2i−1, j),
(14)
where i = 1, 2, . . . , m − 1.</p>
    </sec>
    <sec id="sec-7">
      <title>Step 1b. Computation of δ x parameters from explicit</title>
      <p>formulas.</p>
      <p>To finish the computation of all first partial derivatives
with respect to x we have to calculate
δix, j =
3 1
4hx (zi+1, j − zi−1, j) − 4 (dix+1, j + dix−1, j),
(15)
where i = 1, 3, . . . , 2m − 1, j = 1, 3, . . . , 2n − 1 .</p>
    </sec>
    <sec id="sec-8">
      <title>Step 2a. Computation of Dy parameters along the hor</title>
      <p>izontals from equation systems.</p>
      <p>For each vertical we construct a system of linear
equations to compute the Dy values, located on the inside odd
grid-points. Each vertical represents an independent
system of linear equations.</p>
      <p>For each vertical, i = 0, 1, . . . , 2m, a tridiagonal system
is constructed based on equations</p>
      <p>Di,2( j+1) − 14Diy,2 j + Di,2( j−1) =</p>
      <p>y y
where j = 1, 2, . . . , n − 1.</p>
    </sec>
    <sec id="sec-9">
      <title>Step 2b. Computation of δ y parameters from explicit</title>
      <p>formulas</p>
      <p>To finish the computation of all first partial derivatives
with respect to y we have to calculate
δiy, j =
3 1 y
4hy (zi, j+1 − zi, j−1) − 4 (diy, j+1 + di, j−1),
where i = 1, 3, . . . , 2m − 1, j = 1, 3, . . . , 2n − 1.</p>
      <p>At this moment all directional derivatives are known:
some were provided and the unknown D and δ directional
ones were computed in Steps 1 and 2. In the further steps
all directional derivatives will be denoted by d and
contained in the right hand side of equations and formulas.</p>
    </sec>
    <sec id="sec-10">
      <title>Step 3a. Computation of Dx,y parameters along the bot</title>
      <p>tom and top horizontals, and left vertical from
equation systems.</p>
      <p>
        We construct systems of linear equations for bottom and
top horizontals and left verticals by [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. The systems for
the bottom boundary horizontal is
(16)
(17)
Dix+,y1,0 + 4Dix,,0y + Dx,y
i−1,0 =
(diy+1,0 − di−1,0),
y
(18)
Dix+,y1,2n + 4Dix,,2yn + Dx,y
i−1,2n =
(diy+1,2n − di−1,2n), (19)
y
where i = 1, . . . , 2m − 1;
for the top boundary horizontal is
where i = 1, . . . , 2m − 1;
and for the left boundary vertical is
where j = 1, 2, . . . , 2n − 1.
3
hx
3
hx
3
hy
Dx0,,yj+1 + 4Dx0,,yj + Dx0,,yj−1 =
(d0x, j+1 − d0, j−1),
x
(20)
      </p>
    </sec>
    <sec id="sec-11">
      <title>Step 3b. Computation of Dx,y parameters from the in</title>
      <p>side grid-points using systems of equations</p>
      <p>For the odd verticals, i = 2, 4, 6, . . . , 2m, a tridiagonal
system is constructed based on equations</p>
      <p>Dix,,jy+2 − 14Dix,,jy + Dx,y</p>
      <p>i, j−2 =
1
= 7 (dix−,y2, j+2 + dix−,y2, j−2) − 2dix−,y2, j+
+ 73hx (diy−2, j+2 + diy−2, j−2) + 73hy (−dix−2, j+2 + dix−2, j−2)+
9 9
+ 7hx (diy, j+2 + diy, j−2) + 7hxhy (−zi−2, j+2 + zi−2, j−2)+
+ 71h2x (−diy−1, j+2 − diy−1, j−2) + 71h2y (dix−2, j+1 − dix−2, j−1)+
+
+
h3y (dix, j+2 − dix, j−2) + 7h2x7hy (−zi, j+2 + zi, j−2)+</p>
      <p>36
7hxhy (zi−1, j+2 − zi−1, j−2 + zi−2, j+1 − zi−2, j−1)−
− h6x diy−2, j +
12
hy
− 1h8x diy, j + 71h4x4hy (−zi−1, j+1 + zi−1, j−1) + 2h4x diy−1, j,
108
(dix, j+1 + dix, j−1) + 7hxhy (zi, j+1 − zi, j−1)−
(21)
where j = 4, 6, . . . , 2n − 4.</p>
      <p>Mention must be made, that this step was the most
critical. At first after computation ofDx,y unknowns along the
bottom and top horizontals in Step 3a we got equations
with six Dx,y unknowns on the left side. Török suggested
to compute the Dxy parameters along the left vertical
using de Boors equation in Step 3a and thanks to this three
of six Dx,y parameters could be moved to the right side as
computed.</p>
    </sec>
    <sec id="sec-12">
      <title>Step 3c. Computation of δ x,y parameters from explicit</title>
      <p>formulas</p>
      <p>To finish the computation of all first cross derivatives
we have to calculate for the even verticals and the even
horizontals</p>
      <p>1
δix,,jy = 16 (dix+,y1, j+1 + dix+,y1, j−1 + dix−,y1, j+1 + dix−,y1, j−1)−
3 x x
− 16hy (dix+1, j+1 − di+1, j−1 + dix−1, j+1 − di−1, j−1)−
3 y y y
− 16hx (diy+1, j+1 + di+1, j−1 − di−1, j+1 − di−1, j−1)+
9</p>
      <p>(zi+1, j+1 − zi+1, j−1 − zi−1, j+1zi−1, j−1),
+</p>
      <p>16hxhy
where i = 1, 3, . . . , 2m − 1, j = 1, 3, . . . , 2n − 1;
for the even verticals and the odd horizontals</p>
      <p>δix,,jy = 43hy (dix, j+1 − dix, j−1) − 41 (dix,,jy+1 + dix,,jy−1),
where i = 1, 3, . . . , 2m − 1, j = 2, 4, . . . , 2(n − 1);
and for the odd verticals and the even horizontals
δix,,jy = 43hy (dix, j+1 − dix, j−1) − 41 (dix,,jy+1 + dix,,jy−1),
where i = 2, 4, . . . , 2m − 1, j = 1, 3, . . . , 2n − 1.
(22)
(23)
(24)
6</p>
    </sec>
    <sec id="sec-13">
      <title>The Comparision of the New and de Boor’s Algorithm</title>
      <p>We sum up the complete spline task and how is it
completed by the considered two algorithms. Then we give
some details about the role of the biquartic polynomials
that are absent in de Boor’s algorithm but played a crucial
task in the design of the proposed one.</p>
      <p>In case of (2m + 1)(2n + 1) grid-points, to fulfill
the complete spline task means to construct (2m)(2n)
spline components using (2m + 1)(2n + 1) various
quadruples, where one quadruple looks the following way:
[z, dx, dy, dx,y]. The input comprises (2m + 1)(2n + 1) z
values, 2(2n + 1) dx, 2(2m + 1) dy and 4 dx,y derivatives.
The unknown derivatives require computation.</p>
      <p>
        In de Boor’s algorithm every unknown derivative is
computed from equations that are of four types, see (6)–(9)
and [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]:
• from 2n + 1 systems with 2m − 1 variables
      </p>
      <p>(2n + 1)(2m − 1) derivatives dx are computed,
• from 2 systems with 2m − 1 variables</p>
      <p>2(2m − 1) derivatives dx,y are computed,
• from 2m + 1 systems with 2n − 1 variables</p>
      <p>(2m + 1)(2n − 1) derivatives dy are computed,
• from 2m + 1 systems with 2n − 1 variables</p>
      <p>(2m + 1)(2n − 1) derivatives dx,y are computed.</p>
      <p>
        The proposed algorithm’s benefit is that lesser number
of unknown derivatives (D parameters) are computed from
systems of equations, see Tab. 3, compared to de Boor’s
algorithm [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. The remaining derivatives (δ parameters)
are computed from explicit formulas. This was achieved
thanks to using mn biquartic polynomials Fi, j(x, y)
behind the scene, whose definitions use only(m + 1)(n + 1)
quadruples.
      </p>
      <p>The algorithm’s drawback is that it uses more types of
relation: six types of equations and five types of explicit
formulas. Nevertheless it has to compute approximately
12/5 times less equations within systems – compare Tab. 2
and Tab. 3 from Section 7.</p>
      <p>Let us have a closer look at biquartic polynomials and
their role in the algorithm’s design. One biquartic
polynomial Fi, j(x, y) needs 25 parameters, see Definition 2.
We distinguish between four types of F polynomials,
see Fig. 2,</p>
      <sec id="sec-13-1">
        <title>1. at the corners,</title>
      </sec>
      <sec id="sec-13-2">
        <title>2. at boundary horizontals,</title>
      </sec>
      <sec id="sec-13-3">
        <title>3. at boundary verticals,</title>
      </sec>
      <sec id="sec-13-4">
        <title>4. over the inside grid-points. While for example for the biquartic polynomial F over inside grid-points all the sixteen derivatives are unknown,</title>
        <p>
          they are D parameters, for F from the corners only seven
are unknown and nine are given, these are the d
parameters. After obtaining the D parameters the remaining
derivatives are computed based on F . From every F
eleven delta parameters can be obtained: two pairs of
type [δ x, δ x,y], two pairs of type [δ y, δ x,y] and one triple
[δ x, δ y, δ x,y]. Naturally, δ parameters are functions of D
parameters, see [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ].
        </p>
        <p>After introducing the new algorithm in the previous
section and giving a short insight into its design in this one,
the next section is devoted to its quantitative
characterization.
7</p>
      </sec>
    </sec>
    <sec id="sec-14">
      <title>Number of Multiplications</title>
      <p>The standard way of solving a tridiagonal linear system
 b
 1
 0



|
where dK = uyKK , {di = u1i (yi − xi+1)}, i = K − 1, . . . , 1.</p>
      <p>The tridiagonal systems of equations for de Boor’s and
our algorithm are solved by LU decomposition. All the
systems of these algorithms are diagonally dominant with</p>
      <p>Dim.</p>
      <p>N × N
(25)
LU
γ N
(26)
Fw
N
(27)
Bw
γ N</p>
      <p>RHS
β N</p>
      <sec id="sec-14-1">
        <title>Total mult.</title>
        <p>2γ N + β N + N
elements 1, 4, 1 and 1, −14, 1. The LU and backward steps
contain a division that is indicated by γ , the ratio between
division and multiplication: the performance of a division
operation is equivalent to γ multiplications.
The proposed and de Boor’s algorithm differ
• in number of systems of equations,
• in number of equations within systems,
• in number of multiplication operations on right hand
side (RHS) of equations.</p>
        <p>Tab. 1 presents the number of multiplications for
solving one general tridiagonal N × N matrix, where β denotes
the number of multiplications on the right hand side of an
equation.</p>
        <p>The second and third columns of Tab. 2 and Tab. 3
provide the count of equations within the given steps
(equations) and the count of equations within a system,
respectively, for a grid of size (2m + 1) × (2n + 1). The last but
one rows contain the total number of equations. The total
count of multiplications to solve the tridiagonal systems
within de Boor’s and the proposed algorithm are in the last
row.</p>
        <p>In the proposed algorithm we evaluate in addition to the
solution of the tridiagonal systems of equations, see Tab. 3,
as well as δ parameters using explicit formulas. Therefore
the total number of multiplications in the proposed
algorithm based on tables 3 and 4 is
10γ mn + 46mn + 4γ m + 2γ n − 13m + 3n − 10γ − 12.</p>
        <p>We can see that the number of multiplication in the
proposed algorithm is less. The theoretical speed up for some
various grid sizes were computed under assumption that
γ = 3.5. Based on Tab. 5 we can conclude that the
proposed model is asymptotically 1.33 times faster.
We suggested a new efficient sequential algorithm for
computation of a spline surface over an equispaced
grid. Its theoretically evaluated asymptotic speed up over
de Boors algorithm is approximately 1.33. The algorithm
has also a very nice property from the view point of
parallel computation: the computation of the second half of
unknowns based on explicit equations can be parallelized
automatically. Naturally, parallel methods, suggested for
solving tridiagonal systems of de Boor’s algorithm can be
used for solution of the new algorithm’s tridiagonal
systems as well. Therefore, the proposed reduced system
based algorithm is preferable over de Boor’s algorithm not
only for sequential, but also for parallel computation.</p>
      </sec>
    </sec>
    <sec id="sec-15">
      <title>Acknowledgement</title>
      <p>The author thanks Cs. Török for the problem statement,
his helpful suggestions and support. This work was
partially supported by the research grants VEGA 1/0073/15
and VVGS-PF-2015-477.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Berry</surname>
            <given-names>M. J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Linoff</surname>
            <given-names>G. S.</given-names>
          </string-name>
          :
          <article-title>Data mining techniques (Third Edition)</article-title>
          .
          <source>For Marketing</source>
          , Sales, and Customer Relationship Management, John Wiley and Sons, 2011
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Björck</surname>
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Numerical methods in matrix computations</article-title>
          . Springer,
          <year>2015</year>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <surname>de Boor</surname>
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Bicubic spline interpolation</article-title>
          .
          <source>Journal of Mathematics and Physics</source>
          ,
          <volume>41</volume>
          (
          <issue>3</issue>
          ) (
          <year>1962</year>
          ),
          <fpage>212</fpage>
          -
          <lpage>218</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>Dikoussar</surname>
            <given-names>N. D.</given-names>
          </string-name>
          :
          <article-title>Function parametrization by using 4-point transforms</article-title>
          .
          <source>Comput. Phys. Commun</source>
          .
          <volume>99</volume>
          (
          <year>1997</year>
          ),
          <fpage>235</fpage>
          -
          <lpage>254</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>Dikoussar</surname>
            <given-names>N. D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Török</surname>
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Automatic Knot Finding for Piecewise Cubic Approximation</article-title>
          . Mat. Model.,
          <year>2006</year>
          , T-17, N.3
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <surname>Dikoussar</surname>
            <given-names>N. D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Török</surname>
            <given-names>C.</given-names>
          </string-name>
          :
          <source>Kybernetika</source>
          <volume>43</volume>
          (
          <issue>4</issue>
          ) (
          <year>2007</year>
          ),
          <fpage>533</fpage>
          -
          <lpage>546</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <surname>Hegland</surname>
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Roberts</surname>
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Altas</surname>
            <given-names>I.</given-names>
          </string-name>
          :
          <article-title>Finite element thin plate splines for data mining applications</article-title>
          . In: M.
          <string-name>
            <surname>Daehlen</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          <string-name>
            <surname>Lyche</surname>
            , and
            <given-names>L.</given-names>
          </string-name>
          <string-name>
            <surname>Schumaker</surname>
          </string-name>
          , (eds.),
          <source>Mathematical Methods for Curves and Surfaces II</source>
          , pages
          <fpage>245</fpage>
          -
          <lpage>252</lpage>
          , Nashville,
          <string-name>
            <surname>TN</surname>
          </string-name>
          ,
          <year>1998</year>
          . Vanderbilt University Press.
          <source>Available as Mathematical Research Report MRR 057-97</source>
          , School of Mathematical Sciences, Australian National University
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <surname>Matejcˇiková</surname>
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Török</surname>
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Noise suppression in RDPT</article-title>
          .
          <source>Forum Statisticum Slovacum</source>
          ,
          <volume>3</volume>
          /2005, Bratislava, ISSN 1336-
          <issue>7420</issue>
          ,
          <fpage>199</fpage>
          -
          <lpage>203</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <surname>Minˇo</surname>
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Szabó</surname>
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Török</surname>
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Bicubic splines</article-title>
          and biquartic polynomials,
          <year>2015</year>
          , to appear
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Révayová</surname>
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Török</surname>
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Piecewise approximation and neural networks</article-title>
          .
          <source>Kybernetika</source>
          <volume>43</volume>
          (
          <issue>4</issue>
          ) (
          <year>2007</year>
          ),
          <fpage>547</fpage>
          -
          <lpage>559</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Révayová</surname>
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Török</surname>
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Reference points based recursive approximation</article-title>
          .
          <source>Kybernetika</source>
          <volume>49</volume>
          (
          <issue>1</issue>
          ) (
          <year>2013</year>
          ),
          <fpage>60</fpage>
          -
          <lpage>72</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>Salomon</surname>
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Curves and surfaces for computer graphics</article-title>
          . Springer,
          <year>2006</year>
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <surname>Szabó</surname>
            <given-names>I.</given-names>
          </string-name>
          :
          <article-title>Approximation algorithms for 3D data analysis</article-title>
          .
          <source>PhD Thesis</source>
          , P. J. Šafárik University in Košice, Slovakia,
          <year>2015</year>
          , to appear
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>Szabó</surname>
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Török</surname>
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Smoothing in 3D with reference points and Polynomials</article-title>
          .
          <source>29th Spring Conference on Computer Graphics SCCG</source>
          <year>2013</year>
          , Smolenice-Bratislava, Comenius University,
          <fpage>39</fpage>
          -
          <lpage>43</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <surname>Török</surname>
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>4-point transforms and approximation</article-title>
          ,
          <source>Comput. Phys. Commun</source>
          .
          <volume>125</volume>
          (
          <year>2000</year>
          ),
          <fpage>154</fpage>
          -
          <lpage>166</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <surname>Török</surname>
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>On reduction of equations' number for cubic splines</article-title>
          .
          <source>Matematicheskoe modelirovanie</source>
          <volume>26</volume>
          (
          <issue>11</issue>
          ) (
          <year>2014</year>
          ),
          <fpage>33</fpage>
          -
          <lpage>36</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <surname>Török</surname>
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Piecewise smoothing using shared parameters</article-title>
          .
          <source>Forum Statisticum Slovacum</source>
          ,
          <volume>7</volume>
          /
          <year>2009</year>
          ,
          <fpage>188</fpage>
          -
          <lpage>193</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <surname>Török</surname>
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Reference points based transformation and approximation</article-title>
          .
          <source>Kybernetika</source>
          <volume>49</volume>
          (
          <issue>4</issue>
          ) (
          <year>2013</year>
          ), http://www.kybernetika.cz/content/2013/4/644/ paper.pdf
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <surname>Török</surname>
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Speedup of interpolating spline construction</article-title>
          ,
          <year>2015</year>
          , to appear
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>