Remez-Algorithmus

Aus testwiki
Zur Navigation springen Zur Suche springen

Der Remez-Algorithmus in der Approximationstheorie ist ein Minimax-Approximations-Algorithmus. Als solcher minimiert er die maximale absolute Differenz zwischen dem gesuchten Polynom p (vorgegebenen Maximalgrades n) und der gegebenen (in einem Intervall) stetigen Funktion f. Er ist benannt nach dem sowjetischen Mathematiker Jewgeni Jakowlewitsch Remes, der ihn im Jahr 1934 vorgestellt hat.[1]

Der Algorithmus setzt dabei ganz wesentlich auf den Alternantensatz von Pafnuti Lwowitsch Tschebyschow, indem er iterativ die genannte Differenz an n+2 Stützstellen im Intervall auswertet und daraus neue n+2 Stützstellen berechnet.

Algorithmus

Gegeben: Ein Intervall [a,b] und eine stetige Funktion f:[a,b];
ferner ein maximaler Polynomgrad n.
Gesucht: Ein Polynom p(x)[x] vom Grad höchstens n, welches
    maxaxb|f(x)p(x)|
minimiert.

Aus dem Alternantensatz folgt, dass das Polynom im Limes eindeutig bestimmt ist und dass es n+2 Punkte (a)x0<x1<<xn+1(b) gibt, für die gilt

f(xi)p(xi)=±(1)iE

mit der Abweichung E:=maxaxb|f(x)p(x)|=fp (Supremumsnorm).

Das gesuchte Polynom sei mit

p(x)=:c0+c1x+...+cnxn

bezeichnet. Es gilt also, die n+1 Unbekannten

c0,c1,,cn

zu bestimmen.

Vorbereitung

Man beginnt mit den Extremstellen des Tschebyschow-Polynoms erster Art vom Grad n+1

xi=a+b2ba2cos(iπn+1)   mit   i=0,,n+1.

Ein solcher Satz von Punkten wird „Referenz“[2] genannt. Es ist

a=x0<x1<...<xn+1=b.

Iteration

Berechnen einer Approximation auf der Referenz

Gesucht wird das Polynom p(x) vom Grad n, dessen Fehlerfunktion f(x)p(x) auf der im vorangegangenen Schritt gewonnenen Referenz x0<x1<<xn+1 alterniert. D. h. gesucht sind

c0,c1,,cn   und   E.

mit

p(xi)+(1)iE=f(xi)   für   i=0,,n+1.

Diese Aufgabe hat als Eingabe nur die Referenz und von der Funktion f nur die n+2 Werte f(xi). Sie kann auch als Optimierungsaufgabe formuliert werden, nämlich als beste Approximation auf der Referenz, und ist eindeutig lösbar.

Das zu lösende Gleichungssystem in Matrixdarstellung:[3]

(1x0x0n11x1x1n11xnxnn(1)n1xn+1xn+1n(1)n+1)(c0c1cnE)=(f(x0)f(x1)f(xn)f(xn+1))

Damit hat man n+1 neue Koeffizienten

c0,c1,,cn

für das Polynom p(x) und eine neue »Referenzabweichung« E.

Finden lokale Extremstellen x~1,x~2 der Fehlerfunktion 1/(37/12x)p(x) mit p als einem Polynom vom Grad 2

Ersetzen der Referenz durch Extremstellen

Ausgehend vom Polynom p(x) gilt es, n+2 Extremstellen x~0,x~1,,x~n+1 der Fehlerfunktion

f(x)p(x)

zu finden. Ist f differenzierbar, kann man Extremstellen oft durch Nullsetzen der Ableitungsfunktion fp gewinnen.

In jedem Fall lässt sich das Intervall [a,b] in die durch die aktuelle Fehlerfunktion spezifizierbaren Teilintervalle [si,si+1] folgendermaßen aufteilen. Da mit f auch fp stetig ist, gibt es nach dem Zwischenwertsatz für alle i=1,,n+1 Nullstellen si der Fehlerfunktion (in der Abbildung Schnittstellen der roten Funktion f mit dem blauen Polynom p) im Intervall [xi1,xi], da das Vorzeichen der Fehlerfunktion an den Stellen xi alterniert Vorlage:Nowrap Gibt es in zwei benachbarten Intervallen [xi1,xi] und [xi,xi+1] jeweils nur eine Nullstelle si[xi1,xi] beziehungsweise si+1[xi,xi+1], dann ist die Fehlerfunktion im Intervall [si,si+1] nur nicht-negativ oder nur nicht-positiv. (Aber auch wenn es mehrere Nullstellen gibt, gilt das Weitere – die Extrema sind ggf. nur nicht so ausgeprägt.) Wegen der Stetigkeit der Fehlerfunktion gibt es nach dem Satz vom Minimum und Maximum in jedem Teilintervall [si,si+1] (lokale) Extremstellen x~i. Im Ergebnis ist x~0:=a das erste Extremum, die nachfolgenden Extrema alternieren zwischen Maximum und Minimum bis zum letzten Extremum Vorlage:Nowrap

Nebenbei fällt die (absolute) Güte der Approximation in Form von maxi|f(x~i)p(x~i)| an. Ist sie unbefriedigend, kann man mit der neu gewonnenen Referenz x~0,x~1,,x~n+1 iterieren. Es kann aber auch interessant sein, den Grad n der Approximation durch Einfügen von Zwischenpunkten in die Referenz zu erhöhen. Das Beispiel 2 im Artikel Alternantensatz zeigt, wie die Qualität der dortigen besten Approximation vom Polynomgrad abhängt.

Konvergenzgeschwindigkeit

Unter geeigneten Voraussetzungen, die Funktion f betreffend, konvergiert das Verfahren lokal quadratisch.[4]

Literatur

Einzelnachweise und Anmerkungen

  1. E. Ya. Remez: Sur la détermination des polynômes d’approximation de degré donnée. In: Comm. Soc. Math. Kharkov, 1934, 10, S. 41.
    Sur un procédé convergent d’approximations successives pour déterminer les polynômes d’approximation. In: Compt. Rend. Acad. Sc., 1934, 198, S. 2063
    Sur le calcul effectiv des polynômes d’approximation de Tschebyscheff. In: Compt. Rend. Acad. Sc., 1934, 199, S. 337–340.
  2. René Grothmann: Skriptum Approximationstheorie. (PDF) 1.69. Definition
  3. Die angegebene Matrix hat Vandermonde-Matrizen als Untermatrizen.
    Die Lösung des Gleichungssystems kostet bei vielen Standardpaketen 𝒪(n3), kann aber auch in 𝒪(n2) geschafft werden (s. Polynominterpolation#Newtonscher Algorithmus).
  4. René Grothmann: Skriptum Approximationstheorie. (PDF) 1.71. Bemerkung