Main Content

optknt

内挿に "最適な" 節点分布

構文

knots = optknt(tau,k,maxiter)
optknt(tau,k)

説明

knots = optknt(tau,k,maxiter) は、サイト シーケンス tau での、Sk,t からの内挿に "最良な" 節点シーケンス t を提供します。この試みで使用される反復回数を制限するオプション入力 maxiter は既定値の 10 です。ここでは、Micchelli/Rivlin/Winograd および Gaffney/Powell の意味で "最良" または "最適" が使用されており、「サイト tau(1), ..., tau(n) で与えられた g に一致する内挿 Rg を提供する "再生方式" R では、‖g – Rg‖ ≤ constR ‖Dkg‖ (すべての平滑化関数 g について) の場合の最小定数 constR を決定できる」ことを意味します。

ここで、‖f‖:=suptau(1) < x < tau(n)|f(x)| です。その後、constR が可能な限り小さい場合の最適な再生方式をスキーム R として求めることができます。Micchelli/Rivlin/Winograd は、これを Sk,t からの内挿として示しています。t は次の条件で一意に決定されます。

  1. t(1) = ... = t(k) = tau(1);

  2. t(n+1) = ... = t(n+k) = tau(n);

  3. サイト t(k+1), ..., t(n) で符号が変化し、ほかでは変化しない、完全な定数関数 h が、以下を満たす

    tau(1)tau(n)f(x)h(x)dx=0 for all fSk,t

Gaffney/Powell は、これを内挿スキーマとして "最適" と呼びました。これは、与えられたデータへのすべての内挿によって形成される帯域に "中央の" 関数を提供し、さらに、これらの内挿では、M と –M (M が大きい場合) の間に k 次導関数があるためです。

optknt(tau,k) optknt(tau,k,10) と同じです。

図については、例 "Spline Interpolation" の最後の部分を参照してください。次の非常に不均一な節点シーケンスの場合

t = [0, .0012+[0, 1, 2+[0,.1], 4]*1e-5, .002, 1];

コマンド optknt(t,3) は失敗しますが、オプション パラメーター maxiter で大きな値を使用したコマンド optknt(t,3,20) は正常に実行されます。

アルゴリズム

これは、"PGS" の Fortran ルーチン SPLOPT です。前述の符号関数 h の作成については、[1]で説明されているアルゴリズムに基づいています。基本的には、結果の非線形方程式系の解を求めるニュートン法です。aveknt(tau,k)t(k+1), ...,t(n) の初期推定値を提供し、Schoenberg-Whitney 条件を維持するためにある程度の減衰が使用されます。

参照

[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.

参考

| |