HJ Oberle Approximation WS 213/14 9 Tschebyscheff-Approximation: Numerik Der Remez Algorithmus Der meist verwendete Algorithmus zur Lösung von Approximationsaufgaben bezüglich der Tschebyscheff-Norm ist nach dem russischem Mathematiker Evgeny Yakovlevich Remez (1896 1975) benannt Wir gehen wieder von der folgenden Standard-Situation aus: [a, b] R sei ein kompaktes Intervall, R := C[a, b] sei ausgestattet mit der Maximumsnorm, V sei ein (n + 1)-dimensionaler Haarscher Teilraum von R Ferner sei B [a, b] eine kompakte Teilmenge, die wenigstens (n+2) Punkte enthält Schließlich sei f C(B) Wir beginnen mit einer Vorüberlegung, die sich aus dem Beweis des Satzes von de la Vallee-Pouissin ergibt Es sei M = {t < < t n+1 } eine (n + 2) elementige Teilmenge von B, die als Schätzung für eine Alternante, vgl (819), zu interpretieren ist Die Bestapproximation von f bezüglich V auf M lässt sich dann folgendermaßen ermitteln a) Man bestimme λ,, λ n+1 aus dem homogenen linearen Gleichungssystem Skalierung: h (t ) h (t n+1 ) h n (t ) h n (t n+1 ) λ k = 1, λ > k= λ λ n+1 = (91) b) Man bestimme die Koeffizienten a k in der Darstellung p = a k h k sowie die Minimalabweichung µ aus den folgenden Bedingungen, vgl (819) und (825), f(t ) k= a k h k (t ) = µ sign λ, =,, n + 1 Dies als lineares Gleichungssystem geschrieben ergibt h (t ) h n (t ) sign λ a h (t 1 ) h n (t 1 ) sign λ 1 a n h (t n+1 ) h n (t n+1 ) sign λ n+1 µ = f(t ) f(t n ) f(t n+1 ) (92) 12
Das lineare Gleichungssystem (92) ist aufgrund der Voraussetzungen stets eindeutig lösbar (Übungsaufgabe) Ferner folgt aus dem Beweis zum Satz von de la Vallee- Pouissin, dass die λ k sämtlich von Null verschieden sind und im Vorzeichen alternieren - hierzu wird die Haarsche Bedingung für V als Teilmenge von C[a, b] benötigt Zusammen mit der Skalierung λ > ergibt sich somit sign λ = ( 1), =,, n + 1 (93) Damit lässt sich das lineare Gleichungssystem (92) ohne explizite Kenntnis der λ lösen, nämlich vermöge h (t ) h n (t ) 1 a f(t ) h (t 1 ) h n (t 1 ) 1 = (94) a n f(t n ) h (t n+1 ) h n (t n+1 ) ( 1) n+1 µ f(t n+1 ) Ablauf des Remez Algorithmus I Man arbeitet mit einer Schätzung M ν = {t (ν) < < t (ν) n+1} B für die Alternante Dabei bezeichnet ν den Iterationsindex, die Menge M ν heißt auch ν-te Referenz Man löst nun das lineare Gleichungssysten (94) und bestimmt damit a) die Bestapproximation p (ν) = b) die zugehörige Minimalabweichung µ = µ ν a (ν) h V von f auf M ν und Bemerkung (95) Man beachte auch (825) für die Konstruktion der Bestapproximation p (ν) mittels Interpolationstechniken II Im nächsten Schritt bestimmen wir den tatsächlichen Approximationsfehler in Bezug auf die Menge B δ ν := max{ (f p (ν) )(t) : t B} (96) Gilt µ ν = δ ν, so ist p (ν) nach (818) die gesuchte Bestapproximation Für die numerische Realisierung ersetzen wir diese Relation durch das Abbruchkriterium δ ν µ ν TOL µ ν (97) Dabei bezeichne TOL eine vorgegebene (relative) Toleranzschranke 13
III Iterationsschritt: Ist das obige Abbruchkriterium nicht erfüllt, so ist eine neue (bessere) Referenz M ν+1 zu bestimmen Wir verlangen dabei, dass die folgenden Konvergenz erzeugenden Bedingungen erfüllt sind (a) (f p (ν) )( ) µ ν,, (b) : (f p (ν) )( ) ( µ ν + δ ν )/2, (98) (c) sign[(f p (ν) )( )] = σ( 1), σ {±1} Im Folgende zeigen wir, dass sich aus diesen drei Eigenschaften tatsächlich die Konvergenz des Verfahrens folgt Satz (99) Unter der Annahme δ ν > µ ν folgt mit (98): µ ν+1 > µ ν Beweis: Für das maximale lineare Funktional l ν+1 V auf M ν+1 gilt µ ν+1 = l ν+1 (f) = = λ (ν+1) λ (ν+1) f( ) (f( ) p (ν) ( )) Da die λ (ν+1) nicht verschwinden und alternierendes Vorzeichen haben und nach (98) (c) auch die Fehlerfunktion e (ν) auf der neuen Referenz M ν+1 alterniert, ergibt sich µ ν+1 = λ (ν+1) f( ) p (ν) ( ) Wegen λ(ν+1) = 1 folgt nun mit (98) (a) und (b) µ ν+1 µ ν = λ (ν+1) ( f( ) p (ν) ( ) µ ν ) λ (ν+1) ( ( µ ν + δ ν )/2 µ ν ) = (1/2) λ (ν+1) ( δ ν µ ν ) > 14
Satz (91) Die zu einer beliebigen Referenz M = {t < t 1 < < t n+1 } B gemäß (91) bestimmten λ sind nicht nur sämtlich von Null verschieden und alternierend, sondern sogar gleichmäßig von Null weg beschränkt, dh zu edem c > existiert d = d(f) >, so dass für alle Referenzen M gilt Beweis: λ (M)f(t ) c : λ (M) d Würde die Behauptung nicht gelten, so gäbe es ein c > und eine Folge von Referenzen M ν = {t (ν) < < t (ν) n+1} B mit λ (ν) f(t (ν) ) c, ν, so dass für ein {,, n + 1} gilt λ (ν) (ν ) Da B kompakt ist und (ν) λ = 1 lassen sich konvergente Teilfolgen von (λ (ν) ) und (t (ν) ) finden mit t (ν) t, ν und λ (ν) λ, ν Dabei ist natürlich λ = Sei nun q V durch die Interpolationsbedingungen q(t ) = f(t ) für bestimmt Dann folgt λ (ν) f(t (ν) ) = λ (ν) (f q)(t (ν) ) λ (f q)(t ) = (ν ) Widerspruch zur Annahme λ (ν) f(t (ν) ) c > Satz (911) (Konvergenz des Remez-Algorithmus) Erfüllt eine Folge von Referenzen M ν = {t (ν) < < t (ν) n+1} B, ν N, die Konvergenz erzeugenden Bedingungen (98), so konvergieren die zugehörigen p (ν) V auf B gleichmäßig gegen die Bestapproximation p von f bezüglich V Diese Konvergenzaussage gilt unabhängig von der Startreferenz M Beweis: (i) Nach (99) wächst die Folge der µ ν streng monoton Daher folgt insbesondere λ (ν) f(t (ν) ) = µ ν µ 1 > Nach (91) und dem Beweis zu (99) folgt hiermit µ ν+1 µ ν 1 2 λ(ν+1) (δ ν µ ν ) d 2 (δ ν µ ν ), (912) 15
wobei oeda d ], 2[ gewählt werden kann Damit ergibt sich d V (f) µ ν+1 d V (f) µ ν d 2 (δ ν µ ν ) (1 d/2) [ d V (f) µ ν ] Mit q := (1 d/2) ], 1[ liefert die obige Abschätzung (d V (f) µ ν+1 ) q ν (d V (f) µ ) (ν ) und damit lim µ ν = d V (f) (913) k (ii) Aus (912) folgt analog zur obigen Abschätzung δ ν d V (f) 2 d ( µ ν+1 µ ν ) + µ ν d V (f) = 2 d ( µ ν+1 d V (f)) ( 2 d 1) ( µ ν d V (f)) ( 2 d 1) [ d V (f) µ ν ] Hieraus folgt: Es gibt eine Konstante C > mit f p (ν) d V (f) C q ν (914) (iii) Aufgrund der strikten Eindeutigkeit der Bestapproximation, vgl (815), gilt mit einem γ = γ(f) > für alle q V : f q f p + γ q p, wobei p die Bestapproximation von f aus V bezeichnet Setzt man q = p (ν), so folgt mit (914) γ p (ν) p f p (ν) f p C q ν Damit ist gezeigt p (ν) p C γ qν, mit < q < 1 Bemerkung (915) I Allg müssen die Referenzen M ν nicht notwendigerweise konvergieren; sie sind a i Allg auch nicht eindeutig bestimmt Aus Kompaktheitsgründen gibt es edoch stets eine Teilfolge der (M ν ), die gegen eine Alternante konvergiert Der kritische Punkt des Remez-Verfahrens ist es nunmehr, bei vorliegender Referenz M ν, ein Verfahren zur Konstruktion von M ν+1 anzugeben, so dass die Konvergenz 16
erzeugenden Eigenschaften (98) erfüllt sind Prinzipiell sind dabei zwei Verfahren in Gebrauch, die als Einzelaustausch bzw Simultanaustausch bezeichnet werden IV Einzelaustausch: Man bestimme einen Punkt τ [a, b] mit (f p (ν) )(τ) 1 2 (δ ν + µ ν ) Hierzu könnte man beispielsweise einen Punkt τ [a, b] bestimmen, an dem (f p (ν) ) näherungsweise maximal wird Dies könnte durch numerische Bestimmung einer Nullstelle der Ableitung (f p (ν) ) mittels Bisektion oder mittels Newton-Verfahren geschehen, oder (einfacher) durch Absuchen auf einem festen, feinen Gitter des Intervalls [a, b] Austauschregeln (916) (e ν := f p (ν) ) (a) Falls t (ν) +1 (b) Falls τ < t (ν) : < τ < t (ν) +1 : := τ, := τ, t(ν+1) := τ, := τ, (c) Falls τ > t (ν) n+1 : n+1 := τ, n+1 := τ, := t (ν) ( ), für sign e ν (t (ν) ) = sign e ν (τ), := t (ν) ( + 1), für sign e ν (t (ν) +1 ) = sign e ν(τ), := t (ν) ( ), für sign e ν (t (ν) ) = sign e ν (τ), := t (ν) 1 ( ), für sign e ν(t (ν) ) sign e ν (τ), := t (ν) ( n), für sign e ν (t (ν) n+1) = sign e ν (τ), := t (ν) +1 ( n), für sign e ν(t (ν) n+1) sign e ν (τ) Beispiel (917) Zu approximieren sei f(t) = sin t, t π/2 t durch ein gerades Polynom p(t) = a + a 1 t 2 + a 2 t 4 + a 3 t 6 In der folgenden Tabelle sind die Referenzen der ersten Iterationsschritte des Algorithmus angegeben 17
iter t t 1 t 2 t 3 t 4 1e + 25e + 75e + 1e + 1 12e + 1 1 1e + 25e + 75e + 1e + 1 1578e + 1 2 1e + 25e + 75e + 14125e + 1 1578e + 1 3 1e + 25e + 1119e + 1 14125e + 1 1578e + 1 4 1e + 63943e + 1119e + 1 14125e + 1 1578e + 1 5 e + 63943e + 1119e + 1 14125e + 1 1578e + 1 6 e + 63943e + 1119e + 1 14499e + 1 1578e + 1 1 e + 59967e + 1191e + 1 1456e + 1 1578e + 1 Für die Koeffizienten der Bestapproximation erhält die folgenden Näherungen a = 99999e+, a 1 = 16666e +, a 2 = 83132e 2 und a 3 = 18524e 3 Für die Minimalabweichung ergibt sich δ = 75439e 6 1 x 1 6 1 x 1 6 8 8 6 6 4 4 2 2 2 2 4 4 6 6 8 8 1 2 4 6 8 1 12 14 16 Startreferenz: e(x) = sin(x)/x p(x) 1 2 4 6 8 1 12 14 16 1 Iterierte: e(x) = sin(x)/x p(x) 1 x 1 6 1 x 1 6 8 8 6 6 4 4 2 2 2 2 4 4 6 6 8 8 1 2 4 6 8 1 12 14 16 2 Iterierte: e(x) = sin(x)/x p(x) 1 2 4 6 8 1 12 14 16 3 Iterierte: e(x) = sin(x)/x p(x) 18
1 x 1 6 1 x 1 6 8 8 6 6 4 4 2 2 2 2 4 4 6 6 8 8 1 2 4 6 8 1 12 14 16 4 Iterierte: e(x) = sin(x)/x p(x) 1 2 4 6 8 1 12 14 16 6 Iterierte: e(x) = sin(x)/x p(x) Abb 91: Die ersten Iterationen des Remez-Algorithmus für Beispiel (917) V Simultanaustausch: Hierbei zerlegt man das Intervall [a, b] in mindestens (n + 2) Teilintervalle, in denen die aktuelle Fehlerfunktion e ν = f p (ν) abwechselnd nur nichtnegativ bzw nichtpositiv ist Man bestimmt dann näherungsweise die Maxima bzw Minima der Fehlerfunktion in diesen Teilintervallen und wählt hieraus (n + 2) Punkte als neue Referenz aus Eine Variante dieses Verfahren ergibt sich durch die Bestimmung der lokalen Maxima/Minima der Fehlerfunktion mittels des Newton-Verfahrens für die Ableitung e ν Als Startwerte wählt man die Punkte aus der Referenz M ν und iteriert wie folgt = a, n+1 = b, falls dieses bekannt ist, = t (ν) e ν(t (ν) ) e ν(t (ν) ), = 1,, n (918) Bemerkungen (919) Der Remez-Algorithmus mit Simultanaustausch ist i Allg schneller als der mit Einzelaustausch Allerdings ist die Technik zur Sicherung der globalen Konvergenz mühsamer Beim Einzelaustausch lassen sich zur Lösung des linearen Gleichungssystems (94) so genannte update Techniken verwenden Für den Remez-Algorithmus mit Simultanaustausch lässt sich unter gewissen Zusatzvoraussetzungen (ua die C 2 Eigenschaft von f, h ) die quadratische Konvergenz des Verfahrens zeigen, dh C > : [d V (f) µ ν+1 ] C [d V (f) µ ν ] 2 Die Wahl der Startreferenz M ist wegen der globalen Konvergenz i Allg nicht sehr kritisch; man kann M beispielsweise über eine L 2 Approximation zb eine Tschebyscheff Entwicklung erhalten 19
Das Newton Verfahren Als Alternative zum Remez Algorithmus bietet sich an, das nichtlineare Gleichungssystem (82) des Alternantensatzes mit einer geeigneten Variante des Newton- Verfahrens zu lösen Gehören etwa beide Randpunkte des Intervalls [a, b] zur Alternante (ein hinreichendes Kriterium gibt Satz (824) an), so liefert der Alternantensatz das folgende nichtlineare Gleichungssystem a h (t k ) f(t k ) + ( 1) k µ =, k =,, n + 1, a h (t k ) f (t k ) =, k = 1,, n (92) Dies sind (2 n + 2) Gleichungen in den (2 n + 2) Unbekannten (a,, a n, t 1,, t n, µ) Bezeichnet man mit e(t) := f(t) a h (t) wieder die Fehlerfunktion, so lautet die zugehörige Newton-Gleichung, dh das lineare Gleichungssystem zur Berechnung der Newton Korrekturen a, t k und µ: h (t k ) a e (t k ) t k + ( 1) k µ = e(t k ) ( 1) k µ, k =, 1,, n + 1 h (t k ) a e (t k ) t k = e (t k ), k = 1,, n Dabei ist t := t n+1 :=, a (ν+1) µ (ν+1) := µ (ν) + µ := a (ν) + a, k (921) := t (ν) k + t k und Schreibt man dieses lineare Gleichungssystem auf die Unbekannten a (ν+1), t k und µ (ν+1) um (dies sollte man nicht machen, wenn man Dämpfungsstrategien verwenden möchte), so ergibt sich mit t k = t (ν) k h (t k ) a (ν+1) e (t k ) t k + ( 1) k µ (ν+1) = f(t k ), k =, 1,, n + 1 h (t k ) a (ν+1) e (t k ) t k = f (t k ), k = 1,, n (922) Man vergleiche diese Relationen mit den entsprechenden Gleichungen (94) und (918) des Remez-Verfahrens Zusammenhang zur Linearen Optimierung Wir betrachten eine diskrete Approximationsaufgabe im Tschebyscheffschen Sinn Dazu sei B [a, b] eine endliche Menge, B = {t 1,, t m } mit #B = m > n + 2 11
Wir können ferner davon ausgehen, dass i Allg m n gelten wird Wieder sei V = V n ein (n+1) dimensionaler linearer Teilraum von C(B) mit Basis (h,, h n ) Die Approximationsaufgabe lautet: Man bestimme (a,, a n ) R n+1, so dass minimal wird I(a,, a n ) := max{ f(t k ) a h (t k ) : k = 1,, m } (923) Diese Approximationsaufgabe lässt sich nun unmittelbar in eine lineare Optimierungsaufgabe transformieren Dazu definieren wir δ := max{ f(t k ) a h (t k ) : k = 1,, m } (924) (923) ist dann äquivalent zur linearen Optimierungsaufgabe: Bestimme (a,, a n, δ) R n+2, so dass J := δ minimal wird unter den Nebenbedingungen a h (t k ) δ f(t k ) a h (t k ) δ f(t k ), k = 1,, m (925) Um die Standardformulierung einer linearen Optimierungsaufgabe zu erhalten führen wir die folgenden Definitionen ein h (t 1 ) h n (t 1 ) 1 h A T := (t m ) h n (t m ) 1 h (t 1 ) h n (t 1 ) 1 R (2m,n+2) h (t m ) h n (t m ) 1 (926) b T := [f(t 1 ) f(t m ), f(t 1 ) f(t m )] R 2 m z T := [a a n, δ] R n+2 c T := [, 1] R n+2 Damit lautet die lineare Optimierungsaufgabe schließlich Maximiere J D (z) = c T z; Nebenbedingungen: A T z b (927) 111
Bemerkungen (928) Die obige Darstellung (927) heißt auch Dualform einer linearen Optimierungsaufgabe (vgl Numerik-Vorlesung bzw Opfer: Numerische Mathematik) Die Zielfunktion J D (z) ist auf der zulässigen Menge Z := {z : A T z b} nach oben beschränkt (durch δ = ) Ferner ist Z nichtleer, da eder Punkt z = (, δ) T mit δ f zulässig ist Nach der Theorie der linearen Optimierungsaufgaben (vgl JWerner: Numerische Mathematik 2; Satz 24) folgt hieraus, dass (927) wenigstens eine Lösung z besitzt Da iallg m n gelten wird, empfiehlt es sich nicht, die Ungleichungen A T z b durch Einführung von Schlupfvariablen in Gleichungen zu transformieren Vielmehr ist es i Allg vorteilhaft, anstelle des dualen Problems (927) das zugehörige primale Problem zu lösen (etwa mit dem Simplexverfahren) Das primale lineare Optimierungsproblem in Normalform lautet Minimiere J P (y) = b T y; Nebenbedingungen: A y = c, y (929) Dabei ist y R 2 m Schreibt man diese lineare Optimierungsaufgabe mittels der Definitionen (926) wieder explizit auf, so ergibt sich das primale Optimierungsproblem Minimiere J P (y) = m f(t k ) (y k y m+k ) (93) unter den Nebenbedingungen m h (t k ) (y k y m+k ) =, =,, n 2 m y k = 1, y k, k = 1,, 2 m (931) Bemerkungen (932) a) Die Normierung y k = 1 lässt sich abschwächen zu y k 1 Gilt nämlich für einen zulässigen Punkt y des relaxierten Problems y k < 1, so erhöhe man irgendein y k und das zugehörige y m+k um den gleichen Wert (1 y k )/2 > Der neue Vektor ỹ ist dann zulässig für (93) bei gleichem Wert der Zielfunktion b) Weiterhin lässt sich für das relaxierte lineare Optimierungsproblem durch den Übergang ( ) ( ) yk yk min{y k, y m+k } y m+k min{y k, y m+k } y m+k erreichen, dass die Komplementaritätsbedingung y k y m+k = erfüllt ist 112
Relaxiertes Primales Optimierungsproblem Minimiere J P (y) = m f(t k ) (y k y m+k ) (933) unter den Nebenbedingungen m h (t k ) (y k y m+k ) =, =,, n 2 m y k 1, y k y m+k =, k = 1,, m y k, k = 1,, 2 m (934) Ist y zulässiger Basisvektor des primalen Optimierungsproblems, so gibt es I = {k,, k n+1 } {1,, m} mit y k = y m+k = für alle k / I Unter Beachtung der Komplementaritätsbedingung sei nun Damit findet man λ i := y ki y m+ki, λ i = y ki + y m+ki, i =,, n + 1 J P = f(t ki ) λ i i= h (t ki ) λ i =, =,, n i= n+1 λ i = 1 i= (935) (936) Sei y nun optimale Basislösung, z = (a,, a n, δ) T sei Lösung des dualen Problems (927) Wegen des Dualitätssatzes, vgl Vorlesung über Numerik, gilt dann J D = J P = b T y = c T z Damit folgt = y T (b A T z) = + m y k [ f(t k ) a h (t k ) + δ ] m y m+k [ f(t k ) + a h (t k ) + δ ] 113
Hier sind alle Summanden nichtnegativ, so dass sich die folgenden Komplementaritätsbedingungen ergeben y k [ f(t k ) a h (t k ) + δ ] =, y m+k [ f(t k ) + a h (t k ) + δ ] = (937) Zusammen mit (935) und (936) folgt nun k / I y k = y m+k =, k i I, λ i > f(t ki ) k i I, λ i < f(t ki ) a h (t ki ) = δ, a h (t ki ) = δ Damit lässt sich (937) als ein lineares Gleichungssystem zur Berchnung von z = (a,, a n, δ) T ansehen Nach Herleitung ist dieses Gleichungssystem stets lösbar; die Eindeutigkeit der Lösung ist edoch nur für λ k, für alle k I, gewährleistet Wir fassen das Ergebnis zusammen Satz (938) a) p = a h ist genau dann Bestapproximation von f aus V auf B = {t 1,, t m }, wenn es Punkte t k < < t kr+1 B gibt, r n und λ i mit f(t ki ) a h (t ki ) = signλ i f p, i =,, r + 1, r+1 λ i h (t ki ) =, =,, n, i= r+1 λ i = 1 i= b) Ist y optimale Basislösung zu (929), so ist das lineare Gleichungssystem (937) für z = (a,, a n, δ) T lösbar Jede Lösung liefert eine Bestapproximation von f aus V auf B Bemerkung (939) Genügt V der Haarschen Bedingung, so ist ede (zulässige) Basislösung des primalen Problems nichtentartet, dh i =,, n + 1 : y ki Ferner lässt sich analog zum Beweis des Satzes von de la Vallee, Pouissin folgern, dass die λ i nicht verschwinden und alternieren 114
Beispiel (94) (aus J Werner: Numerische Mathematik 2) Zu minimieren sei max{ e t p(t ) : } über p Π 4 auf dem Gitter t = ( 1)/1, = 1,, 11 Das zugehörige (primale) lineare Optimierungsproblem hat die folgende Form unter den Nebenbedingungen Dabei ist A T := Minimiere J P = b T y, y R 22 Ay = c, y 1 t 1 t 4 1 1 1 t 11 t 4 11 1 1 t 1 t 4 1 1 1 t 11 t 4 11 1 b T := [e t 1 e t 11, e t 1 e t 11 ] R 2 m c T := [, 1] R 6 R (22,6) Die numerische Lösung des primalen Problems mit Hilfe der MATLAB Routine linprog ergibt eine optimale nichtentartete Basislösung mit den Basisindizes J B = (1, 5, 1, 13, 19, 22) Das zugehörige lineare Gleichungssystem (937) mit diesen Indizes liefert schließlich die Lösung 126 998714 a 5177, δ 262631e 5 139716 69722 3 x 1 5 2 Fehlerfunktion e(t) 1 1 2 3 1 2 3 4 5 6 7 8 9 1 115