Lösung nichtlinear Gleichungssysteme In dieser Vorlesung werden wir uns mit der gemischt symbolischen und numerischen Lösung algebraisch gekoppelter nichtlinear Gleichungs- systeme befassen. Die Aufschneidemethode eignet sich auch zur effizienten Behandlung nichtlinear Gleichungs- systeme. Die numerische Iteration nichtlinear Gleichungs- systeme kann auf die Schnittvariablen begrenzt werden. 10. November, 2004
Übersicht Nichtlineare Gleichungssysteme Newton Iteration Newton Iteration mit Aufschneiden Newton Iteration linearer Gleichungssysteme 10. November, 2004
Nichtlineares Gleichungssystem: Ein Beispiel I 10. November, 2004
Nichtlineares Gleichungssystem: Ein Beispiel II 2 Stausee Schleuse Verbrau-cher I Verbrau- cher II Umgebungs- druck 1 q 3 10. November, 2004
Nichtlineares Gleichungssystem: Ein Beispiel III q p q p q: Durchflussrate p: Druckabfall q = k · sign(p ) · p p = sign(q) · q2 / k 10. November, 2004
Nichtlineares Gleichungssystem: Ein Beispiel IV 2 Stausee Schleuse Verbrau-cher I Verbrau -cher II Umgebungs-druck 1 q 3 p2 = 100 p0 = 1 fS(q1 ,p1 ,p2) = 0 fI(q2 ,p0 ,p1) = 0 fII(q3 ,p0 ,p1) = 0 q1 = q2 + q3 10. November, 2004
Nichtlineares Gleichungssystem: Ein Beispiel V fS (q1 ,p1 ,p2 ) = 0 fI (q2 ,p0 ,p1 ) = 0 fII (q3 ,p0 ,p1 ) = 0 q1 - q2 - q3 = 0 p2 = 100 p0 = 1 fS (q1 ,p1 ,p2 ) = 0 fI (q2 ,p0 ,p1 ) = 0 fII (q3 ,p0 ,p1 ) = 0 q1 - q2 - q3 = 0 Nichtlineares Gleichungssystem in 4 Unbekannten 10. November, 2004
Newton’sches Iterationsverfahren I f(x) = 0 Nichtlineares Gleichungssystem: x n f n x 0 Anfangsschätzwert: x i+1 = x i - Dx i Iterationsformel: Dx n Dx i = H(x i )-1 · f(x i ) Inkrement: H n n H(x) = f(x) x Hess’sche Matrix: 10. November, 2004
Newton’sches Iterationsverfahren: Beispiel I p2 - p1 - sign(q1) · q12 / k1 p1 – p0 - sign(q2) · q22 / k2 p1 – p0 - sign(q3) · q32 / k3 q1 - q2 - q3 f(x) = = 0 x = p1 q1 q2 q3 - 2|q1 |/k1 - 2|q2 |/k2 - 2|q3 |/k3 -1 1 H(x) = 10. November, 2004
Newton’sches Iterationsverfahren II Dx i = H(x i )-1 · f(x i ) H(x i ) · Dx i = f(x i ) Bestimmung des Inkrements: Lineares Gleichungssystem in den Unbekannten Dx Dx n 10. November, 2004
Newton Iteration mit Schneideverfahren I p2 = 100 p0 = 1 fS (q1 ,p1 ,p2 ) = 0 fI (q2 ,p0 ,p1 ) = 0 fII (q3 ,p0 ,p1 ) = 0 q1 - q2 - q3 = 0 p2 = 100 p0 = 1 fS (q1 ,p1 ,p2 ) = 0 fI (q2 ,p0 ,p1 ) = 0 fII (q3 ,p0 ,p1 ) = 0 q1 - q2 - q3 = 0 p2 = 100 p0 = 1 fS (q1 ,p1 ,p2 ) = 0 fI (q2 ,p0 ,p1 ) = 0 fII (q3 ,p0 ,p1 ) = 0 q1 - q2 - q3 = 0 Wahl 10. November, 2004
Newton Iteration mit Schneideverfahren II p2 = 100 p0 = 1 fS (q1 ,p1 ,p2 ) = 0 fI (q2 ,p0 ,p1 ) = 0 fII (q3 ,p0 ,p1 ) = 0 q1 - q2 - q3 = 0 p2 = 100 p0 = 1 q1 = q2 + q3 p1 = f1 (q1 ,p2 ) q2 = f2 (p0 ,p1 ) q3 = f3 (p0 ,p1 ) q1 = f2 (p0 ,p1 ) + f3 (p0 ,p1 ) = f2 (p0 , f1 (q1 ,p2 ) ) + f3 (p0 , f1 (q1 ,p2 )) 10. November, 2004
Newton Iteration mit Schneideverfahren III q1 = f2 (p0 ,p1 ) + f3 (p0 ,p1 ) = f2 (p0 , f1 (q1 ,p2 ) ) + f3 (p0 , f1 (q1 ,p2 )) x = q1 f(x) = q1 - f2 (p0 , f1 (q1 ,p2 ) ) - f3 (p0 , f1 (q1 ,p2 )) = 0 H(x i ) · Dx i = f(x i ) Lineares Gleichungssystem in den Unbekannten Dx Dx 1 10. November, 2004
Newton’sches Iterationsverfahren: Beispiel II q1 = q2 + q3 p1 = p2 - sign(q1 ) · q12 / k1 q2 = k2 · sign(p1 - p0 ) · p1 - p0 q3 = k3 · sign(p1 - p0 ) · p1 - p0 pq1q1 = 1 pp1q1 = - 2|q1| / k1 pq2q1 = k2 / ( 2 · p1 - p0 ) · pp1q1 pq3q1 = k3 / ( 2 · p1 - p0 ) · pp1q1 f = q1 - q2 - q3 h = pq1q1 - pq2q1 - pq3q1 Das Substituieren von Aus-drücken lohnt sich kaum je. Es ist besser, über alle Glei-chungen zu iterieren und bei der Ermittlung der partiellen Ableitungen jede Gleichung separat abzuleiten. 10. November, 2004
Newton’sches Iterationsverfahren: Beispiel III q1 = Anfangsschätzwert dx = 1 while dx > dxmin p1 = p2 - sign(q1 ) · q12 / k1 q2 = k2 · sign(p1 - p0 ) · p1 - p0 q3 = k3 · sign(p1 - p0 ) · p1 - p0 pp1 = - 2|q1| / k1 pq2 = k2 / ( 2 · p1 - p0 ) · pp1 pq3 = k3 / ( 2 · p1 - p0 ) · pp1 f = q1 - q2 - q3 h = 1 - pq2 - pq3 dx = h \ f q1 = q1 – dx end Es wird über alle Gleichungen iteriert. Das interne lineare Gleichungssystem muss jedoch nur für die Schnittvariablen gelöst werden. 10. November, 2004
Newton Iteration für lineare Systeme Lineares System: A·x = b f(x) = A·x – b = 0 H(x) = f(x)/ x = A A·Dx = A·x – b Dx = x – A-1·b x 1 = x 0 – (x 0 – A-1·b) = A-1·b Die Newton Iteration konvergiert in einem Schritt 10. November, 2004
Zusammenfassung Das Schneideverfahren eignet sich genau so gut für nichtlineare wie für lineare Systeme. Die Νewton’sche Iteration eines nichtlinearen Gleichungs-systems führt intern zur Lösung eines linearen Gleichungssystems. Die Hess’sche Matrix dieses Glei-chungssystems erstreckt sich nur über die Schnittvariablen. Die Νewton’sche Iteration kann auch sehr effizient im Falle grösserer linearer Systeme eingesetzt werden, da sie (bei korrekter Berechnung der H(x) Matrix) in einem einzigen Schritt konvergiert. In Praxis wird die H(x) Matrix jedoch häufig numerisch ermittelt und nur angenähert. Es ist aber möglich, symbolische Formelmanipulations- techniken zu entwickelt, welche symbolische Ausdrücke für die Elemente der Hess’schen Matrix ermitteln. 10. November, 2004