#######################################################################################################################################
# #
# V I S U A L I S A T I O N D E L A C O N J E C T U R E D E L E G E N D R E : #
# #
# #
# Author of '$xiirv/.LEGE.11.1.$U' : #
# #
# Jean-Francois COLONNA (LACTAMME, 20250215101553). #
# #
#######################################################################################################################################
$Z setParam _____Puissance 2
$Z # Parametre introduit le 20250221133038 pour generaliser la conjecture de Legendre a #
$Z # puissances superieurs a 2... #
$Z setParam _____NombreNombresPremiers 1000
$Z setParam _____NombreIntervalles 50
$Z # On notera que d'apres un theoreme fondamental : #
$Z # #
$Z # 2 #
$Z # ($_____NombreIntervalles + 1) #
$Z # $_____NombreNombresPremiers ~ ------------------------------------- #
$Z # 2 #
$Z # log[($_____NombreIntervalles + 1) ] #
$Z # #
#20250216082204____:$Z SETParam _____Lister $EXIST #
$Z SETParam _____Lister $NEXIST
$Z setParam _____Z 0.5
$Z setParam _____Zoom 0.95
$Z setParam _____Rayon1 0.004
$Z setParam _____Rayon2 0.008
$Z setParam _____Rayon3 0.010
$Z setParam _____Niveau1 $GRIS_0
$Z setParam _____Niveau21 `calculINS $NOIR_PLANCHER+1`
$Z setParam _____Niveau22 $GRIS_8
$Z setParam _____Niveau3 $NOIR_PLANCHER
$Z setParam _____Palette $xiP/arc_ciel.M4
$Z setParam _____DistanceMini 0.006
$Z FilSTmpB FNoMbReS_PrEmIeRs
$Z FilSTmpB FCoOrDoNnEeS
$Z $xci/valeurs_Goldbach$X \
$Z premiere=1 derniere=$_____NombreNombresPremiers \
$Z editer_nombres_premiers=VRAI \
$Z calculer_decompositions=FAUX \
$Z >> $FNoMbReS_PrEmIeRs
$Z set DeRnIeR_NoMbRe_PrEmIeR=`$CA $FNoMbReS_PrEmIeRs | $TAI -1`
$Z set index=1
$Z while ($index <= $_____NombreIntervalles)
#20250221133038____:$Z @ BoRnE_n2__ = $index * $index #
$Z set BoRnE_n2__=`calculINS pow($index,$_____Puissance)`
#20250221133038____:$Z @ BoRnE_n2p1 = $index + 1 #
#20250221133038____:$Z @ BoRnE_n2p1 = $BoRnE_n2p1 * $BoRnE_n2p1 #
$Z set BoRnE_n2p1=`calculINS pow($index+1,$_____Puissance)`
$Z if ($DeRnIeR_NoMbRe_PrEmIeR < $BoRnE_n2p1) then
$Z EROR "Trop peu de nombres premiers ($DeRnIeR_NoMbRe_PrEmIeR < $BoRnE_n2p1,n=$index)."
$Z else
$Z endif
$Z FilSTmpB FInTeRvAlLe
$Z $xrv/INCLcc.11$X ne=0 \
$Z fichierX=$FNoMbReS_PrEmIeRs \
$Z fichierA=$BoRnE_n2__ \
$Z fichierB=$BoRnE_n2p1 \
$Z exemplaires=2 \
$Z formater=VRAI signe="$K_VIDE" \
$Z >> $FInTeRvAlLe
$Z # Recuperation des nombres premiers dans [$BoRnE_n2__,$BoRnE_n2p1]. #
$Z SIZE $FInTeRvAlLe
$Z if ($Fsize != 0) then
$Z # Test introduit le 20250228114228 apres avoir essaye l'exposant '_____Puissance=1.5'... #
$Z if ($_____Lister == $EXIST) then
$Z set LNoMbReS_PrEmIeRs=`$CA $FInTeRvAlLe | $UNI`
$Z set LNoMbReS_PrEmIeRs=`echo "$LNoMbReS_PrEmIeRs" | $SE -e "s/ /,/g"`
$Z echo "n=$index : [$BoRnE_n2__,$BoRnE_n2p1] --> {$LNoMbReS_PrEmIeRs}"
$Z else
$Z endif
$Z echo "$BoRnE_n2__" \
$Z >>! $FInTeRvAlLe.1$COORD_Y
$Z $CA $FInTeRvAlLe \
$Z >>! $FInTeRvAlLe.1$COORD_Y
$Z echo "$BoRnE_n2p1" \
$Z >>! $FInTeRvAlLe.1$COORD_Y
$Z $CA $FInTeRvAlLe.1$COORD_Y | \
$Z $SE -e 's/^.*$'"/$index/" \
$Z >>! $FInTeRvAlLe.1$COORD_X
$Z $CA $FInTeRvAlLe.1$COORD_X \
$Z >>! $FCoOrDoNnEeS.1$COORD_X
#20250215114634____:$Z set TrAnSlAtIoN_Y=0 #
$Z set TrAnSlAtIoN_Y=$BoRnE_n2__
$Z $CA $FInTeRvAlLe.1$COORD_Y | \
$Z $xrv/SOUS.11$X ne=0 \
$Z fichier1== \
$Z fichier2=$TrAnSlAtIoN_Y \
$Z >>! $FCoOrDoNnEeS.1$COORD_Y
$Z set NPoIntsX_=`$CA $FInTeRvAlLe.1$COORD_X | $WCl`
$Z set NPoIntsY_=`$CA $FInTeRvAlLe.1$COORD_Y | $WCl`
$Z set NPoIntsXY=`$xcg/MIN2.01$X x=$NPoIntsX_ y=$NPoIntsY_`
$Z $xci/valeurs_inte$X premiere=1 derniere=$NPoIntsXY \
$Z vD=$_____Niveau1 vA=$_____Niveau1 \
$Z lineaire=VRAI \
$Z >>! $FCoOrDoNnEeS$NIVEAU
$Z $xci/valeurs_inte$X premiere=1 derniere=$NPoIntsXY \
$Z vD=$_____Rayon1 vA=$_____Rayon1 \
$Z lineaire=VRAI \
$Z >>! $FCoOrDoNnEeS$RAYON
$Z # Mise en place du trace du support visualisant [$BoRnE_n2__,$BoRnE_n2p1]. #
$Z $CA $FInTeRvAlLe \
$Z >>! $FInTeRvAlLe.2$COORD_Y
$Z $CA $FInTeRvAlLe.2$COORD_Y | \
$Z $SE -e 's/^.*$'"/$index/" \
$Z >>! $FInTeRvAlLe.2$COORD_X
$Z $CA $FInTeRvAlLe.2$COORD_X \
$Z >>! $FCoOrDoNnEeS.1$COORD_X
#20250215114634____:$Z set TrAnSlAtIoN_Y=0 #
$Z set TrAnSlAtIoN_Y=$BoRnE_n2__
$Z $CA $FInTeRvAlLe.2$COORD_Y | \
$Z $xrv/SOUS.11$X ne=0 \
$Z fichier1== \
$Z fichier2=$TrAnSlAtIoN_Y \
$Z >>! $FCoOrDoNnEeS.1$COORD_Y
$Z set NPoIntsX_=`$CA $FInTeRvAlLe.2$COORD_X | $WCl`
$Z set NPoIntsY_=`$CA $FInTeRvAlLe.2$COORD_Y | $WCl`
$Z set NPoIntsXY=`$xcg/MIN2.01$X x=$NPoIntsX_ y=$NPoIntsY_`
$Z $xci/valeurs_inte$X premiere=1 derniere=$NPoIntsXY \
$Z vD=$_____Niveau21 vA=$_____Niveau22 \
$Z lineaire=VRAI \
$Z >>! $FCoOrDoNnEeS$NIVEAU
$Z $xci/valeurs_inte$X premiere=1 derniere=$NPoIntsXY \
$Z vD=$_____Rayon2 vA=$_____Rayon2 \
$Z lineaire=VRAI \
$Z >>! $FCoOrDoNnEeS$RAYON
$Z # Mise en place de la visualisation des nombres premiers dans [$BoRnE_n2__,$BoRnE_n2p1]. #
$Z else
$Z EROR "On doit etre en presence d'exposants non entiers."
$Z endif
$Z unset Fsize
$Z FilSTmpE FInTeRvAlLe
$Z @ index = $index + 1
$Z end
$Z if (($?_____Alignement_n_ == $EXIST) && ($?_____Alignement_np == $EXIST)) then
$Z if ($#_____Alignement_n_ == $#_____Alignement_np) then
$Z FilSTmpB FInTeRvAlLe
$Z echo $_____Alignement_np | \
$Z $R "$K_BLANC" "$K_NL" \
$Z >>! $FInTeRvAlLe.3.1
$Z $CA $FInTeRvAlLe.3.1 | \
$Z $xrv/PUIX.01$X ne=0 \
$Z fichier== \
$Z exposant=0.5 \
$Z formater=VRAI entiers=VRAI | \
$Z $xrv/PUIX.01$X ne=0 \
$Z fichier== \
$Z exposant=2 \
$Z formater=VRAI entiers=VRAI \
$Z >>! $FInTeRvAlLe.3.2
$Z # Calcul des carres entiers juste inferieurs a chacun des nombres de '$_____Alignement_np'. #
$Z $CA $FInTeRvAlLe.3.1 | \
$Z $xrv/SOUS.11$X ne=0 \
$Z fichier1== \
$Z fichier2=$FInTeRvAlLe.3.2 \
$Z exemplaires=2 \
$Z >>! $FInTeRvAlLe.3$COORD_Y
$Z echo $_____Alignement_n_ | \
$Z $R "$K_BLANC" "$K_NL" | \
$Z $xrv/neutre$X ne=0 \
$Z fichier== \
$Z exemplaires=2 \
$Z >>! $FInTeRvAlLe.3$COORD_X
$Z $CA $FInTeRvAlLe.3$COORD_X \
$Z >>! $FCoOrDoNnEeS.1$COORD_X
$Z $CA $FInTeRvAlLe.3$COORD_Y \
$Z >>! $FCoOrDoNnEeS.1$COORD_Y
$Z set NPoIntsX_=`$CA $FInTeRvAlLe.3$COORD_X | $WCl`
$Z set NPoIntsY_=`$CA $FInTeRvAlLe.3$COORD_Y | $WCl`
$Z set NPoIntsXY=`$xcg/MIN2.01$X x=$NPoIntsX_ y=$NPoIntsY_`
$Z $xci/valeurs_inte$X premiere=1 derniere=$NPoIntsXY \
$Z vD=$_____Niveau3 vA=$_____Niveau3 \
$Z lineaire=VRAI \
$Z >>! $FCoOrDoNnEeS$NIVEAU
$Z $xci/valeurs_inte$X premiere=1 derniere=$NPoIntsXY \
$Z vD=$_____Rayon3 vA=$_____Rayon3 \
$Z lineaire=VRAI \
$Z >>! $FCoOrDoNnEeS$RAYON
$Z FilSTmpE FInTeRvAlLe
$Z # Mise en place du trace d'un alignement... #
$Z else
$Z EROR "Les deux listes d'alignement sont incompatibles."
$Z endif
$Z else
$Z endif
$Z $xrv/normalise.01$X ne=0 \
$Z fichier=$FCoOrDoNnEeS.1$COORD_X \
$Z >>! $FCoOrDoNnEeS.2$COORD_X
$Z $xrv/normalise.01$X ne=0 \
$Z fichier=$FCoOrDoNnEeS.1$COORD_Y \
$Z >>! $FCoOrDoNnEeS.2$COORD_Y
$Z set NPoIntsX_=`$CA $FCoOrDoNnEeS.2$COORD_X | $WCl`
$Z set NPoIntsY_=`$CA $FCoOrDoNnEeS.2$COORD_Y | $WCl`
$Z set NPoIntsXY=`$xcg/MIN2.01$X x=$NPoIntsX_ y=$NPoIntsY_`
$Z $xrv/particule.10$X \
$Z nombre_points=$NPoIntsXY \
$Z LISTE_X=$FCoOrDoNnEeS.2$COORD_X \
$Z LISTE_Y=$FCoOrDoNnEeS.2$COORD_Y \
$Z LISTE_Z=$_____Z \
$Z LISTE_RAYON=$FCoOrDoNnEeS$RAYON \
$Z LISTE_NIVEAU=$FCoOrDoNnEeS$NIVEAU \
$Z palette=$_____Palette \
$Z ZOOM=$_____Zoom \
$Z isoles=FAUX chainer=FAUX \
$Z ajuster_points=VRAI equidistance=VRAI \
$Z distance_minimale=$_____DistanceMini \
$Z editer_extrema_hors=FAUX \
$Z Lz=1000 \
$Z chiffres=0 \
$Z R=$_____ImageR \
$Z $formatI
$Z FilSTmpE FCoOrDoNnEeS
$Z FilSTmpE FNoMbReS_PrEmIeRs