LES NOMBRES PREMIERS :

LA BASE PRIMALE :

Introduction :

Tout le monde connaît maintenant la décomposition d'un nombre entier en facteurs premiers.
Ainsi, chaque nombre peut se mettre sous la forme


		X =  1^a  x   2^b   x   3^c   x   5^d  x...(X, a, b, c, d) appartenant à  N

exemple : 
		6 =  1^6  x   2^1   x   3^1   x   5^0




Pour revenir au : sommaire Send Email Pour me joindre © Copyright 2000 Tixier Mai 2000.

Les facteurs premiers ne changeant pas, il est possible d'établir la table des puissances 
de ces facteurs en fonction des nombres entrés. On obtient alors :


		2^a 3^b 5^c 7^d 11^e   	   ...
		0   0   0   0   0    	   ...       0

		1   0   0   0   0    	   ...       0
	
		2   1   0   0   0    	   ...       0

		3   0   1   0   0    	   ...       0		Elle est infinie 

		4   2   0   0   0    	   ...       0		comme chacun sait

		5   0   0   1   0    	   ...       0		puisque N est infini

		6   1   1   0   0    	   ...       0

		7   0   0   0   1    	   ...       0




Pour revenir au : sommaire Send Email Pour me joindre © Copyright 2000 Tixier Mai 2000.


Il est donc possible de construire un tableau en aveugle basé sur un simple 
comptage en verticalet qui nous fournit :
- les nombres premiers, chaque fois que l'on a besoin d'introduire une colonne
- les facteurs du nombre représentant la ligne au niveau des croix situées sur 
	l'horizontale

	N	   1      2      3      5      7      11       13 ... 17
        1          1      0      0      0     0        0        0  

	2          2      x      0      0     0        0        0
	
	3          3      0      x      0     0        0        0

	4          4      x      0      0     0        0        0

	5          5      0      0      x     0        0        0

	6          6      x      x      0     0        0        0

	7          7      0      0      0     x        0        0

	8          8      x      0      0     0        0        0

	9          9      0      x      0     0        0        0

	10        10      x      0      x     0        0        0

	11        11      0      0      0     0        x        0

	12        12      x      x      0     0        0        0

	13        13      0      0      0     0        0        1

	14        14      x      0      0     x        0        0

	15        15      0      x      x     0        0        0

	16        16      x      0      0     0        0        0
 
	17        17      0      0      0     0        0        0		





Pour revenir au : sommaire Send Email Pour me joindre © Copyright 2000 Tixier Mai 2000.

Interprétation :



Tout ceci ne serait qu'une astuce de plus pour optimiser un n ième 
algorithme si cela n'avait un sens ou des sens profonds dont j'aimerais 
vous aider à tisser des liens avec vos propres connaissances. A ce jour 
cette procédure n'a pas été lue ni dans " the art of programming " de 
D.E. Knuth, ni dans l'histoire des algorithmes de Chabert, ni dans le 
que sais-je de Tenenbaum. Est-elle orignale ?

T) on remarque donc que pour connaître avec cette méthode le n ième 
nombre premier, il faut connaître les précédents et notamment, il est 
impératif de connaître le premier : 1

I) on remarque que les fréquences des croix verticalement sont des 
constantes

X) on remarque que la synthèse de ces fréquences stables et constantes 
engendrent une suite de nombres que d'aucun ont déjà qualifiée de 
capricieuse* (non régulière), chaotique !


Et oui, le mot est lâché. La suite des nombres premiers est chaotique. 
Pour la produire, il faut donc connaître les conditions initiales très 
précisément ainsi que la nature des signaux périodiques qui la constitue. 
Le simple engendre le complexe comme s'il fallait un exemple de plus 
pour vérifier cet adage.


Mais, ce n'est pas tout ! Cette façon de coder est un isomorphisme du 
codage logarithmique des nombres sauf que l'abaque des logarithmes est 
autrement plus compliqué à construire que  cette manière de construire 
les tableaux précédemment évoquée !

I2) Ainsi, si l'on adopte la notation    'Y (prononcé tixe de Y) pour 
le codage du nombre entier Y dans ce que j'appellerais maintenant la 
base primale, cela donne par exemple :

			1     =      '0

			2     =      '1

			3     =      '10

			4     =      '2

			5     =      '100

Pour les puissances supérieures à 9 on écrira la puissance verticalement : 	
'21  = 2^13  *  3^3
  3                                         					
Vous remarquerez  que maintenant, la suite des nombres premiers a été 
inversée : 
de 1, 3, 5, 7, 11, ...  je pose dorénavant  11, 7, 5, 3, 2.

Il faut également remarquer que la première colonne qui n'est autre que 
l'ensemble N s'avère inutile et même nuisible à l'arithmétique de cette 
base primale.



Pour revenir au : sommaire Send Email Pour me joindre © Copyright 2000 Tixier Mai 2000.

Evaluations préliminaires :



Mais est-ce que ce type d'idée peut rendre service aux mathématiques 
appliquées ?Il semble que peu de personnes cherchent ainsi à produire 
le début exhaustif de la suite infinie des nombres premiers. Il est 
vrai que l'on tombe vite sur les problèmes de capacités de calculs 
(temps de calcul ) ou de mémoire des machines modernes ! Mais faut-il 
pour cela abandonner ce type de recherche ? Il y seulement 10 ans 
1 giga octet paraissait fabuleux, aujourd'hui n'importe quel PC de 
moins de 4000,.00 francs les a en disque dur !
Faut-il rappeler en matière d'intégration électronique, la loi de 
Moore qui se vérifie encore : l'intégration des transistors sur une 
puce électronique double tous les deux ans ! Alors pourquoi ne pas 
réver un peu !

Du côté de la mémoire :

Combien de place mémoire nécessiterait un tableau de valeur binaire tels 
que ceux dont j'explicitais plus haut la nature ?
Pour le tableau ayant 3 colonnes : 2, 3, 5 et pouvant servir l'excursion 
des nombres entiers , par exemple, allant jusqu'à 10, il faudrait très 
exactement 30 bits pour le mémoriser.


Il existe une évaluation du nombre de nombres premiers en fonction d'un 
nombre qui est rappelée dans le magazine la recherche n°278 1995 volume 
26 p 763 et qui a la forme : 
x / Ln x appelée p(x)
La capacité mémoire demandée pour mémoriser une table allant jusqu'au 
nombre X et énumérant tous les nombres premiers des nombres compris entre 
1 et X et les facteurs des nombres compris entre 1 et X est donc donné par 
la formule :2*X / Ln X
Pour un cas d'espèce de :
trouver tous les nombres premiers jusqu'à 1000 la capacité mémoire 
demandée sera de 2*1000^2 / Ln 1000 = 289530 bits soit 290 Kb ou encore 
pour les fanas des PC : 38 Ko 
Par contre, pour aller jusqu'à 10^17 cela donne une mémoire de 
6,3 10^28 Ko !! ce qui au jour d'aujourd'hui est trop demander à 
l'électronique !

Du côté du comptage :

En fait les " 0 " et les " * " des tableau sont binaires et périodiques, 
ils ont donc des fréquences de travail.
Pour explorer tous les nombres premiers jusqu 'à 17 j'ai besoin de 7 
colonnes à mon tableau donc de 7 fréquences différentes pour générer 
les " 0 " et les " * " .Un signal fréquenciel généré en électronique 
nécessite un compteur qui est une brique de base parmis les composants 
électronique existant à l'heure actuel. Pour explorer tous les nombres 
premiers jusqu 'à 17 j'ai donc besoin de 7 compteursPour explorer tous 
les nombres premiers jusqu 'à 19 j'ai donc besoin de 8 compteurs...
Pour explorer tous les nombres premiers jusqu 'à  X j'ai donc besoin 
de X / Ln X compteurs

Ainsi pour aller jusqu'à 10^10 il faudrait connecter jusqu'à 
434 294 482 soit environ 434 puces électroniques de 1 million de 
compteurs chacune ! Ce nombre peut vous paraître grand mais n'importe 
quel Pentium ou power ... nécessite pour sa construction 4 à 5 millions 
de transistors, un compteur étant fabriqué qu'avec quelques transistors, 
le jeu parait en valoir la chandelle. Quant au nombres de puces à 
connecter je me souviens avoir travaillé sur des ordinateurs (pas des PC, 
de vrais ordinateurs !) ayant beaucoup plus de puces que cela !

On nous parle souvent de Kro ! et de son zin (cf virus info). Mais 
unix existe même sur un PC, que se soit sous la forme de linux ou qnx, 
ou ...Et unix a la possibilité de clusteriser (clustering) des machines 
bas de gamme (pc ou appleoou ...) et de créer ainsi une machine virtuelle 
à traitement de tâches et d'instruction parallèle. Quelques centaines de 
PC 8086 seront bien suffisants pour créer à toute vitesse des fréquences 
stables de zero et de un !
Il faudra programmer en langage de programmation gérant le mode d'exécution 
parallèle et/ou en machine d'état (chaque machine générant une suite de 
fréquence de rapports cycliques respectivement ½ 1/3 1/5 1/7 1/11, ... 
La machine de contrôle effectuant le test de primalité qui n'est autre 
qu'un test booléen.

Ca promet !

Alors pourquoi pas ?

Peut-être pas aujourd'hui mais demain cela peut paraître envisageable, 
que diable !


Pour revenir au : sommaire Send Email Pour me joindre © Copyright 2000 Tixier Mai 2000.