Sekantenverfahren

Bei dem Sekantenverfahren handelt es sich um ein schon seit dem Mittelalter bekanntes numerisches Verfahren zur näherungsweisen Lösung einer Gleichung des Typs f ( x ) = 0 {\displaystyle f(x)=0} . Es entspricht einer Vereinfachung des Newton-Verfahrens, da nicht die Ableitung der Funktion berechnet werden muss.

Verfahren

Zwischen zwei Punkten P ( x 1 | f ( x 1 ) ) {\displaystyle P(x_{1}|f(x_{1}))} und Q ( x 2 | f ( x 2 ) ) {\displaystyle Q(x_{2}|f(x_{2}))} der Funktion f {\displaystyle f} wird eine Sekante gelegt. Der Schnittpunkt der Sekante mit der x {\displaystyle x} -Achse wird als verbesserter Startwert x 3 {\displaystyle x_{3}} für die Iteration verwendet. Mithilfe von x 3 {\displaystyle x_{3}} wird der neue Funktionswert f ( x 3 ) {\displaystyle f(x_{3})} berechnet. Mit f ( x 3 ) {\displaystyle f(x_{3})} und dem alten Wert f ( x 2 ) {\displaystyle f(x_{2})} wird dieser Schritt wiederholt und erneut eine Sekante angelegt. Man wiederholt diesen Schritt so lange, bis eine ausreichende Näherung der gesuchten Nullstelle erreicht wurde.

Konstruktion am Graphen

Die folgende Animation zeigt, wie mit den Startwerten x 1 {\displaystyle x_{1}} und x 2 {\displaystyle x_{2}} weitere Punkte konstruiert werden.

Animation zeigt mehrere Iterationsschritte des Sekantenverfahrens
Animation zeigt mehrere Iterationsschritte des Sekantenverfahrens

Das Verfahren verwendet folgende Iterationsvorschrift:

x n + 1 = x n x n x n 1 f ( x n ) f ( x n 1 ) f ( x n ) {\displaystyle x_{n+1}=x_{n}-{\frac {x_{n}-x_{n-1}}{f(x_{n})-f(x_{n-1})}}\cdot f(x_{n})}

Dabei wird mit zwei Näherungswerten x 0 , x 1 {\displaystyle x_{0},x_{1}} begonnen.

Im Gegensatz zum Regula-falsi-Verfahren kann es beim Sekantenverfahren auftreten, dass die Nullstelle für einige Iterationsschritte nicht mehr zwischen x n {\displaystyle x_{n}} und x n + 1 {\displaystyle x_{n+1}} liegt.

Zusammenhang mit dem Newton-Verfahren

Das Verfahren lässt sich als Modifikation des Newtonschen Näherungsverfahrens mit der Iterationsvorschrift

x n + 1 = x n f ( x n ) f ( x n ) {\displaystyle x_{n+1}=x_{n}-{\frac {f(x_{n})}{f'(x_{n})}}}

auffassen, indem man die Ableitung f ( x n ) {\displaystyle f'(x_{n})} durch den Differenzenquotienten

f ( x n ) f ( x n ) f ( x n 1 ) x n x n 1 {\displaystyle f'(x_{n})\approx {\frac {f(x_{n})-f(x_{n-1})}{x_{n}-x_{n-1}}}}

ersetzt.

Konvergenz

Aufgrund der Verwandtschaft mit dem Newtonschen Verfahren gelten für die Konvergenz des Sekantenverfahrens ähnliche Bedingungen:

  • Das Sekantenverfahren konvergiert superlinear mit der Konvergenzordnung Φ = 1 + 5 2 1,618 {\displaystyle \Phi ={\tfrac {1+{\sqrt {5}}}{2}}\approx 1{,}618} (dies entspricht dem Verhältnis des goldenen Schnittes), d. h. die Zahl der korrekten Stellen des Näherungswertes erhöht sich pro Durchgang ungefähr um den Faktor Φ {\displaystyle \Phi } . Dies hängt damit zusammen, dass der Differenzenquotient nur eine Näherung für die Ableitung ist; entsprechend geringer ist die Konvergenzgeschwindigkeit im Vergleich zum quadratisch konvergenten Newton-Verfahren.
  • Es genügt, dass die Funktion f {\displaystyle f} im Definitionsbereich stetig ist und genau eine Nullstelle besitzt.
  • Das Verfahren verliert an Genauigkeit und Konvergenzgeschwindigkeit, wenn die Ableitung f ( x ) {\displaystyle f'(x)} an der Nullstelle 0 wird, da sich in der Berechnung ein Ausdruck der Form x n + 1 = x n 0 0 f ( x n ) {\displaystyle x_{n+1}=x_{n}-{\tfrac {0}{0}}\cdot f(x_{n})} ergibt. Speziell bei Polynomen entspricht dies einer mehrfachen Nullstelle.
  • Bei der numerischen Berechnung stellt sich das Problem, dass der Differenzenquotient
f ( x n ) f ( x n 1 ) x n x n 1 {\displaystyle {\frac {f(x_{n})-f(x_{n-1})}{x_{n}-x_{n-1}}}}
mit zunehmender Annäherung an die Nullstelle durch Auslöschung der Ziffern in die Form 0/0 übergeht. Während das Verfahren selbst die Abschätzung für die Nullstelle immer weiter verbessern könnte, wird in der tatsächlichen Berechnung dieser Gewinn in der Nähe der Nullstelle durch zunehmende Rundungsfehler überkompensiert. Dadurch lässt sich auf Rechnern mit endlicher Stellenzahl prinzipiell mit dem Sekantenverfahren nicht die Genauigkeit des Newtonschen Verfahrens erreichen.

Vorteile des Verfahrens

Gegenüber dem Newtonschen Verfahren ergeben sich mehrere Vorteile:

  • Es müssen nur die Funktionswerte berechnet werden. Im Gegensatz zur Newton-Iteration können damit die Nullstellen jeder beliebigen, hinreichend glatten Funktion auch ohne Kenntnis oder Berechnung der Ableitungen berechnet werden.
  • Je Iterationsschritt muss nur der Funktionswert f ( x ) {\displaystyle f(x)} einmal berechnet werden. Beim Newtonverfahren muss zusätzlich auch noch der Funktionswert der Ableitung f ( x ) {\displaystyle f'(x)} bestimmt werden.
  • Durch die Vorgabe von zwei Startwerten lässt sich das Verfahren besser auf ein bestimmtes Intervall fokussieren, da die Richtung der Sekante durch die beiden Startwerte vorgegeben wird. Die Konvergenz kann dadurch allerdings nicht erzwungen werden.

Das Sekantenverfahren im Mehrdimensionalen

Analog zum mehrdimensionalen Newton-Verfahren kann man auch ein mehrdimensionales Sekantenverfahren definieren, um Nullstellen von Funktionen f : D R n R n {\displaystyle f\colon D\subset \mathbb {R} ^{n}\to \mathbb {R} ^{n}} zu bestimmen.

Wurde im Eindimensionalen die Ableitung durch den Differenzenquotient approximiert, so wird im Mehrdimensionalen die Jacobi-Matrix approximiert:

J ( x ) := f i x j = ( f 1 x 1 f 1 x 2 f 1 x n f 2 x 1 f 2 x 2 f 2 x n f n x 1 f n x 2 f n x n ) J ~ ( x , h ) = ( F ( x , h ) j k ) j , k { 1 , , n } {\displaystyle J(x):={\frac {\partial f_{i}}{\partial x_{j}}}={\begin{pmatrix}{\frac {\partial f_{1}}{\partial x_{1}}}&{\frac {\partial f_{1}}{\partial x_{2}}}&\ldots &{\frac {\partial f_{1}}{\partial x_{n}}}\\{\frac {\partial f_{2}}{\partial x_{1}}}&{\frac {\partial f_{2}}{\partial x_{2}}}&\ldots &{\frac {\partial f_{2}}{\partial x_{n}}}\\\vdots &\vdots &\ddots &\vdots \\{\frac {\partial f_{n}}{\partial x_{1}}}&{\frac {\partial f_{n}}{\partial x_{2}}}&\ldots &{\frac {\partial f_{n}}{\partial x_{n}}}\end{pmatrix}}\approx {\tilde {J}}(x,h)=(F(x,h)_{jk})_{j,k\in \{1,\dotsc ,n\}}} ,

wobei F ( x , h ) j k {\displaystyle F(x,h)_{jk}} zu einer gegebenen Schrittweitenmatrix h R n × n {\displaystyle h\in \mathbb {R} ^{n\times n}} definiert ist durch:

F ( x , h ) j k := { f j x k ( x ) , falls  h j k = 0 f j ( x + h j k e k ) f j ( x ) h j k , sonst {\displaystyle F(x,h)_{jk}:={\begin{cases}{\frac {\partial f_{j}}{\partial x_{k}(x)}},&{\text{falls }}h_{jk}=0\\{\frac {f_{j}(x+h_{jk}e_{k})-f_{j}(x)}{h_{jk}}},&{\text{sonst}}\end{cases}}} , sofern x , x + h j k e k D {\displaystyle x,x+h_{jk}e_{k}\in D} ist.

Nun ergibt sich analog zum Newtonverfahren folgende Iterationsvorschrift:

x n + 1 = x n ( J ~ ( x n , h ) ) 1 f ( x n ) {\displaystyle x_{n+1}=x_{n}-({\tilde {J}}(x_{n},h))^{-1}\cdot f(x_{n})}

Da das Lösen von

Δ x n := ( J ~ ( x n , h ) ) 1 f ( x n ) , {\displaystyle \Delta x_{n}:=({\tilde {J}}(x_{n},h))^{-1}f(x_{n})\;,}

über die Berechnung der Inversen einer Matrix und anschließender Multiplikation mit f ( x n ) {\displaystyle f(x_{n})} aufwändiger und numerisch ungünstiger ist, wird stattdessen das lineare Gleichungssystem

J ~ ( x n , h ) Δ x n = f ( x n ) {\displaystyle {\tilde {J}}(x_{n},h)\;\Delta x_{n}=f(x_{n})}

gelöst. Danach erhält man x n + 1 {\displaystyle x_{n+1}} aus:

x n + 1 = x n Δ x n . {\displaystyle x_{n+1}=x_{n}-\Delta x_{n}.}

Literatur

  • Martin Hanke-Bourgeois: Grundlagen der numerischen Mathematik und des wissenschaftlichen Rechnens. 1. Auflage. Teubner, Stuttgart 2002, ISBN 3-519-00356-2, Kapitel 18.2.
  • Martin Hermann: Numerische Mathematik, Band 1: Algebraische Probleme. 4., überarbeitete und erweiterte Auflage. Walter de Gruyter Verlag, Berlin und Boston 2020. ISBN 978-3-11-065665-7.
  • Erläuterung vom Mathe-Nexus
  • Kurzdarstellung