Heron-Verfahren

Näherung zum Berechnen der Quadratwurzel
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 14. März 2006 um 17:43 Uhr durch PeterFrankfurt (Diskussion | Beiträge) (Implementierung in Software). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Das Babylonische Wurzelziehen (oft auch Heron-Verfahren) ist ein alter iterativer Algorithmus zur Bestimmung einer rationalen Näherung der Quadratwurzel einer Zahl. Es ist ein Spezialfall des Newton-Verfahrens.

Die Iterationsvorschrift lautet:

.

Hierbei steht für die Zahl, deren Quadratwurzel bestimmt werden soll. Der Startwert der Iteration kann, solange er nicht gleich Null ist, beliebig festgesetzt werden, wobei zu beachten ist, dass negative Werte gegen die negative Quadratwurzel konvergieren.


Triviales Beispiel

Im Folgenden ein triviales Beispiel für die Wurzel aus 9 und die Annäherung nach vier Berechnungsschritten an den wahren Wert  :

  und  
 
 
 
 

Geometrische Veranschaulichung des Heron-Verfahrens

Der Flächeninhalt eines Quadrates kann über das Quadrat der Länge seiner Seiten berechnet werden. Die Bestimmung der Quadratwurzel einer gegebenen Zahl   kann also geometrisch gedeutet werden als Bestimmung der Seitenlänge (genauer: als rationale Näherung zu  ) eines Quadrates mit dem Flächeninhalt  .

Die Idee ist nun, von einem Rechteck des Flächeninhaltes   auszugehen und die Seitenlängen einem Quadrat immer weiter anzunähern.

Dazu wird ein Startwert gewählt, im obigen Fall gilt   und als Startwert wurde   gewählt. Geometrisch bedeutet dieses, dass von einem Rechteck der Seitenlänge   ausgegangen wird. Die andere Seitenlänge dieses Rechtecks ergibt sich aus dem vorgegebenen Flächeninhalt:  

Bei der Betrachtung ist unmittelbar ersichtlich, dass es eine geeignetere Näherung an ein Quadrat gibt, denn die eine Seitenlänge   ist zu klein, die andere mit   zu groß.

Um eine verbesserte Annäherung an die Länge einer Quadratseite zu erhalten, kann das arithmetische Mittel der Seitenlängen   und   dienen (Hier gibt es eine ganze Reihe von Möglichkeiten, das Verfahren zu verfeinern.):

 

Die Länge der zweiten Seite dieses neuen Näherungs-Rechtecks ergibt sich wieder durch den vorgegebenen Flächeninhalt  :

 

Die Werte   und   sind geometrisch gedeutet die Seitenlängen eines zweiten Näherungs-Rechtecks. Dieses und die folgenden Rechtecke lassen sich nun weiter verbessern durch erneute Bildung des arithmetischen Mittelwertes als verbesserte Näherung an die Seitenlänge eines Quadrates mit der Seitenlänge  .

Konvergenz

Das Verfahren konvergiert relativ rasch innerhalb weniger Schritte. Da es sich aus dem Newtonschen Näherungsverfahren ableiten lässt, ist die Konvergenzordnung 2.
Es gelten:
 
und
 

Fehler

Für den Fehler der Heron-Folge   gilt:
  (Einschließung), sowie
  (quadratische Konvergenz)


Implementierung in Software

Das Verfahren eignet sich besonders gut zur Implementierung in Software, wird heute angesichts der breiten Verfügbarkeit numerischer Prozessorhardware aber nur noch selten benötigt. Man kommt dabei nur mit Grundrechenarten aus, s. o.

Wenn dazu noch eine Gleitkommadarstellung mit einem Zweier-Exponenten benutzt wird, wird der Ansatz relativ einfach:

  • Zunächst spaltet man vom Exponenten eine gerade Anzahl ab, so dass als Exponent entweder eine 0 oder 1 übrigbleibt, die Zahl also auf das Intervall { ½ , 2 } normalisiert wird. In diesem Intervall ist die Wurzelfunktion eine nur schwach gekrümmte Kurve, lässt sich also numerisch gut behandeln.
  • Als Startwert für die eigentliche Iteration gibt es mehrere Möglichkeiten, diese Kurve durch eine noch einfachere zu approximieren. Mit den komplizierteren Ansätzen lässt sich ggf. ein Iterationsschritt einsparen:
    • eine einfache Konstante (z. B. 1);
    • eine Gerade mit Steigung 1/2 und einer additiven Konstante von   ;
    • eine Gerade mit optimierter Steigung und einer additiven Konstante.
  • Ausgehend von dem so ermittelten Startwert führt man eine feste Anzahl von Iterationsschritten durch. Die nötige Anzahl, um die gewünschte Genauigkeit zu erreichen, lässt sich dank der obigen Fehlerabschätzung als Worst Case innerhalb des Startintervalls direkt ausrechnen. Bei 32 Bits Mantisse und dem mittleren Startansatz braucht man z. B. nur drei Schritte. Diese fest gewählte Anzahl erspart wesentlich aufwendigere Abfragen auf Erreichung der Genauigkeit. Der Ersatz der genannten Konstanten durch die Zahl 1,0 ändert daran nichts. Auch der noch kompliziertere Ansatz brächte zumindest bei dieser Genauigkeit keine Einsparung eines weiteren Iterationsschritts. Bei höheren Genauigkeitsanforderungen kann das anders aussehen.
  • Zum Schluss muss man den Exponenten restaurieren, indem man die Hälfte des im ersten Schritt abgespalteten Werts wieder hinzufügt.

Geschichte

Dieses Verfahren ist auch unter dem Namen Heron-Verfahren bekannt. Es wurde nach Heron von Alexandria benannt und entstammt seiner Formelsammlung.