Archivi categoria: matematica_light

Come calcolare la data della Pasqua

Domenica scorsa è stata Pasqua. Ma come si sapeva che proprio quel giorno era Pasqua? No, non venitemi a dire “la prima domenica dopo il primo plenilunio di primavera”, perché comincio a chiedervi “quando comincia la primavera?” (astronomicamente per esempio in questi anni cade il 20 marzo, e addirittura avremo degli anni in cui cadrà il 19 marzo) e “quando è domenica?” (ecclesiasticamente la domenica comincia al tramonto del sabato, con i primi vespri). A differenza degli islamici, almeno quelli sauditi, per cui boskovianamente “Ramadan comincia con prima falce di luna” (e quest’anno ci sono state due date diverse per l’inizio, quella astronomica e quella visuale), per i cristiani è necessario sapere già all’Epifania quando sarà Pasqua e quindi si è preparato tutto un armamentario di conteggi, con epatta e numero aureo, per avere la data sempre a disposizione. Ah, per definizione la primavera inizia il 21 marzo. Ma per fare questi conti occorre avere una serie di tabelle, e soprattutto tenere conto che l’approssimazione del ciclo di Metone, per cui 19 anni corrspondono esattamente a 235 mesi lunari, è per l’appunto un’approssimazione… oltre a incasinare il tutto passando al calendario gregoriano che segue sì più correttamente le stagioni ma complica parecchio i conti.

A questo punto entra in scena uno che i conti li sapeva fare sin troppo bene: Carl Friedrich Gauss. Il burbero genio aveva probabilmente qualche ora di svago e nel 1800 preparò un metodo che permette di calcolare a mente (d’accordo, se ti chiami Gauss…) la data della Pasqua per tutto un secolo; con il calendario giuliano in realtà il conto è perpetuo, mentre con quello gregoriano occorre imparare anche due numeri specifici per ciascun secolo. La buona notizia è che dal 1900 al 2099 quei due numeri restano identici, quindi per quanto ci riguarda il problema non si pone. Ma veniamo al conteggio, che richiede di usare l’aritmetica modulare, cioè il resto della divisione per un qualche numero intero. Dato un anno X, calcoliamo a = X mod 19, b = X mod 4, c = X mod 7; poi calcoliamo d = (19a + M) mod 30 ed e = (2b + 4c + 6d + N) mod 7. A questo punto sappiamo che Pasqua sarà il (22 + d + e) marzo, dove ovviamente il 32 marzo è il primo aprile e così via.

I più perspicaci di voi, cioè tutti, avranno notato che ho aggiunto altre due variabili, M e N. Nel calendario giuliano le cose erano semplici: valevano rispettivamente 15 e 5. Per il calendario gregoriano i loro valori cambiano di secolo in secolo: come dicevo sopra, però, dal 1900 al 2099 abbiamo M=24 e N=6. A questo punto possiamo fare la controprova: nel 2026 abbiamo a = 2026 mod 19 = 12, b = 2026 mod 4 = 2, c = 2026 mod 7 = 3, d = (19·12 + 24) mod 30 = 12 ed e = (2·2 + 4·3 + 6·12 + 5) mod 7 = 2. Infine 22+12+2 = 36, pertanto Pasqua è il “36 marzo” vale a dire il 5 aprile. Per il 2027 abbiamo a = 2027 mod 19 = 13, b = 2027 mod 4 = 3, c = 2027 mod 7 = 4, d = (19·13 + 24) mod 30 = 1 ed e = (2·3 + 4·4 + 6·1 + 5) mod 7 = 5, quindi Pasqua è il 22+1+5 cioè il 28 marzo. Per completezza aggiungo due eccezioni: se il conto dà 26 aprile allora Pasqua è il 19 aprile, mentre se dà 25 aprile con d = 28, e=6 e a=10 allora è il 18 aprile. Sempre per completezza, la prima formula di Gauss valeva solo dal 1700 al 1899; nel 1807 la generalizzò aggiungendo una formula per calcolare M e N e nel 1816 corresse un errore.

la distribuzione delle date della Pasqua Come ha fatto Gauss a trovare questa formula? Per una volta ce l’ha spiegato: la prima parte serve ad approssimare la posizione della luna e la seconda per aggiustare le cose secondo il computo ecclesiastico. Se siete persone amanti del rischio, Wikipedia in inglese ha la spiegazione… oppure vi leggete il testo originale in tedesco. Può infine essere divertente notare che secondo il calendario gregoriano le date della Pasqua si ripeterebbero ogni 5 milioni e 700000 anni, che la daa più frequente è il 19 aprile mentre quella meno probabile è il 22 marzo che capita meno di una volta ogni 200 anni. Pensate solo a cosa succederebbe se si fissasse una volta per tutte la data della Pasqua, tipo alla seconda domenica di aprile: tutto questo lavoro per nulla!

Ultimo aggiornamento: 2026-04-09 15:52

I codici di Golay

La teoria dei codici a correzione di errore è molto ampia, perché ci sono vari tipi di errore possibile quando viene trasmessa una codifica (diciamo binaria) del dato, e il valore a priori della probabilità di un errore fa scegliere un metodo rispetto a un altro. Per esempio, i primi codici ASCII erano a 7 bit in modo da usare l’ottavo come codice di parità: in questo modo ci si poteva accorgere di un singolo errore, anche se non si sapeva su quale bit, e chiedere che il carattere venisse ritrasmesso. Naturalmente già quand’ero ragazzo io non valeva più la pena di testare per un errore la cui probabilità era infima, e così si passò alle codifiche che usavano tutti e otto i bit.

Ma cosa succede quando arrivano i segnali da una sonda spaziale? Come potete immaginare, il tasso di errore è molto più alto, e soprattutto farsi rispedire i dati non è in genere un’opzione usabile. Servono quindi altri tipi di codice: quello che per esempio è stato usato sulle sonde Voyager 1 e Voyager 2, che non avevano molta memoria a disposizione e quindi dovevano mandare subito via i dati ottenuti, è il codice di Golay. Esso trasforma un insieme di 12 bit in uno da 24. Raddoppiamo insomma il materiale da spedire: però se mandassimo due copie identiche potremmo al più accorgerci che c’è qualche errore, mentre in questo modo possiamo ricostruire qual era il messaggio originale se tra quei bit ce ne sono fino a tre sbagliati, e se ce ne sono quattro possiamo comunque sapere che c’è stato un errore. (Con più di quattro errori sbagliamo proprio a ricavare il messaggio originale, ma se ci sono così tanti errori possiamo fare davvero poco, a meno di creare codici enormi)

la matrice computazionale per il codice di Golay

codice di Golay (immagine di Parcly Taxel, da Wikimedia Commons)

Come funziona in pratica un codice di Golay? Si prendono i bit di input a dodici per volta, si costruisce un vettore (a dodici elementi) e lo si moltiplica per la matrice 12×24 mostrata qui sopra, ottenendo un nuovo vettore a 24 elementi che è quello che spediamo. (La moltiplicazione è binaria, il che significa che il risultato della moltiplicazione è da prendere modulo 2.) La cosa bella è che se prendiamo due qualunque tra i 4096 possibili vettori di input di 12 elementi e consideriamo gli output corrispondenti possiamo essere certi che ci saranno almeno otto bit diversi. Questa misura di diversità è la distanza di Hamming: come dicevo sopra, se l’output ci è arrivato corrotto per al massimo tre bit ci sarà un unico codice tra i 4096 di output per cui la distanza di Hamming è al massimo 3, e che è dunque quello effettivamente spedito: con quattro bit errati sappiamo che c’è stato un errore, ma non siamo in grado di scegliere tra i due codici vicini.

Si può persino fare (leggermente) meglio. L’ultimo bit dell’output è semplicemente un controllo di parità: se lo eliminiamo ci resta un codice che ha vettori di 23 but come output ed è un codice perfetto, nel senso che se associamo a ciascun codice di output tutti quelli che hanno distanza da lui al massimo 3 completiamo tutto lo spazio dei possibili 2^23 vettori di output. I codici perfetti sono piuttosto rari: il fatto che Golay ne riuscì a trovare uno anche abbastanza complicato nel 1949 la dice lunga sulla sua abilità.

Un’ultima curiosità: John D. Cook ha segnalato come Golay abbia anche ideato un codice ternario, dove i valori dei “trit” possono essere 0, 1, 2 (o −1, se lo volete bilanciato: tanto le operazioni in base 3 sono le stesse). In questo caso il codice esteso con il bit di parità trasforma sei trit in dodici, che hanno una distanza almeno 6 tra loro, mentre quello perfetto li trasforma in undici trit, che hanno una distanza di almeno 5. Peccato che non abbiamo computer ternari…

Ultimo aggiornamento: 2026-04-01 18:00

Somma di potenze crescenti

Supponete di avere un numero, prendere cifra per cifra, elevarla alla potenza 1, 2, 3… e sommare tutti questi risultati. In certi casi si può ottenere il numero iniziale: per esempio se partiamo da 89 e scriviamo \( 8^1 + 9^2 = 8 + 81 = 89 \). È ovvio che i numeri di una sola cifra hanno questa proprietà; ma così è troppo facile. È abbastanza facile dimostrare che i numeri con questa proprietà devono essere una quantità finita; per un numero \( N \) di \( k \) cifre deve infatti valere la doppia disuguaglianza \( 10^{k−1} ≤ N ≤ 9 + 9^2 + 9^3 + … 9^k \), e mentre la prima parte è automatica la seconda quando si arriva a \( k = 22 \) non può valere. Ma quanti sono questi numeri? Ce lo suggerisce come sempre OEIS: l’elenco è \( 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 89, 135, 175, 518, 598, 1306, 1676, 2427, 2646798 \) seguito da

\( 12157692622039623539 = 1^1 + 2^2 + 1^3 + 5^4 + 7^5 + 6^6 + 9^7 + 2^8 + 6^9 + 2^{10} \)
\( \qquad + 2^{11} + 0^{12} + 3^{13} + 9^{14} + 6^{15} + 2^{16} + 3^{17} + 5^{18} + 3^{19} + 9^{20}. \)

Trovate il problema e la soluzione qui

Sono d’accordo, saperlo non serve a nulla. Al limite potrebbe essere interessante sapere come hanno fatto i conti, ma non sono riuscito a trovare una fonte; così ad occhio per i numeri fino al penultimo si è andati avanti per forza bruta, poi si è usato un algoritmo che fissato il numero di cifre da testare parte dall’ultima cifra, torna alla prima e poi va avanti. La cosa più incredibile è però che a parte i numeri “facili” e se volete 2646798 che comunque ha sette cifre, ce ne sia ancora uno solo e così grande. Questo è un altro esempio di come in teoria dei numeri non possiamo mai fidarci che qualcosa “non capita per migliaia di miliardi di casi, quindi è impossibile”…

Il moltiplicatore di Petrie

Tra i dodici membri della Banda dei Sessisti ci sono nove maschi e tre femmine. La banda non si chiama davvero così, ma visto che tutti i membri hanno la pessima abitudine di fare commenti sessisti verso i membri della banda di sesso opposto, il nome è particolarmente appropriato. Supponiamo che tutti, maschi e femmine, abbiano lo stesso tasso di commenti: è evidente che le donne ne riceveranno di più, essendo in minoranza. Ma quanti di più? Il triplo, visto che i maschi sono il triplo delle femmine? No, nove volte.

Se non ci credete, sostituite i commenti con delle palline colorate, e immaginate che ognuno dei membri della banda ne abbia nove che distribuisce uniformemente. Le tre ragazze ne daranno una a ciascun ragazzo, che dunque ne riceveranno in tutto tre; i nove ragazzi ne daranno tre a ciascuna ragazza, che quindi ne riceverà 27. In altri termini, a parità di tasso di commenti sessisti quelli verso il sesso in minoranza sono proporzionali al quadrato del rapporto numerico tra i sessi. Come avete visto, la matematica alla base di questo risultato non è poi complicata, ed era già stata notata durante la prima guerra mondiale con la legge quadratica di Lanchester, che così ad occhio ha anche una qualche correlazione con gli attacchi delle armate a Risiko :-) (No, non è così, le regole per definire il vincitore sono diverse, non foss’altro che perché se il lancio del dado dà lo stesso risultato il difensore vince). Ma la prima volta che è stato applicato al sessismo è stata il 2013, quando l’informatica Karen Petrie l’ha messo nero su bianco, e (stranamente) è stato definito il moltiplicatore di Petrie. Non è ovviamente un caso che a trovarlo sia stata una donna in un campo accademico dove le donne sono in minoranza. Non so se sia un segno di sessismo il fatto che né Gemini né ChatGPT sanno cosa sia il moltiplicatore di Petrie, nonostante ci sia da anni una voce di Wikipedia al riguardo…

Chiaramente sapere che il sessismo è esacerbato dal diverso rapporto tra maschi e femmine non lo scusa, anzi: bisogna capire che bisogna essere ancora più attenti a quello che si dice. Ma almeno conoscere il meccanismo permette di spiegare perché dice “che c’è di male? lo fanno anche loro” non è affatto la risposta giusta.

Ultimo aggiornamento: 2026-03-25 09:56

First Proof: quando il gioco si fa duro…

Un paio di settimane fa, nella mia rubrica su MaddMaths! (come? non la leggete? male!), scrissi che il progetto First Proof aveva preparato dieci lemmi mai pubblicati da dimostrare in una settimana, e che gli LLM erano riusciti a farcela solo in due casi. A quanto pare questo era il risultato che gli ideatori della gara erano riusciti a fare con le versioni “ufficiali” dei programmi. In realtà sia OpenAI che Google con il suo Aletheia dicono di aver risolto cinque (o sei, se si accetta una dimostrazione incompleta) problemi. E la cosa più interessante è che non sono gli stessi: insieme i due software hanno dimostrato otto dei dieci lemmi.

Come riporta Scientific American, non è chiaro se questi risultati dipendano dal fatto che internamente queste aziende hanno modelli più avanzati di quelli pubblicamente disponibili, oppure c’è stato un qualche aiutino da parte di matematici umani, anche se Google lo ha decisamente negato. La domanda non è affatto peregrina. Penso che ormai sia sdoganato il fatto che un’IA riesca a fare almeno in parte il lavoro di un dottorando – sì, devo ancora studiarmi i cicli di Claude che sono piaciuti così tanto a Knuth – anche sfruttando la loro capacità di trovare nella vastissima letteratura idee simili da portare avanti. In fin dei conti è ben noto questo racconto di Julia Robinson: “Lunedì – cercato di dimostrare teorema. Martedì – cercato di dimostrare teorema. Mercoledì – cercato di dimostrare teorema. Giovedì – cercato di dimostrare teorema. Venerdì – il teorema è falso”. Traduciamolo nel mondo degli LLM: essi possono produrre centinaia di “dimostrazioni” che si scopre poi essere false, perché assumono ipotesi non necessariamente vere. I sistemi di verifica automatica buttano via queste dimostrazioni errate e l’IA non si abbatte e ricomincia; diciamo però che se un essere umano vede quello che potrebbe essere un approccio interessante e spinge il sistema in quella direzione è molto più facile arrivare al risultato finale.

Per ovviare a questo problema, il gruppo dietro First Proof sta preparando una seconda gara, ma questa volta chiederà di poter far girare lui stesso i programmi, per essere certi che non ci sia aiuto esterno. Vedremo (a) se i produttori di questi sistemi accetteranno e (b) che succederà.

Ultimo aggiornamento: 2026-03-18 16:46

Number Builder

Come ha raccontato su Aperiodical, Christian Lawson-Perfect ha implementato un semplice gioco da fare con i numeri. In Number Builder si parte da 1 e bisogna raggiungere il numero indicato come obbiettivo usando le quattro operazioni per costruire man mano altri numeri ausiliari. Per esempio, si può arrivare a 42 in cinque passi con 1+1 = 2, 2+2 = 4, 4+2 = 6, 6+1 = 7, 6*7 = 42. (Non ho idea se si possa fare di meglio: ve lo lascio come esercizio, ma credo di no).
Essendo Christian un matematico, una volta arrivati alla soluzione viene mostrato il lavoro fatto… usando solo 1, le quattro operazioni e (tante) parentesi. Per i masochisti c’è poi anche la possibilità di avere un gioco a tempo. Buon divertimento!

Operazioni aritmetiche e scorciatoie

Lo Scientific American riporta la conclusione di due studi, che mostrano come quando occorre fare dei conti i maschi sono molto più propensi delle femmine a trovare una scorciatoia anziché mettersi a fare i conti secondo le formule che si imparano a scuola. Se per esempio vi venisse chiesto di calcolare 25×9 il suggerimento è di calcolare prima 25×4 = 100, poi raddoppiarlo e infine sommarci 25. Io a dire il vero ho moltiplicato 25×10 e ho tolto 25, ma in ogni caso non ho eseguito la moltiplicazione standard.

Questo potrebbe spiegare perché a scuola le ragazze sono più brave dei ragazzi – seguendo le procedure si arriva con meno errori alla risposta – ma poi abbiano risultati peggiori nei test come il SAT. Mi restano molti dubbi sul fatto che si possa insegnare a trovare le scorciatoie, e aggiungo un’evidenza aneddotica personale. Uno degli studi afferma che c’è una forte correlazione tra il trovare queste scorciatoie e riuscire a ruotare mentalmente oggetti tridimensionali: bene, io sono sempre stato un fan delle scorciatoie perché sono fondamentalmente pigro, ma l’unica volta in cui feci un test per il QI alle scuole medie andò tutto benissimo salvo per una prova: quella di trovare la figura che non era solo ruotata ma anche riflessa.

Voi che ne pensate?

Numeri primoriali e compositoriali

Ok, il fattoriale di un numero naturale \( n \) è il prodotto dei numeri da \( 1 \) a \( n \) e si indica con la notazione \( n! \). Questo immagino vi sia ben noto. Ma avete mai sentito parlare dei numeri primoriali? Dato un numero naturale \( n \), il suo primoriale \( n\# \) è il prodotto dei numeri primi da \( 1 \) a \( n \). Questo ovviamente significa che per esempio il primoriale di 12 è uguale a quello di 11 (e vale \( 2 \cdot 3 \cdot 5 \cdot 7 \cdot 11 = 2310 \)); in effetti c’è anche chi afferma che i primoriali sono solo quelli relativi ai numeri primi, e li rappresenta quindi con \( p_n\# \). In ogni caso, i primi primoriali distinti sono 2, 6, 30, 210, 2310, 30030, 510510, 9699690, 223092870, 6469693230, 200560490130, 7420738134810, 304250263527210, 13082761331670030, 614889782588491410.

Non esiste una funzione continua che estende i primoriali, a differenza della funzione Gamma per il fattoriale; la colpa, per così dire, sta nel fatto che la distribuzione dei primi è erratica. Se però prendiamo la funzione di Čebyšëv \( \vartheta(x)=\sum_{p\le x} \ln p \), cioè la somma dei logaritmi dei numeri primi inferiori a quello dato, sappiamo che \( \vartheta(n) \approx n \) e quindi \( n\# \approx e^{\vartheta(n)} \), per quello che può servire. La cosa buffa è che per \( n \lt 10^{11} \) abbiamo \( n\# \lt e^n \), ma sappiamo anche che ci sono sono infiniti intervalli di valori per cui invece \( n\# \gt e^n \). Quello che sappiamo al momento è che \(n\#\leq (2.763)^n\) e per \(>n \ge 563\) si ha che \( n\#\geq (2.22)^n \). Infine, se sommiamo gli inversi dei primoriali distinti otteniamo una costante:

\(\sum_{p\,\text{primo}} {1 \over p\#} = {1 \over 2} + {1 \over 6} + {1 \over 30} + \ldots = 0{.}7052301717918\ldots \),

e che questo numero è irrazionale (ma l’hanno dimostrato solo nel 2015… insomma non deve essere stato banale)

Ci sono poi i numeri compositoriali, che sono quello che manca ai primoriali per arrivare ai fattoriali: il prodotto di tutti i numeri composti da \( 1 \) a \( n \). Che io sappia, non esiste un simbolo per definirli: si scrive semplicemente \( n! \over n\# \) e chi si è visto si è visto. I primi compositoriali distinti sono 1, 4, 24, 192, 1728, 17280, 207360, 2903040, 43545600, 696729600, 12541132800, 250822656000, 5267275776000, 115880067072000, 2781121609728000, 69528040243200000, 180772904632320000.

Tutta questa pappardella mi è servita per dire che il numero \( 751882!/751882\# + 1 \) è primo: questo è il più grande numero “quasi compositoriale” conosciuto, con le sue 3765621 cifre. Nella pagina che ho linkato il denominatore è \( 751879\# \), ma per quanto detto sopra il valore è lo stesso, e in questo modo si vede meglio che il numero differisce di 1 da un compositoriale. In genere è difficile dimostrare la primalità di numeri di questo tipo, e per questo se ne conoscono di meno: per dire, quando è stata certificata la sua primalità era il 109-simo più grande numero primo conosciuto…