#######################################################################################################################################
# #
# V I S U A L I S A T I O N B I D I M E N S I O N N E L L E D E L A C O N J E C T U R E D E G O L D B A C H : #
# #
# #
# Author of '$xiirv/.GOLD.31.1.$U' : #
# #
# Jean-Francois Colonna (LACTAMME, 20121110072030). #
# #
#######################################################################################################################################
$Z setParam _____NNombres 100
$Z set PrEmIeR_N=2
$Z # On est oblige de commencer a 2 car, en effet, le nombre 1 n'est pas premier. Et si l'on #
$Z # commencait a 0 ou a 1, cela poserait un probleme avec le theoreme : #
$Z # #
$Z # SD(P) = P+1 #
$Z # #
$Z # ou 'P' est un nombre premier car, en effet, cela donnerait alors : #
$Z # #
$Z # SD(1) = 1+1 = 2 #
$Z # #
$Z # ce qui serait en contradiction avec la "renormalisation" faite en retranchant 'N+2' un #
$Z # peu plus loin... #
$Z @ CoOrDoNnEe_MaX = $_____NNombres - 1
$Z
$Z XYmaxNe $CoOrDoNnEe_MaX $CoOrDoNnEe_MaX
$Z # Il faut absolument que l'image soit carree, en particulier pour pouvoir transposer #
$Z # la matrice... #
$Z
$Z FilSTmpB FGoLdBaCh
$Z FilSTmpB FMaTrIcE
$Z FilSTmpB FCoOrDoNnEeS
$Z FilSTmpB FCoOrDoNnEeS_I
$Z FilSTmpB FImAgE
$Z
$Z $xci/valeurs_prem$X \
$Z p=$PrEmIeR_N d=`calcul $_____NNombres+$PrEmIeR_N-1` \
$Z editer_diviseurs=FAUX \
$Z editer_nombres=FAUX \
$Z editer_fonction=FAUX \
$Z editer_somme_diviseurs=VRAI | \
$Z $SE -e "s/^.*=//" \
$Z >> $FGoLdBaCh
$Z # Generation du fichier de base... #
$Z
$Z $CA $FGoLdBaCh | \
$Z $xrv/neutre$X \
$Z ne=$_____NNombres \
$Z fichier== \
$Z exemplaires=$_____NNombres \
$Z >> $FMaTrIcE
$Z # Construction d'une matrice contenant '$_____NNombres' lignes, chacune d'entre-elles #
$Z # contenant repete '$_____NNombres' fois un nombre de diviseurs : #
$Z # #
$Z # SD1 SD1 SD1 SD1 (...) #
$Z # SD2 SD2 SD2 SD2 (...) #
$Z # SD3 SD3 SD3 SD3 (...) #
$Z # SD4 SD4 SD4 SD4 (...) #
$Z # (...) #
$Z # #
$Z # ou 'SD' signifie 'SommeDiviseurs'... #
$Z
$Z $xci/valeurs_imag$X \
$Z PX=1 PY=0 \
$Z normalisees=VRAI \
$Z numero=FAUX \
$Z Xmax=$CoOrDoNnEe_MaX Ymax=$CoOrDoNnEe_MaX \
$Z $formatI \
$Z >& $FCoOrDoNnEeS$COORD_X
$Z $xci/valeurs_imag$X \
$Z PX=0 PY=1 \
$Z normalisees=VRAI \
$Z numero=FAUX \
$Z Xmax=$CoOrDoNnEe_MaX Ymax=$CoOrDoNnEe_MaX \
$Z $formatI \
$Z >& $FCoOrDoNnEeS$COORD_Y
$Z # Generation des coordonnees 'X' et 'Y' de la matrice '$FMaTrIcE'... #
$Z
$Z $xrv/store_image$X \
$Z ne=$tailleI \
$Z LISTE_X=$FCoOrDoNnEeS$COORD_X \
$Z LISTE_Y=$FCoOrDoNnEeS$COORD_Y \
$Z LISTE_Z=0 \
$Z LISTE_NIVEAU=$FMaTrIcE \
$Z standard=FAUX \
$Z R=$FImAgE.1 \
$Z $formatI
$Z # Construction d'une image donnant : #
$Z # #
$Z # SD1 SD1 SD1 SD1 (...) #
$Z # SD2 SD2 SD2 SD2 (...) #
$Z # SD3 SD3 SD3 SD3 (...) #
$Z # SD4 SD4 SD4 SD4 (...) #
$Z # (...) #
$Z # #
$Z # ou 'SD' signifie 'SommeDiviseurs'... #
$Z $xci/transpose$X \
$Z A=$FImAgE.1 \
$Z standard=FAUX \
$Z R=$FImAgE.2 \
$Z $formatI
$Z # Construction d'une image donnant : #
$Z # #
$Z # SD1 SD2 SD3 SD4 (...) #
$Z # SD1 SD2 SD3 SD4 (...) #
$Z # SD1 SD2 SD3 SD4 (...) #
$Z # SD1 SD2 SD3 SD4 (...) #
$Z # (...) #
$Z # #
$Z # ou 'SD' signifie 'SommeDiviseurs'... #
$Z
$Z $xci/somme_02$X \
$Z A1=$FImAgE.1 \
$Z A2=$FImAgE.2 \
$Z standard=FAUX \
$Z R=$FImAgE \
$Z $formatI
$Z # Construction d'une image donnant : #
$Z # #
$Z # SD1+SD1 SD1+SD2 SD1+SD3 SD1+SD4 (...) #
$Z # SD2+SD1 SD2+SD2 SD2+SD3 SD2+SD4 (...) #
$Z # SD3+SD1 SD3+SD2 SD3+SD3 SD3+SD4 (...) #
$Z # SD4+SD1 SD4+SD2 SD4+SD3 SD4+SD4 (...) #
$Z # (...) #
$Z # #
$Z # Ainsi, le coin bas-gauche de '$FImAgE' contient : #
$Z # #
$Z # Y=6 +15 +16 +19 +18 +24 #
$Z # Y=5 +9 +10 +13 +12 +18 #
$Z # Y=4 +10 +11 +14 +13 +19 #
$Z # Y=3 +7 +8 +11 +10 +16 #
$Z # Y=2 +6 +7 +10 +9 +15 #
$Z # #
$Z # X=2 X=3 X=4 X=5 X=6 #
$Z # #
$Z # soit 'SD(X)+SD(Y)'. #
$Z
$Z $xci/acces$X \
$Z A=$FImAgE \
$Z standard=FAUX zero=FAUX \
$Z R=$_____ImageR.1 \
$Z $formatI
$Z # Generation de l'image. L'espace bidimensionnel est celui des nombres entiers {A,B}. En #
$Z # chaque point {A,B}, la couleur visualise : #
$Z # #
$Z # SommeDiviseurs(A)+SommeDiviseurs(B) #
$Z # #
$Z
$Z $xci/valeurs_imag$X \
$Z PX=1 PY=0 \
$Z normalisees=FAUX \
$Z numero=FAUX \
$Z Xmax=$CoOrDoNnEe_MaX Ymax=$CoOrDoNnEe_MaX \
$Z $formatI | \
$Z $xrv/ADD2.11$X \
$Z ne=0 \
$Z fichier1== \
$Z fichier2=$PrEmIeR_N \
$Z >& $FCoOrDoNnEeS_I$COORD_X
$Z $xci/valeurs_imag$X \
$Z PX=0 PY=1 \
$Z normalisees=FAUX \
$Z numero=FAUX \
$Z Xmax=$CoOrDoNnEe_MaX Ymax=$CoOrDoNnEe_MaX \
$Z $formatI | \
$Z $xrv/ADD2.11$X \
$Z ne=0 \
$Z fichier1== \
$Z fichier2=$PrEmIeR_N \
$Z >& $FCoOrDoNnEeS_I$COORD_Y
$Z # Generation des coordonnees 'X' et 'Y' entieres... #
$Z
$Z $xrv/store_image$X \
$Z ne=$tailleI \
$Z LISTE_X=$FCoOrDoNnEeS$COORD_X \
$Z LISTE_Y=$FCoOrDoNnEeS$COORD_Y \
$Z LISTE_Z=0 \
$Z LISTE_NIVEAU=$FCoOrDoNnEeS_I$COORD_X \
$Z standard=FAUX \
$Z R=$FImAgE$COORD_X \
$Z $formatI
$Z $xrv/store_image$X \
$Z ne=$tailleI \
$Z LISTE_X=$FCoOrDoNnEeS$COORD_X \
$Z LISTE_Y=$FCoOrDoNnEeS$COORD_Y \
$Z LISTE_Z=0 \
$Z LISTE_NIVEAU=$FCoOrDoNnEeS_I$COORD_Y \
$Z standard=FAUX \
$Z R=$FImAgE$COORD_Y \
$Z $formatI
$Z $xci/somme_02$X \
$Z A1=$FImAgE$COORD_X \
$Z A2=$FImAgE$COORD_Y \
$Z standard=FAUX \
$Z $formatI | \
$Z $xci/somme_02$X \
$Z A2=2 \
$Z standard=FAUX \
$Z R=$FImAgE$COORD_X$COORD_Y \
$Z $formatI
$Z # Construction d'une image donnant en chaque point {X,Y} la somme X+Y+2. #
$Z # #
$Z # Ainsi, le coin bas-gauche de '$FImAgE$COORD_X$COORD_Y' contient : #
$Z # #
$Z # Y=6 +10 +11 +12 +13 +14 #
$Z # Y=5 +9 +10 +11 +12 +13 #
$Z # Y=4 +8 +9 +10 +11 +12 #
$Z # Y=3 +7 +8 +9 +10 +11 #
$Z # Y=2 +6 +7 +8 +9 +10 #
$Z # #
$Z # X=2 X=3 X=4 X=5 X=6 #
$Z # #
$Z # soit 'X+Y+2'. #
$Z
$Z $xci/soustraction$X \
$Z A1=$FImAgE \
$Z A2=$FImAgE$COORD_X$COORD_Y \
$Z standard=FAUX \
$Z R=$FImAgE$COORD_X$COORD_Y.2 \
$Z $formatI
$Z # Ainsi, le coin bas-gauche de '$FImAgE$COORD_X$COORD_Y.2' contient : #
$Z # #
$Z # Y=6 +5 +5 +7 +5 +10 #
$Z # Y=5 +0 +0 +2 +0 +5 #
$Z # Y=4 +2 +2 +4 +2 +7 #
$Z # Y=3 +0 +0 +2 +0 +5 #
$Z # Y=2 +0 +0 +2 +0 +5 #
$Z # #
$Z # X=2 X=3 X=4 X=5 X=6 #
$Z # #
$Z # soit '(SD(X)+SD(Y)) - (X+Y+2)'. #
$Z # #
$Z # On notera que les deux lignes {X=2,X=3}, de meme que les deux colonnes {Y=2,Y=3} sont #
$Z # identiques. C'est la raison des 'v $xiirv/.GOLD.41.1.$U .xci.scroll.X' qui sont destines #
$Z # a eliminer la premiere ligne {X=2} et la premiere colonne {Y=2}... #
$Z $xci/acces$X \
$Z A=$FImAgE$COORD_X$COORD_Y.2 \
$Z standard=FAUX zero=FAUX \
$Z R=$_____ImageR.2 \
$Z $formatI
$Z # Generation de l'image. L'espace bidimensionnel est celui des nombres entiers {A,B}. En #
$Z # chaque point {A,B}, la couleur visualise : #
$Z # #
$Z # (SD(A)+SD(B)) - (A+B+2) #
$Z # #
$Z # En effet, sur les droites A+B=N (ou 'N' est un entier), le minimum de SD(A)+SD(B) est #
$Z # atteint lorsque 'A' et 'B' sont deux nombres premiers 'P1' et 'P2' : #
$Z # #
$Z # min(SD(A)+SD(B)) = SD(P1)+SD(P2) #
$Z # = (P1+1)+(P2+1) #
$Z # = (P1+P2)+2 #
$Z # = N+2 #
$Z # #
$Z # Ainsi, en retranchant 'N+2' le minimum sera nul sur toutes les droites A+B=N. On fait #
$Z # en quelque sorte une "renormalisation"... #
$Z
$Z FilSTmpE FImAgE
$Z FilSTmpE FCoOrDoNnEeS_I
$Z FilSTmpE FCoOrDoNnEeS
$Z FilSTmpE FMaTrIcE
$Z FilSTmpE FGoLdBaCh