optknt
Knot distribution “optimal” for interpolation
Syntax
knots = optknt(tau,k,maxiter)
optknt(tau,k)
Description
knots = optknt(tau,k,maxiter)
provides the knot sequence t
that is best for
interpolation from
Sk,t
at the site sequence tau
, with 10
the default
for the optional input maxiter
that bounds the number of
iterations to be used in this effort. Here, best or
optimal is used in the sense of Micchelli/Rivlin/Winograd
and Gaffney/Powell, and this means the following: For any recovery
scheme
R that provides an interpolant Rg that matches
a given g at the sites tau(1)
, ...,
tau(n)
, we may determine the smallest constant
constR for
which ‖g – Rg‖ ≤ constR ‖Dkg‖
for all smooth functions g.
Here, ‖f‖:=suptau(1) < x <
tau(n)|f(x)|. Then we may look
for the optimal recovery scheme as the scheme R for which
constR is as small as possible.
Micchelli/Rivlin/Winograd have shown this to be interpolation from
Sk,t,
with t
uniquely determined by the following conditions:
t(1)
=...
=t(k)
=tau(1);
t(n+1) = ... = t(n+k) = tau(n);
Any absolutely constant function h with sign changes at the sites
t(k+1)
, ...,t(n)
and nowhere else satisfies
Gaffney/Powell called this interpolation scheme optimal since it provides the center function in the band formed by all interpolants to the given data that, in addition, have their kth derivative between M and –M (for large M).
optknt(tau,k)
is the same as
optknt(tau,k,10)
.
Examples
See the last part of the example “Spline Interpolation” for an illustration. For the following highly nonuniform knot sequence
t = [0, .0012+[0, 1, 2+[0,.1], 4]*1e-5, .002, 1];
the command optknt(t,3)
will fail, while the command
optknt(t,3,20)
, using a high value for the optional parameter
maxiter
, will succeed.
Algorithms
This is the Fortran routine SPLOPT
in PGS. It is based on an algorithm described in [1], for the
construction of that sign function h mentioned above. It is
essentially Newton's method for the solution of the resulting nonlinear system of equations, with aveknt(tau,k)
providing the first guess for t(k+1)
,
...,t(n)
, and some damping used to maintain the Schoenberg-Whitney conditions.
References
[1] C. de Boor. "Computational aspects of optimal recovery." In Optimal Estimation in Approximation Theory, C.A. Micchelli & T.J. Rivlin eds., Plenum Publ., New York, 1977, 69-91.
[2] P.W. Gaffney & M.J.D. Powell. "Optimal interpolation." In Numerical Analysis, G.A. Watson ed., Lecture Notes in Mathematics, No. 506, Springer-Verlag, 1976, 90-99.
[3] C.A. Micchelli, T.J. Rivlin & S. Winograd. "The optimal recovery of smooth functions." Numer. Math. 80, (1974), 903-906.