mercredi 24 juillet 2024

python3.11 still required when python3.12 is installed

 If you try to use pip while you have up-to-date python version 3.12 installed, you will get this error:

zsh: /opt/homebrew/bin/pip: bad interpreter: /opt/homebrew/opt/python@3.11/bin/python3.11: no such file or directory

If you are using pip3, it works.

The only solution until now is to install python 3.11. But it is pity to downgrad python:

% brew install python@3.11

I don't know what to do...

lundi 15 juillet 2024

tess software

 To install tessm on a Ubuntu x86 from http://membres-timc.imag.fr/Olivier.Francois/tess.html

# Install ChartDir
cd /usr/local
wget https://www.advsofteng.net/chartdir_cpp_linux_64.tar.gz
tar xzf chartdir_cpp_linux_64.tar.gz
rm chartdir_cpp_linux_64.tar.gz

Verify that GSL is installed using
gsl-config --libs
It will return
-L/usr/lib/x86_64-linux-gnu -lgsl -lgslcblas -lm

Install tessm:
cd $HOME
wget http://membres-timc.imag.fr/Olivier.Francois/tessm-2.3.1.tar.gz
tar xzf tessm-2.3.1.tar.gz 
cd tessm-2.3.1/
./configure CPPFLAGS="-I/usr/local/include -I/usr/local/ChartDirector/include" LDFLAGS="-L/usr/local/lib -L/usr/local/ChartDirector/lib"
Edit Voronoi.cpp and PlotUtilities.cpp:
Replace all
([\( ])Transparent
with 
\1Chart::Transparent
And 
([\( ])LineColor
with 
\1Chart::LineColor

make

Add in .profile
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/ChartDirector/lib
alias tessm=$HOME/tessm-2.3.1/tessm

logout and login and enter
tessm

###########################
cd $HOME
wget http://membres-timc.imag.fr/Olivier.Francois/tessmAdmBYM-2.3.1.tar.gz
tar xzf tessmAdmBYM-2.3.1.tar.gz
rm tessmAdmBYM-2.3.1.tar.gz
cd tessmAdmBYM-2.3.1/
./configure CPPFLAGS="-I/usr/local/include -I/usr/local/ChartDirector/include" LDFLAGS="-L/usr/local/lib -L/usr/local/ChartDirector/lib"

Edit Voronoi.cpp and PlotUtilities.cpp:
Replace all
([\( ])Transparent
with 
\1Chart::Transparent
And 
([\( ])LineColor
with 
\1Chart::LineColor

In vi:

:%s/ Transparent/ Chart::Transparent/g
:%s/(Transparent/(Chart::Transparent/g
:%s/ LineColor/ Chart:: LineColor/g
:%s/(LineColor/(Chart:: LineColor/g

make

Add in .profile
alias tessm=$HOME/tessm-2.3.1/tessm
alias tessmAdmBYM=$HOME/tessmAdmBYM-2.3.1/tessmAdmBYM

logout and login and enter
tessmAdmBYM

###########################
cd $HOME
wget http://membres-timc.imag.fr/Olivier.Francois/tessmAdmCAR-2.3.1.tar.gz
tar xzf tessmAdmCAR-2.3.1.tar.gz
rm tessmAdmCAR-2.3.1.tar.gz
cd tessmAdmCAR-2.3.1/

./configure CPPFLAGS="-I/usr/local/include -I/usr/local/ChartDirector/include" LDFLAGS="-L/usr/local/lib -L/usr/local/ChartDirector/lib"

Edit Voronoi.cpp and PlotUtilities.cpp:
Replace all
([\( ])Transparent
with 
\1Chart::Transparent
And 
([\( ])LineColor
with 
\1Chart::LineColor

make

Add in the .profile
alias tessmAdmCAR=$HOME/tessmAdmCAR-2.3.1/tessmAdmCAR

logout and login and enter
tessmAdmCAR

vendredi 12 juillet 2024

Patron de votes au premier et second tour de l'élection présidentielle sur un bureau de vote à Chaville en 2022

 Dans la publication 

Girondot, M. Nouvelle méthodologie d’analyse bayésienne du report des voix et de l’abstention lors du deuxième tour des élections. Comptes Rendus Mathématique 2023, 361, 243-256, doi:10.5802/crmath.401.

je note:

"Le plus gros problème concerne la capacité à limiter la possibilité pour le modèle à trop bien expliquer les données en affectant sur les abstentions des premiers et seconds tours, des votes à l’autre tour. En effet, dans les cas où le nombre d’abstentions est important, la meilleure solution numérique consiste à postuler que les abstentionnistes du premier tour ne sont pas les mêmes que ceux du deuxième. Bien que valide d’un point de vue numérique, cette solution n’est pas satisfaisante car une forte proportion des abstentionnistes du premier tour seront aussi des abstentionnistes au second tour. Il est aisé d’évaluer cette proportion en comparant les signatures sur les listes d’émargement dans les bureaux de votes au premier et second tour. On peut alors dénombrer les électeurs inscrits aux deux tours et ayant voté à l’un ou à l’autre des tours. Cette valeur peut alors être utilisée pour contraindre le modèle qui fournira des estimations plus plausibles du comportement de vote des électeurs comme nous l’avons vu précédemment. Si cette valeur ne peut pas être obtenue (voir la partie discussion en ce qui concerne la possibilité légale d’obtenir l’accès aux registres d’émargement), on est obligé de choisir une gamme de valeurs, par exemple 85 %, 89 %, 90 %, 91 % et 95 %, correspondant à la probabilité qu’un électeur n’ayant pas voté au premier tour n’ait pas voté non plus au second."

J'ai pu établir cette proportion dans un cas particulier, l'élection présidentielle en France en 2022 à Chaville, bureau 2.

Il y avait 1008 électeurs inscrits.

Premier tour: 

N1=840 votants et A1=168 abstentions (16% d'abstention)

Il est important de noter que ici ce sont tous les votants incluant les blancs et les nuls contrairement à ce qui est montré ici: https://www.ville-chaville.fr/fileadmin/documents/1.Actualites_et_Evenements/Actualites/Citoyennete_Solidarite/Election_presidentielle_2022/Election_presidentielle_Chaville_2022_premier_tour_synthese.pdf

Second tour:

N2=792 votants et A2=216 abstentions (21% d'abstention)

Sur la base de la liste d'émargements:

Le nombre d'électeurs ayant voté au premier tour et pas au second est de N10 = 88.

Le nombre d'électeurs ayant voté au second tour et pas au premier est de N02 = 40.

On appelle N12 le nombre d'électeurs ayant voté aux deux tours, N10 ceux ayant voté seulement au premier, N02 ceux ayant voté seulement au second et N00 ceux s'étant abstenus aux deux tours, on a les relations suivantes (en gras, les valeurs connues):

N1 = N12 + N10

A1 = N00 + N02

N2 = N12 + N02

A2 = N00 + N10

N1 + A1 = N2 + A2 = 1008

On a donc :

N12 = N1 - N10 =  840 - 88 = 752

N12 = N2 - N02 =  792 - 40 = 752

et

A2 = N00 + N10

d'où N00 = A2 - N10 = 216 - 88 = 128

A1 = N00 + N02

d'où N00 = A1 - N02 = 168 - 40 = 128

Avec ça on peut calculer toutes les probabilités qu'on veut et notamment pour "le pourcentage d’électeurs n’ayant pas voté au second tour qui n’avaient pas voté au premier tour non plus." dont on a besoin soit:

N00 / (N00 + N10) = N00 / A1 = 128 / (128 + 88) = 0,59

Donc 59% des électeurs qui n'ont pas voté au premier tour n'ont pas voté non plus au second tour. Finalement, parmi les abstentionnistes il n'y a que 13% qui n'ont pas voté ni au premier ni au second donc des "vrais" abstentionnistes.