Application of modified Leja sequences to polynomial interpolation · M. Caliari

advertisement
Special Issue for the “10 years of the Padua points”, Volume 8 · 2015 · Pages 66–74
Application of modified Leja sequences to
polynomial interpolation
L. P. Bos a · M. Caliari a
Abstract
We discuss several applications of the Leja point method for univariate polynomial interpolation. First we
show how more or less arbitrary interpolation points sets can be stabilized by adding some points from
the Leja sequence generated beginning with the given set. We then show how the Leja point idea can be
used to generate good point sets for Hermite–Lagrange polynomial interpolation. Then we discuss a
version of Leja sequences for the interval [−1, 1] that are constrained to be symmetric sets. Finally we
discuss the extension of Leja stabilization to several variables.
1
Introduction
Given a compact set K ⊂ C and a point ξ0 ∈ K, a Leja sequence {ξ j }mj=0 is defined recursively by taking
ξm ∈ arg max
ξ∈K
m−1
Y
|ξ − ξ j |,
m ≥ 1.
j=0
Leja points are not optimal; there are competitor point sets for which polynomial interpolation works better. Examples of such
competitors are the points for which the associated Lebesgue function has as small a maximum as possible and also the so-called
Fekete points, which maximize the associated Vandermonde determinant (and for which it is known that the Lebesgue function is
at least bounded by the dimension of the underlying polynomial space). However, finding Leja points is computationally much less
intense as for the next higher degree one must compute only one new point, as opposed to finding an entirely new set. Moreover,
as it turns out, their performance in practice is (perhaps) surprisingly good. Also, the fact that they form a sequence is very useful
computationally, especially when used in conjunction with the Newton form of the polynomial interpolant. Indeed, if it turns out,
in some application, to be desirable to increase the accuracy of the interpolant by increasing the number of interpolation points
one at a time, this may easily be done using the Newton form, making use of the lower degree interpolant previously calculated.
We also remark that Leja points are known to have the same asymptotic distribution as do the “near optimal” Fekete points.
See for example [1] (and the references therein) for more details about their properties and other facts about polynomial
interpolation. In case K is a finite set, what results is what is called the Leja re-ordering of the points of K and is useful (indeed
necessary!) for a numerically stable evaluation of polynomial interpolants in Newton form (see e.g. [15]). In this brief note we
illustrate some further practical applications of the Leja point idea.
2
Leja stabilization
We consider now the following problem. Suppose we are given a set of points {ξ j }kj=0 in the interval K = [a, b] at which we want
to interpolate a given function f : [a, b] → R. For example, the set {ξ j }kj=0 could be a set of equidistant or even random points,
for which polynomial interpolation could be highly ill-conditioned.
We therefore try to stabilize the interpolation by considering the extended Leja sequence {ξ j }mj=0 given by
ξm ∈ arg max
ξ∈[a,b]
m−1
Y
|ξ − ξ j |,
m ≥ k + 1.
j=0
Since we do not know in advance the required degree of interpolation, we calculate it in the Newton form as follows:
• sort the set {ξ j }kj=0 à la Leja, that is
ζ0 ∈ arg max |ζ|
ζ∈{ξ j }kj=0
ζi ∈ arg max
i−1
Y
|ζ − ζ j |
ζ∈{ξ j }kj=0 j=0
and rename the set {ξ j }kj=0 .
a
Department of Computer Science, University of Verona
i≥1
(1)
Bos · Caliari
67
• Compute the interpolating polynomial of degree k in the Newton form
‚
Œ
j−1
k
X
Y
pk (x) =
f [ξ0 , . . . , ξ j ]
(x − ξi )
j=0
i=0
• Set m = k + 1 and compute the next point ξm in the sequence according to (1) and evaluate | f [ξ0 , . . . , ξm ]ωm (ξm )|, where
Qm−1
ωm (x) = j=0 (x − ξ j ). If it is larger than a given tolerance, compute
pm (x) = pm−1 (x) + f [ξ0 , . . . , ξm ]ωm (x)
set m = m + 1 and repeat this step. Otherwise, stop.
The stopping criterion is based on the classical formula for the interpolation error
em (x) = f (x) − pm (x) = f [ξ0 , . . . , ξm−1 , x]ωm (x)
taking into account that |ωm (ξm )| = max x∈[a,b] |ωm (x)|.
Numerical examples
2
2
1.5
1.5
1
1
0.5
0.5
f (x)
f (x)
2.1
0
0
-0.5
-0.5
-1
-1
-1.5
-1.5
-2
-2
-1.5
-1
-0.5
0
x
0.5
1
1.5
2
-2
-2
10−1
-1.5
-1
-0.5
0
x
0.5
1
1.5
2
Error for stabilized Leja points
Error kem k∞
10−2
10−3
10−4
10−5
20
25
30
35
40
Degree m
45
50
55
60
Figure 1: Leja stabilization procedure for the interpolation of the Runge function at an initial set of 21 (red stars) equidistant points (top). The
interpolation at the original points is drawn with a red dashed line. The interpolation at 27 (left) and 53 (right) Leja stabilized points (blue
circles) is drawn with a blue solid line. Behavior of the error with respect to the degree of interpolation (bottom).
We consider some examples of the above Leja stabilization. The first is interpolation on the interval [−2, 2] of the Runge
function,
1
f (x) =
2 ,
1 + 5x
2
Dolomites Research Notes on Approximation
ISSN 2035-6803
Bos · Caliari
68
starting with 21 equispaced points. The prescribed tolerances were taken to be 10−1 , 10−2 , 10−3 and 10−4 , respectively. The
final errors, measured on a set of 2001 equidistant points in [−2, 2], are k[k∞]em = 3.73 · 10−2 , k[k∞]em = 6.87 · 10−3 ,
k[k∞]em = 1.80 · 10−3 and k[k∞]em = 1.09 · 10−4 , respectively with a total number of points equal to 27, 29, 33 and 53. The
results corresponding to 27 and 53 points and the behavior of the error with respect to the degree of interpolation are shown in
Figure 1.
10−1
Error for stabilized Leja points
Error for Chebyshev-Lobatto points
Error kem k∞
10−2
10−3
10−4
10−5
20
25
30
35
40
Degree m
45
50
55
60
Figure 2: Behavior of the error with respect to the degree of interpolation in the Leja stabilization procedure for the interpolation of the Runge
function at an initial set of Chebyshev–Lobatto points in comparison with pure Chebyshev–Lobatto points.
In this example, due to the small number of given equidistant points, the initial reordering of the points is not necessary (we
get exactly the same result with or without this step), but it is anyways a recommended procedure (see [13, Example 4.1]). If we
try to interpolate the same function with a set of (pure) Leja points, the stopping criterion is triggered at 15, 21, 39 and 53 points,
respectively.
We also tried to add Leja points to an initial set of 21 Chebyshev–Lobatto points and prescribed the tolerances 10−2 , 10−3 ,
10−4 and 10−5 , respectively. In Figure 2 we compare the the error we obtained with the interpolation error at a pure set of
Chebyshev–Lobatto points of corresponding degree. Although the latter is slightly smaller, we recall that the possibility given by
the Newton interpolation form of adding points if necessary is not effective for the sets of Chebyshev points, since they all change
for different degrees.
As a second example, we consider an initial set of 19 uniform random points with the addition of {−2, 2} and prescribed
tolerances 10−1 , 10−2 , 10−3 and 10−4 , respectively. The behavior of the error with respect to the degree of interpolation is shown
in Figure 3.
As a third example we consider the Titanium Heat data (see [6, p. 197]), rescaled to [−2, 2]. We pick the same set of 12 data
points. Then we add Leja points in order to stabilize the interpolation. Since the underlying analytic function is not known, we
consider a simple piecewise linear interpolant at the original 49 data points. Moreover, since it is not possible to compute the
error with respect to the exact function, we consider the addition of 10, 20, 30 and 40 points, respectively. The results are shown
in Figure 4. It is therefore possible to construct a smooth curve passing through the given set of data.
The final example uses a set of discrete data similar to that of [14, Figures 1.–3.], namely
data =
0.04 0.21 0.26 0.34 0.53 0.61 0.70 0.84 1.00
0.19 0.28 0.58 0.66 0.62 0.18 0.13 0.09 0.05
The abscissas are then rescaled to [−2, 2]. The missing values are reconstructed by means of piecewise linear interpolation.
Again, the result is a smooth curve passing through the given set of data.
3
Leja–Hermite points
It is also possible to use Leja points for Hermite interpolation, that is interpolation which also matches the derivatives of the
function at some interpolation points. In order to do this, and use the Newton interpolation form, it is sufficient that the points at
which derivatives have to be reconstructed appear consecutively and with the right multiplicity. For instance, if the k-th derivative
is required at 0, it is possible to define the following Leja sequence: {ξ j }kj=0 = {0} and
ξm ∈ arg max
ξ∈[a,b]
m−1
m−1
Y
Y
|ξ − ξ j | = arg max |ξ|k+1
|ξ − ξ j |,
j=0
Dolomites Research Notes on Approximation
ξ∈[a,b]
m ≥ k + 1.
j=k+1
ISSN 2035-6803
Bos · Caliari
69
10−1
Error for stabilized Leja points
Error kem k∞
10−2
10−3
10−4
10−5
20
25
30
35
40
Degree m
45
50
55
60
3
2.5
2.5
2
2
1.5
1.5
1
0.5
1
0.5
0
0
-0.5
-0.5
-1
Titanium Heat
Titanium Heat
3
-2
-1.5
-1
-0.5
0
x
0.5
1
1.5
-1
2
3
3
2.5
2.5
2
2
1.5
1.5
Titanium Heat
Titanium Heat
Figure 3: Behavior of the error with respect to the degree of interpolation in the Leja stabilization procedure for the interpolation of the Runge
function at an initial set of uniform random points.
1
0.5
-0.5
-0.5
-1.5
-1
-0.5
0
x
0.5
1
1.5
2
-1
-0.5
0
x
0.5
1
1.5
2
-2
-1.5
-1
-0.5
0
x
0.5
1
1.5
2
0.5
0
-2
-1.5
1
0
-1
-2
-1
Figure 4: Leja stabilization procedure for the interpolation of certain Titanium Heat data (red stars). The interpolation at the original points is
drawn with a red dashed line. The interpolation at 22, 32, 42, 52 Leja stabilized points (blue circles), respectively, is drawn with a blue solid line.
When [a, b] is a symmetric interval [−a, a], it is possible to analytically
compute the first three points after the initial set of zeros,
p
which are ξk+1 ∈ {−a, a}, ξk+2 ∈ {−a, a} \ {ξk+1 } and ξk+3 ∈ {± a2 (k + 1)/(k + 3)}. For the Newton interpolation form, it is
Dolomites Research Notes on Approximation
ISSN 2035-6803
0.5
0.5
0
0
-0.5
-0.5
y
1
-1
-1
-1.5
-1.5
-2
y
70
1
-2
-1.5
-1
-0.5
0
x
0.5
1
1.5
-2
2
1
1
0.5
0.5
0
0
-0.5
-0.5
y
y
Bos · Caliari
-1
-1
-1.5
-1.5
-2
-2
-1.5
-1
-0.5
0
x
0.5
1
1.5
2
-2
-2
-1.5
-1
-0.5
0
x
0.5
1
1.5
2
-2
-1.5
-1
-0.5
0
x
0.5
1
1.5
2
Figure 5: Leja stabilization procedure for the interpolation of the discrete data described on page 68 (red stars). The interpolation at the orginal
points is drawn with a red dashed line. The interpolation with 19, 29, 39, 49 Leja stabilized points (blue circles), respectively, is drawn with a
blue solid line.
possible to use the notion of confluent divided differences (see [10]): we define
f [ξi , . . . , ξ j ] =
f ( j−i) (ξ0 )
( j − i)!
0≤i≤ j≤k
f [ξm ] = f (ξm )
m≥ k+1
f [ξi+1 , . . . , ξm ] − f [ξi , . . . , ξm−1 ]
f [ξi , . . . , ξk , ξk+1 , . . . , ξm ] =
ξm − ξi
0≤i≤k<m
Then, it is possible to define the polynomial pm of degree m
‚
Œ
j−1
m
X
Y
pm (x) =
f [ξ0 , . . . , ξ j ]
(x − ξ j )
j=0
which satisfies
( j)
pm
(ξ0 ) = f ( j) (ξ0 )
pm (ξ j ) = f (ξ j )
i=0
j = 0, . . . , k
j = k + 1, . . . , m
As an example, we consider the solution of a simple differential equation

 −u00 (x) = − 1 χ
x ∈ (−2, 2)
(−",")
"
2"
 u (−2) = u (2) = 0
"
"
Dolomites Research Notes on Approximation
ISSN 2035-6803
Bos · Caliari
71
that is
 1

− (x + 2)
−2 ≤x ≤ −"


2


1 2 "−4
u" =
x +
−" <x < "

4"
4



 − 1 (2 − x)
" ≤x ≤ 2
2
In Figure 6 we show the interpolation of degree 6 of the solution u" corresponding to " = 0.5 with the point 0 not repeated,
repeated once and twice, respectively. The errors, in infinity norm over a set of 2001 equidistant points, are 0.04, 0.03 and 0.02,
respectively.
-0.2
-0.2
-0.4
-0.4
uǫ
0
uǫ
0
-0.6
-0.6
-0.8
-0.8
-1
-2
-1.5
-1
-0.5
0
x
0.5
1
1.5
-1
2
-2
-1.5
-1
-0.5
0
x
0.5
1
1.5
2
0
-0.2
uǫ
-0.4
-0.6
-0.8
-1
-2
-1.5
-1
-0.5
0
x
0.5
1
1.5
2
Figure 6: Interpolation (blue solid line) at Leja–Hermite points (blue circles) with 0 not repeated (upper left), repeated once (upper right) and
repeated twice (lower). The exact solution is drawn with a red dashed line.
4
Symmetric Leja sequences
In a symmetric interval [−a, a], it would be desirable to have symmetric interpolation points, especially for the interpolation of
even or odd functions. Or else we can consider the interpolation on purely complex intervals i[−b, b]: symmetric points allow
one to use real arithmetic for the interpolation of functions satisfying f (z) = f (z) (see [15]). We consider here three sequences
of points related to Leja sequences. The first is the real projection of a Leja sequence for the complex unit disk (see [5]). Then we
consider the Leja points {ζ j } j for the interval [0, a2 ] (with ζ0 = 0 as starting point), and construct the sequence {ξ j } j defined by

j=0
0
Æ
ξj =
ζj
j odd
 Æ
− ζ j−1 j even, j 6= 0
The final set is computed as in [4], namely ξ0 = 0 and, recursively,
ξm ∈ arg max
ξ∈[0,a]
m−1
Y
|ξ − ξ j |,
ξm+1 = −ξm ,
m odd
j=0
Therefore, points with even index are forced to be symmetric with respect to the previous point. For the three sequences, we show
the growth of the Lebesgue constant (see Figure 7), computed over a set of about 5000 points interleaved with the Leja points.
Dolomites Research Notes on Approximation
ISSN 2035-6803
Bos · Caliari
103
103
102
102
101
101
100
0
50
100
Degree m
150
100
200
103
103
102
102
101
101
100
0
50
100
Degree m
150
100
200
72
0
50
100
Degree m
150
200
0
50
100
Degree m
150
200
Figure 7: Lebesgue constant for the different sets of symmetric Leja points, namely real projection of Leja points (top-right), positive and negative
square roots of Leja points on [0, 1] (bottom-left) and symmetric forced Leja points (bottom-right), respectively. The Lebesgue constant for the
original Leja points is drwan with a red dashed line.
5
The computation of Leja points and extension to several variables
In order to numerically compute (1), we consider the function
L(ξ) =
m−1
Y
(ξ − ξ j )
j=0
and its derivative
L 0 (ξ) =
m−1 Y
m−1
X
(ξ − ξ j )
i=0 j=0
j6=i
We therefore look for the m − 2 (simple) zeros {ζ j }m−2
of the polynomials L 0 (ξ)|(ξ j ,ξ j+1 ) . Then, we select
j=0
ξm ∈ arg max|L(ζ j )|
ζj
This approach, which we call continuous, works with repeated nodes, too.
In [2] the authors showed how to extract Leja sequences from admissible meshes using the LU factorization with partial
(row) pivoting. We briefly sketch the algorithm here, in Matlab notation. If V (a1 , . . . , am ; p1 , . . . , pn ) is the Vandermonde matrix
V (a; p) = (p j (ai ))i, j ,
{ai }m
i=1
with
a set of candidate points and
be extracted by
{p j }nj=1
1 ≤ i ≤ m, 1 ≤ j ≤ n
a polynomial basis with p j of degree j − 1, then the set of Leja points {ξ j } can
[L,U,p] = lu(V,’vector’);
xi = a(p(1:n));
Dolomites Research Notes on Approximation
ISSN 2035-6803
Bos · Caliari
73
If an initial set of points is given and we want 1) to order them à la Leja and 2) to add Leja points, we have to construct an
initial vector a with ai = ξi−1 , i = 1, . . . , k + 1 and ai ∈ [−2, 2] \ {ξ}kj=0 , i = k + 2, . . . , m. Then, the first k + 1 steps of the LU
factorization have to be performed with a pivoting strategy restricted to the first k + 1 rows of V . Finally, the standard pivoting
strategy is applied till the end. It is possible to write a reasonable fast Matlab code by taking the so called jki (left-looking, see [8,
Ch. 7.2]) implementation of the LU factorization, where keep denotes the number of initial points.
[m,n] = size (V);
p = (1:m);
for j = 1:n
for k = 1:j-1
V(k+1:m,j) = V(k+1:m,j) - V(k+1:m,k) * V(k,j);
end
endpoint = (j <= keep)*keep+(j > keep)*m;
[~,idx] = max(abs(V(j:endpoint,j)));
jp = j-1+idx;
% exchange rows
temp = V(j,:); V(j,:) = V(jp,:); V(jp,:) = temp;
temp = p(j); p(j) = p(jp); p(jp) = temp;
i = j+1:m;
V(i, j) = V(i, j) / V(j, j);
end
For instance, starting from an initial set of 21 equispaced points in [−2, 2], it was possible to reorder them and add 22 Leja points
extracted from a set of 100001 points in less then three seconds on a modern laptop. The maximum error with respect to the set
generated with the continuous approach is about 2 · 10−5 .
104
1
103
0.8
102
101
0.6
100
0.4
10−1
10−2
0.2
10−3
0
0
0.2
0.4
0.6
0.8
1
10−4
4
8
16
32
Degree m
Figure 8: Leja points with the original 15 points (red stars) for degree 32 (left) and the behavior of the Lebesgue constant (red stars) and
interpolation error (blue circles) (right).
Of course, this modified LU factorization can be applied to the Vandermonde matrix for a set of points in Cd and polynomials
on Cd . We show here an example in R2 . Starting with the set of first 15 points from a Halton sequence, namely
data =
0 1/2 1/4 3/4 1/8 5/8 3/8 7/8 1/16 9/16 5/16 13/16 3/16 11/16 7/16
0 1/3 2/3 1/9 4/9 7/9 2/9 5/9 8/9 1/27 10/27 19/27 4/27 13/27 22/27
we extract Leja points from meshes for the degrees 8, 16, and 32 in the square [0, 1]2 provided by the software described in [7].
Then we interpolate the two-dimensional Runge function
f (x, y) =
1
1 + (5(2x − 1))2 + (5(2 y − 1))2
measure the interpolation error and estimate the Lebesgue constant. In Figure 8 we show the final set of Leja points for degree
32 (left) and the behavior of the interpolation error and the Lebesgue constant (right). Of course, degree 4 corresponds to
interpolation at the original set of 15 points. In Figure 9 we show the interpolated functions at the original 15 points (left) and at
561 Leja points (corresponding to degree 32).
It is also possible to extract Leja–Hermite points using the LU factorization. We describe the procedure for the computation
of Leja points with ξ0 repeated k + 1 times. The initial vector a is ai = ξ0 , i = 1, . . . , k + 1, ai ∈ [−2, 2] \ {ξ0 }, i = k + 2, . . . , m.
Dolomites Research Notes on Approximation
ISSN 2035-6803
Bos · Caliari
74
1
20
10
0.8
0
-10
0.6
-20
0.4
-30
-40
-50 0
0.2
0.4
0.6
0.8
1
1
0.8
0.6
0.4
0.2
0
0.2
00
0.2
0.4
0.6
0.8
1
1
0.8
0.6
0.4
0.2
0
Figure 9: Interpolation of the two-dimensional Runge function at the original 15 points (left) and at 561 (degree 32) Leja points (right).
Then we need to apply the previous algorithm, with keep = k + 1, to the confluent Vandermonde matrix


V (ξ0 ; p)
V (ξ0 ; p (1) )




..




.


(k)
V (ξ0 ; p )
V (ak+2 , . . . , am ; p)
where p ( j) denotes the ordered set of derivatives of basis polynomials. Note that this matrix is just the interpolation matrix
corresponding to the associated Hermite-Lagrange interpolation matrix and its determinant can be easily computed (see [9,
(6.1.34)]). In particular the minors (and hence the pivots) have factors (a j − ξ0 )k+1 .
The computation of divided difference, especially for high degree of interpolation, may become unstable even for points
sorted à la Leja. We refer the reader to [3, 12, 11] for possible alternatives.
References
[1] T. Bloom, L. Bos, J.-P. Calvi, and N. Levenberg. Polynomial interpolation and approximation in Cd . Ann. Polon. Math., 106:53–81, 2012.
[2] L. Bos, S. De Marchi, A. Sommariva, and M. Vianello. Computing multivariate Fekete and Leja points by numerical linear algebra. SIAM J.
Numer. Anal., 48(5):1984–1999, 2010.
[3] M. Caliari. Accurate evaluation of divided differences for polynomial interpolation of exponential propagators. Computing, 80(2):189–201,
2007.
[4] M. Caliari, A. Ostermann, and S. Rainer. Meshfree exponential integrators. SIAM J. Sci. Comput., 35(1):A431–A452, 2013.
[5] J.-P. Calvi and P. V. Manh. Lagrange interpolation at real projections of Leja sequences for the unit disk. Proc. Amer. Math. Soc., 140(12):4271–
4284, 2012.
[6] C. de Boor. A Practical Guide to Splines, volume 27 of Applied Mathematical Sciences. Springer, revised edition, 2001.
[7] S. De Marchi, F. Piazzon, A. Sommariva, and M. Vianello. Polynomial Meshes: Computation and Approximation. In Proceedings of the 15th
International Conference on Computational and Mathematical Methods in Science and Engineering, pages 414–425, 2015.
[8] G. Golub and J. M. Ortega. Scientific Computing An Introduction with Parallel Computing. Academic Press, Inc., 1993.
[9] R. Horn and C. R. Johnson. Topics in Matrix Analysis. Cambridge University Press, 1991.
[10] B. Kalantari. Generalization of Taylor’s theorem and Newton’s method via a new family of determinantal interpolation formulas and its
applications. J. Comput. Appl. Math., 126:287–318, 2000.
[11] M. Lopez-Fernandez and S. Sauter. Fast and stable contour integration for high order divided differences via elliptic functions. Math. Comp.,
84:1291–1315, 2015.
[12] A. McCurdy, K. C. Ng, and B. N. Parlett. Accurate computation of divided differences of the exponential function. Math. Comp., 43(168):501–
528, 1984.
[13] L. Reichel. Newton interpolation at Leja points. BIT, 30:332–346, 1990.
[14] K. Salkauskas. C1 splines for interpolation of rapidly varying data. Rocky Mountain J. Math., 14(1), 1974.
[15] H. Tal-Ezer. High degree polynomial interpolation in Newton form. SIAM J. Sci. Stat. Comput., 12(3):648–667, 1991.
Dolomites Research Notes on Approximation
ISSN 2035-6803
Download