Kurs:Numerik I/7 Splines

Aus testwiki
Zur Navigation springen Zur Suche springen

7.1 Einleitung

Bei der Polynominterpolation stellt sich mit wachsender Stützstellenzahl häufig ein oszillierendes Verhalten der Polynome ein und kann nach dem Satz von Faber im Fall, dass die Stützwerte von einer gegebenen Funktion herrühren, nicht notwendig mit gleichmäßiger Konvergenz der Interpolationspolynome bei feiner werdenden Gittern gerechnet werden. Diese Tatsachen motivieren die Einführung der in diesem Abschnitt betrachteten Splinefunktionen zur Interpolation, welche in vielen mathematischen Bereichen Anwendung finden. Für deren Definition sei

(7.1) Δ:={xi|a:=x0<x1<<xm=:b}

eine fest gewählte Zerlegung des Intervalls [a,b]. Ihre Elemente xk bezeichnet man im Zusammenhang mit Splines (aus historischen Gründen) meist als Knoten.

Definition 7.1

Eine Spline-Funktion oder kurz ein Spline der Ordnung zur Zerlegung Δ von [a,b] mit Knoten xk ist eine Funktion sC1[a,b], die auf jedem Intervall [xk,xk+1] der Zerlegung mit einem Polynom -ten Grades übereinstimmt. Den Raum solcher Splines bezeichnet man mit
SΔ,:={sC1[a,b]|s|[xk,xk+1]=pk|[xk,xk+1] fu¨r ein pkΠ (k=0,,m1)}.
Man spricht von einem interpolierenden Spline sSΔ, mit (gegebenen) Stützwerten yk (k=0,1,,m), wenn gilt:
(7.2) s(xk)=yk,k=0,1,,m.

Ein Spline sSΔ, ist also durch m Polynome

pkΠ,k=0,1,,m1

gegeben, wobei pk nur auf dem Teilintervall [xk,xk+1] der Zerlegung Δ betrachtet wird. In den inneren Knoten xk+1 (k=0,,m2) von Δ gelten wegen sC1[a,b] die Glattheitsbedingungen

(7.3) pk(xk+1)=pk+1(xk+1),k=0,,m2,p'k(xk+1)=p'k+1(xk+1),k=0,,m2,pk(1)(xk+1)=pk+1(1)(xk+1),k=0,,m2.

Dies sind insgesamt (m1) Bedingungen. Für einen interpolierenden Spline sSΔ, mit Stützwerten yk (k=0,1,,m) kommen gemäß (7.2) dazu noch die m+1 Interpolationsbedingungen

(7.4) pk(xk)=yk (k=0,,m1),pm1(xm)=ym.

Für die Konstruktion eines interpolierenden Splines sind also insgesamt

(7.5) (m1)+(m+1)

Glattheits- und Interpolationsbedingungen zu erfüllen.

Offenbar ist SΔ, mit den üblichen Verknüpfungen ein linearer Vektorraum. Dieser enthält alle Polynome vom Grad sowie die abgebrochenen Potenzen vom Grad

(xxk)+:={(xxk),falls xxk,0,falls x<xk,

für k=1,,m1. Denn wegen

(7.6) d1dx1(xxk)+={!(xxk),falls xxk,0,falls x<xk,

sind letztere Funktionen insbesondere (1)-mal stetig auf [a,b] differenzierbar. Der folgende Satz besagt, dass die abgebrochenen Potenzen vom Grad zusammen mit den Monomen 1,x,,x eine Basis des Spline-Raumes SΔ, bilden.

Satz 7.2

Es gilt
(7.7) SΔ,=span{1,x,,x,(xx1)+,,(xxm1)+}
sowie
dim(SΔ,)=m+.

Beweis.

Zur Konstruktion eines Splines sSΔ, hat man höchstens m+ Freiheitsgrade. Denn auf dem Intervall [x0,x1] kann man jedes Polynom vom Grad , also +1 Koeffizienten bzw. Parameter frei wählen. Die zu den folgenden m1 Intervallen [x1,x2],,[xm1,xm] gehörenden Polynome pk haben insgesamt (m1)(+1) Koeffizienten, von denen aber (m1) durch die Glattheitsforderungen (7.3) festgelegt sind, so dass man höchstens

(m1)(+1)(m1)=m1

weitere Freiheitsgrade hat. Daher ist dim(SΔ,)m+ und es bleibt zu zeigen, dass die m+ Funktionen in (7.7) linear unabhängig sind.

Sei dazu

s(x):=j=0ajxj+j=1m1bj(xxj)+=0,x[a,b].

Für k=1,,m1 schließt man aus (7.6)

ddx(xxk)+={!,falls xxk,0,falls x<xk,

und daher

limxxk+ddx(xxk)+=!,limxxkddx(xxk)+=0.

Wenden wir für k=1,,m1 die linearen Funktionale

Gk(f):=1!(limxxk+f()(x)limxxkf()(x))

auf s an, so folgt demzufolge mit dem Kroneckersymbol δkj

0=Gk(s)=j=0ajGk(xj)=0+j=1m1bjGk((xxj)+)=δkj=bk.

Also gilt

s(x)=j=0ajxj=0,x[a,b],

was auch aj=0 (j=0,1,,) impliziert.

q.e.d.

Die in (7.7) angegebene Basis von SΔ, ist für praktische Zwecke jedoch nicht geeignet. So erweist es sich als ungünstig, dass die Träger der Funktionen, welche die Basis bilden, d. h. die Bereiche, auf denen diese Funktionen verschieden von Null sind, nicht endlich sind. Ferner sind die Monome für große j sowie die abgebrochenen Potenzfunktionen für dicht beieinander liegende Knoten nahezu linear abhängig, was die Auswertung eines Splines in einem Punkt mittels dieser Basis zu einer numerisch schlecht konditionierten Aufgabe macht. Für die Herleitung einer numerisch günstigeren Basis von SΔ,, welche aus Funktionen mit kompaktem Träger, d. h. Funktionen, die außerhalb eines abgeschlossenen Intervalls identisch Null sind, gebildet wird, sei auf Deuflhard/Hohmann, S. 245 ff., verwiesen.

Im Folgenden werden wir für interpolierende Splines der Ordnung =1 (lineare Splines) und der Ordnung =3 (kubische Splines) Algorithmen zu ihrer Berechnung sowie Fehlerabschätzungen angeben. Splines der Ordnung =2 (quadratische Splines) spielen in der Praxis eine geringere Rolle und werden daher hier nicht behandelt.

7.2 Interpolierende lineare Splines

Wir wollen uns zunächst mit interpolierenden linearen Splines sSΔ,1 für gegebene Knoten xk und Stützwerte yk (k=0,1,,m) beschäftigen. Für jedes k{0,1,,m1} besitzt ein solcher Spline auf dem Intervall [xk,xk+1] mit einem Polynom pkΠ1 offenbar die Darstellung

(7.8) s(x)=pk(x):=ak+bk(xxk),x[xk,xk+1],

wobei die Glattheitsbedingungen (7.3)

ak+bk(xk+1xk)=ak+1+bk+1(xk+1xk+1),k=0,1,,m2

bzw.

bk=ak+1akxk+1xk,k=0,1,,m2

und die Interpolationsbedingungen (7.4)

ak+bk(xkxk)=yk,k=0,1,,m1,am1+bm1(xmxm1)=ym

zu erfüllen sind. Die Glattheits- und Interpolationsbedingungen legen also die Koeffizienten in dem allgemeinen Ansatz (7.8) in eindeutiger Weise durch

(7.9) ak=yk,bk=yk+1ykxk+1xk,(k=0,1,,m2)

fest und liefern den interpolierenden linearen Spline. Wir haben also gezeigt:

Satz 7.3

Zu Knoten xk und Stützwerten yk (k=0,1,,m) gibt es genau einen interpolierenden linearen Spline sSΔ,1. Er besitzt auf dem Intervall [xk,xk+1] die Darstellung (7.8) mit Koeffizienten (7.9).

Sind die Stützwerte yk Funktionswerte einer gegebenen Funktion fC[a,b], fordert man also

s(xk)=f(xk),k=0,1,,m,

so kann man für den Fehler bei der Spline-Interpolation Folgendes schließen, wobei

(7.10) u:=maxxC[a,b]|u(x)|,uC[a,b]

die Maximumnorm auf C[a,b] bezeichne.

Satz 7.4

Zu einer Funktion fC2[a,b], Knoten xk und Stützwerten yk:=f(xk) (k=0,1,,m) sei sSΔ,1 der interpolierende lineare Spline. Mit
hmax:=maxk=0,1,,m1(xk+1xk)
gilt dann
fs(18f)hmax2.

Beweis.

Für jedes k{0,1,,m1} stimmt der Spline s auf dem Intervall [xk,xk+1] mit dem Polynom pkΠ1 überein, welches den Interpolationsbedingungen

pk(xk)=f(xk),pk(xk+1)=f(xk+1)

genügt. Satz 6.11 über den Fehler bei der Polynominterpolation liefert daher für alle x[xk,xk+1] die Abschätzung

|f(x)s(x)|=|f(x)pk(x)||(xxk)(xxk+1)2|maxξ[xk,xk+1]|f(ξ)|hmax28f,

wobei eingeht, dass die Funktion |(xxk)(xxk+1)| ihr Maximum auf [xk,xk+1] bei

xk+xk+12=xk+xk+1xk2

annimmt. Damit ist die behauptete Fehlerabschätzung bewiesen.

q.e.d.

Nach Satz 7.4 hat man für fC2[a,b] die wichtige Aussage

fs=𝒪(hmax2)

für den Fehler bei der Interpolation mit linearen Splines. Ist weiter für j0

Δj:={xk(j)|a:=x0(j)<x1(j)<<xmj(j):=b}

mit einem mj0 eine Zerlegung von [a,b], ist

hmax(j):=max1kmj(xk(j)xk1(j))

und sjSΔ,1 der zugehörige interpolierende lineare Spline mit Stützwerten

sj(xk(j))=f(xk(j)),k=0,1,,mj,

so kann man aufgrund von Satz 7.4 für limjhmax(j)=0, anders als im Fall der gewöhnlichen Polynominterpolation (vgl. Satz 6.16), immer die gleichmäßige Konvergenz der sj gegen f schließen, d. h.

limjhmax(j)=0limjfsj=0.

7.3 Interpolierende kubische Splines

7.3.1 Minimaleigenschaften

Wir wollen als nächstes interpolierende kubische Splines und deren Berechnung ausführlicher betrachten. Wir beginnen damit, eine für die Anwendungen wichtige Minimaleigenschaft solcher Splines vorzustellen. Hierzu bezeichne im Folgenden

u2:=(ab|u(x)|2dx)1/2,uC[a,b]

die L2-Norm auf dem C[a,b].

Lemma 7.5

Zu einer Funktion fC2[a,b], Knoten xk und Stützwerten yk:=f(xk) (k=0,1,,m) sei sSΔ,3 ein zugehöriger interpolierender kubischer Spline. Man hat dann
(7.11) fs22=f22s222([fs]s)(x)|x=ax=b.

Beweis.

Nach Definition der Norm 2 gilt

fs22=ab|f(x)s(x)|2dx=f222ab(fs)(x)dx+s22
(7.12) =f222ab([fs]s)(x)dxs22,

so dass wir uns nur noch mit dem mittleren Ausdruck in (7.12) befassen müssen. Für k=0,1,,m1 liefert für diesen zweimalige partielle Integration

xkxk+1([fs]s)(x)dx=([fs]s)(x)|x=xkx=xk+1xkxk+1([fs]s)(x)dx
=([fs]s)(x)|x=xkx=xk+1([fs]s)(x)|x=xkx=xk+1=0+xkxk+1([fs]s(4))(x)dx=0,

wobei der vorletzte Term aufgrund der Interpolationsforderungen s(xk)=f(xk),k=0,1,,m identisch Null ist und das letzte Integral verschwindet, da s(4)0 auf den Teilintervallen (xk,xk+1) gilt. Summation über k=0,1,,m1 liefert aufgrund der Stetigkeit der Funktionen f,s,s auf dem Intervall [a,b] die folgende Teleskopsumme und damit die Aussage des Lemmas:

ab([fs]s)(x)dx=k=0m1{([fs]s)(xk+1)([fs]s)(xk)}=([fs]s)(b)([fs]s)(a).

q.e.d.

Unter gewissen zusätzlichen Bedingungen vereinfacht sich die Aussage von Lemma 7.5:

Satz 7.6

Gegeben seien eine Funktion fC2[a,b], Knoten xk und die Stützwerte yk:=f(xk) (k=0,1,,m). Für einen zugehörigen interpolierenden kubischen Spline sSΔ,3 gilt dann
(7.13) fs22=f22s22,
sofern eine der drei folgenden Randbedingungen erfüllt ist:
(a) s(a)=s(b)=0,
(b) s(a)=f(a),s(b)=f(b),
(c) s(a)=s(b),s(a)=s(b), falls f(a)=f(b).

Beweis.

In jedem der Fälle (a), (b) und (c) verschwindet in (7.11) der letzte Ausdruck, so dass dann die Identität (7.11) in die Identität (7.13) übergeht.

Aus Satz 7.6 schließt man:

Korollar 7.7

Sei sSΔ,3 wie in Satz 7.6 definiert. Dann gilt
(7.14) s2g2
für alle Funktionen gC2[a,b], welche den selben Bedingungen genügen, wie sie für f in Satz 7.6 gefordert sind.

Beweis.

Die Beziehung (7.14) ergibt sich für Splines mit der Eigenschaft (a), (b) oder (c) wegen gs220 unmittelbar aus Satz 7.6.

q.e.d.

Die Krümmung einer Kurve gC2[a,b] in der Ebene an der Stelle x[a,b] ist durch

κ(x):=g(x)[1+g(x)]3/2

definiert. Für kleine Auslenkungen g(x), wie sie z.B. bei einer dünnen Holzlatte auftreten, gilt näherungsweise κ(x)g(x) und damit für die gesamte Krümmung der Kurve näherungsweise

ab[κ(x)]2dxab[g(x)]2dx=g22.

Kubische Splines besitzen also nach dem letzten Satz unter allen Kurven in C2[a,b], welche gewissen Interpolations- und Randbedingungen genügen, in dem genannten genäherten Sinne minimale Krümmung. Diese Minimaleigenschaft stellt den Grund dafür dar, dass in der Praxis, wie beispielsweise bei der Konstruktion von Schiffsrümpfen oder der Festlegung von Schienenwegen, häufig kubische Splinefunktionen für die Interpolation verwendet werden. (Ein „spline“ ist ein englischer Name für eine dünne Holzlatte, die beim Zeichnen benutzt wurde.)

7.3.2 Vorüberlegungen

Wir wollen nun auf die Berechnung interpolierender kubischer Splines sSΔ,3 mit Knoten xk und zugehörigen Stützpunkten yk (k=0,1,,m) eingehen. Da ein solcher Spline auf jedem Intervall [xk,xk+1],k=0,1,,m1 mit einem Polynom 3. Grades pkΠ3 identisch ist, gilt dort

(7.15) s(x)=pk(x):=ak+bk(xxk)+ck(xxk)2+dk(xxk)3,
s(x)=p'k(x)=bk+2ck(xxk)+3dk(xxk)2,
s(x)=p'k(x)=2ck+6dk(xxk).

Insgesamt ist ein (interpolierender) kubischer Spline also durch die 4m Koeffizienten ak,bk,ck und dk für k=0,1,,m1 bestimmt. Für deren Berechnung hat man zunächst die 3(m1) Glattheitsbedingungen (7.3) und die m+1 Interpolationsbedingungen (7.4), also, wie schon allgemeiner in (7.5) festgestellt wurde, insgesamt 4m2 Gleichungen zur Verfügung. (Es deutet sich also schon an, dass man zur eindeutigen Bestimmung eines interpolierenden kubischen Splines 2 weitere Festlegungen benötigt.) Stellt man diese 4m2 Gleichungen auf, so kann man diese anschließend durch geschicktes Ineinandereinsetzen auf die in dem folgenden Lemma genannten m1 linearen Gleichungen (7.17) reduzieren. Statt so vorzugehen, gehen wir hier von dem Ergebnis aus und zeigen wir umgekehrt, dass die Lösung der genannten m1 linearen Gleichungen auf einen interpolierenden kubischen Spline führt. Dazu definieren wir

(7.16) hk:=xk+1xk,k=0,1,,m1.

Lemma 7.8

Falls m+1 reelle Zahlen s'k (k=0,1,,m) den m1 gekoppelten Gleichungen
(7.17) hk1s'k1+2(hk1+hk)s'k+hks'k+1=gk,k=1,,m1
mit rechten Seiten
(7.18) gk:=6yk+1ykhk6ykyk1hk1
genügen, so liefert der lokale Ansatz (7.15) mit den Setzungen
(7.19) ak:=yk,bk:=yk+1ykhkhk6(s'k+1+2s'k),
(7.20) ck:=s'k2,dk:=s'k+1s'k6hk
für k=0,1,,m1 einen interpolierenden kubischen Spline sSΔ,3 mit Knoten xk und Stützwerten yk (k=0,1,,m).

Beweis.

Für pk (k=0,1,,m1) wie in (7.15) erhält man mit ak aus (7.19)

(7.21) pk(xk)=ak=yk,k=0,1,,m1.

Weiter hat man mit (7.19) und (7.20)

pk(xk+1)=ak+bkhk+ckhk2+dkhk3=yk+(yk+1yk)hk26(s'k+1+2s'k)+s'k2hk2+s'k+1s'k6hk2
(7.22) =yk+1,k=0,1,,m1.

Die Beziehungen (7.21) und (7.22) zusammen liefern die Interpolationsbedingungen (7.4) sowie die Stetigkeitsbedingungen

pk(xk+1)=pk+1(xk+1),k=0,1,,m2.

Weiter folgt für k=0,1,,m2 aus (7.17)

yk+1ykhk=yk+2yk+1hk+116hks'k13(hk+hk+1)s'k+116hk+1s'k+2

und damit wiederum unter Verwendung von (7.19) und (7.20)

p'k(xk+1)=bk+2ckhk+3dkhk2=yk+1ykhkhk6(s'k+1+2s'k)+hks'k+hk2(s'k+1s'k)
=yk+1ykhk+13hks'k+1+16hks'k=yk+2yk+1hk+1hk+16(s'k+2+2s'k+1)
=bk+1=p'k+1(xk+1),k=0,1,,m2.

Schließlich gilt mit (7.20)

(7.23) p'k(xk+1)=2ck+6dkhk=s'k+6dkhk=s'k+1,k=0,1,,m1

und folglich

(7.24) p'k(xk+1)=2ck+1=p'k+1(xk+1),k=0,1,,m2.

Damit sind auch die Glattheitsbedingungen (7.3) nachgewiesen und ist folglich s mit der lokalen Darstellung (7.15) und Koeffizienten wie in (7.19) und (7.20) Element von C2[a,b].

q.e.d.

In der in Lemma 7.8 beschriebenen Situation bezeichnet man die m+1 reellen Zahlen s'k (k=0,1,,m) als Momente. Da insbesondere

s(x0)=p'0(x0)=2c0=s'0

gilt und gemäß (7.24)

s(xk)=p'k1(xk)=s'k,k=1,,m

ist, hat man

(7.25) s'k=s(xk),k=0,1,,m

Das heißt, dass die Momente s'k mit den zweiten Ableitungen des Splines s in den Knoten xk übereinstimmen.

7.3.3 Natürliche, vollständige und periodische Splines

Lemma 7.8 zeigt, dass die Koeffizienten in der lokalen Darstellung (7.15) unmittelbar aus den m+1 Momenten s'k berechnet werden können. Diese m+1 Momente wiederum ergeben sich aus den m1 linearen Gleichungen (7.17), so dass also noch zwei Freiheitsgrade vorliegen. Aufgrund der Bedingungen (a), (b) und (c) in Satz 7.6 bieten sich für deren Festlegung die folgenden drei Möglichkeiten an:

Natürliche Randbedingungen: s(x0)=s(xm)=0,
Vollständige Randbedingungen: s(x0):=y'0,s(xm):=y'm für gegebene y'0,y'm,
Periodische Randbedingungen: s(x0)=s(xm),s(x0)=s(xm).

Im Folgenden wollen wir für diese drei Fälle die Gleichungen (7.17) zusammen mit den beiden zusätzlichen Randbedingungen in Matrix-Vektor-Form angeben.

Im Fall der natürlichen Randbedingungen lassen sich die Gleichungen (7.17) in folgender Form schreiben, wobei wegen s'0=s'm=0 (vgl. (7.25)) in diesem Fall s'0 aus der ersten und s'm aus der letzten dieser Gleichungen gestrichen werden kann:

(7.26) (2(h0+h1)h100h12(h1+h2)h20h20hm200hm22(hm2+hm1))(s'1s'm1)=(g1gm1).

Im Fall der vollständigen Randbedingungen verwenden wir die Beziehungen

(7.27) s(x0)=p'0(x0)=b0=y1y0h0h06(s'1+2s'0)

und

s(xm)=p'm1(xm)=bm1+2cm1hm1+3dm1hm12=ymym1hm1hm16(s'm+2s'm1)+s'm1hm1+hm12(s'ms'm1)
(7.28) =ymym1hm1+26hm1s'm+16hm1s'm1,

welche die beiden folgenden zusätzlichen Gleichungen ergeben:

(7.29) 2h0s'0+h0s'1=6s(x0)+6y1y0h0,
(7.30) hm1s'm1+2hm1s'm=6s(xm)6ymym1hm1.

Mit den Randbedingungen s(x0)=y'0 und y'm=s(xm) bezeichnen wir die rechten Seiten dieser Gleichungen mit

g0:=6y'0+6y1y0h0,gm:=6y'm6ymym1hm1.

Fügt man damit die Gleichungen (7.29) und (7.30) an erster bzw. letzter Stelle den Gleichungen (7.17) hinzu, so gelangt man zu dem Gleichungssystem

(2h0h000h02(h0+h1)h10h102(hm2+hm1)hm100hm12hm1)(s'0s'm)=(g0gm).

Schließlich gewinnt man für die periodischen Randbedingungen wegen s(x0)=s(xm) und s'm=s'0 durch Gleichsetzung von (7.27) und (7.28) die zusätzliche Gleichung

2(hm1+h0)s'0+h0s'1+hm1s'm1=6y1y0h06ymym1hm1=:g0.

Zusammen mit dieser Gleichung an erster Position und Ersetzung von s'm durch s'0 in der letzten der Gleichungen (7.17) gelangt man in diesem Fall zu dem linearen Gleichungssystem

(2(hm1+h0)h000hm1h02(h0+h1)h100h10hm2hm100hm22(hm2+hm1))(s'0s'm1)=(g0gm1).

Wir stellen nun weiter fest, dass die Matrizen in den obigen Gleichungssystemen, welche zur Bestimmung eines natürlichen, vollständigen und periodischen kubischen Splines gelöst werden müssen, jeweils symmetrisch und strikt diagonaldominant sind und positive Diagonalelemente besitzen. (Für die Definition einer strikt diagonaldominanten Matrix siehe Definition 3.2.) Für solche Matrizen kann man zeigen:

Lemma 7.9

Es sei A:=(aij)s×s eine symmetrische und strikt diagonaldominante Matrix mit aii>0 (i=1,,s). Dann ist A positiv definit.

Beweis.

Es sei λ Eigenwert und xs Eigenvektor der symmetrischen Matrix A, d. h.

Ax=λx,

wobei wir x so normieren, dass x:=maxj=1,,s|xj|=1 gilt. Sei nun i{1,,s} derart, dass |xi|=1 ist. Dann hat man

j=1saijxj=aiixi+j=1jisaijxj=λxi

und damit

|λaii||xi|=1=|j=1jisaijxj|j=1jis|aij||xj|1j=1jis|aij|.

Demzufolge gilt

±(λaii)j=1jis|aij|

bzw. wegen der strikten Diagonaldominanz von A und aii>0

0<aiij=1jis|aij|λaii+j=1jis|aij|.

q.e.d.

Nach Lemma 3.20 ist eine positiv definite Matrix insbesondere regulär, so dass jedes der obigen drei hergeleiteten linearen Gleichungssysteme eine eindeutige Lösung besitzt. Somit können wir zusammen mit Lemma 7.8 schließen:

Korollar 7.10

Zu Knoten xk und Stützwerten yk (k=0,1,,m) gibt es jeweils genau einen interpolierenden kubischen Spline sSΔ,3 mit natürlichen, (für vorgegebene Zahlen y'0,y'm) vollständigen bzw. periodischen Randbedingungen.

Die Matrizen in den bei der Bestimmung des natürlichen und vollständigen Splines auftretenden Gleichungssystemen sind offenbar strikt diagonal dominante Tridiagonal-Matrizen, für die man eine LR-Zerlegung mit nur 𝒪(m1) bzw. 𝒪(m+1) arithmetischen Rechenoperationen berechnen kann. Außerdem sind die Konditionen dieser Matrizen unproblematisch, so dass man die entsprechenden Systeme numerisch stabil lösen kann. Ferner gibt es auch für eine zyklische, positiv definite Tridiagonal-Matrix, wie sie bei einem periodischen Spline vorliegt, eine effiziente Cholesky-Zerlegung (siehe Schwarz und Werner für Details).

Schließlich sind generell für interpolierende kubische Splines bei Verwendung der Maximumnorm (7.10) die folgenden Fehlerabschätzungen gültig:

Satz 7.11

Zu einer Funktion fC4[a,b], Knoten xk und Stützwerten yk:=f(xk) (k=0,1,,m) sei sSΔ,3 ein interpolierender kubischer Spline. Weiter sei
hmax:=maxk=0,1,,m1(xk+1xk),hmin:=mink=0,1,,m1(xk+1xk).

Falls mit einer Konstanten C>0

(7.31) maxk=0,1,,m|f(xk)s(xk)|Cf(4)hmax2

gilt, so folgen mit der Konstanten

(7.32) c:=hmaxhmin(C+14)
die nachstehenden Abschätzungen:
fscf(4)hmax4,
fscf(4)hmax3,
fscf(4)hmax2,
f(x)s(x)cf(4)hmax,x[a,b]{x0,x1,,xm}.

Der Satz ist z.B. bei Plato bewiesen. Eine Bedingung der Form (7.31) lässt sich gerade für den natürlichen, vollständigen und periodischen kubischen Spline verifizieren (siehe ebenfalls Plato), wobei beispielsweise für den natürlichen Spline C:=3/4 gezeigt werden kann. Nach Satz 7.11 hat man für fC4[a,b] somit für die drei untersuchten Splinetypen die Aussage

fs=𝒪(hmax4).

Ferner hat man damit, ähnlich wie für lineare Splines, mit den in Abschnitt 7.2 eingeführten Definitionen

limjhmax(j)=0limjfsj=0,

wenn sjSΔ,3 hier den entsprechenden natürlichen, vollständigen oder periodischen kubischen Spline bezeichnet.

Beispiel 7.12

Gegeben seien die in der Tabelle

k01234xk10.500.51yk0.50.810.80.5

von der Funktion f(x):=(1+x2)1 herrührenden Stützwerte yk:=f(xk) und gesucht sei dazu der natürliche Spline. Offenbar hat man m=4 und hk=0.5 (k=0,1,2,3). Aus (7.18) errechnet man

g1=610.80.560.80.50.5=1.2,
g2=60.810.5610.80.5=4.8,
g3=60.50.80.560.810.5=1.2.

Damit lautet das Gleichungssystem (7.26)

(20.500.520.500.52)(s'1s'2s'3)=(1.24.81.2).

Seine Lösung ist s'1=0,s'2=2.4,s'3=0, so dass wir aus (7.19) und (7.20) und mit den Randvorgaben s'0=s'4=0 des natürlichen Splines folgende Größen erhalten:

b0=0.30.5=0.6,b1=0.20.5+0.562.4=0.6,
b2=0.20.5+0.564.8=0,b3=0.30.5=0.6

und

d0=0,d1=2.43=0.8,d2=2.43=0.8,d3=0.

Mit ak:=yk und ck:=s'k/2 für k=0,1,2,3 gelangen wir somit zu der folgenden Darstellung des gesuchten Splines sSΔ,3:

s(x):={0.5+0.6(x+1),x[1,0.5],0.8+0.6(x+0.5)0.8(x+0.5)3,x[0.5,0],11.2x2+0.8x3,x[0,0.5],0.80.6(x0.5),x[0.5,1].

Maximale Approximationsfehler werden in den Intervallen [1,0.5] und [0.5,1] und zwar genau bei ±0.787553 angenommen und der Betrag beider Fehler ist 0.012756. Es gilt hier

maxx[1,1]|f(4)(x)|=maxx[1,1]|24(1+x2)3288x2(1+x2)4+384x4(1+x2)5|=f(4)(0)=24.

Weiter erhält man mit C=3/4 für c in (7.32) den Wert c=1 und damit

maxx[1,1]|f(x)s(x)|240.54=1.5.

Für praktische Zwecke sind also die Abschätzungen in Satz 7.11 häufig nicht brauchbar. Für die vorliegende Funktion f hatte Runge gezeigt, dass die Maximumnormen der Interpolationsfehler im Fall der üblichen Polynominterpolation auf dem Intervall [5,5] für die äquidistanten Stützstellen xk:=5+(10k)/n (k=0,1,,n) für n gegen streben (s. Schwarz, S. 102).