MacBookPro.lan 2026-5-2:21:34:24
This commit is contained in:
@@ -534,9 +534,162 @@ Conway leur donne des noms d'éléments (de l'hydrogène à l'uranium, ce qui fa
|
||||
|
||||
|
||||
> [!proposition]+ Calcul de la valeur de $\lambda$
|
||||
> L
|
||||
> L'annexe 1 fournit le code permettant (entre autres) une approximation de $\lambda$.
|
||||
> Il est évident que $\lambda$ est un nombre algébrique de degré $92$.
|
||||
|
||||
> [!proposition]+ Théorème cosmologique
|
||||
> Toute chaine (autre que $[\;]$ et $[22]$) finit, après assez de dérivations, par
|
||||
|
||||
# Annexes
|
||||
|
||||
## Code source utilisé pour le calcul
|
||||
## Annexe 1 - Code source utilisé pour le calcul
|
||||
|
||||
```python
|
||||
import numpy as np
|
||||
|
||||
|
||||
# Liste de dictionnaires représentant les éléments
|
||||
ELEMENTS = [{"num": 1, "name": "H", "deriv": ["H"]}, #{{{
|
||||
{"num": 2, "name": "He", "deriv": ["Hf","Pa","H","Ca","Li"]},
|
||||
{"num": 3, "name": "Li", "deriv": ["He"]},
|
||||
{"num": 4, "name": "Be", "deriv": ["Ge","Ca","Li"]},
|
||||
{"num": 5, "name": "B", "deriv": ["Be"]},
|
||||
{"num": 6, "name": "C", "deriv": ["B"]},
|
||||
{"num": 7, "name": "N", "deriv": ["C"]},
|
||||
{"num": 8, "name": "O", "deriv": ["N"]},
|
||||
{"num": 9, "name": "F", "deriv": ["O"]},
|
||||
{"num": 10, "name": "Ne", "deriv": ["F"]},
|
||||
{"num": 11, "name": "Na", "deriv": ["Ne"]},
|
||||
{"num": 12, "name": "Mg", "deriv": ["Pm", "Na"]},
|
||||
{"num": 13, "name": "Al", "deriv": ["Mg"]},
|
||||
{"num": 14, "name": "Si", "deriv": ["Al"]},
|
||||
{"num": 15, "name": "P", "deriv": ["Ho", "Si"]},
|
||||
{"num": 16, "name": "S", "deriv": ["P"]},
|
||||
{"num": 17, "name": "Cl", "deriv": ["S"]},
|
||||
{"num": 18, "name": "Ar", "deriv": ["Cl"]},
|
||||
{"num": 19, "name": "K", "deriv": ["Ar"]},
|
||||
{"num": 20, "name": "Ca", "deriv": ["K"]},
|
||||
{"num": 21, "name": "Sc", "deriv": ["Ho", "Pa", "H", "Ca", "Co"]},
|
||||
{"num": 22, "name": "Ti", "deriv": ["Sc"]},
|
||||
{"num": 23, "name": "V", "deriv": ["Ti"]},
|
||||
{"num": 24, "name": "Cr", "deriv": ["V"]},
|
||||
{"num": 25, "name": "Mn", "deriv": ["Cr", "Si"]},
|
||||
{"num": 26, "name": "Fe", "deriv": ["Mn"]},
|
||||
{"num": 27, "name": "Co", "deriv": ["Fe"]},
|
||||
{"num": 28, "name": "Ni", "deriv": ["Zn", "Co"]},
|
||||
{"num": 29, "name": "Cu", "deriv": ["Ni"]},
|
||||
{"num": 30, "name": "Zn", "deriv": ["Cu"]},
|
||||
{"num": 31, "name": "Ga", "deriv": ["Eu", "Ca","Ac","H","Ca","Zn"]},
|
||||
{"num": 32, "name": "Ge", "deriv": ["Ho", "Ga"]},
|
||||
{"num": 33, "name": "As", "deriv": ["Ge", "Na"]},
|
||||
{"num": 34, "name": "Se", "deriv": ["As"]},
|
||||
{"num": 35, "name": "Br", "deriv": ["Se"]},
|
||||
{"num": 36, "name": "Kr", "deriv": ["Br"]},
|
||||
{"num": 37, "name": "Rb", "deriv": ["Kr"]},
|
||||
{"num": 38, "name": "Sr", "deriv": ["Rb"]},
|
||||
{"num": 39, "name": "Y", "deriv": ["Sr", "U"]},
|
||||
{"num": 40, "name": "Zr", "deriv": ["Y","H","Ca","Tc"]},
|
||||
{"num": 41, "name": "Nb", "deriv": ["Er", "Zr"]},
|
||||
{"num": 42, "name": "Mo", "deriv": ["Nb"]},
|
||||
{"num": 43, "name": "Tc", "deriv": ["Mo"]},
|
||||
{"num": 44, "name": "Ru", "deriv": ["Eu", "Ca","Tc"]},
|
||||
{"num": 45, "name": "Rh", "deriv": ["Ho", "Ru"]},
|
||||
{"num": 46, "name": "Pd", "deriv": ["Rh"]},
|
||||
{"num": 47, "name": "Ag", "deriv": ["Pd"]},
|
||||
{"num": 48, "name": "Cd", "deriv": ["Ag"]},
|
||||
{"num": 49, "name": "In", "deriv": ["Cd"]},
|
||||
{"num": 50, "name": "Sn", "deriv": ["In"]},
|
||||
{"num": 51, "name": "Sb", "deriv": ["Pm", "Sn"]},
|
||||
{"num": 52, "name": "Te", "deriv": ["Eu", "Ca","Sb"]},
|
||||
{"num": 53, "name": "I", "deriv": ["Ho", "Te"]},
|
||||
{"num": 54, "name": "Xe", "deriv": ["I"]},
|
||||
{"num": 55, "name": "Cs", "deriv": ["Xe"]},
|
||||
{"num": 56, "name": "Ba", "deriv": ["Cs"]},
|
||||
{"num": 57, "name": "La", "deriv": ["Ba"]},
|
||||
{"num": 58, "name": "Ce", "deriv": ["La", "H","Ca","Co"]},
|
||||
{"num": 59, "name": "Pr", "deriv": ["Ce"]},
|
||||
{"num": 60, "name": "Nd", "deriv": ["Pr"]},
|
||||
{"num": 61, "name": "Pm", "deriv": ["Nd"]},
|
||||
{"num": 62, "name": "Sm", "deriv": ["Pm", "Ca","Zn"]},
|
||||
{"num": 63, "name": "Eu", "deriv": ["Sm"]},
|
||||
{"num": 64, "name": "Gd", "deriv": ["Eu", "Ca","Co"]},
|
||||
{"num": 65, "name": "Tb", "deriv": ["Ho", "Gd"]},
|
||||
{"num": 66, "name": "Dy", "deriv": ["Tb"]},
|
||||
{"num": 67, "name": "Ho", "deriv": ["Dy"]},
|
||||
{"num": 68, "name": "Er", "deriv": ["Ho", "Pm"]},
|
||||
{"num": 69, "name": "Tm", "deriv": ["Er", "Ca","Co"]},
|
||||
{"num": 70, "name": "Yb", "deriv": ["Tm"]},
|
||||
{"num": 71, "name": "Lu", "deriv": ["Yb"]},
|
||||
{"num": 72, "name": "Hf", "deriv": ["Lu"]},
|
||||
{"num": 73, "name": "Ta", "deriv": ["Hf", "Pa","H","Ca","W"]},
|
||||
{"num": 74, "name": "W", "deriv": ["Ta"]},
|
||||
{"num": 75, "name": "Re", "deriv": ["Ge", "Ca","W"]},
|
||||
{"num": 76, "name": "Os", "deriv": ["Re"]},
|
||||
{"num": 77, "name": "Ir", "deriv": ["Os"]},
|
||||
{"num": 78, "name": "Pt", "deriv": ["Ir"]},
|
||||
{"num": 79, "name": "Au", "deriv": ["Pt"]},
|
||||
{"num": 80, "name": "Hg", "deriv": ["Au"]},
|
||||
{"num": 81, "name": "Tl", "deriv": ["Hg"]},
|
||||
{"num": 82, "name": "Pb", "deriv": ["Tl"]},
|
||||
{"num": 83, "name": "Bi", "deriv": ["Pm", "Pb"]},
|
||||
{"num": 84, "name": "Po", "deriv": ["Bi"]},
|
||||
{"num": 85, "name": "At", "deriv": ["Po"]},
|
||||
{"num": 86, "name": "Rn", "deriv": ["Ho", "At"]},
|
||||
{"num": 87, "name": "Fr", "deriv": ["Rn"]},
|
||||
{"num": 88, "name": "Ra", "deriv": ["Fr"]},
|
||||
{"num": 89, "name": "Ac", "deriv": ["Ra"]},
|
||||
{"num": 90, "name": "Th", "deriv": ["Ac"]},
|
||||
{"num": 91, "name": "Pa", "deriv": ["Th"]},
|
||||
{"num": 92, "name": "U", "deriv": ["Pa"]}]
|
||||
#}}}
|
||||
|
||||
# dictionnaire numéro --> élément
|
||||
# permet de retrouver un élément par son numéro atomique
|
||||
NUM_OF = {elt["name"]: elt["num"] for elt in ELEMENTS}
|
||||
|
||||
#####################################################
|
||||
# CRÉATION DE LA MATRICE DES DÉRIVATIONS D'ÉLÉMENTS #
|
||||
#####################################################
|
||||
# initialisation
|
||||
matrix = [[0 for _ in range(len(ELEMENTS))] for _ in range(len(ELEMENTS))]
|
||||
# remplissage
|
||||
for elt in ELEMENTS:
|
||||
num = elt["num"]
|
||||
for dv_elt in elt["deriv"]:
|
||||
matrix[num-1][NUM_OF[dv_elt]-1] += 1
|
||||
# conversion en tableau numpy
|
||||
matrix = np.array(matrix)
|
||||
|
||||
# AFFICHER LA MATRICE
|
||||
print("Matrice 𝑀 :")
|
||||
print("┏", "━"*92, "┓\n┃",
|
||||
"┃\n┃".join([''.join([" 12│12─12┼12"[val + 3*(9==col%10) + 6*(9==ln%10)] for col, val in enumerate(line)]) for ln, line in enumerate(matrix)]),
|
||||
"┃\n┗", "━"*92, "┛",
|
||||
sep="")
|
||||
|
||||
# CALCUL DE λ
|
||||
eigvals = np.linalg.eigvals(matrix)
|
||||
λ = eigvals[np.argmax(np.abs(eigvals))]
|
||||
print(f"λ = {np.real(λ)} + {np.imag(λ)}𝑖")
|
||||
|
||||
############################################################
|
||||
# CALCUL DE LA PLUS PETITE BORNE POUR LE THÉORÈME CHIMIQUE #
|
||||
############################################################
|
||||
def nb_derivations_engendre_tous_les_elements(elt_num: int):
|
||||
"""compte le nombre de dérivations nécessaires pour que l'élément numéro elt_num engendre tous
|
||||
les autres"""
|
||||
counts = np.zeros((92,))
|
||||
counts[elt_num-1] = 1
|
||||
derivations_count = 0
|
||||
while np.min(counts) == 0:
|
||||
counts = counts @ matrix
|
||||
derivations_count += 1
|
||||
return derivations_count
|
||||
|
||||
|
||||
min_steps_required = 0
|
||||
for elt_num in range(2, 93):
|
||||
min_steps_required = max(min_steps_required,
|
||||
nb_derivations_engendre_tous_les_elements(elt_num))
|
||||
print("Borne pour le théorème chimique :", min_steps_required)
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user