Crible de Sundaram

{{#ifeq:||Un article de Ziki, l'encyclopédie libre.|Une page de Ziki, l'encyclopédie libre.}}
Révision datée du 12 février 2023 à 08:34 par >Olinone (style de l'introduction)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)

Le crible de Sundaram permet de lister les entiers naturels impairs composés grâce à des suites arithmétiques placées en colonnes. Son intérêt est qu'on peut en déduire, par passage au complémentaire, l'ensemble des nombres premiers.

S. P. Sundaram était un mathématicien indien originaire de la ville de Sathyamangalan dans l'état du Tamil Nadu. La méthode et le tableau qu'il publia en 1934<ref>Modèle:Article.</ref>,<ref>Modèle:Article.</ref> donnaient toutes les valeurs <math>n</math> telles que <math>2n + 1</math> ne soit pas premier. Une méthode algorithmique de cette approche offre directement les valeurs des nombres premiers impairs.

Tableau de Sundaram

Le tableau de Sundaram est constitué comme un tableau où la colonne numéro <math>n</math> a pour premier terme <math>(2n + 1)^2</math> et pour raison <math>2*(2n + 1)</math>. Chaque colonne commence donc par le carré d'un nombre impair, et tous les carrés de nombres impairs commencent une colonne<ref>Modèle:Ouvrage</ref>.

Chaque colonne comprend tous les multiples impairs du nombre impair <math>(2n+1)</math> dont le carré commence la colonne. En effet pour qu'un nombre soit dans cette colonne, il faut et il suffit qu'il soit de la forme: <math>(2n+1)*(2n+1)+k*(4n+2)</math>, soit <math>(2n+1)*(2n+2k+1)</math> ce qui définit, en faisant varier k, tous les multiples impairs de <math>(2n+1)</math><ref>Un même nombre peut apparaitre plusieurs fois dans le résultat du crible. Par exemple 45=9*5 apparait dans les colonnes commençant par 9 et 25.</ref>.

Par construction, le tableau ne contient que des nombres impairs composés, et il les contient tous car tout nombre composé impair s'écrit <math>(2n + 1)*(2m + 1)</math> avec <math>n < m + 1</math>, et figure au moins dans la colonne <math>n</math>.

Le tableau ci-dessous donne les premières lignes et colonnes construites par cette méthode:

9
15 25
21 35 49
27 45 63 81
33 55 77 99 121
39 65 91 117 143 169
45 75 105 135 165 195 225
51 85 119 153 187 221 255 289
57 95 133 171 209 247 285 323 361
63 105 147 189 231 273 315 357 399 441
69 115 161 207 253 299 345 391 437 483 529
... ... ... ... ... ... ... ... ... ... ... ...

Pour savoir si un nombre impair est premier, il suffit de vérifier s'il est dans le tableau (auquel cas ce nombre n'est pas premier), ou s'il n'y est pas (auquel cas il est premier).

Algorithme

Fichier:Sieve of Sundaram Animated.gif
Animation de l'usage du crible de Sundaram pour les nombres premiers entre 3 et 200

L'algorithme du crible de Sundaram commence en listant tous les nombres de 1 à n dans un tableau puis d'éliminer tous ceux de la forme <math>i + j + 2ij</math>, tels que <math>i + j + 2ij < n</math>. Les nombres restants sont doublés puis incrémentés. La liste résultante présente alors tous les nombres premiers allant de 3 à <math>2n + 1</math><ref name=gv>Modèle:Lien web</ref>,<ref>Modèle:Lien web</ref>.

Il a été vérifié par D. Abdullah et al en 2018 que l'algorithme du crible de Sundaram est plus lent que l'algorithme du crible d'Ératosthène<ref> Modèle:Article. </ref>.

Justification

Excepté 2, tous les nombres premiers sont impairs. On prend alors q, un nombre premier impair de la forme <math>q = 2k + 1</math>. Si <math>k</math> vérifie la condition du crible (<math>k = i+j+2ij</math>), alors

<math>q = 2*(i + j + 2ij) + 1</math>
<math>q = 2i + 2j + 4ij + 1</math>
<math>q = 2i*(1 + 2j) + 1 + 2j</math>
<math>q = (2i + 1)*(2j + 1)</math>

Ainsi, <math>q</math> n'est pas un nombre premier. Les nombres subsistants sont alors des nombres premiers<ref name=gv/>.

Notes et références

Modèle:Références

Articles connexes

Modèle:Portail