Test de primalité

Bonjour chers amis des mathématiques !

Je fais appel à l'intelligence collective du forum, certains que beaucoup d'entre vous sont plus callés que moi.

Après avoir travaillé un certain temps (...) sur les nombres premiers, j'en suis venu aux conclusions suivante que je vais m'efforcer de détailler point par point. Les résultats que j'expose ici ne sont que des exemples, mais s'efforcent de former les bribes d'une théorie plus générale.

Désolé si l'énoncé est parfois (très) mal senti, je ne suis pas du tout mathématicien de formation (et bien loin de l'être). Je compte sur vous pour m'aider à améliorer tout ça, si possible !

Petite précision, quand je parle de test de primalité par division, on considère évidemment qu'un nombre est premier si le reste de la division euclidienne est non nul (à part pour lui-même et pour 1 comme diviseur).

___________________

1) x, où x est un nombre premier, ne devient le seul diviseur d'un nombre qu'à x². Autrement dit x ne construit aucun nombre entier avant x².

2) Les nombres premiers < x suffisent donc à construire tout les nombres entiers (donc à tester la primalité par division de tout les nombres) jusqu'à x²-1 inclus.

3) On affirme donc que les nombres premiers [1, 100] suffisent à construire tout les nombres entiers jusqu'à x²-1, où x est le nombre premier suivant 100.

x² -1 = 101²-1 = 10200

Les nombres premiers [1, 100] suffisent donc à construire tout les nombres entiers jusqu'à 10200 / à tester la primalité de tout les nombres jusqu'à 10200.

Une formulation simplifiée ne nécessitant pas la connaissance de x² peut consister à dire que les nombres premiers [1, 100] suffisent à construire tout les nombres entiers jusqu'à 100², étant donné que 100² < x²-1, où x est le nombre premier suivant 100.

4) Ces constatations faîtes, on peut établir systématiquement le test de primalité suivant. On considère une suite de nombre premier, par exemple [1, 10], à savoir :

2, 3, 5, 7

Pour l'exemple, on prend 5 comme point de départ du test de primalité par division.

On sait que les nombres premiers [1, 5], donc 2,3,5, permettent de tester la primalité de tout les nombres jusqu'à x²-1, où x est le nombre premier suivant 5.

x²-1 = 49²-1 = 48

Les nombres premiers [1, 5] permettent donc de tester la primalité de tout les nombres jusqu'à 48 inclus.

Très simplement, à partir de là, on inclut un nombre premier dans le test de primalité dès qu'il s'agit de tester son carré.

2,3,5,7 permettent de tester tout les nombres jusqu'à x²-1, où x est le nombre premier suivant...


____________________

Merci d'avoir pris le temps de lire mon énoncé. Je m'excuse d'avance si c'est trivial car déjà prouvé, j'avoue que je n'ai pas (encore) avalé toute la littérature scientifique sur les nombres premiers. Je trouve en tout cas cette théorie très charmante... Jusqu'à aussi loin que mes vérifications sont allées, elle n'a pour l'instant montré aucune erreur.

Arckz

PS : peut-être que j'écrirai sous peu un programme "test de primalité" sur ce modèle, j'utilise pour le moment un crible évolutif, où l'on ne commence à tracer les multiples d'un nombre premier qu'à partir de son carré.

Réponses

  • Mmh, je comprends que tu es en train de réinventer le crible d'Erathosthène :72232
  • Bonjour.

    Rien de bien nouveau dans ce que tu dis, connu depuis 2200 ans (crible d’Ératosthène).
    Et la preuve qu'un petit nombre est premier se fait très facilement. La question utile est de savoir si un nombre comme 2584558744425986633254693254148589452258111 est premier ou non.

    Cordialement.
  • Effectivement, mais le crible d'Erastothène n'est pas évolutif. En l'occurence, je pense avoir prouvé qu'un nombre premier n'est nécessaire au crible d'Erastothène qu'à partir de son carré -1.

    Ex : 11 ne sert au crible d'Erastothène qu'à partir de 11²-1 = 120. 7 à partir de 7²-1= 48. Etc.

    Cela semble trivial sur de petits chiffres, pas sur de gros chiffres ça ne l'est pas du tout. Avec les 25 nombres premiers [1, 100] on peut ainsi tester la primalité jusqu'à 10200.

    Mais peut-être que je réinvente le crible d'Erastothène hah ! Ai-je tort dans mon raisonnement ? Si oui pourquoi ?
  • En prenant les nombres premiers < à la racine carré de 2584558744425986633254693254148589452258111 on peut tester sa primalité, d'après ce théorème.

    Evidemment, c'est sur des nombres aussi importants que l'écriture d'un programme n'utilisant un nombre premier x comme diviseur possible qu'à partir de x²-1 serait utile. A la main c'est strictement incalculable.

    Si vous préférez, ce que je propose c'est un crible d'Erastothène réduit à son strict minimum. D'ailleurs les résultats du crible évolutif que l'on met en place, en ne traçant les multiples d'un nombre premier qu'à partir de son carré ne ressemblent pas du tout à ceux d'Erastothène (à part que on obtient les mêmes NP, évidemment). Plus on va vers des grands chiffres plus cette méthode s'avère au combien plus simple que le crible d'Erastothène.

    Je n'en ai pas trouvé jusqu'à maintenant sur ce modèle, après j'ai peut être tort ?
  • Tu remarqueras que le premier nombre barré pour 2 est 4, que le premier barré pour 3 est 9, que le premier barré pour 5 est 25, que le premier barré pour 7 est 49 etc.
    Tu n'as pas tort, simplement c'est bien connu et ça ne fournit pas un test de primalité efficace pour les gros nombres.
  • Merci GaBuZoMeu, j'avais simplement mal compris le fonctionnement crible d'Erastothène effectivement !

    Si tu savais le temps que ça m'a mis avant de trouver cela... Ahah mince, j'ai 2300 ans de retard.

    Merci encore :D
  • Il vaut mieux être en retard sur une bonne idée qu'en avance sur une connerie. ;-)
  • Ahah c'est sûr.

    Je reviendrais shtamer, en espérant tout de même que la prochaine fois j'aurais quelques siècles de retard en moins ! (:D

    Merci encore, car tu m'as fais gagner un temps précieux (en me permettant de ne pas en perdre plus x))
  • Bonjour,

    profitant du sujet: le crible est-il la méthode pour produire des grands nombres premiers???

    (je préciserai la question ultérieurement)

    Amicalement,

    F.D.
  • @FrançoisD : pour obtenir les nombres premiers inférieurs à $N$ il faut essentiellement effectuer le crible jusqu'à $N^{1/2}$, ce n'est pas du tout efficace si $N$ est très grand. (exponentiel en la taille de $N$)
  • Merci,
    ça me conforte dans l’idée qu'un certain Monsieur m'a bien pris en grippe et a essayé de me coller à l'agreg avec une ânerie...

    (il m'a demandé "connaissez-vous la méthode pour produire les grands nombres premiers?"
    "ben oui, Mersenne, Lucas-Lehmer... voyez c'est dans ma leçon..."

    après moult discussions, il attendait le crible :-/ )

    Je ne cite pas son nom, ça fait 16 ans et je vais encore passer pour un gros rancunier lol

    Merci en tout cas et amusez-vous bien dans vos chasses aux premiers (au fait M50 est arrivé en décembre 2017)

    Amicalement,

    F.D.
Connectez-vous ou Inscrivez-vous pour répondre.