<?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=Sieb_von_Atkin</id>
	<title>Sieb von Atkin - 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=Sieb_von_Atkin"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Sieb_von_Atkin&amp;action=history"/>
	<updated>2026-06-12T16:28:40Z</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=Sieb_von_Atkin&amp;diff=661605&amp;oldid=prev</id>
		<title>109.192.137.31: keine ist hier als Singular zu  verstehen, also ist statt sind.</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Sieb_von_Atkin&amp;diff=661605&amp;oldid=prev"/>
		<updated>2025-05-19T20:48:02Z</updated>

		<summary type="html">&lt;p&gt;keine ist hier als Singular zu  verstehen, also ist statt sind.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Das &amp;#039;&amp;#039;&amp;#039;Sieb von Atkin&amp;#039;&amp;#039;&amp;#039; ist ein schneller, moderner [[Algorithmus]] zur Bestimmung aller [[Primzahl|Primzahlen]] bis zu einer vorgegebenen Grenze. Es ist eine optimierte Version des antiken [[Sieb des Eratosthenes]]: Das Atkinsieb leistet einige Vorarbeit und streicht dann alle Vielfachen von Primzahlquadraten. Es wurde von [[A.&amp;amp;nbsp;O.&amp;amp;nbsp;L. Atkin]] und [[Daniel J. Bernstein]] entwickelt.&lt;br /&gt;
&lt;br /&gt;
== Algorithmus ==&lt;br /&gt;
* Alle Reste sind [[Modulo]]-60-Reste (der [[Division mit Rest|Rest]] nach einer Division durch 60 wird betrachtet).&lt;br /&gt;
* Alle Zahlen, auch &amp;#039;&amp;#039;x&amp;#039;&amp;#039; und &amp;#039;&amp;#039;y&amp;#039;&amp;#039;, sind positive ganze Zahlen.&lt;br /&gt;
* Im Folgenden bedeutet &amp;#039;&amp;#039;Invertieren&amp;#039;&amp;#039; eines Eintrags der Siebliste, dass dessen Markierung (prim oder nicht prim) zum Gegenteil gewechselt wird.&lt;br /&gt;
# Erstelle eine mit 2, 3 und 5 gefüllte Ergebnisliste.&lt;br /&gt;
# Erstelle eine Siebliste mit einem Eintrag für jede positive ganze Zahl; alle Einträge dieser Liste werden am Anfang als nicht prim markiert.&lt;br /&gt;
# Für jeden Eintrag &amp;#039;&amp;#039;n&amp;#039;&amp;#039; in der Siebliste führe folgendes aus:&lt;br /&gt;
#* Falls der Eintrag eine Zahl mit Rest 1, 13, 17, 29, 37, 41, 49 oder 53 enthält, invertiere ihn für jede mögliche Lösung der Gleichung: &amp;amp;nbsp; 4&amp;#039;&amp;#039;x&amp;#039;&amp;#039;²&amp;amp;nbsp;+&amp;amp;nbsp;&amp;#039;&amp;#039;y&amp;#039;&amp;#039;²&amp;amp;nbsp;=&amp;amp;nbsp;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;.&lt;br /&gt;
#* Falls der Eintrag eine Zahl mit Rest 7, 19, 31 oder 43 enthält, invertiere ihn für jede mögliche Lösung der Gleichung: &amp;amp;nbsp; 3&amp;#039;&amp;#039;x&amp;#039;&amp;#039;²&amp;amp;nbsp;+&amp;amp;nbsp;&amp;#039;&amp;#039;y&amp;#039;&amp;#039;²&amp;amp;nbsp;=&amp;amp;nbsp;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;.&lt;br /&gt;
#* Falls der Eintrag eine Zahl mit Rest 11, 23, 47 oder 59 enthält, invertiere ihn für jede mögliche Lösung der Gleichung: &amp;amp;nbsp;  3&amp;#039;&amp;#039;x&amp;#039;&amp;#039;²&amp;amp;nbsp;−&amp;amp;nbsp;&amp;#039;&amp;#039;y&amp;#039;&amp;#039;²&amp;amp;nbsp;=&amp;amp;nbsp;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;, wobei &amp;amp;nbsp; &amp;#039;&amp;#039;x&amp;#039;&amp;#039;&amp;amp;nbsp;&amp;gt;&amp;amp;nbsp;&amp;#039;&amp;#039;y&amp;#039;&amp;#039;.&lt;br /&gt;
# Beginne mit der niedrigsten Zahl in der Siebliste.&lt;br /&gt;
# Nimm die nächste Zahl in der Siebliste, die immer noch als prim markiert ist.&lt;br /&gt;
# Füge die Zahl in die Ergebnisliste ein.&lt;br /&gt;
# Quadriere die Zahl und markiere alle Vielfachen von diesem Quadrat als nicht prim.&lt;br /&gt;
# Wiederhole die Schritte 5 bis 8.&lt;br /&gt;
&lt;br /&gt;
== Erklärung ==&lt;br /&gt;
Der Algorithmus ignoriert alle Zahlen, die durch zwei, drei oder fünf teilbar sind.&lt;br /&gt;
* Alle Zahlen mit Modulo 60 Rest 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56 oder 58 sind teilbar durch zwei und nicht prim.&lt;br /&gt;
* Alle Zahlen mit Modulo 60 Rest 3, 9, 15, 21, 27, 33, 39, 45, 51 oder 57 sind teilbar durch drei und nicht prim.&lt;br /&gt;
* Alle Zahlen mit Modulo 60 Rest 5, 25, 35 oder 55 sind teilbar durch 5 und nicht prim. Diese Reste werden alle ignoriert.&lt;br /&gt;
* Alle Zahlen mit Modulo 60 Rest 1, 13, 17, 29, 37, 41, 49 oder 53 haben einen Modulo 4 Rest von&amp;amp;nbsp;1. Diese Zahlen sind genau dann prim, wenn die Anzahl an Lösungen für &amp;amp;nbsp; 4&amp;#039;&amp;#039;x&amp;#039;&amp;#039;²&amp;amp;nbsp;+&amp;amp;nbsp;&amp;#039;&amp;#039;y&amp;#039;&amp;#039;²&amp;amp;nbsp;=&amp;amp;nbsp;&amp;#039;&amp;#039;n&amp;#039;&amp;#039; &amp;amp;nbsp; ungerade ist und die Zahl [[quadratfrei]] ist.&lt;br /&gt;
* Alle Zahlen mit Modulo 60 Rest 7, 19, 31 oder 43 haben einen Modulo 6 Rest von 1. Diese Zahlen sind genau dann prim, wenn die Anzahl an Lösungen für &amp;amp;nbsp; 3&amp;#039;&amp;#039;x&amp;#039;&amp;#039;²&amp;amp;nbsp;+&amp;amp;nbsp;&amp;#039;&amp;#039;y&amp;#039;&amp;#039;²&amp;amp;nbsp;=&amp;amp;nbsp;&amp;#039;&amp;#039;n&amp;#039;&amp;#039; &amp;amp;nbsp; ungerade ist und die Zahl [[quadratfrei]] ist.&lt;br /&gt;
* Alle Zahlen mit Modulo 60 Rest 11, 23, 47 oder 59 haben einen Modulo 12 Rest von&amp;amp;nbsp;11. Diese Zahlen sind genau dann prim, wenn die Anzahl an Lösungen für &amp;amp;nbsp; 3&amp;#039;&amp;#039;x&amp;#039;&amp;#039;²&amp;amp;nbsp;−&amp;amp;nbsp;&amp;#039;&amp;#039;y&amp;#039;&amp;#039;²&amp;amp;nbsp;=&amp;amp;nbsp;&amp;#039;&amp;#039;n&amp;#039;&amp;#039; &amp;amp;nbsp; ungerade ist und die Zahl [[quadratfrei]] ist.&lt;br /&gt;
* Keine der potentiellen Primzahlen ist teilbar durch 2, 3 oder 5, also können sie nicht durch ihre Quadrate teilbar sein. Deshalb wird die Quadratfreiheit nicht bei 2², 3², und 5² überprüft.&lt;br /&gt;
&lt;br /&gt;
== Komplexität ==&lt;br /&gt;
Das Sieb von Atkin hat eine Laufzeitkomplexität von &amp;lt;math&amp;gt;\mathcal{O}\left(N\right)&amp;lt;/math&amp;gt; und einen  Speicherbedarf von &amp;lt;math&amp;gt;\mathcal{O}\left(N\right)&amp;lt;/math&amp;gt; Bits.&lt;br /&gt;
&lt;br /&gt;
Zum  Vergleich: Das [[Sieb des Eratosthenes]] hat eine Laufzeitkomplexität von &amp;lt;math&amp;gt;\mathcal{O}(N\log \log N)&amp;lt;/math&amp;gt; und benötigt &amp;lt;math&amp;gt;\mathcal{O}\left(N \right)&amp;lt;/math&amp;gt; Bits.&lt;br /&gt;
&lt;br /&gt;
Dabei ist&lt;br /&gt;
&amp;lt;math&amp;gt;\mathcal{O}&amp;lt;/math&amp;gt; das [[Landau-Symbol]] und &lt;br /&gt;
&amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt; die Anzahl der zu untersuchenden Zahlen.&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
* A. O. L. Atkin, D. J. Bernstein, [http://cr.yp.to/papers/primesieves-19990826.pdf &amp;#039;&amp;#039;Prime sieves using binary quadratic forms&amp;#039;&amp;#039;] (PDF; 185&amp;amp;nbsp;kB), (1999).&lt;br /&gt;
* A. O. L. Atkin, D. J. Bernstein, [http://www.ams.org/mcom/2004-73-246/S0025-5718-03-01501-1/S0025-5718-03-01501-1.pdf &amp;#039;&amp;#039;Prime sieves using binary quadratic forms&amp;#039;&amp;#039;] (PDF; 170&amp;amp;nbsp;kB), Math. Comp. 73 (2004), 1023–1030.&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [http://cr.yp.to/primegen.html Optimierte Implementierung des Siebes]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Primzahl]]&lt;br /&gt;
[[Kategorie:Zahlentheoretischer Algorithmus]]&lt;/div&gt;</summary>
		<author><name>109.192.137.31</name></author>
	</entry>
</feed>