Bibm@th

Forum de mathématiques - Bibm@th.net

Bienvenue dans les forums du site BibM@th, des forums où on dit Bonjour (Bonsoir), Merci, S'il vous plaît...

Vous n'êtes pas identifié(e).

#651 Re : Programmation » crible en python » 22-01-2018 09:08:34

LEG
yoshi a écrit :

Salut,

Ce qui m'avait faut sursauter et à quoi visiblement tu n'as pas prêté attention, c'était ça :
> Avec eratostene: On compte 18 nombres premiers entre 1 et 1000
> Avec eratostene: On compte 0 nombres premiers entre 1000 et 2000
> Avec goldbach: On compte 135 nombres premiers entre 1000 et 2000

le but ce n'est pas d'extraire les nombres premiers de 1 à n avec Eratosthène, ni même de savoir combien qu'il y en a de n à 2n avec eratostene, c'est le crible _G qui compte

Pourtant,
avec ta fonction eratostene, voilà la liste premiers fournie :
@+

Re
je vois que tu n'as pas saisi le but du programme . On a besoin d'Eratosthène pour faire fonctionner crible_G ou crible_mod 30, afin qu'Eratosthène extrait les nombres premiers [tex]P_i\leqslant\sqrt{2n}[/tex]

crible_G marque les entiers de 1 à n qui sont [tex]\equiv {2n}[P_i][/tex] ce qui ensuite donne le nombre de premiers  [tex]q [n ; 2n] [/tex] . d'où, 135 entiers [tex]e\equiv{2000}[P_i][/tex] [tex]= 135[/tex] premiers [tex]q [1000 ; 2000][/tex].

Donc on calcul les restes R de 2n par les  [tex]P_i[/tex] , ensuite on part de R et on marque les entiers tous les  [tex]P_i [/tex] nombres jusqu'à la lim n , donc avec chaque couple  [tex]R + P_i [/tex].

le but d'eratosthene est d'extraire ces  [tex]P_i [/tex] pour faire fonctionner le programme crible_G ou mod30 ce que tu as dans la deuxième partie du programme à partir de la ligne 53
:


def crible_G(n):
  nombres = n*[1]
  nombres[0] = 0
  p = eratostene(math.sqrt(2*n))
  lenp = len(p)
  r = []
  for i in range(lenp):
 

j'ai bien vue ce que tu m'indiques:

> Avec eratostene: On compte 18 nombres premiers entre 1 et 1000
> Avec eratostene: On compte 0 nombres premiers entre 1000 et 2000
> Avec goldbach: On compte 135 nombres premiers entre 1000 et 2000

Mais est ce que tu as extrait les 135 premiers de 1000 à 2000 en utilisant crible_G , car si c'est le cas c'est ce que je veux effectivement, mais les 18 premiers extrait par Eratosthène, ne sont pas les [tex]P_i\leqslant\sqrt{1000}[/tex] ni les [tex]P_i\leqslant\sqrt{2000}[/tex], ce qui n'est pas pareille....! car on a 11 [tex]P_i\leqslant\sqrt{1000}[/tex]; et 14[tex]P_i\leqslant\sqrt{2000}[/tex].

#652 Re : Programmation » crible en python » 21-01-2018 20:59:31

LEG

Heureusement que je viens de vérifier avec l'algo nb premier , il y a bien 29130002 premiers de n à 2n donc la ligne 4 n=int((2*n)**0.5) génère une erreur dans les deux crible,G et mod 30....A+

#653 Re : Programmation » crible en python » 21-01-2018 20:27:26

LEG

Bonsoir Yoshi et merci, je pense que cette ligne et bonne , et je ne touche pas au reste ...si tu as une autre idée...passe une bonne soirée...

#654 Re : Programmation » crible en python » 21-01-2018 20:15:28

LEG

il met un peu plus de 4' mais en plus il ne trouve pas le même nombre de premiers de n à 2n il en trouve 29 130 002.....???? il y a un hic.
dans cette version ....

je vais remettre ta ligne 4 :n=int((2*n)**0.5)

#655 Re : Programmation » crible en python » 21-01-2018 19:54:39

LEG

voila le test jusqu'à n= 600 000 000 mais avec cribl_mod 30:
crible _g: temps mis en secondes :
initialisation: 1",67
criblage des entiers de 1 à n : 213".89
extraction des premiers de n à 2n : 30",15
il y en a : 29 130 002

crible_mod30
initialisation: 7".39
famille de chaque Pi :187",85 ('c'est la recherche et la position de départ des restes R et leur Pi, par famille)
criblage des 8 familles de 1 à n : 34",71
extraction des premiers de n à 2n : 15",83
il y en a : 29 130 002

maintenant je fais le test avec Crible _G uniquement  en espérant qu'eratosthène ne va pas cribler au dela de Sqrt de 2n...
donc je vais voir combien de temps il met..
a tout de suite

#656 Re : Programmation » crible en python » 21-01-2018 19:30:01

LEG
yoshi a écrit :

Salut,

Non, je n'ai pas compris grand chose, je vais devoir prendre un exemple et le faire à la main...

Tu constates qu'il y a un gros souci si on limite les calculs à [tex] E(\sqrt{2n})[/tex]...
J'ai testé avec ma version eratosthene (sans oublier le h cette fois) : même souci...

Réfléchis donc à ce problème : je t'ai fourni les listes de premiers dans les deux cas fournies soir par eratostene original soit par eratosthene (ma version) : ce sont strictement les mêmes listes...

@+

Non il n'y a pas de souci je pense que l'on ne c'est pas compris.

le but ce n'est pas d'extraire les nombres premiers de 1 à n avec Eratosthène, ni même de savoir combien qu'il y en a de n à 2n avec eratosthne, c'est le crible _G qui compte.
Car lui, il crible les entiers de 1 à n qui sont congrus à 2n (mod Pi) ceux qui donnera les nombres premiers de n à 2n.
Et pour ce faire, il a besoin uniquement des nombres premiers Pi d 'Eratosthène inférieur à racine de 2n, c'est à dire : [tex] E(\sqrt{2n})[/tex]..
C'est bien pour cela que le criblage par Eratosthène jusqu'à n ou 2n ne me sert à rien , par contre j'ai besoin des Pi,  [tex] E(\sqrt{2n})[/tex] pour le crible _ G

Au début mon petit fils à utilisé E ratosthène jusqu'à n et 2n afin de vérifier si il n'y avait pas d'erreur dans crible_G ...et je pensais qu'ensuite il avait limité le crible d'Ératosthène à [tex] E(\sqrt{2n})[/tex]...

je vais donc essayer de modifier la ligne 4 par ta ligne : n=int((2*n)**0.5) et voir si cela marche...mais je pense qu'il faut modifier d'autre ligne...

#657 Re : Programmation » crible en python » 21-01-2018 14:44:47

LEG
yoshi a écrit :

Re,

Non je n'ai pas fait tout ça...

Je ne comprends pas ce que vient faire Pi ([tex]\pi[/tex] ?) là-dedans.
.
Maintenant, tu sembles savoir ce que tu fais mieux que moi...

@+

Bonjour Yoshi
si je savais programmer je n'aurai pas demandé de l'aide ..je n'y comprend strictement rien en programme...
je ne comprend pas non plus ton interrogation au sujet de ce que vient faire Pi ([tex]\pi[/tex] ?)
Je pense que je me suis mal exprimé : Pi est un nombre premier appartenant à l'ensemble des nombres P(n)< à racine de 2n .

ce que je sais , c'est que le programme à été fait pour cribler les entiers de 1 à n congrus à 2n (mod Pi) avec Pi premier et < ou = sqrt de 2n.

Mon petit fils a impliquer Eratosthène de 1 à n et même de 1 à 2n afin de comparer le crible_G qui crible comme Eratosthène, mais : les congruents de Pi et non leurs multiples , c'est le même principe...! Si ce n'est que l'on part du reste R de 2n par Pi et puis on marque tous les congruents modulo Pi par pas de  Pi jusqu'a la lim n fixée au départ..


voila pourquoi on a besoin d'Eratosthène, mais uniquement les nombres premiers Pi < sqrt de 2n....

Je ne sais donc pas qu'elles lignes je dois occulter dans def eratosthene sans altérer le fonctionnement de mon programme....?

Pour cribler avec crible _g

on a besoins; des Pi <= sqrt de 2n
puis : des reste R de la division de 2n par Pi
ensuite , on part du reste R avec leur Pi et on barre par pas de Pi,  les entiers congrus à 2n (mod Pi) jusqu'à limite n fixée au départ, et on réitère avec le prochain Pi et son reste R..

à la fin on compte les entiers qui n'ont pas été barrés, comme dans Eratosthène...ce qui nous donne le nombre de premiers de n à 2n...

au lieu de marquer les entiers de 1 à n on les représente avec des 1 jusqu'a lim n

lorsqu'un entier est barré on remplace le 1 par 0 . à la fin on compte les 1 qui ne sont donc pas congrus à 2n mod Pi....!

Exemple_: n = 120 donc 2n = 240 , sqrt 240 = 15 ; donc les Pi sont {2,3,5,7,11 et 13}
les restes R sont  {0, 0, 0 ,2 , 9 et 6}

il n'y a pas de reste R =1, donc le premier entier 1, n'est pas marqué 0, et 2n - 1  est premier q.

pour les R = 0 on part directement de leur Pi : 2 et on marque tous les 2 nombres...puis 3 et on marque tous les 3 nombre idem pour 5...;
pour R = 2 et son Pi =7 , on part de 2 qui est déjà marque 0 et on marque tous les nombres par pas de 7...

puis pour  R = 9 et son Pi = 11, on part de 9 ou neuvième entier, qui lui aussi est marqué 0, on marque tous les nombres par pas de 11...

pour le dernier R =6 avec Pi = 13, on part du 6ème entier marqué 0 , et on marque tous les nombres par pas de 13 ...fin du crible , on compte les 1...!

tu peux remarquer que c'est Eratosthène mais dans les congruences....! d'où [tex]\pi(n)[/tex] vaut [tex]\frac{n}{Ln. n}[/tex] lorsque la lim n tends vers + l'infini...

Et: [tex]G(n)[/tex] la fonction qui compte les 1, de 1 à n vaut [tex]\frac{n}{Ln. 2n}[/tex] lorsque la lim n tends vers + l'infini... Car on crible avec les Pi <= sqrt de 2n et non de n.... Mais jusqu'à la lim n

C'est relativement simple....non ?

#658 Re : Programmation » crible en python » 20-01-2018 20:41:37

LEG
yoshi a écrit :

Si dans l'appel  premiers=eratosthene (n), je remplace n par nn ([tex]E(\sqrt{2n})[/tex]), je n'ai plus que
[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43] (nn= 44).

J'ai essayé de remplacer dans le erato fourni, m=(n-1)//2, par m=int((2*n)**0.5)
Instantané jusqu'à n = 81 et à partir de n= 82, ça tourne, tourne, tourne...
Pour le moment c'est un mystère : je ne comprends pas...

@+

je suppose qu'effectivement il faut uniquement faire l'appel premiers= eratosthene nn ([tex]E(\sqrt{2n})[/tex]) car on a besoin uniquement des nombres premiers Pi ([tex]E(\sqrt{2n})[/tex]) pour le crible_G ou crible mod 30

et on supprime les autres lignes d'eratosthène , en gardant tout le reste relatif au crible _G, en supprimant aussi les lignes prints

 
 liste1 = eratostene(n*2)
  compte = compteInfN(liste1, n)

print("> Avec eratosthene: On compte " + str(len(liste1)-compte) + " nombres premiers entre 1 et " + str(n))
  print("> Avec eratosthene: On compte " + str(compte) + " nombres premiers entre "+str(n)+" et " + str(n*2))

#660 Re : Programmation » crible en python » 20-01-2018 19:45:43

LEG
LEG a écrit :

@Yoshi, comment je joins un fichier PDF ...?

voila un premier lien :
https://www.cjoint.com/c/HAusKU5JQaW
crible-g voici le lien
https://www.cjoint.com/c/HAusMn4Q4AW
crible mod 30 voici le lien
https://www.cjoint.com/c/HAusNFZ2bzW

je suppose qu'avec pycharm-edu- 2017.3 ; en copiant et collant les deux programmes, tu auras ensuite les deux applications , qui fonctionnent avec python:
3.6.3 -fr_64262-64 et ou 3.6.4-amd 64

#661 Re : Programmation » crible en python » 20-01-2018 19:31:39

LEG

@Yoshi, comment je joins un fichier PDF ...?

#662 Re : Programmation » crible en python » 20-01-2018 19:20:23

LEG

Bonsoir yoshi

le programme que j'ai mis sur le site , il est écrit avec pycharm, j'ai deux "applications" 1) crible_g et 2) crible_modulo 30 , je clic sur l'un ou l'autre, cela m'ouvre une fenêtre dos , je rentre la valeur de n par ex 900 000 et j'ai le résultat de suite par exemple pour n = 300 000
j'ai 23101 nombres premiers avec Eratosthène et avec crible g, entre 300 000 et 600 000

mon souci je voudrai simplement que dans le début de ce programme on évite à Eratosthène de cribler jusqu'à n, ce qui ne sert à rien  mais simplement jusqu'à la racine de 2n; car on a besoin uniquement de nombres premiers $p_i\in{P(n)}$ ensembles des nombres premiers $P\leqslant\sqrt{2n}$

mais je ne m'occupe pas d'extraire les premiers de 1 à n avec Eratosthène je suppose qu'il le fait automatiquement, puisque dans le résultat  il m'indique qu' avec Eratosthène il trouve 23101 premiers entre n et 2n  donc il crible jusqu'à n les entiers non nuls de 1 à n, non congrus à 2n[pi] ; puis il vérifie si le crible_g à le bon résultat... Je sais que le crible G fonctionne parfaitement donc je voudrais supprimer cette partie d'ératosthène > à sqrt de 2n, qui ne sert à rien

c'est pour cela que j'ai copié l'intégralité du programme pycharme..

je suppose que tu as essayé l'intégralité du programme , et je pense qu'il doit falloir remplacer juste les deux ou trois premières lignes pour appliquer Eraotosthène <= sqrt de 2n...nonb?

est que tu veux que je te joigne par mail les deux applications Crible G et crible modulo 30 afin que tu puisses voir comment cela fonctionne...

#663 Programmation » crible en python » 20-01-2018 17:11:03

LEG
Réponses : 494

Pour le lecteur:

Se rendre directement à partir de la page 13 ou 14 , pour éviter toutes mes questions et explications , parfois confuses ou mal expliquées


le but final des programmes modifiés, sont en dernières pages ....

******************************************************************************************************************************************
------------------------------------------------------------------------------------------------------------------------------------------------------
Bonjour à tous
j'aurai besoin d'aide svp pour modifier ce programme fait par mon petit fils qui est reparti sur Chicoutimi Québec...
la deuxième partie ligne 53,  ( def crible_G(n): ) c'est le crible des congruences, restituant les nombres premiers entre n et 2n, mais pour ce faire, on crible les entiers de $1\: à\: n\equiv {2n}[P_i]$ cette partie je n'y touche pas...
Mais :
que dois je modifier dans la deuxième partie def cribleG(n) pour extraire les nombre premiers j%30 == 1, en ne travaillant que dans la famille 1 modulo 30.
donc cela revient à cribler de 1 à n//30  soit la suite arithmétique de raison 30 ...SVP...merci d'avance

***************************************************************************
dernière version du cribleG(n) , 04/10/2018.


import os
import math
from time import time


def candidate_range(n):
  cur = 5
  incr = 2
  while cur < n+1:
    yield cur
    cur += incr
    incr ^= 6  # or incr = 6-incr, or however


def eratostene(n):
  n = int((2*n)**0.5)
  prime_list = [2, 3]
  sieve_list = [True] * (n+1)
  for each_number in candidate_range(n):
    if sieve_list[each_number]:
      prime_list.append(each_number)
      for multiple in range(each_number*each_number, n+1, each_number):
        sieve_list[multiple] = False
  return prime_list

def demander_N():
  n = input("Donnez N: ")
  n = int(n.strip().replace(" ", ""))
  n = int(30 * round(float(n)/30))
  print(f"On prend N = {n}  (30 * {int(n/30)})")
  return n

def premiersNa2N(n):
  liste = crible_G(eratostene(n), n)
  #print("> On prend N = " + str(n) + " , donc 2N = " + str(2 * n))
  #print(">(Estimation Pi(2N)-Pi(N) avec la fonction 2 du TNP)= N / log(2N) = " + str(n / math.log(2 * n)))
  #print("> Estimation du TNP Pi(2N) = 2N/log(2N) = " + str(2*n / math.log(2*n)))
  #print("> Estimation Pi(2N) = N/log(N)+ N/log(2N) = " + str(n / math.log(n)+n / math.log(2 * n)))

def crible_G(premiers, n):
  start_crible = time()
 
  # On génère une "suite arithmétique 1 de raison 30", de (N/30)*1 cellules
  crible = n*[1]
  crible[0] = 0
  lencrible = len(crible)

  # On calcule les restes: ri = 2*n/pi
  nbpremiers = len(premiers)
  n2 = 2*n
 
  for i, premier in enumerate(premiers):
    reste = n2 % premier
    # On crible directement à partir de l'index du reste avec pi par pas de pi
    for index in range(reste, lencrible, premier):
      crible[index] = 0

  total = sum(crible)
  #lprint("crible:", crible)
  print(f"Nombre premiers criblés entre {n} et {n2}: {total} ----- {int((time()-start_crible)*100)/100}")

n = demander_N()
premiersNa2N(n)
os.system("pause")

 


Puis faire la somme des [1] pour connaître le nombre d'entiers de $1\: à\: n\equiv {2n}[P_i]$ permettant de compter les nombres premiers , de $[n ; 2n]$.

#664 Re : Enigmes, casse-têtes, curiosités et autres bizarreries » Crible d'Ératosthène sexy » 12-08-2017 14:50:12

LEG

@Frangipane
ton raisonnement est faux, car pour tester un nombre quelque soit sa forme , 6k+1 ou 6k-1 cela revient à trouver le premier facteur P , < à la racine carrée de ce nombre, et il serra de la forme 6k+1 ou 6k-1 donc pas plus facile à trouver sauf si le premier facteur P est proche des premiers nombres premiers.... mais à taille égale du premier facteur P et bien.....tout aussi difficile ......

Il y a quand même autant de nombres premiers de la forme 6k+1 que 6k-1 .

ex : n = 246157 = 6k-1 ; et m = 241788 = 6k+1

facteur P < sqrt de n ou m = 1567 = 6k+1  ;

la difficulté ne vient pas de la forme 6k+1 ou 6k-1 mais de sa structure....c'est pour cela qu'il existe des algorithmes de factorisation très sophistiqués comme par exemple sur le site de Alpertron ....etc...

Car certains grand nombres se factorisent  assez vite, et d'autres prennent des mois.....

#665 Re : Enigmes, casse-têtes, curiosités et autres bizarreries » Conjecture de Goldbach Elucidation par analyse structurelle » 27-06-2017 11:03:30

LEG

Tu devrais déjà démontrer ton affirmation...! que cette démonstration passe par la topologie et non par l'Arithmétique..!
d'après le postulat de Bertrand on sait qu'il y a au moins un nombre premier entre N et 2N , très bien, supposons que pour un entier 2N il n'y ai qu'un seul nombre premier q entre ce 2N et N comment ta topologie va permettre de démontrer qu'il appartient au seul couple (p;q) = 2N alors qu'il est quasiment certain qu'il formera un couple (C;q) = 2NC est un nombre Composé, donc non premier....! Donc conjecture qui serait fausse dans cette hypothèse .... Bonne chance...

Déjà on peut prouver avec l'Arithmétique un corollaire du TNP (théorème des nombres premiers) que le nombre de premiers q entre N et 2N vaut environ (N / Ln 2N ), ce qui est nettement supérieur à 1.... moi je peux aussi dire sans passer par ta topologie que la densité de couples de premiers (p;q) =2N , vaut environ N / (Ln N)² ; et tu peux vérifier à partir de N =16 .

je suppose que ta topologie te permet d'arriver à cette estimation.....! comme elle te permet surement d'estimer que le nombre de couples (C+q) ou (p+q) = 2N quelque soit N > 15  vaut environ (N / Ln 2N )....! d'où en suite on en déduit que le  nombres de couples de premiers qui restent, vaut environ : N / (Ln N)² et dans certain cas ne vaut que au minimum (N / (Ln N)²) X 0,375 .

Par exemple je suppose que tu peux expliquer, grâce à la topologie pour qu'elle raison en référence à tes exemples:
pour 2N  =120 et 2N = 128 il ne reste que trois couples de premiers (p;q) = 128 au lieu de 12 pour 120....?

heureusement qu'il n'y avait pas que 2 nombres premiers entre N et 2N , au lieu d'un seul...car supposons qu'il n'y ait eu que q = 73 et 79 , et bien résultat Goldbach faux...!

cette estimation vient du nombre d'entiers N non congrus à 2N modulo Pi où Pi est un nombre premiers > 5, et inférieur à la racine carrée de 2N.... Donc qui donne le nombre de premiers q entre N et 2N; en écartant les entiers positifs multiples de 2, 3 et 5 en travaillant dans 26,666...% des entiers naturels ...etc etc...  dans l'arithmétique modulaire et non dans la topologie....chacun sa chance.....Bon courage.

#666 Re : Café mathématique » Nombres premiers » 06-01-2017 17:48:09

LEG

Bonjour à tous.
il me semble que vous chercher une formule qui en définitive est un cycle ...
1) il faut purement et simplement supprimer les multiples de 2, 3 et 5 , il ne reste donc que 26,66....%des entiers naturels.
Ceux qui restent sont 8 suites arithmétique de raison 30

2) le crible d'Eratosthène est modifié. mais quel intérêt de calculer P² + 2n pour marquer les multiples de P...? puisque dans ce cas il va falloir inscrire tous les nombres, donc prendre de la place ou de la mémoire...non?
Ex 2269²+(2*2269) = 5152899 vous allez compter tous les 5152899 ième nombre pour barrer les multiples de 2269...

alors qu'il suffit d'établir 8 tables de cribles ou sauts que l'on va dupliquer dans un tableau de 8 colonnes où les 26% d' entiers  seront représenté par des 1, chaque 1 marqué est transformé en 0 donc produit ...

chaque table de sauts représente huit 0 plus la dernière ligne sous la colonne du premier 0 , un par colonne et on réitère la table à partir de la dernière ligne qui contient le dernier 0 ...etc c'est à dire que l'on crible modulo Pi * 30 par colonne ("ou Famille"), où Pi est un nombre premiers inférieur à le racine carrée de N, fixée à cribler limite N = 100 000 000 000 par exemple ...

Ex : la Table de Pi = 7  noté T7

la table de sauts ou crible est {(12) ; 7; 4; 7; 4; 7; 13 ; 3} (12) représente l'écart entre 7 et son carré. c'est à dire 12 nombres dans c'est 8 familles.. En partant de 7 "que l'on peut vérifier en dessous"

7  ; 11 ; 13 ; 17 ; 19 ; 23 ; 29 ; 31
37; 41 ; 43 ; 47 ; 49 ; 53 ; 59 ; 61

ce qui va donner :
ligne
   n°0 :  7  ; 11 ; 13 ; 17 ; 19 ; 23 ; 29 ; 31
  N°1 :  1  ;  1   ; 1   ; 1   ;  1 ;  1  ;  1  ; 1
....................................................................
...................................................................
etc
n : 1  ;  1   ; 1   ; 1   ;  1 ;  1  ;  1  ; 1

donc en partant du carré de 7 , on marque 0, à la place du 1 sous 19, ligne N° 1, qui est bien à 12 nombres de 7 ...§ etc...etc.
à la fin on compte les 1 = premiers.
pour reconstruire un 1 est bien Ligne N° n * 30 + le premier terme de la ligne 0 qui est un nombre premier Pn.

on ré-indexe les tables de crible avec une table de différence D, qui est unique :
{ 48 ; 32 ; 16 ; 32 ; 16 ; 32 ; 48 ; 16}

ce qui donne pour Pi = 37

     {(12) ; 7; 4; 7; 4; 7; 13 ; 3}
+   
   { (48) ; 32 ; 16 ; 32 ; 16 ; 32 ; 48 ; 16}

le carré de 37 est bien à 60 nombres de 37...Ce qui implique que je vais compter 32 nombres à partir de ce carré  marqué (0), pour marquer le prochain multiple de 37...etc
ou je duplique la T37, en partant de la ligne N° n de ce carré et on rèitère... toutes les 37 lignes
ou par colonne, on marque modulo (37*30) sous le 0 = 37² ainsi que pour les autres de la tables...

Pour résumer il y a 8 tables de cribles unique  T 7 à T 31 , que l'on ré-indexe avec la table D,
En fonction du prochain 1 qui n'est pas marqué  donc prochain premier : ligne n  ; colone Pi. Principe Eratosthène...

EX : ligne N° 49 ; colonne P = 29 : 49*30 + 29 = 1499 .

il y a différentes façons de programmer  soit on fait le masque avec les 8 zéros plus le dernier qui se trouve Pi lignes en dessous du premier zéro de la colonne Pn  et on duplique ..

ou on marque les 8 zéros de la table de crible et on crible chaque colonne modulo (Pi * 30) jusqu'à la limite N fixée.

Mais il y a encore d'autre façon de cribler par famille, avec un groupe multiplicatif constitué des 8 premiers : [7 ; 31].

Bonne année 2017

#667 Re : Café mathématique » Une simulation peut-elle servir de preuve ? » 08-10-2016 20:29:52

LEG

Bonjour
j'ai une question qui va très bien avec ce sujet ," à vous de voir .."

Le théorème des nombres premiers TNP, nous indique que [tex]\pi(n)[/tex] vaut environ [tex]\frac{n}{Log. n}[/tex] ou,[tex]n\times\frac{1}{Log. n}[/tex] , et : Le crible d'Eratosthène nous donne le nombre [tex]\pi(n)[/tex] quelque soit la limite [tex]n[/tex] fixée...

On peut d'ailleurs vérifier avec ce crible, que [tex]\frac{\pi(n)}{n} > \frac{1}{log.n}[/tex]

Donc, si on construit une variante de ce crible d'Eratosthène pour donner le nombre de premiers [tex]\pi(q)[/tex] qu'il y a entre N et 2N
et tel que [tex]\frac{\pi(q)}{n} > \frac{1}{log.2n}[/tex]

Ce ne serait donc qu'un corollaire du TNP et cela serait suffisant comme preuve, pour affirmer que le nombre de premiers [tex]\pi(q)[/tex] entre N et 2N vaut environ :

[tex]\frac{n}{Log. 2n}[/tex], c'est à dire :,[tex]n\times\frac{1}{Log. 2n}[/tex],. Ce qui serait quand même bien meilleur, que de dire: il y a au moins un nombre premier entre[tex] N , et , 2N [/tex]...

Ce crible n'est pas une simulation, il existe, et c'est bien une variante d'Eratosthène..qui utilise le même principe..!

Une simulation connaissant le nombre de premiers qu'il y a entre ces deux limites, indiquerait le même résultat par exemple pour vérifier la fonction d'estimation  de [tex]\pi(q)[/tex]   : [tex]N\times\frac{1}{Log. 2N}[/tex].

N   ; 2N        :[tex]\pi(q)[/tex] 

15 ; 30         :  4
30 ; 60         : 7
60 ; 120         :13
120 ; 240         :22
240 ; 480         :40
480; 960         :71
960; 1920    :132
1920 ; 3840    :239
3840 ; 7680    :463
7680 ; 15360    :808

POUR INFO:
Ci dessus , extrait du crible pour les limites indiquées, le crible comme pour Eratosthène,  crible jusqu'à la limite [tex]N[/tex]  fixée et non [tex]2N[/tex]; mais il utilise les nombres premiers [tex]P_i[/tex] < [tex]\sqrt{2N}[/tex]..

#668 Enigmes, casse-têtes, curiosités et autres bizarreries » premiers jumeaux » 15-06-2015 13:40:57

LEG
Réponses : 1

Bonjour
En regardant la progression arithmétique de raison 30, des nombres premiers avec ce petit crible « G », je me suis aperçu que le cycle « 6.4.2.4.2.4.6.2 » entre ces nombres premiers, pouvait bien se répéter une infinité de fois.
Ce cycle dont la somme est 30, énumère les nombres premiers en progression arithmétique, et avec un maximum de 7 nombres premiers consécutifs par cycle…
Cela est probablement une conséquence du théorème de Green –Tao sur l’infinité de nombres premiers en progression arithmétique.
Si tel est le cas, il est évident qu’il y a une infinité de premiers jumeaux… !
J’ai joint ce petit crible sous Excel, pour un aperçu. Les trois premières lignes de nombres premier > 23, pour une progression de 30 dans chacune famille, à partir de 60, tel que :
30k – P’ = q sont :

7      11       13       17       19    23       29     31
37     41      43      47        0       53   
59    61
67     71      73       0       79       83   
89     0
97    101    103    107    109     113    ….     …..

….    ….    ….    ….    ….    …       

-----------------------------------------------------------------------------------------------
                                                                                     
0    ...........0    .........5623    ......0    ......0    0    5369    5641

5647    5651    5653    5657    5659    0


(Où P’ est un nombre premier non congru à 30k modulo Pi, avec Pi < sqrt de 30k ; et q un nombre premier par obligation.)

Et on retrouve ce cycle, après 188 lignes ou itérations du crible …On peut tout aussi remarquer qu’il y a beaucoup de cycles comportant 6 nombres premiers, donc des couples de premiers jumeaux…

Je pense que ce cycle de 6 ou 7 nombres premiers se répète une infinité de fois, conséquence de ce théorème….

http://www.cjoint.com/c/EFpmOpPGmzf

#669 Programmation » crible partagé » 16-03-2015 12:02:21

LEG
Réponses : 0

Bonjour
j'ai un crible, sur lequel des explications ont déjà fait l'objet de discussion sur ce forum.
mais j'ai plusieurs questions:

Notamment qu'elle est la plus grande base de données, de nombres premiers Pn.

Peut on partager le travail d'un crible entre plusieurs Pc et recueillir la base de données au fur et à mesure, sur un pc central. ou mémoire...pour constituer cette base de données.

Le but serait d'atteindre dans un premier temps (450 000 000 000)² , soit tous les Pn< (202 500 000 000 000 000 000 000)

Au départ je pense à 32 ou 64 pc, chacun ayant 543 000 000 de modulos Pi en base de données, afin de tester 8 premiers P', apartenant à [7;31] jusqu'à la limite indiquée.

Donc chaque pc va calculer le reste R de 30k par ces Pi < à la racine carrée de 30k  ...etc. On garde pour vérifier, uniquement les restes R appartenant à [7;31]; si le reste est > 31, on stop la division est on marque 0, afin de ne pas perdre de temps pour des 30k  de plus en plus grands..etc, on vérifie les 8 P', et on stock les données de 30k - P' = qi premiers, puis on réitère on augmente de 30...etc .

le départ du crible, va donc se faire à partir de la racine carrée de 30k = 450 000 000 030, afin de vérifier si P' [7 ; 31] est congru à 30k modulo Pi en gros au départ, le calcul de 62500 restes R. et on stock le ou les qi = 1, tel que 30k - P' = 1; si P' n'est pas = à R ...

Au fur et à mesure on va utiliser les modulos Pi qui sont en base de données pour tester ces 8 premiers P', chacun des Pc aura donc la base de données de tous les nombres premiers Pi < 450 000 000 000 qu'il va utiliser pour calculer ces restes R...

ce qui donnerait en gros par Pc et en comptant 32 pc : 545 300 000 Pi pour la limite à atteindre..

Il y a par famille de nombres premiers > 5 : 2 181 061 294 premiers 13 modulo 30; donc en moyenne et  pour les 8 familles, divisé par 32, le nombre indiqué ci dessus .

Je mettrai ensuite ce crible sur le forum, afin de bien comprendre son fonctionnement, et afin de voir pourquoi il est possible de partager cette base de données contrairement à un crible classique comme Eratosthène ou une de ces variantes.
et peut être qu'il y aura des idées pour accélérer le processus du calcul des restes R < 37, de 30k par Pi

#670 Re : Enigmes, casse-têtes, curiosités et autres bizarreries » Partitions de triangles entiers en triangles entiers. » 26-06-2014 11:50:46

LEG

Bonjour

J'ai retrouvé cette discussion que l'on m'avait envoyé...:

Est ce que le quadruplet  par exemple:[tex](p,q,r,s) =(1,13,11,7)[/tex] qui est un multiple d'un Triangle héronien primitif, est candidat pour construire le Triangle de côté: [tex]a , b , c [/tex].

[tex]a = p q(r² + s²)[/tex]
[tex]b = r s (p² + q²)[/tex]
[tex]c = (p s + q r)(q s - p r)[/tex]

[tex]S = p q r s(ps+qr)(qs-pr)[/tex]

[tex]R =\frac {(p²+q²)(r² + s²)}{4}[/tex]

[tex]tan\frac {A}{2} = \frac{p}{q}[/tex]

[tex]tan\frac {B}{2} = \frac{r}{s}[/tex]

[tex]tan\frac {C}{2} = \frac{(qs - pr)}{(ps + qr)}[/tex]

donne un triangle héronien [tex]T(p,q,r,s)[/tex] où les angles [tex]A[/tex] et [tex]B[/tex] sont [tex]\leqslant\frac{\pi}{2}[/tex]

#671 Re : Enigmes, casse-têtes, curiosités et autres bizarreries » Partitions de triangles entiers en triangles entiers. » 25-06-2014 16:17:05

LEG

Le paramétrage utilise celui des triplets Pythagoriciens : avec [tex]p, q, m, n [/tex]. Entiers impairs
On construit [tex]T_1 ; T_2 ; T_3 [/tex] pour ce dernier triangle on utilise les coordonnées de [tex]T_1[/tex] et [tex]T_2[/tex]

[tex]T_1[/tex] : [tex]m = 5[/tex] et [tex]n  = 1[/tex] ce qui donne :

[tex]X_1 = \frac{(m² - n²)}{2} = 12[/tex] ; [tex]Y_1 = m*n = 5[/tex] ; [tex]Z_1 = \frac{(m² + n²)}{2} =13[/tex]

[tex]T_2[/tex] : [tex]p = 3[/tex] et [tex]q = 1[/tex] :

[tex]X_2 = \frac{(p² - q²)}{2} = 4[/tex] ; [tex]Y_2 = p*q = 3[/tex] ; [tex]Z_2 = \frac{(p² + q²)}{2} = 5[/tex]

T_3 : [tex]α = 11[/tex] et [tex]β = 3[/tex]

On calcul [tex]α[/tex] et [tex]β[/tex] avec la formule :
[tex]A = mq + pn  = 8[/tex]
[tex]B = mp – qn  = 14[/tex]

Ce qui donne :
[tex]α  = \frac{(B + A )}{2}  = 11[/tex]
[tex]β = \frac{(B - A )}{2}  = 3[/tex]

d’où pour :

[tex]X_3 = \frac {(α ² - β ²)}{2} = 56[/tex] ; [tex]Y_3 = α * β = 33[/tex] ; [tex]Z_3 = \frac{(α ² + β ²)}{2} = 65[/tex]

On obtient le scalène de côté [tex]a; b ; c’ [/tex]:
[tex]13 ;14 ;15[/tex]  dont l’aire est un entier.

avec :
[tex]a =\frac{(m² + n²)(p² - q²)}{16}[/tex] = [tex]\frac{X_2 Z_1}{4}[/tex]
[tex]b =\frac{(m² - n²)(p²+q²)}{16}[/tex] = [tex]\frac{X_1 Z_2}{4}[/tex]
[tex]c' =\frac{(mq+pn)(mp - qn)}{8}[/tex] = [tex]\frac{X_3}{4}[/tex]

l'aire S' :
[tex]S' = \frac{(m²-n²)(p²-q²)(mq + pn)(mp - qn)}{256} [/tex]= [tex]\frac{x_1 X_2 X_3}{32}[/tex]

diamètre du cercle circonscrit:
[tex]2R = \frac{Z_3}{4}[/tex] = [tex]\frac{Z_1 Z_2}{4}[/tex]

bonne continuation...

#672 Re : Enigmes, casse-têtes, curiosités et autres bizarreries » Partitions de triangles entiers en triangles entiers. » 25-06-2014 11:17:23

LEG

Bonjour
je ne sais pas si cela concerne cette recherche, mais il me semble qu'il existe une formule, de la méthode de Héron pour les scalènes (ou triangle Héroniens) et qui utilise les triplets Pythagoriciens...
un scalène Héronien a les trois côté en nombres entiers ainsi que sa surface.. est ce qu'il s'agit de ces triangles...?

#673 Re : Café mathématique » Arbre des suites de Syracuse » 17-06-2014 10:52:41

LEG

@Syrac
ceci en gros n'est très important, il y a beaucoup de méthodes pour raccourcir les suites .

par exemple des qu'une itération d'une suite X, appartient à une sous suite  A; la suite X est finie, donc son nombre de termes est réduit..Ce qui correspond  à ton arbre..et il y en a 4 principaux ou toutes les branches, feuilles...etc viennent se rattacher..

Mais cette piste n'a jamais rien donné...jusqu'à présent.

Pas plus que la forme du premier terme ...

Ce qui est intéressant c'est le fait que Syracuse soit une structure arithmétique simple; ordonnée par des suites arithmétiques et géométriques..
Dans le premier tableau qui est une feuille Excel , la suite géométrique 6 * 3n-1 sur la ligne 0; donne la raison R des suites arithmétiques, pour chaque rang des vols 2i dans les entiers relatifs pairs...

Exemple: prend les vols i impairs : -1 ; -5 ; et 3 soit 2i = -2; -10; 6 au deuxième rang  les valeurs des itérations pour ces 3 vols, est :
-2 ; -20; et 16.
soit pour les vols -x, -y et z au rang 2:  (2*-2) - (-20) = 16 , ce qui donne pour le rang 2, une suite arithmétique de raison R = 18; avec un écart entre les vols de 22.
donc l'exposant n=2, est donné par le rang n=2...

Tous les vols sont en relation par leurs itérés au rang n; et ce depuis le vol i = 1 et -i = -1
on peut aussi faire un plan..etc
quelque soit un vol Z il a toujours au rang n une relation avec les deux vols -X et -Y; à partir à partir d'un certain rang, délimité par la suite géométrique 6 * 3n-1, où l'exposant n est l'indice n du rang , et pour ce rang on a la raison R = 6 * 3n-1 de la suite arithmétique,..
le début part du vol -i = -1
le nombre de suites arithmétiques pour un rang n, est calculable.. la somme des raison R forme une suite géométrique 6 de raison 4.
ce qui donne la aussi : 6*4n-1

par exemple au rang 1, on a une suite A, de R 6;

au rang 2 on a 2 suites A, de R = 6 et 18; au rang 3 ; 4 suites A de R : 6, 18, 18,54...

au rang 4 on a 24-1 suites A dont la somme des raisons vaut 6*4n-1 = 384
les raisons R sont : {162, 18, 18, 6, 54, 54, 54, 18}

Ce groupe de suites arithmétiques, change à chaque rang d'itérations , par exemple au rang 6 d'un vol Z, on sait que pour ce rang, il y a 26-1 suites arithmétiques, qui relient tous les vols ayant 26 d'écart au rang 6, et dont les raisons sont de :
6*31-1 à 6 * 36-1....

Ce sont les vols 2n - 1 qui sont intéressants.("c'est curieux que l'on retrouve les nombres de Mersenne...dans cette structure, car c'est à partir de ces vols, que le groupes de suites A (arithmétique) change au rang n ") ie; on connais la valeur de l'itération paire à ce rang n+1 pour le vol i = 127; soit 27 -1 ; on aura  au rang 7, valeur de l'itération : 6*37-1 - 2 = 4372 et au rang 8: 2186.
ensuite cela peut remonter ou descendre, car il faut que cela corresponde au rang n+1 avec les deux autres vols -X et -Y.
dans le cas contraire, ce n'est pas une structure arithmétique .... et puis encore....!

Dans ces conditions, il n'y a plus rien d'aléatoire....! c'est une structure ordonnée, depuis 1 est -1....

Et franchement, je ne vois plus du tout ce qu'il y a à démontrer...car l'hypothèse d'un vol qui aurait une suite d'itérations infinies, c'est à dire qu'il ne redescend pas au rang n= 4, puis 2....devient stupide, et une autre boucle est autant absurde..

c'est d'ailleurs pour cette raison que dans les entiers négatifs, il y a trois boucles...voila de quoi s'amuser...

Que l'on est pas trouvé au départ, que Syracuse était une structure arithmétique simple ok.

Mais maintenant que cela a été démontré par Jules Renucci... qu'est ce que l'on peut dire sur cette structure, qu'elle est désordonnée, qu'il existe peut être un vol tartempion qui invalide ces suites géométriques et arithmétiques.. et qui invalide la relation entre 3 vols, et qu'il existerait une 4ème boucle dans les vol négatifs..

Pourquoi pas ; dans ce cas une structure arithmétique est fausse, même si elle a été démontrée... tant qu'à faire.
Je pensais que des arguments convaincant, pouvaient prouver, et bien non... des arguments convaincants ne veulent rien dire et la rigueur dans ce cas non plus; car il existe peut être, quelque chose de plus rigoureux dont on n'en a aucune idée....je rigole....


Dans l'exemple de l'AS2 de J.R; il a détaillé, pour faire remarquer que la longueur d'une séquence finit sur un 4m ; et on repart sur une tête de séquence.. .D'où seules les têtes de séquence sont à analyser...et suffisante .
est ce que tu as reçu le mail avec le deuxième lien...?

Au cas où, je le joins ci dessous.. il donne plus de détail sur l'AS2, et autre...

http://cjoint.com/?DFrkoPwySSQ

#674 Re : Café mathématique » Arbre des suites de Syracuse » 16-06-2014 14:42:31

LEG

Bonjour
@syrac:

L'étape suivante serait, par exemple, de prédire le nombre d'itérations nécessaires avant d'atteindre 2, la racine de l'arbre, sur la seule connaissance du premier terme de la suite.

c'est justement le problème, tout le monde a essayé mais sans résultat..

Par exemple, voila une idée qui a été développée, suite a la structure arithmétique de Syracuse :

    http://cjoint.com/?DFqpMOz4uB5

cordialement

#675 Re : Café mathématique » Arbre des suites de Syracuse » 04-06-2014 15:05:14

LEG
syrac a écrit :

Vous semble-t-il que ceci constitue la solution du problème, même si elle n'est pas celle à laquelle vous vous seriez attendu ?

Merci d'avance pour vos retours ! :-)

syrac

c'est une bonne représentation d'une suite de Syracuse, et son fonctionnement.  jusqu'à la fin du cycle 4; 2; 1.
mais il y a eu tellement d'études faites sur les "vols" de Syracuse , qu'il est impossible de résoudre la conjecture par cette voie ...

D'ailleurs l'AS2 (algorithme de Syracuse 2) utilise aucun entier impair, ce qui a permis de démontrer que cette conjecture est une structure arithmétique très simple; voire le travail de Jules Rennucci sur ce sujet...

Dommage que tu ne parles pas des entiers négatifs , car tu verrais que quelque soit un vol 2i  (i impair), les itérés d'un rang r sont en relation avec deux autres vols 2i, et ont eu une infinité de prédécesseurs  ou de successeur comme on veut...au même rang.

La structure arithmétique de Syracuse est ordonnée par des suites géométriques et arithmétiques.

Par exemple si tu prends la vol X,i = 5  soit 2i = 10, est l'itération de rang R = 3 (avec uniquement les itérations paires) l'itération paire de rang 3 vaut : 4
l'itération R =3 pour les deux vols Zi et Yi distant de 23
ce qui donne Zi = 13, 2i = 26 et: pout Yi =-3 , 2i = -6

2Xi - Yi = Zi , au rang 3
soit :
(2*4) - (-2) = 10.
quelque soit la suite de Syracuse, au rang n elle relie deux suites de Syracuse au même rang n avec un écart de 2n.

donc parler de suite avec des rangs aléatoires , est absurde..de part cette structure...

quelque soit un vol 2n - 1 ; la valeur de l'itération au rang d'indice n est égale à : 6 * 3n-1 - 2.
En ne tenant compte que des itération paires bien entendu..ie; de l'AS2.

par exemple:
le vol i = 27 - 1 ; soit 2i = 254 la valeur de l'itération au rang 7 vaut : 6*37-1 - 2 = 4372
c'est à dire la 15ème itération.
d'où le vol Yi = -129 aura la valeur à l'itération, de rang 7 : -4176
la raison de la suite arithmétique est de 4174 = 6*37-1.

On retrouve bien l'égalité au rang 7: 2Xi - Yi = Zi = 4172
(2*-2) - (-4176) = 4172

la question que l'on peut aussi se poser : comment une structure arithmétique aussi bien ordonnée , pourrait tout d'un coup être fausse..?
dans ce cas cela prouve que la structure arithmétique de Syracuse n'en est pas une , ce qui serait absurde car démontrée....

Ou mieux, la suite arithmétique Un, de raison -4, qui existe depuis le vol i = 1 est qui est toujours vraie  qui soit disant est une conséquence de la fonction 3x + 1...etc  n'est ce pas plutôt la fonction de Syracuse, qui est conséquence de cette suite arithmétique Un de raison -4...?

Car il est trivial de remarquer que 2 - 2i  = -4n  et que la fonction des suites de Syracuse n'a pas d'autre possibilité que de respecter cette structure arithmétique. Puisque quelque soit le vol i, on peut le relier à deux autres vol i' et i'' par leur Rang n , n' et n'' ; mais surtout dans l'ensemble des entiers relatifs....

-4n : c'est le bilan des différences positives et négatives entre les itérations paires de l'AS2... se terminant sur 4, puis 2 au rang n et n-1

En conclusion, cela paraît être une grosse farce, où il n'y a rien à démontrer....
Tout comme il est absurde de chercher un record d'altitude constant, les vols i de la forme 2n -1 dépasseront toujours un tel vol, puisqu'il suffit de faire tendre l'exposant n vers l'infini et on obtient une ascension constante qui est égale à 2*n + 1. Et si l'exposant a un milliard de chiffres, je ne te dis pas la valeur de l'itération à ce rang n....bonne continuation
cordialement
L.G

Pied de page des forums