Algorithmisches Differenzieren - M1

Algorithmisches Differenzieren - M1 Algorithmisches Differenzieren - M1

26.02.2013 Aufrufe

2 VORWÄRTS–METHODE 5 für Funktionen. Wenden wir eine der Funktionen r, r ′ auf ein x ∈ D an, so erhalten wir Formeln für Funktionswerte. Etwa für die Division erhalten wir r ′ (x) = (a ′ (x) − r(x) · b ′ (x))/b(x). Aus den Formeln in Tabelle 1 schließen wir: Das Paar r(x), r ′ (x) kann berechnet werden aus den Paaren a(x), a ′ (x) und b(x), b ′ (x). Diese schlichte Einsicht ist einer der wichtigsten Angelpunkte des Automatischen Differenzierens. Das Paar r(x), r ′ (x) ist nicht ein Paar von Formeln, es ist auch nicht ein Paar von Funktionen, es ist ein Element von IR × IR 1×n . Der Mechanismus zur Berechnung des Paares r(x), r ′ (x) hängt nicht von x ab, er ist auch unabhängig von den speziellen Funktionen a und b, er wird allein bestimmt durch den Typ ω von r. Dies soll durch folgendes Diagramm verdeutlicht werden. r(x), r ′ (x) ✛ RAT ✛ ✛ ✛ ω a(x), a ′ (x) b(x), b ′ (x) RAT kann realisiert werden als Prozedur in PASCAL, als Subroutine in FORTRAN, oder als Funktion, wenn die gewählte Programmiersprache es zuläßt. Einfacher ist es, die vier Typen von r einzeln zu behandeln. Dann kann man in Programmiersprachen wie ADA, C++, PASCAL–XSC Operatoren definieren, die in kompakter Schreibweise RAT realisieren. Wir verwenden hier RAT als Funktion, die zu einem Typ ω ∈ {+, −, ·, /} und zu Paaren A = (a(x), a ′ (x)) und B = (b(x), b ′ (x)) das Paar R = (r(x), r ′ (x)) berechnet, R ←− RAT(ω, A, B). Ein kurzes Beispiel soll die Bedeutung der rationalen Komposition für die Berechnung von Ableitungen demonstrieren.

2 VORWÄRTS–METHODE 6 Beispiel 1 Gegeben sei die differenzierbare Funktion f : D ⊆ IR 2 → IR mit f(x) = x1 · x2 − 7 , x1 + x2 wobei D = {x|x = (x1, x2) ∈ IR 2 , x1 + x2 �= 0}. Gewünscht ist f ′ (3, 8). Wir definieren Funktionen f1, f2, . . . , f7 : D → IR durch f1(x) = x1 f2(x) = x2 f3(x) = 7 f4(x) = f1(x) · f2(x) f5(x) = f4(x) − f3(x) f6(x) = f1(x) + f2(x) f7(x) = f5(x) / f6(x) Offensichtlich ist f7 = f. Da zu gegebenem x ∈ D nacheinander die Werte f1(x), f2(x),. . . , f7(x) = f(x) berechnet werden können, liegt ein Algorithmus A zur Berechnung von f(x) vor. Nun betrachten wir die Paare Yk = (fk(x), f ′ k(x)) für k =1, 2, . . . , 7. Mit x = (3, 8) sind die Paare Y1, Y2, Y3 bekannt. Die folgenden Paare Y4, Y5, Y6, Y7 können schrittweise mit RAT berechnet werden. Y1 ←− (3, [1, 0]) Y2 ←− (8, [0, 1]) Y3 ←− (7, [0, 0]) Y4 ←− RAT(·, Y1, Y2) = (24, [8, 3]) Y5 ←− RAT(−, Y4, Y3) = (17, [8, 3]) Y6 ←− RAT(+, Y1, Y2) = (11, [1, 1]) Y7 ←− RAT(/, Y5, Y6) = (1.54 . . . , [0.586 . . . , 0.132 . . .]) Somit ist f(3, 8) = 1.54 . . . und f ′ (3, 8) = [0.586 . . . , 0.132 . . .]. ⊓⊔ Für jede explizit gegebene rationale Funktion f und jedes zulässige Argument x können wir f ′ (x) mit RAT schrittweise berechnen. Eine Formel für die Ableitung f ′ im herkömmlichen Sinne wird dabei nicht verwendet.

2 VORWÄRTS–METHODE 5<br />

für Funktionen. Wenden wir eine der Funktionen r, r ′ auf ein x ∈ D an, so erhalten<br />

wir Formeln für Funktionswerte. Etwa für die Division erhalten wir<br />

r ′ (x) = (a ′ (x) − r(x) · b ′ (x))/b(x).<br />

Aus den Formeln in Tabelle 1 schließen wir:<br />

Das Paar r(x), r ′ (x) kann berechnet werden aus den Paaren a(x), a ′ (x) und b(x), b ′ (x).<br />

Diese schlichte Einsicht ist einer der wichtigsten Angelpunkte des Automatischen <strong>Differenzieren</strong>s.<br />

Das Paar r(x), r ′ (x) ist nicht ein Paar von Formeln, es ist auch nicht<br />

ein Paar von Funktionen, es ist ein Element von IR × IR 1×n . Der Mechanismus zur<br />

Berechnung des Paares r(x), r ′ (x) hängt nicht von x ab, er ist auch unabhängig von<br />

den speziellen Funktionen a und b, er wird allein bestimmt durch den Typ ω von r.<br />

Dies soll durch folgendes Diagramm verdeutlicht werden.<br />

r(x), r ′ (x)<br />

✛<br />

RAT<br />

✛<br />

✛<br />

✛<br />

ω<br />

a(x), a ′ (x)<br />

b(x), b ′ (x)<br />

RAT kann realisiert werden als Prozedur in PASCAL, als Subroutine in FORTRAN,<br />

oder als Funktion, wenn die gewählte Programmiersprache es zuläßt. Einfacher ist es,<br />

die vier Typen von r einzeln zu behandeln. Dann kann man in Programmiersprachen<br />

wie ADA, C++, PASCAL–XSC Operatoren definieren, die in kompakter Schreibweise<br />

RAT realisieren.<br />

Wir verwenden hier RAT als Funktion, die zu einem Typ ω ∈ {+, −, ·, /} und zu<br />

Paaren A = (a(x), a ′ (x)) und B = (b(x), b ′ (x)) das Paar R = (r(x), r ′ (x)) berechnet,<br />

R ←− RAT(ω, A, B).<br />

Ein kurzes Beispiel soll die Bedeutung der rationalen Komposition für die Berechnung<br />

von Ableitungen demonstrieren.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!