Chiron — le 14e corps

Ketu v1.3 ajoute Chiron comme 14e corps céleste. Chiron est un petit corps du système solaire (un centaure) en orbite entre Saturne et Uranus, portant une signification astrologique en tant que « Guérisseur blessé ». Il est accessible via toutes les fonctions de calcul standard de Ketu en utilisant body_id=13.

Détails d’implémentation

Propriété

Valeur

body_id

13

Plage de dates valide

1900-01-01 à 2100-12-31 (Jours Juliens 2415020.5 à 2488069.5) — étendu en v1.4

Précision de position

erreur max 0,001214° (sous-arcminute, ~4 arcsecondes) — améliorée en v1.4

Méthode d’évaluation

Évaluation de polynôme de Chebyshev Pure NumPy

Dépendance au runtime

Aucune — coefficients embarqués dans ketu/data/chiron_coeffs.npz

Les coefficients de Chebyshev ont été générés hors ligne à l’aide de Swiss Ephemeris (build uniquement, isolation AGPL). Au runtime, Ketu utilise Pure NumPy — aucune dépendance pyswisseph requise.

Accéder à Chiron via les fonctions de calcul

Chiron utilise la même API que tout autre corps — il suffit de passer body_id=13.

from ketu.calculations import long, lat

jd = 2451545.0   # J2000: 2000-01-01 12:00 UTC

chiron_lon = long(jd, 13)   # ~251.6125 degrees
chiron_lat = lat(jd, 13)

print(f"Chiron longitude: {chiron_lon:.4f} deg")
print(f"Chiron latitude:  {chiron_lat:.4f} deg")

Vous pouvez aussi calculer les propriétés de Chiron aux côtés d’autres corps :

from ketu.calculations import long, lat

jd = 2451545.0
body_ids = [0, 1, 13]   # Sun, Moon, Chiron
lons = [long(jd, b) for b in body_ids]

Chiron dans un thème natal

compute_chart retourne un tableau structuré avec un champ body_lons de shape [14]. L’index 13 est Chiron.

from ketu.charts import compute_chart

jd = 2451545.0
chart = compute_chart(jd, 48.8566, 2.3522)   # Paris, J2000

chiron_longitude = chart["body_lons"][13]
chiron_latitude  = chart["body_lats"][13]
chiron_speed     = chart["body_speeds"][13]   # degrees/day

print(f"Chiron at {chiron_longitude:.4f} deg")

Toutes les fonctions de thèmes relationnels (synastrie, composite, retours) héritent de Chiron automatiquement — il apparaît à l’index 13 dans chaque champ body_lons, body_lats, body_speeds, aspect_matrix et aspect_orbs.

Plage de dates et comportement en cas d’erreur

Les coefficients embarqués de Chiron couvrent 1900-01-01 à 2100-12-31 (étendu en v1.4). Toute entrée hors de cette plage est silencieusement clampée à la limite de segment la plus proche — aucune ValueError n’est levée :

from ketu.calculations import long

# Out-of-range JD: result is clamped to the nearest boundary (no exception)
chiron_lon = long(2300000.0, 13)   # clamped to the 1900/2100 edge

Pour les dates dans la plage, l’erreur de position est garantie d’être au plus 0,001214° (environ 4 arcsecondes), bien en dessous de la cible 0,01° définie lors du spike Chebyshev (Phase 23).

Changement incompatible dans v1.3 (D-08)

Avant v1.3, CHART_DTYPE avait un champ body_lons[13] (indices 0–12). L’ajout de Chiron l’a étendu à body_lons[14] (indices 0–13). Tout code qui codait en dur le nombre de corps (13) ou accédait aux tableaux de corps par index numérique fixe au-delà de 12 doit être mis à jour.

Voir le Guide de migration pour le chemin de mise à jour complet de v1.2 vers v1.3.

Prochaines étapes