####################################################################################################################################### # # # 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