Éléments du comput - Le comput julien utilise deux éléments, la lettre dominicale et le nombre d’or astronomique. Le comput grégorien utilise la lettre dominicale et l’épacte, mais la connaissance du nombre d’or est aussi nécessaire, contrairement à ce qui est généralement affirmé. Car le cycle solaire est un élément dont l’emploi est équivalent à celui de la lettre dominicale julienne.
L’indiction romaine n’a plus aucun rôle dans le comput actuel ; il a servi dans une ancienne chronologie chrétienne, fondée sur une division du temps en cycles successifs de quinze ans à partir de l’an 313 de l’ère chrétienne, et dans laquelle il indiquait le rang d’une année dans son cycle.
La valeur de ces éléments est donnée chaque année dans les almanachs ; aussi a-t-on cru devoir la publier dans la Connaissance des Temps et dans l’annuaire du Bureau des longitudes. En raison de cette publication, l’annuaire du Bureau des longitudes consacrait au comput un article périodique, qui se concluait naturellement par le calcul de la date de Pâques. Le texte de cet article était d’ailleurs très sensiblement la reproduction de la fin du Livre IV de la 3e édition du Cours d’astronomie de H. Andoyer de 1923. Il s’agissait d’une tradition non justifiée : les éléments du comput n’ont aucun rôle scientifique, civil, ou même religieux. Le calcul réel de ces jours est plus compliqué que celui du calendrier perpétuel publié annuellement dans les Éphémérides astronomiques de l’annuaire du Bureau des longitudes.
Depuis le Ier concile de Nicée, la date de Pâques suit une règle déterminée et a donc fait l’objet de formules mathématiques telles que celles qui sont indiquées ci-après. Les tables n’en sont pas issues, toutefois ces calculs permettent de trouver facilement les dates de Pâques et autres fêtes du comput. La démonstration de ces formules ne demande que des connaissances d’arithmétique élémentaire. Cela ne signifie pas qu’elles soient toujours simples pour autant !
Exemple de calcul pour l’année 2006 :
Le résultat représente le jour de Pâques en partant de début mars (1 = le 1er mars). En fait la plus petite valeur obtenue possible est 22 pour le 22 mars. Si le résultat dépasse 31, c’est que Pâques tombe en avril (il suffit de retrancher 31 pour avoir la date). Pour 2006, Pâques tombe donc le dimanche 16 avril (47 - 31 = 16).
Le premier algorithme attribué à Gauss contenait quelques erreurs (en fait d'erreur, il s'était basé sur des données limitées dans le temps ; son résultat n'est donc pas garanti pour toutes les périodes). Voici en tout cas un algorithme, créé par Thomas O'Beirne, qui a le mérite d’être juste et d’inclure tous les calculs intermédiaires du comput en partant simplement de l’année.
On y reconnait évidemment des parties du calcul précédent (nombre d’or, etc.), même si le rôle des grandeurs n’est pas précisé ici. L’algorithme est donné sous sa forme simplifiée car elle est pratique (la version complète(en) est de toute façon moins intéressante, car elle donne lieu à des calculs inutiles ou simplifiables ; par exemple on pourrait obtenir l'épacte en divisant directement x par 19). Pour la période actuelle (1900 - 2099), on a, de façon rapide :
Soit M l’année du calcul (prenons 2005 pour exemple) :
En refaisant ce calcul pour l’année 2006, on trouverait P = 16 et on retrouverait le résultat précédent (Pâques 2006 tombe le 16 avril).
Formule beaucoup plus simple : reste = reste de la (division)
année de 1955 à 2048
A=reste(année/19) B=reste(année/4) C=reste(année/7) D=reste((19A+24)/30) E=reste((2B+4C+6D+5)/7)
si D+E>9 Pâques=D+E-9 avril sinon Pâques=22+D+E mars. Si >25 avril retirer 7 jours
L'avantage de celui-ci est d'être parmi ceux qui demandent le moins d'opérations. C'est donc un des plus intéressants pour le calcul généraliste (sans limite de siècle). Il est présenté sous sa forme non simplifiée donc utilisable pour toute année postérieure à 1583 (après l'apparition du calendrier grégorien). Le calcul de la date de Pâques est loin d'être une chose si facile. On prendra pour exemple le calcul dans l'année actuelle (2010).
Les divisions doivent toujours être entières (on supprime les décimales).
R représente la date du mois de mars, s'il dépasse 31 on déborde sur avril (…, 30 correspond au 30 mars, 31 au 31 mars, 32 au 1er avril, 33 au 2 avril, …). Retrancher 31 le cas échéant pour obtenir la date d'avril (Pâques 2010 tombe donc le 4 avril).
Remarque :
Deux clauses limites :
· Si H = 29 , il faut prendre un retard rectifié H1 = H - 1 = 28
· Si H = 28 et si G est supérieur à 10 , alors H2 = H - 1 = 27
( pour 1981, on aurait trouvé sinon le dimanche 26 avril ( ce qui est impossible ) au lieu du 19 avril .
Transcription de cet algorithme en langage informatique (ici Javascript), et légères adaptations pour lundi de Pâques:
function paques(annee) //renvoi un tableau [jour, mois], mois commence à 0
{
var g = annee%19;
var c = Math.floor(annee/100);
var c_4 = Math.floor(c/4);
var h = (19*g + c - c_4 - Math.floor((8*c + 13)/25) + 15)%30;
var k = Math.floor(h/28);
var i = (k*Math.floor(29/(h+1))*Math.floor((21-g)/11) - 1)*k + h;
var jourSemaine = (Math.floor(annee/4) + annee + i + 2 + c_4 - c)%7; //jour de Pâques (0=dimanche, 1=lundi....)
var presJour = 28 + i - jourSemaine; //Jour de Pâques en jours en partant de 1 = 1er mars
var mois = presJour>31 ? 3 : 2; //mois (0 = janvier, ... 2 = mars, 3 = avril)
var jour = mois==2 ? presJour : presJour-31; //jour du mois
return new Array(jour, mois);
};
function lundiPaques(annee) //identique à Pâques pour les …
{
…
var presJour = (28 + i - jourSemaine + 1); //Lundi de Pâques en jours en partant de 1 = 1er mars
…
};