MIXTE
δ = 41 m · dα = 1.000000° sur l'angle entre amers · empreinte b9db9c4cec64883b
Jouer sur les tolérances
Une erreur de carte par amer, une erreur angulaire commune. Baissez le δ d'un seul amer — celui que vous relèveriez au GPS — et regardez X rétrécir. Le calcul refait est certifié, pas approché : comptez quelques secondes par essai.
Le dα minimal pour que les mesures soient cohérentes vaut au moins 0.417°. Vous avez déclaré 1.000°, soit 2.4× ce minimum.
8 amers lus dans « MIXTE.csv » (2 colonnes : x, y)
10 mesures lues dans le second fichier (i, j, angle en degres) sur 28 paires possibles.
Les amers
8 points, a 1023 a 4933 m de l'origine.
X
environ 216 m de large — soit 23 fois moins que la portee des amers. Le cercle en pointille le situe ; le detail est ci-dessous.
Les traits pales vont de l'origine vers chaque amer. L'observateur n'est pas a l'origine : il est quelque part dans X, et c'est tout ce qu'on sait de lui.
X
20204 ± 11 m²
X∩
28212 ± 68 m²
X ⊊ X∩ : la clôture par Floyd-Warshall améliore au moins une borne, donc X est strictement plus petit.
9 sommets certifiés.
Les sommets
| # | x (m) | y (m) | contraintes |
|---|
| 1 | -63.734 | -43.198 | (1,2) ∩ (1,8) |
| 2 | -54.639 | 67.188 | (1,2) ∩ (8,2) |
| 3 | -38.491 | -105.014 | (1,8) ∩ (2,5) |
| 4 | 56.161 | -121.450 | (2,1) ∩ (3,7) |
| 5 | 61.722 | -70.618 | (2,1) ∩ (4,1) |
| 6 | 15.663 | -134.923 | (2,5) ∩ (2,7) |
| 7 | 50.312 | -126.889 | (2,7) ∩ (3,7) |
| 8 | 46.468 | 3.756 | (4,1) ∩ (8,1) |
| 9 | 14.443 | 81.572 | (8,1) ∩ (8,2) |
Chaque sommet est un enclos certifié ; la largeur du plus large vaut 2.8e-14 m.
Ce que cela a coûté
| lecture du tableur | 0.005 s |
|---|
| préparation du jeu | 0.009 s |
|---|
| calcul de X∩ et X | 6.742 s |
|---|
| aire et tracé | 0.952 s |
|---|
| total | 7.924 s |
|---|
Le calcul et l'analyse sont deux choses : la première est l'objet de l'étude, la seconde un outil pour la regarder. Leur coût ne dépend pas des mêmes choses — le calcul du jeu, l'analyse de la précision demandée.
Sur quoi
machine : Linux aarch64 -- Raspberry Pi 4 Model B Rev 1.1
4 coeur(s) a 1.50 GHz, 3.7 Go, 4 fil(s) demande(s)
calcul : intervalles fi64, mantisse hors solveur 256 bits
bati : Sep 10 2026, gcc 14.2.0
arrondi dirige disponible, socle : pthreads oui, rsgc non, flint non
gmp 6.3.0, mpfr 4.2.2, mpfi 1.5.4
sources : empreinte cbb2c1eddba1Les temps ci-dessus valent pour cette machine et pour elle seule. Ce qui se transporte d'une machine à l'autre, ce sont les rapports — pas les secondes.
Le jeu exact engendré (ce que lit le calcul)
# ==============================================================================
# Jeu MIXTE -- engendre par preparer.py, NE PAS EDITER A LA MAIN
# 8 amers, portees 1023-4933 m depuis l'origine
# delta = 41 m (40 m de carte + 1 m d'arrondi des coordonnees)
# d_alpha = 1.000000 deg SUR L'ANGLE ENTRE AMERS
# dont 1.42e-03 arcsec de transcription, majores et absorbes
# 10 paires mesurees sur 28 possibles
# ==============================================================================
const NOM = "MIXTE"
const EMPREINTE = "b9db9c4cec64883b" # signature des donnees, recopiee dans le resultat
const AMERS = Tuple{Rational{BigInt},Rational{BigInt}}[
(-254//1, 1077//1), # 1 azimut 346.75 deg
(-2192//1, -1659//1), # 2 azimut 232.87 deg
(-622//1, -2873//1), # 3 azimut 192.21 deg
(217//1, -1242//1), # 4 azimut 170.09 deg
(654//1, -786//1), # 5 azimut 140.26 deg
(2964//1, -3146//1), # 6 azimut 136.71 deg
(4252//1, -2501//1), # 7 azimut 120.46 deg
(3604//1, -2034//1), # 8 azimut 119.43 deg
]
const DELTA = Rational{BigInt}(41)
const T_D = Rational{BigInt}(807, 92473) # tan(d_alpha/2)
const MESURES = Dict{Tuple{Int,Int},Tuple{Rational{BigInt},Int}}(
(1,2) => (97817//63986, -1),
(1,8) => (-90521//40527, 0),
(2,3) => (14919//40046, 0),
(3,4) => (1549//7939, 0),
(4,5) => (5213//19177, 0),
(4,7) => (39007//85811, 0),
(4,8) => (43878//93871, 0),
(5,6) => (527//20549, 0),
(6,7) => (13257//98234, 0),
(7,8) => (11//4474, 0) )
Le journal du calcul
machine : Linux aarch64 -- Raspberry Pi 4 Model B Rev 1.1
4 coeur(s) a 1.50 GHz, 3.7 Go, 4 fil(s) demande(s)
calcul : intervalles fi64, mantisse hors solveur 256 bits
bati : Sep 10 2026, gcc 14.2.0
arrondi dirige disponible, socle : pthreads oui, rsgc non, flint non
gmp 6.3.0, mpfr 4.2.2, mpfi 1.5.4
========================================
MIXTE (8 amers)
========================================
minorant : les cycles imposent d_alpha >= 0.4166 deg (declare 1.0000)
pire cycle, 6 aretes : 4 3 2 1 8 7 4
defaut de fermeture 2.499375 deg pour 6.000003 deg de tolerance cumulee
exact sur TOUS les cycles : 0.4166
marge : 2.40x ce que les cycles exigent
8 amers, 20 contraintes orientees
elagage sur 69 boites : 9 paires sur 190
X∩ : 9 sommets en 0.191 s (elagage 0.012, solveur 0.156, filtres 0.019)
boite de depart reprise de X∩ : x[-64, 65] y[-193, 166]
germe repris de X∩ : 9 contrainte(s)
critere : la cloture apporte 0 amelioree(s) et 36 fabriquee(s) sur 56 -> X inclus strictement dans X∩, il faut calculer X
Floyd-Warshall certifie sur le graphe des mesures (8 amers)...
coherence de type I : OK
la cloture apporte : 0 borne(s) amelioree(s) et 36 fabriquee(s) sur 56 -> X inclus dans Xinter
--- iteration 1 : x[-64, 65] y[-193, 166]
origine des angles : secteur libre 125.2 deg
contraintes conservees : 56 sur 56
ensemble actif, tour 1 : |A| = 9, 9 sommet(s), 13 violee(s) (plafonne)
ensemble actif, tour 2 : |A| = 13, 7 sommet(s), 5 violee(s) (plafonne)
ensemble actif, tour 3 : |A| = 17, 9 sommet(s), 0 violee(s)
sommets certifies : 9
certificat 1 : 38 prouvee(s) redondante(s), 1 douteuse(s), 716 cellule(s)
ensemble actif, tour 1 : |A| = 18, 9 sommet(s), 0 violee(s)
certificat 2 : 38 prouvee(s) redondante(s), 0 douteuse(s), 649 cellule(s)
--- iteration 2 : x[-64, 62] y[-135, 82]
origine des angles : secteur libre 126.3 deg
contraintes conservees : 54 sur 56
ensemble actif, tour 1 : |A| = 9, 9 sommet(s), 0 violee(s)
sommets certifies : 9
certificat 1 : 44 prouvee(s) redondante(s), 1 douteuse(s), 1268 cellule(s)
ensemble actif, tour 1 : |A| = 10, 9 sommet(s), 0 violee(s)
certificat 2 : 44 prouvee(s) redondante(s), 0 douteuse(s), 1201 cellule(s)
point fixe atteint.
statut : ok
boite : x[-64.000000, 62.000000] y[-135.000000, 82.000000]
sommets : 9 contraintes actives : 9
bord : 9 arete(s), cycle unique
certificat : 2 passe(s), 10 actives sur 54 gardees, 3834 cellule(s)
memoire : pic 39.6 Mo
temps : X∩ 0.191 s X 6.376 s aire 0.000 s bord 0.000 s calcul 6.738 s mural 6.738 s
solveur : direct=565 erreur=0 asymptote=0 non_gen=0 plusieurs=0 coords=0
dont decomposition 13.31 s, solve_ratparam_real 2.53 s
ecrit : /tmp/geoloc-cui58siz/MIXTE.resultat.json
========================================
MIXTE_courbes (8 amers) -- analyse de /tmp/geoloc-cui58siz/MIXTE.resultat.json
========================================
aire de X∩ : [28140, 28290] m2 (0.48 %, niveaux 2 ; 36 prouvee(s), 0 mesuree(s), 0 majoree(s))
bord de X∩ : 72 points (fleche 0.28 px a 2160, niveaux 3)
aire de X : [20193, 20216] m2 (0.108 %, niveaux 2 ; 36 prouvee(s), 0 mesuree(s), 0 majoree(s))
bord de X : 36 points (fleche 0.53 px a 2160, niveaux 2)
temps : aire 0.793 s bord 0.152 s
ecrit : /tmp/geoloc-cui58siz/MIXTE.analyse.json
← un autre tableur
Sommets certifiés par arithmétique exacte sur ℤ ; aire garantie — la flèche de chaque sous-arc est majorée, pas échantillonnée. Le tracé est la polyligne du calcul lui-même, point par point.