Algorithmisches Differenzieren - M1

Algorithmisches Differenzieren - M1 Algorithmisches Differenzieren - M1

26.02.2013 Aufrufe

3 RÜCKWÄRTS–METHODE 17 In Block (2.2) Schritt k unseres Planes ist also zu einer Zeile ein Vielfaches der Zeile Φ ′ k(zk−1) zu addieren. Dies legt “ Überschreiben” nahe. Wir führen eine Arbeitszeile U der Länge n + t ein, U = U1 . . . Un Un+1 . . . . . . Un+t in der wir die aktuellen Werte von pk speichern. Aus (14) entsteht dann die update– Formel Uµ ←− Uµ + Uk · Φ ′ k(zk−1)µ für µ = 1, 2, . . . , k − 1, (15) wobei der Index µ die Spalte von U bzw. Φ ′ k(zk−1) kennzeichnet. Nach Beendigung von Block (2.2) unseres Planes enthält die Arbeitszeile U die Werte und es gilt U = pn+1,1 . . . pn+1,n pn+2,n+1 . . . . . . pn+t+1,n+t (16) f ′ (x) = pn+1 = [U1, U2, . . . , Un]. (17) Damit ergibt sich ein Algorithmus A ′ zur Berechnung von f(x) und f ′ (x) wie in Tabelle 9 dargestellt. (1) Berechne y1, y2, . . . , yn+t = f(x) mit Algorithmus A. (2) Berechnung von f ′ (x): (2.1) U ← [0, . . . , 0, 1] mit Länge n + t (2.2) Für k = n + t, n + t − 1, . . . , n + 1 in dieser Reihenfolge für µ = 1, 2, . . . , k − 1 Uµ ← Uµ + Uk · Φ ′ k(y1, y2, . . . , yk−1)µ (2.3) f ′ (x) ← [U1, U2, . . . , Un] Tabelle 9: Algorithmus A ′ zur Berechnung von f(x) und f ′ (x) 3.2 Komplexität Über den Rechenaufwand des Algorithmus A ′ kann Näheres erst ausgesagt werden, wenn Einzelheiten über die Funktionen Φk und Φ ′ k für k = n + 1, n + 2, . . . , n + t vorliegen. Wir betrachten hier nur rationale Φk. Ferner nehmen wir an, daß die Vorschrift yk = Φk(y1, y2, . . . , yk−1) (18) nur eine rationale Operation darstellt. Die verschiedenen Möglichkeiten sind in Tabelle 10 Spalte 2 angegeben.

3 RÜCKWÄRTS–METHODE 18 Tk yk ¯yki ¯ykj Ski Skj #(Ski, Skj) A yi + yj mit i �= j 1 1 Uk Uk 0 S yi − yj mit i �= j 1 −1 Uk Uk 0 M yi · yj mit i �= j yj yi Uk · yj Uk · yi 2 D yi/yj mit i �= j 1/yj −yk/yj Uk/yj Ski · yk 2 AV yi + yi 2 Uk · 2 1 SV yi − yi 0 MV yi · yi 2 · yi Uk · 2 · yi 2 DV yi/yi 0 AVC yi + cj 1 Uk 0 SVC yi − cj 1 Uk 0 MVC yi · cj cj Uk · cj 1 DVC yi/cj 1/cj Uk/cj 1 ACV ci + yj 1 Uk 0 SCV ci − yj −1 Uk 0 MCV ci · yj ci Uk · ci 1 DCV ci/yj −yk/yj Uk · yk/yj 2 VW −yj −1 Uk 0 Tabelle 10: Formeln für yk, ¯yki, ¯ykj, Ski, Skj in Abhängigkeit vom Typ Tk Die Berechnung des Funktionswertes f(x) erfolge mit dem Algorithmus FUN gemäß Tabelle 11. (1) Für k = 1, 2, . . . , n yk = xk = k–te Komponente von x (2) Für k = n + 1, n + 2, . . . , n + t yk = eine der Formeln in Tabelle 10 Spalte 2 (3) f(x) = yn+t Tabelle 11: Algorithmus FUN zur Berechnung von f(x) Dann sind die Funktionen Φk bekannt, und damit auch die Funktionen Φ ′ k. Es sei ¯yk := Φ ′ k(y1, y2, . . . , yk−1). (19) Wegen der besonderen Gestalt von Φk enthält die Zeile ¯yk höchstens zwei von 0 verschiedene Einträge. Ist zum Beispiel yk = Φk(y1, y2, . . . , yk−1) = yi · yj

3 RÜCKWÄRTS–METHODE 18<br />

Tk yk ¯yki ¯ykj Ski Skj #(Ski, Skj)<br />

A yi + yj mit i �= j 1 1 Uk Uk 0<br />

S yi − yj mit i �= j 1 −1 Uk Uk 0<br />

M yi · yj mit i �= j yj yi Uk · yj Uk · yi 2<br />

D yi/yj mit i �= j 1/yj −yk/yj Uk/yj Ski · yk 2<br />

AV yi + yi 2 Uk · 2 1<br />

SV yi − yi 0<br />

MV yi · yi 2 · yi Uk · 2 · yi 2<br />

DV yi/yi 0<br />

AVC yi + cj 1 Uk 0<br />

SVC yi − cj 1 Uk 0<br />

MVC yi · cj cj Uk · cj 1<br />

DVC yi/cj 1/cj Uk/cj 1<br />

ACV ci + yj 1 Uk 0<br />

SCV ci − yj −1 Uk 0<br />

MCV ci · yj ci Uk · ci 1<br />

DCV ci/yj −yk/yj Uk · yk/yj 2<br />

VW −yj −1 Uk 0<br />

Tabelle 10: Formeln für yk, ¯yki, ¯ykj, Ski, Skj in Abhängigkeit vom Typ Tk Die<br />

Berechnung des Funktionswertes f(x) erfolge mit dem Algorithmus FUN gemäß Tabelle<br />

11.<br />

(1) Für k = 1, 2, . . . , n<br />

yk = xk = k–te Komponente von x<br />

(2) Für k = n + 1, n + 2, . . . , n + t<br />

yk = eine der Formeln in Tabelle 10 Spalte 2<br />

(3) f(x) = yn+t<br />

Tabelle 11: Algorithmus FUN zur Berechnung von f(x)<br />

Dann sind die Funktionen Φk bekannt, und damit auch die Funktionen Φ ′ k. Es sei<br />

¯yk := Φ ′ k(y1, y2, . . . , yk−1). (19)<br />

Wegen der besonderen Gestalt von Φk enthält die Zeile ¯yk höchstens zwei von 0 verschiedene<br />

Einträge. Ist zum Beispiel<br />

yk = Φk(y1, y2, . . . , yk−1) = yi · yj

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!