Algorithmisches Differenzieren - M1
Algorithmisches Differenzieren - M1
Algorithmisches Differenzieren - M1
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
3 RÜCKWÄRTS–METHODE 20<br />
Wir definieren<br />
#(f, f ′ , RM) := Anzahl der rationalen Operationen zur Berechnung<br />
von f(x) und f ′ (x) mit RM.<br />
Proposition 2: Für die Berechnung von f(x) und f ′ (x) mit dem Algorithmus RM<br />
gilt<br />
#(f, f ′ , RM) ≤ 5 · #(f, FUN).<br />
Beweis: Block (1) kostet t Operationen. In Tabelle 10 ist unter #(Ski, Skj) angemerkt,<br />
wie teuer Ski und/oder Skj sind. Für k = n + t, n + t − 1, . . . , n + 1 bezeichne<br />
#(update,k) die Anzahl der in Block (2.2) Schritt k durchzuführenden update–<br />
Operationen. Offensichtlich ist #(update,k) höchstens 2. Somit ergibt sich<br />
#(f, f ′ , RM) = t +<br />
≤ t +<br />
n+t<br />
�<br />
k=n+1<br />
n+t<br />
�<br />
k=n+1<br />
(#(Ski, Skj) + #(update, k))<br />
(2 + 2) = 5t = 5 · #(f, FUN).<br />
Die Abschätzung in Proposition 2 ist scharf. Wenn im Algorithmus FUN nur Operationen<br />
vom Typ M oder D auftreten, dann wird obige Ungleichung zu einer Gleichung.<br />
Zur Durchführung des Algorithmus RM werden zwei Listen der Länge n+t benötigt,<br />
eine für die Werte y1, y2, . . . , yn+t, und eine für die Arbeitszeile U. Vergleicht man die<br />
Vorwärts–Methode mit Überschreiben und die Rückwärts–Methode, so zeigt sich, daß<br />
im allgemeinen der Bedarf an Speicherplätzen bei der Vorwärts–Methode sehr viel<br />
kleiner ist als der Bedarf an Speicherplätzen bei der Rückwärts–Methode.<br />
Man kann den Algorithmus RM noch verfeinern zu einem Algorithmus R<strong>M1</strong>. Dabei<br />
wird berücksichtigt, daß in Block (2.2) zu Beginn die Arbeitszeile U bis auf Un+t = 1<br />
nur “System–Nullen” enthält. Eine Addition zu einer System–Null kann bei geeigneter<br />
Buchführung vermieden werden, eine Subtraktion erfordert einen Vorzeichen–Wechsel.<br />
Dies liefert allerdings nur<br />
#(f, f ′ , R<strong>M1</strong>) < 5 · #(f, FUN).<br />
Eine weitere Verfeinerung vom R<strong>M1</strong> zu einem Algorithmus RM2 ist möglich, wenn<br />
man in Block (2.2) fällige Vorzeichen–Wechsel nicht sofort ausführt, sondern erst am<br />
Ende von Block (2.2). Einzelheiten sind in [57] ausführlich beschrieben. Ohne Beweis<br />
geben wir folgendes Ergebnis an.<br />
Proposition 3: Für die Berechnung von f(x) und f ′ (x) mit dem Algorithmus RM2<br />
gilt<br />
#(f, f ′ , RM2) ≤ 4 · #(f, FUN).<br />
Funktionswert f(x) und Ableitungswert f ′ (x) zusammen, berechnet mit RM2, kosten<br />
also höchstens 4–mal soviel wie der Funktionswert alleine.<br />
⊓⊔