Algorithmensammlung: Zahlentheorie: Goldener Schnitt

Algorithmensammlung: Zahlentheorie

Definition des Goldenen Schnittes

Gesucht werden zwei Zahlen für die folgende Gleichung gilt:

Das Verhältnis der beiden Zahlen ist der  Goldene Schnitt. Das Verhältnis beider Zahlen ist ein konstanter Wert, der ungefähr 1,6 beträgt. Die größere Zahl ist etwa 1,6 mal so groß wie die kleinere Zahl.

Durch Umformung und Einsetzen von erhält man

.

Damit ist

.

Die Goldene Zahl kann also als positive Lösung dieser quadratische Gleichung angesehen werden:

.

Der  Goldene Schnitt hat einige besondere Eigenschaften und findet sich beispielsweise im gleichseitigen  Fünfeck.

Konstruktion des Fünfecks mit dem Goldenen Schnitt


Zur Berechnung kann das Newtonverfahren auf die obengenannte quadratische Gleichung angewandt werden, bis die gewünschte Genauigkeit erreicht ist:

; dabei wird als Startwert ein Schätzwert genommen, z.B. .

Pseudocode:

x = 1.6
while |x^2 - x - 1| > 1e-10
    x = x - (x^2 - x - 1)/(2*x - 1)


# Getestet unter Python 3.6, sollte aber unter allen 3.x-Versionen laufen

# Berechnung der goldenen Zahl mit dem Newtonverfahren 
def golden_ratio(epsilon=1e-10):
    x = 1.6
    y = 1
    while abs(y) > epsilon:
        y = (x**2 - x - 1)/(2*x - 1)
        x -= y
    return x