<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Kettenbruchmethode</id>
	<title>Kettenbruchmethode - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Kettenbruchmethode"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Kettenbruchmethode&amp;action=history"/>
	<updated>2026-06-03T21:42:02Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Kettenbruchmethode&amp;diff=450107&amp;oldid=prev</id>
		<title>imported&gt;Claude J: /* Literatur */</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Kettenbruchmethode&amp;diff=450107&amp;oldid=prev"/>
		<updated>2020-07-11T13:06:06Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Literatur&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Die &amp;#039;&amp;#039;&amp;#039;Kettenbruchmethode&amp;#039;&amp;#039;&amp;#039; (Abk.: &amp;#039;&amp;#039;&amp;#039;CFRAC&amp;#039;&amp;#039;&amp;#039;) berechnet zwei [[Teilbarkeit|Teiler]] einer [[Natürliche Zahl|natürlichen Zahl]], die keine [[Primzahl]] ist. Durch wiederholte Anwendung lässt sich so die [[Primfaktorzerlegung]] dieser Zahl ermitteln.&lt;br /&gt;
&lt;br /&gt;
Die Kettenbruchmethode wurde 1931 von [[Derrick Henry Lehmer]] und dem Mathematik-Liebhaber [[Ralph Ernest Powers]] veröffentlicht, der auch durch zahlentheoretische Rechenergebnisse bekannt ist. Über Jahrzehnte hinweg wurde sie kaum verwendet, da sie auf den zur Verfügung stehenden Rechenmaschinen häufig nach mehreren Stunden noch keine Faktorisierung fand. Im Jahr 1970 programmierten Michael Morrison und [[John Brillhart]] die Kettenbruchmethode auf einem [[Großrechner]] und berechneten damit die Faktorisierung der siebten [[Fermat-Zahl]]. In den achtziger Jahren war die Kettenbruchmethode das Standardverfahren für die Faktorisierung großer Zahlen. Das waren damals Zahlen mit bis zu fünfzig Dezimalstellen. 1990 wurde mit dem [[Quadratisches Sieb|quadratischen Sieb]] ein neuer Algorithmus vorgestellt, der die Nachfolge der Kettenbruchmethode antrat. Die [[Laufzeit (Informatik)|Laufzeit]] der Kettenbruchmethode in [[Landau-Symbole|O-Notation]] ist &amp;lt;math&amp;gt;O\left(e^{\sqrt{2\log N \log\log N}}\right)&amp;lt;/math&amp;gt;, wobei &amp;#039;&amp;#039;N&amp;#039;&amp;#039; die zu faktorisierende Zahl ist.&lt;br /&gt;
&lt;br /&gt;
== Funktionsweise ==&lt;br /&gt;
&lt;br /&gt;
Der Algorithmus sucht eine [[Kongruenz (Zahlentheorie)|Kongruenz]] der Form &amp;#039;&amp;#039;x&amp;#039;&amp;#039;&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;&amp;amp;nbsp;≡&amp;amp;nbsp;&amp;#039;&amp;#039;y&amp;#039;&amp;#039;&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;&amp;amp;nbsp;(mod&amp;amp;nbsp;&amp;#039;&amp;#039;N&amp;#039;&amp;#039;). Um diese zu finden, multipliziert er geeignete Kongruenzen der Form &amp;#039;&amp;#039;x&amp;#039;&amp;#039;&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; ≡ &amp;#039;&amp;#039;y&amp;#039;&amp;#039; (mod&amp;amp;nbsp;&amp;#039;&amp;#039;N&amp;#039;&amp;#039;). Solche Kongruenzen führen zu einer Faktorisierung von &amp;#039;&amp;#039;N&amp;#039;&amp;#039; (genauer beschrieben im Artikel [[Dixons Faktorisierungsmethode]].)&lt;br /&gt;
&lt;br /&gt;
Bei der Kettenbruchmethode nutzt man die Kettenbruchentwicklung von &amp;lt;math&amp;gt;\sqrt{N}&amp;lt;/math&amp;gt;, um solche Kongruenzen zu finden. Die Kettenbruchentwicklung liefert [[Kettenbruch#Beste Näherungen|beste Näherungen]] der Wurzel von &amp;#039;&amp;#039;N&amp;#039;&amp;#039; als Brüche der Form &amp;lt;math&amp;gt; \frac{p}{q} &amp;lt;/math&amp;gt;. Jede Näherung liefert eine Kongruenz &amp;#039;&amp;#039;x&amp;#039;&amp;#039;&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; ≡ &amp;#039;&amp;#039;y&amp;#039;&amp;#039; (mod&amp;amp;nbsp;&amp;#039;&amp;#039;N&amp;#039;&amp;#039;) für &amp;#039;&amp;#039;x&amp;#039;&amp;#039; = &amp;#039;&amp;#039;p&amp;#039;&amp;#039; und &amp;#039;&amp;#039;y&amp;#039;&amp;#039; = &amp;#039;&amp;#039;x&amp;#039;&amp;#039;&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; − &amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; · &amp;#039;&amp;#039;N.&amp;#039;&amp;#039; Da der Bruch eine beste Näherung für &amp;lt;math&amp;gt;\sqrt{N}&amp;lt;/math&amp;gt; ist, ist &amp;#039;&amp;#039;y&amp;#039;&amp;#039; klein und mit hoher Wahrscheinlichkeit [[glatte Zahl|glatt]] und man braucht nur wenige solcher Kongruenzen.&lt;br /&gt;
&lt;br /&gt;
== Algorithmus nach Morrison und Brillhart ==&lt;br /&gt;
&lt;br /&gt;
Die hier beschriebene Variante der Kettenbruchmethode entspricht derjenigen, die von Morrison und Brillhart in ihrem Aufsatz „A Method of Factoring and the Factorization of &amp;lt;math&amp;gt;F_7&amp;lt;/math&amp;gt;“ veröffentlicht wurde. Der [[Algorithmus]] besteht aus drei wesentlichen Schritten. Die zu faktorisierende Zahl wird im Weiteren mit &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt; bezeichnet.&lt;br /&gt;
&lt;br /&gt;
=== Schritt A ===&lt;br /&gt;
&lt;br /&gt;
Wähle eine natürliche Zahl &amp;lt;math&amp;gt;k \ge 1&amp;lt;/math&amp;gt; und berechne die [[Kettenbruch]]entwicklung von &amp;lt;math&amp;gt;\sqrt{kN}&amp;lt;/math&amp;gt;. Die Kettenbruchentwicklung kann an einer beliebigen Stelle &amp;lt;math&amp;gt;n-1&amp;lt;/math&amp;gt; abgebrochen werden, sodass man einen Kettenbruch der Form&lt;br /&gt;
:&amp;lt;math&amp;gt;[ q_0; q_1, q_2, \ldots, q_{n-1}, \frac{\sqrt{kN} + P_n}{Q_n}]&amp;lt;/math&amp;gt;&lt;br /&gt;
erhält. Man berechnet nun die Paare &amp;lt;math&amp;gt;(A_{i-1}, Q_i)&amp;lt;/math&amp;gt;, wobei &amp;lt;math&amp;gt;A_{i}&amp;lt;/math&amp;gt; der Zähler und &amp;lt;math&amp;gt;B_{i}&amp;lt;/math&amp;gt; der Nenner der &amp;lt;math&amp;gt;i&amp;lt;/math&amp;gt;-ten [[Kettenbruch#Endliche Kettenbrüche und ihre Näherungsbrüche|Konvergente]] sind und sich &amp;lt;math&amp;gt;Q_i&amp;lt;/math&amp;gt; nach der Formel&lt;br /&gt;
:&amp;lt;math&amp;gt;Q_i = (-1)^i \cdot (A_{i-1}^2 - kNB_{i-1}^2)&amp;lt;/math&amp;gt;&lt;br /&gt;
berechnet.&lt;br /&gt;
&lt;br /&gt;
=== Schritt B ===&lt;br /&gt;
&lt;br /&gt;
Aus den in Schritt A erzeugten &amp;lt;math&amp;gt;(A,Q)&amp;lt;/math&amp;gt;-Paaren werden diejenigen ausgewählt, bei denen alle Primfaktoren von &amp;lt;math&amp;gt;Q&amp;lt;/math&amp;gt; einer vorher festgelegten Faktorbasis entstammen. Die Faktorbasis enthält üblicherweise die Zahl −1 und alle Primzahlen, die Teiler von &amp;#039;&amp;#039;Q&amp;#039;&amp;#039; sein können, bis zu einer bestimmten Schranke. Man braucht nur die Primzahlen &amp;#039;&amp;#039;p&amp;#039;&amp;#039; mit &amp;lt;math&amp;gt;p=2&amp;lt;/math&amp;gt; oder &amp;lt;math&amp;gt; (kN)^{(p-1)/2} \, \bmod \; p \le 1 &amp;lt;/math&amp;gt; in die Faktorbasis aufzunehmen, denn &amp;#039;&amp;#039;Q&amp;#039;&amp;#039; kann nur durch diese &amp;#039;&amp;#039;p&amp;#039;&amp;#039; teilbar sein.&lt;br /&gt;
&lt;br /&gt;
Durch mehrfache [[Probedivision]] lässt sich feststellen, ob das jeweilige &amp;lt;math&amp;gt;Q&amp;lt;/math&amp;gt; ein Produkt von Zahlen aus der Faktorbasis ist, und nebenbei erhält man die Primfaktorzerlegung von &amp;lt;math&amp;gt;Q&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Mit den ausgewählten &amp;lt;math&amp;gt;(A,Q)&amp;lt;/math&amp;gt;-Paaren füllt man eine Tabelle. Diese Tabelle enthält eine Spalte für jede Zahl der Faktorbasis. In die Faktorbasisspalten wird die Zahl 1 eingetragen, wenn der jeweilige Faktor in der Primzahlzerlegung von &amp;lt;math&amp;gt;Q&amp;lt;/math&amp;gt; ungerade oft vorkommt. Andernfalls trägt man 0 ein. Der Tabelleneintrag für das Paar &amp;lt;math&amp;gt;(375, -220 = -1 \cdot 2^2 \cdot 5 \cdot 11)&amp;lt;/math&amp;gt; und die Faktorbasis &amp;lt;math&amp;gt;\{-1,2,3,5,7,11,13\}&amp;lt;/math&amp;gt; sieht beispielsweise wie folgt aus:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- class=&amp;quot;hintergrundfarbe5&amp;quot;&lt;br /&gt;
! !! −1 !! 2 !! 3 !! 5 !! 7 !! 11 !! 13&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;hintergrundfarbe5&amp;quot; | (375, −220) || 1 || 0 || 0 || 1 || 0 || 1 || 0&lt;br /&gt;
|}&lt;br /&gt;
Dann bestimmt man eine Auswahl von Tabellenzeilen, für die die Summe der Einträge in jeder Tabellenspalte gerade ist, sodass das Produkt der &amp;lt;math&amp;gt;Q&amp;lt;/math&amp;gt; der ausgewählten Zeilen jeden Faktor mit einer geraden Potenz enthält und somit eine Quadratzahl ist. Das ist sicher dann möglich, wenn die Zahl der Tabellenzeilen mindestens um eins größer ist als die Zahl der Faktoren in der Faktorbasis und damit der Tabellenspalten.&lt;br /&gt;
&lt;br /&gt;
=== Schritt C ===&lt;br /&gt;
&lt;br /&gt;
Man multipliziert die A aller Paare und die Q aller Paare der ausgewählten Tabellenzeilen. So erhält man die [[Legendre-Kongruenz]]&lt;br /&gt;
:&amp;lt;math&amp;gt;x^2 = \prod A^2 \equiv \prod Q = y^2\; ( \bmod \, N)&amp;lt;/math&amp;gt;.&lt;br /&gt;
Man berechnet dann &amp;lt;math&amp;gt;d_1 = \operatorname{ggT}(x - y, N)&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;d_2 = \operatorname{ggT}(x + y, N)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Wenn &amp;lt;math&amp;gt;x \not\equiv y \; ( \bmod \, N)&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;x \not\equiv -y \; ( \bmod \, N)&amp;lt;/math&amp;gt;, dann sind &amp;lt;math&amp;gt;d_1&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;d_2&amp;lt;/math&amp;gt; echte Teiler von &amp;#039;&amp;#039;N.&amp;#039;&amp;#039; Anderenfalls kann eine andere Auswahl von Tabellenzeilen erfolgreich sein. Ggfs. muss man noch weitere Zeilen berechnen.&lt;br /&gt;
&lt;br /&gt;
== Geschichte ==&lt;br /&gt;
&lt;br /&gt;
Der erste Schritt auf dem Weg zur Kettenbruchmethode war die 1643 von [[Pierre de Fermat]] beschriebene [[Faktorisierungsmethode von Fermat]]. Dieses Rechenverfahren findet zwei Quadratzahlen &amp;lt;math&amp;gt;x^2&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;y^2&amp;lt;/math&amp;gt;, sodass &amp;lt;math&amp;gt;x^2 - y^2 = N&amp;lt;/math&amp;gt; gilt. &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt; ist auch hier wieder die zu faktorisierende Zahl. Aufgrund der [[Binomische Formeln|3.&amp;amp;nbsp;Binomischen Formel]] gilt&lt;br /&gt;
:&amp;lt;math&amp;gt;N = x^2 - y^2 = (x+y)(x-y)&amp;lt;/math&amp;gt;&lt;br /&gt;
und &amp;lt;math&amp;gt;x + y&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;x - y&amp;lt;/math&amp;gt; sind deshalb Teiler von &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
1798 veröffentlichte [[Adrien-Marie Legendre]] sein Buch „Essai sur la théorie des nombres“. In diesem findet sich mit den &amp;#039;&amp;#039;Legendre-Kongruenzen&amp;#039;&amp;#039; eine Weiterentwicklung der Methode von Fermat. Die Differenz der Quadratzahlen &amp;lt;math&amp;gt;x^2&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;y^2&amp;lt;/math&amp;gt; muss nicht mehr gleich &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt; sein, sondern kann ein beliebiges Vielfaches von &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt; sein. Die Wurzeln &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; der Quadratzahlen müssen zudem drei Bedingungen erfüllen: &amp;lt;math&amp;gt;0 &amp;lt; x, y &amp;lt; N&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;x \ne y&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;x + y \ne N&amp;lt;/math&amp;gt;. Unter diesen Voraussetzungen ist &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt; ein Teiler von &amp;lt;math&amp;gt;x^2 - y^2 = (x+y)(x-y)&amp;lt;/math&amp;gt; und sowohl der größte gemeinsame Teiler &amp;lt;math&amp;gt;\operatorname{ggT}(N, x + y)&amp;lt;/math&amp;gt; als auch &amp;lt;math&amp;gt;\operatorname{ggT}(N, x - y)&amp;lt;/math&amp;gt; sind Faktoren von &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
&lt;br /&gt;
* [[Carl Pomerance]]: [http://www.ams.org/notices/199612/pomerance.pdf &amp;#039;&amp;#039;A Tale of Two Sieves.&amp;#039;&amp;#039;] (PDF; 275&amp;amp;nbsp;kB) In: &amp;#039;&amp;#039;Notices of the AMS.&amp;#039;&amp;#039; Bd. 43, Nr. 12, 1996, S. 1473–1485.&lt;br /&gt;
* [[Derrick Henry Lehmer|D. H. Lehmer]], R. E. Powers: &amp;#039;&amp;#039;On Factoring Large Numbers.&amp;#039;&amp;#039; In: &amp;#039;&amp;#039;Bulletin of the American Mathematical Society.&amp;#039;&amp;#039; Bd. 37, 1931, S. 770–776 ({{DOI|10.1090/S0002-9904-1931-05271-X}}).&lt;br /&gt;
* Michael A. Morrison, [[John Brillhart]]: &amp;#039;&amp;#039;A Method of Factoring and the Factorization of &amp;lt;math&amp;gt;F_7&amp;lt;/math&amp;gt;.&amp;#039;&amp;#039; In: &amp;#039;&amp;#039;Mathematics of Computation.&amp;#039;&amp;#039; Bd. 29, Nr. 129, 1975, S. 183–205 ({{DOI|10.2307/2005475}}).&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Faktorbasisverfahren]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Claude J</name></author>
	</entry>
</feed>