MATeXp – Nozioni di base Capitolo B25: Divisibilità, numeri primi e aritmetica modulare Contenuti delle sezioni a. Schema di induzione matematica p.1 b. Numeri primi e fattorizzazione degli interi mediante primi p.4 c. Congruenze fra numeri interi p.9 d. Operazioni aritmetiche sulle classi di resti p.13 e. Classi di resti invertibili p.14 f. Numeri di Fermat, di Mersenne e di Lucas p.17 g. Numeri perfetti e numeri amicabili p.18 B25:0.01 Dopo aver ripreso lo schema di induzione matematica in relazione con la successione dei numeri naturali, si trattano le prime proprietà dei numeri primi, a cominciare dal fatto che costituiscono un insieme numerabile e dalla possibilità di fattorizzare mediante primi ogni intero positivo. Successivamente si trattano le congruenze fra numeri interi e gli insiemi Zm delle classi di resti modulo un intero m . Su queste classi si definiscono le operazioni di somma e prodotto e si esamina la possibilità di definire una operazione di divisione; in particolare si stabilisce che l’invertibilità di tutti gli elementi di una Zm , ad esclusione dell’elemento nullo, si ha sse m è un numero primo. B25:a. Schema di induzione matematica B25:a.01 Per schema di induzione matematica intendiamo uno schema di dimostrazione, garantito da un’affermazione, chiamata spesso principio di induzione matematica; questo schema è utilizzato per una grande varietà di dimostrazioni, ciascuna delle quali riguardante un insieme numerabile di enunciati che nei casi più semplici si può porre in corrispondenza biunivoca con l’insieme dei numeri naturali. Questo schema può essere formulato in diversi modi, alcuni essenzialmente equivalenti, altri di diversa portata. In ogni caso alla proposizione da dimostrare seguendo lo schema conviene dare la forma I =⇒ T . La formulazione dalla quale partiamo riguarda una successione di affermazioni ⟨P (0), P (1), ..., P (n), ...⟩, nella n-esima delle quali compare il numero naturale n, e intende dimostrare la tesi T = ∀n ∈ N P (n) . Le schema prevede che si affrontino due stadi dimostrativi: (1) Si dimostra che vale P (0). (2) Si aggiunge l’ipotesi che valga l’asserto P (n) per un imprecisato intero naturale n e si dimostra che vale anche P (n + 1). Eseguiti i due stadi si considera raggiunta la conclusione ∀n ∈ N P (n) . In genere lo stadio (1) viene chiamato base dell’induzione e lo stadio (2) passo induttivo; l’ipotesi che valga l’asserto P (n) per un generico n ∈ N viene detta ipotesi induttiva. 2014-12-22 B25: Divisibilità, numeri primi e aritmetica modulare 1 Alberto Marini B25:a.02 Abbozziamo una giustificazione dello schema di induzione. Per questo occorre segnalare, anticipando per sommi capi contenuti di B65:, che secondo la logica matematica la dimostrazione di una proposizione P della forma P = I =⇒ T consiste in una catena deduttiva, cioè in una sequenza di enunciati che inizia con gli enunciati I della P e si conclude con la sua tesi T . Ogni nuovo enunciato della catena si ottiene facendo operare sopra uno o più enunciati trovati in precedenza una delle cosiddette regole di deduzione; queste sono meccanismi di trasformazione formale degli enunciati che sono stati individuati e “garantiti” nell’ambito dalla logica matematica. Lo schema di induzione prevede che si ottenga una catena deduttiva che dalle ipotesi I giunga a P (0) e di una catena deduttiva che dalle ipotesi ampliate con l’enunciato P (n) ottenga formalmente l’enunciato P (n + 1), cioè che dimostri la P (n) =⇒ P (n + 1) . Si può dunque organizzare una procedura di induzione matematica che proceda a generare i seguenti enunciati. A partire A partire A partire A partire . . . . . dalle ipotesi I dimostra la validità di P (0). da I, da P (0) e da P (n) =⇒ P (n + 1) dimostra P (1). da I, da P (1) e da P (n) =⇒ P (n + 1) dimostra P (2). da I, da P (2) e da P (n) =⇒ P (n + 1) dimostra P (3). Il postulato della disponibilità delle risorse computazionali illimitate (B18:a) consente di affermare che la precedente procedura può operare quanto si vuole, in modo che, proposto un arbitrario m ∈ N si riesca ad ottenere la dimostrazione di P (m). In termini più effettivi, quando si dovesse garantire l’enunciato P (m) per un certo m ∈ N, se le risorse lo permettono, si può ottenere la sua dimostrazione, cioè una sua catena deduttiva (finita). Questo si può esprimere concisamente con la frase “L’enunciato P (m) vale per ogni m intero naturale” e con la scrittura formale ∀m ∈ N P (m). Questa frase e questa espressione presentano il vantaggio di essere riutilizzabili per i successivi sviluppi senza dovere entrare nel merito delle potenzialmente infinite procedure relative ad m = 1, 2, 3, ... che la giustificano. B25:a.03 Il primo utilizzo documentato dello schema di induzione è dovuto a [[Francesco Maurolico]] (1494-1575) e compare nel suo testo Arithmeticorum libri duo del 1575. Qui egli dimostra che la somma dei primi n + 1 interi dispari è uguale a (n + 1)2 . Per questo si considera la successione delle proposizioni alla m-esima delle quali si può dare la forma m ∑ P (m) := (2h + 1) = (m + 1)2 . h=0 La base dell’induzione è 0 ∑ (2h + 1) = 1 , evidentemente valida. h=0 Il passo induttivo chiede di dimostrare m m+1 ∑ ∑ (2h + 1) = (m + 1)2 =⇒ (2h + 1) = (m + 2)2 . In effetti m+1 ∑ h=0 h=0 m ∑ (2h + 1) = h=0 (2h + 1) + 2(m + 1) + 1 = (m + 1)2 + 2(m + 1) + 1 = (m + 2)2 . h=0 Risulta quindi dimostrato che n ∑ (2h + 1) = (n + 1)2 . h=0 2 B25: Divisibilità, numeri primi e aritmetica modulare 2014-12-22 MATeXp – Nozioni di base B25:a.04 Come preannunciato dello schema di induzione matematica si possono presentare diverse varianti e ciascuna di esse risulta meglio utilizzabile in un suo insieme di circostanze. Una prima variante riguarda una base dell’induzione concernente un intero iniziale diverso da 0. Per un dato numero intero k, si considerano proposizioni Q(m) per m = k, k + 1, k + 2, ... Si effettuano i due stadi dimostrativi: (1) Dall’ipotesi iniziale si deduce che vale Q(k). (2) Aggiungendo all’ipotesi iniziale I la richiesta che valga l’asserto Q(n) per un generico intero n ≥ k e si dimostra che vale anche Q(n + 1). Si può concludere che vale Q(m) per ogni m ∈ N + k. Questo schema risulta strettamente equivalente al precedente definendo per ogni m intero naturale la proposizione P (m) := Q(m − k); in altre parole si ottiene dal primo operando una traslazione di passo k egli indici che individuano le affermazioni. Questa formulazione viene utilizzata spesso per k = 1, talvolta per k = −1 (ad esempio per trattare la [[successione di Fibonacci]]), talvolta per k = 3 (ad esempio per proprietà dei poligoni piani). B25:a.05 Un’altra variante viene detta schema di induzione matematica forte. Si considerano proposizioni R(m) per m = 0, 1, 2, ... Si effettuano i due stadi dimostrativi: (1) Da I si deduce che vale R(0). (2) Si aggiunge ad I l’ipotesi che valgano gli asserti R(0), R(1), ..., R(n) per un generico intero naturale n e si dimostra che vale anche R(n + 1). Si può concludere che vale R(m) per ogni m ∈ N. Questo schema si riduce al primo definendo per ogni m intero naturale la proposizione P (m) := Valgono R(0), R(1), ... ed R(m) . In altre parole si passa a una successione di affermazioni ciascuna delle quali costituisce il rafforzamento disgiuntivo delle precedenti. Si osserva che questo schema in molti casi consente dimostrazioni per induzione più agevoli, in quanto rende disponibile per il passo induttivo una ipotesi di maggiore portata. B25:a.06 Occorre notare che lo schema di induzione qui è stato introdotto secondo una visione procedurale che può essere giudicata piuttosto intuitiva. Questo schema di induzione può essere collocato entro esposizioni più formalmente fondate che si basano su sistemi di assiomi ben definiti. Secondo alcune di queste esposizioni viene considerato come un teorema, mentre secondo altre viene assunto come un assioma. Si dimostra in particolare che lo schema di induzione equivale al cosiddetto principio di buon ordinamento per i numeri naturali. Questo afferma che ogni sottoinsieme dell’insieme N contiene il suo elemento minimo e rende tale insieme un insieme bene ordinato. Segnaliamo anche che lo schema di induzione si può formulare anche per proposizioni che risulta naturale associare, non ai numeri naturali, ma a una famiglia (numerabile) di enunciati indicizzabili con gli elementi di qualche insieme generabile -ip dotato di una struttura più articolata di quella sequenziale di N. Esso ad esempio può essere formulato per proposizioni associate a nodi di un digrafo infinito, dotato di un nodo radice, cioè di un nodo dal quale sono raggiungibili tutti gli altri mediante ben definite operazioni di passaggio da un nodo ad un altro (D28:); in particolare vari casi interessanti 2014-12-22 B25: Divisibilità, numeri primi e aritmetica modulare 3 Alberto Marini riguardano proposizioni associate ai nodi di un’arborescenza infinita (D30:) e riguardano enunciati associati alle stringhe di un linguaggio formale generabile -ip (C12:, C14:). ( ) n n(n − 1) · · · (n − k + 1) B25:a.07 (1) Eserc. Dimostrare per induzione che la formula for= k k! nisce valori interi positivi; equivalentemente dimostrare che il prodotto di n interi positivi successivi è divisibile per n fattoriale. (2) Eserc. Dimostrare che se n è un intero dispari n2 − 1 è divisibile per 8. (3) Eserc. Dimostrare che per ogni n intero n3 − n è divisibile per 6. (4) Eserc. Dimostrare che per ogni n intero positivo 32n − 2n è divisibile per 7. (5) Eserc. Dimostrare che per n = 4, 5, 6, ... il numero delle diagonali di un poligono convesso di n lati è n(n−3 . 2 B25:b. Numeri primi e fattorizzazione degli interi mediante primi B25:b.01 Prendiamo in esame i numeri primi procedendo per valori crescenti e adottiamo le seguenti notazioni: p[1] := 2 , p[2] := 3 , p[3] := 5 , p[4] := 7 , p[5] := 11 , . . . . Questo elenco può essere esteso quanto si vuole, fatto la cui dimostrazione compare nel classico testo [[Elementi di matematica]] di [[Euclide]] risalente al 300 a.C. circa. (1) Prop.: La sequenza dei numeri primi può essere estesa quanto si vuole. Dim.: Procediamo per assurdo supponendo che l’elenco dei numeri primi sia finito e denotiamo con n il loro numero. Definiamo l’intero N := 2 · 3 · 5 · ... · p[n] + 1. L’intero positivo N + 1 non è divisibile per nessuno dei p[i] , in quanto ogni N/p[i] è intero e N %p[i] = 1. Quindi non si può individuare un numero primo maggiore di tutti gli altri Possiamo quindi fare riferimento alla successione dei numeri primi. Risulta inoltre utile definire p[0] := 1 e considerare la successione del genere {N 7−→ P} ⟨ ⟩ PRMseq := p[0] , p[1] , p[2] , p[3] , ..., p[j] , ...⟩ = ⟨1, 2, 3, 5, ..., p[j] , ... . Per l’insieme numerabile dei numeri primi useremo la notazione PRM := cod(PRMseq) = {2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 91, 97, 101, ...} . B25:b.02 Prop. Ogni intero positivo m si può esprimere come prodotto di fattori primi e una tale espressione è unica, a meno di inefficaci permutazioni dei fattori. Dim.: Procediamo per induzione. La possibilità di esprimere un intero positivo come prodotto di numeri primi si verifica senza difficoltà per gli interi non primi più piccoli, ad esempio per quelli minori o uguali a 10: 4 = 22 , 6 = 2 · 3 = 3 · 2 , 8 = 23 , 9 = 32 , 10 = 2 · 5 = 5 · 2. Osserviamo che ad ogni prodotto di numeri primi si può dare l’espressione di prodotto di numeri primi presi in ordine non decrescente ovvero di prodotto di potenze positive di primi presi in ordine crescente. Supponiamo la proprietà vera per ogni positivo inferiore di m; denotiamo con p un primo che divide m e scriviamo per l’espressione di m/p come prodotto di fattori primi ordinati per valore crescente, ipotizzata per l’induzione m = p[i1 ] e1 p[i2 ] e2 ... p[ih ] eh . p 4 B25: Divisibilità, numeri primi e aritmetica modulare 2014-12-22 MATeXp – Nozioni di base Si ottiene quindi l’espressione della forma richiesta m = p[i1 ] e1 p[i2 ] e2 ... p[ih ] eh · p . Se si potessero trovare due espressioni diverse, poste nelle forme canoniche darebbero m = p[i1 ] e1 p[i2 ] e2 ... p[ik ] ek = p[j1 ] f1 p[j2 ] f2 ... p[jk ] fk . Eliminando i fattori comuni delle due espressioni si avrebbe una uguaglianza di due prodotti di numeri primi con fattori diversi nei due membri dell’uguaglianza, cosa assurda; da qui l’unicità della espressione come prodotto di potenze di numeri primi B25:b.03 L’espressione discussa si dice fattorizzazione mediante numeri primi dell’intero positivo m. Per essa scriviamo ftrprm(m) = 2e1 3e2 5e3 ... p[k] ek , con e1 , e2 , ..., ek ∈ N ed ek > 0 se m > 1 . Per la corrispondente successione dei numeri naturali esponenti dei fattori primi scriviamo ftrprme(m) := ⟨e1 , e2 , e3 , ..., eh , ...⟩ con eh = 0 per h > k . Chiaramente ftrprm, ftrprme e k sono determinati univocamente da m; ad es. ftrprm(48) = 24 · 3, ftrprm(90) = 2 · 32 · 5, ftrprm(1) = 1, ftrprme(48) = ⟨4, 0, ...⟩, ftrprm(90) = ⟨1, 2, 1, 0, ...⟩. Inoltre evidentemente m è determinato univocamente da ftrprme(m) e si può scrivere m = ftrprme −1 (ftrprme(m)) . È importante segnalare che la determinazione di ftrprm, ftrprme e k si può ottenere con algoritmi ben definiti, mentre non si riesce ad ottenere con espressioni algebriche, cioè con espressioni che si servono solo di operazioni algebriche. B25:b.04 Consideriamo l’intero m ∈ P e scriviamo ftrprm(m) =: 2e1 3e2 5e3 ...p[k] ek la sua fattorizzazione. { } Chiaramente l’insieme dei divisori di m è dato da f1 ∈ [e1 ], ..., fk ∈ [ek ] :| 2f1 3f2 5f3 ...p[k] fk . k ∏ Il loro numero è dato da (eh + 1) . Ad esempio 180 = 22 32 5 possiede 3 · 3 · 2 = 18 divisori: 1, 2, h=1 3, 4, 5, 6, 9, 10, 12, 15, 18, 20, 30, 36, 45, 60, 90, 180. Consideriamo due interi positivi con le relative fattorizzazioni mediante primi: m = 2e1 3e2 5e3 ...p[k] ek n = 2g1 3g2 5g3 ...p[r] gr . , Si dice massimo comun divisore di m ed n e si denota con MCD(m, n) o con gcd(m, n) il massimo degli interi che dividono sia m che n. Ad esempio: MCD(12, 88) = 4 , MCD(225, 165) = 15 , MCD(42, 1001) = 7 . Si dice minimo comune multiplo di m ed n e si denota con mcm(m, n) il minimo degli interi che sono multipli sia di m che di n. Ad esempio: mcm(12, 88) = 264 , mcm(225, 165) = 2475 , MCD(42, 1001) = 6006 . Evidentemente le due precedenti funzioni bivariate sono simmetriche: MCD(n, m) = MCD(m, n) e mcm(n, m) = mcm(m, n) . B25:b.05 Consideriamo ancora gli interi m ed n introdotti sopra. (1) Prop.: MCD(m, n) = 2min(e1 ,g1 ) 3min(e2 ,g2 ) ... p[s] min(es ,gs ) (2) Prop.: mcm(m, n) = 2 max(e1 ,g1 ) max(e2 ,g2 ) 3 ... p[t] max(et ,gt ) con s := min(k, r) con t := max(k, r) (3) Prop.: Valgono le seguenti fattorizzazioni: m = MCD(m, n) · (m/MCD(m, n)) 2014-12-22 ed n = MCD(m, n) · (n/MCD(m, n)) . B25: Divisibilità, numeri primi e aritmetica modulare 5 Alberto Marini I tre fattori precedenti si ottengono dalle due sequenze degli esponenti delle fattorizzazioni di m ed n MCD(m, n) = ftrprme −1 (min(ftrprm(m), ftrprm(n))) , m/MCD(m, n) = ftrprme −1 (ftrprm(m) − ftrprm(MCD(m, n))) , n/MCD(m, n) = ftrprme −1 (ftrprm(n) − ftrprm(MCD(m, n))) Si dice che due interi positivi m ed n sono coprimi, e si scrive m ⊥ n, sse non posseggono sottomultipli comuni. Chiaramente MCD(m, n) = 1 sse min(ftrprm(m), ftrprm(n)) = ⟨0, 0, ..., 0, ...⟩. Si hanno ad esempio le relazioni 7 ⊥ 13 , 27 ⊥ 77 , 20 ⊥ 1001 . B25:b.06 Della fattorizzazione degli interi positivi mediante numeri primi e del massimo comun divisore e del minimo comune multiplo di due (e anche di tre, quattro, ...) interi positivi si può dare una presentazione grafica talora efficace. Consideriamo ad esempio m = 180 180 = 22 · 32 · 5 · 7 · 11 · 13 ed n = 204490 = 2 · 5 · 112 · 132 ; per essi MCD(m, n) = 2 · 5 · 11 · 13 = 1 430 e mcm(m, n) = 22 · 32 · 5 · 7 · 112 · 132 = 461 981 520. consideriamo in generale un intero positivo m per il quale sia ftrprm(m) =: 2e1 3e2 5e3 ...p[k] ek . Si dice istogramma di fattorizzazione di m l’istogramma di Z × Z costituito da k barre verticali con le caselle minime adagiate sull’asse orizzontale ed aventi come altezze, risp., e1 , e2 , ... ek . Dati gli istogrammi di due interi m ed n, è semplice tracciare gli istogrammi di fattorizzazione di MCD(m, n) e di mcm(m, n): il primo si ottiene con le barre verticali con le altezze minime, il secondo è costituito dalle barre verticali con le altezze massime. B25:b.07 Vediamo in pratica come si possa decidere, con calcoli manuali sostanzialmente semplici, se un intero positivo m di cui si conosce la notazione decimale N td(m) è divisibile per i più piccoli numeri primi. La divisibilità per 10 è la più semplice da determinare. (1) Prop.: Se N td(m) presenta k zeri finali, allora m è divisibile per 10k ma non per 10k+1 e viceversa In tal caso è utile scrivere m = m1 · 10k oppure m = m1 · 2k · 5k . Anche la divisibilità per 2 e per 5 si stabiliscono rapidamente. (2) Prop.: Un intero positivo m è divisibile per 2 sse l’ultima cifra di N td(m) è 0, 2, 4, 6 o 8. Dim.: Scriviamo m = (m ÷ 10) · 10 + u con u := m%10. Chiaramente m divide 2 (oppure 5) sse u divide 2 [oppure 5] Seguono subito due caratterizzazioni di N td(m) che equivalgono alla divisibilità di m per il quadrato, risp., di 2 e di 5. (3) Prop.: Un intero positivo m è divisibile per 4 sse aut la sua ultima cifra decimale è 0, 4 o 8 e la sua penultima cifra è pari aut la sua ultima cifra decimale è 2 o 6 e la sua penultima cifra è dispari. Dim.: Scriviamo m = (m ÷ 100) · 100 + u con u := m%100 e osserviamo che m divide 4 sse u divide 4; la caratterizzazione della divisibilità per 4 dei numeri positivi esprimibili con due cifre si verifica facilmente (4) Prop.: Un intero positivo m è divisibile per 25 sse le due ultime cifre sono 00, 25, 50 o 75. Dim.: Basta scrivere ancora m = (m ÷ 100) · 100 + u ed elencare i 4 numeri naturali inferiori a 100 e divisibili per 25 6 B25: Divisibilità, numeri primi e aritmetica modulare 2014-12-22 MATeXp – Nozioni di base B25:b.07 Esaminiamo la divisibilità per 3 e per 9. (1) Prop.: Un intero naturale m è divisibile per 3 sse la somma delle cifre decimali di N tb(m) è divisibile per 3. Dim.: Osserviamo preliminarmente che l’intero in esame si può esprimere come m= k ∑ di 10i = i=0 e che k ∑ k ∑ k ∑ di (10i − 1) + i=0 di i=0 di (10i − 1) è multiplo di 9 e di 3. Di conseguenza i=0 3 divide m sse 3 divide k ∑ di i=0 (2) Prop.: Un intero naturale m è divisibile per 9 sse la somma delle cifre decimali di N tb(m) è divisibile per 9. Dim.: Dalla osservazione iniziale della dimostrazione precedente si ricava che k ∑ 9 divide m sse 9 divide di i=0 I criteri precedenti si possono applicare più volte di seguito: se la somma delle cifre decimali di N tn(m) fosse un intero molto grande s si potrebbe considerare la somma delle cifre di N tn(s), certamente molto inferiore ad s e spesso tale da rendere inutili altre manovre dello stesso genere. Inoltre nella effettuazione della somma delle cifre di una notazione decimale si possono trascurare tutti gli addendi divisibili, risp., per 3 o per 9 e si possono ridurre a zero tutte le somme parziali divisibili, risp., per 3 o per 9. B25:b.08 Non si conoscono criteri semplici per decidere la divisibilità per 7 e neppure per i primi superiori a 11. È invece semplice decidere la divisibilità per 11. Per questa conveniamo di denotare, per ogni m ∈ N con Om la somma delle cifre di N td(m) nelle posizioni dispari contate a partire dall’ultima, cioè dalla meno pesante, e di denotare con Em la somma delle cifre di N td(m) nelle posizioni pari rimanenti. Ad esempio abbiamo O76 = 6 = E76 − 1, O77 = E77 = 7, e O78 = 8 = E78 + 1, O347 − E347 = 10 − 4 = 6, O1001 − E1001 = 1 − 1 = 0, O12221 − E12221 = 4 − 4 = 0. (1) Prop.: Un intero naturale m è divisibile per 11 sse la somma delle sue cifre decimali nelle posizioni pari e la somma delle sue cifre decimali nelle sue posizioni dispari differiscono per un multiplo di 11 (e in particolare coincidono). Dim.: Se si può scrivere n = k ∑ di 10i con dk ̸= 0, introdotti d−1 := 0 e dk+1 := 0 si ha l’espressione i=0 n · 11 = n + n · 10 = k+1 ∑ i=0 i di 10 + k+1 ∑ i=0 i di−1 10 = k+1 ∑ (di + di−1 ) 10i , i=0 facilmente riconoscibile nell’usuale schema per la moltiplicazione di interi naturali. Denotiamo con on e con en , risp., le somme delle cifre che compaiono come fattori delle potenze pari e delle potenze dispari di 10, senza effettuare alcuna somma locale con riporto; per entrambe le somme otteniamo ∑k on = en = i=0 di . I valori delle “somme competitive” En e di On si possono ottenere trasformando i successivi addendi di + di−1 , eventualmente aumentati di un riporto precedente ri−1 , nei resti della 2014-12-22 B25: Divisibilità, numeri primi e aritmetica modulare 7 Alberto Marini divisione per 10 e nei riporti da assegnare alla somma in competizione per la successiva potenza di 10. Evidentemente se nessuna delle somme di + di−1 supera 9 si ha On = En = on (questo accade in particolare se nessuna delle cifre di supera 4). Ciascuna modifica di di + di−1 + ri−1 comporta una diminuzione di 19 per la propria somma ed un aumento di 1 per la somma in competizione dovuta al riporto; tutte queste modifiche trasformano la differenza fra le somme in competizione aumentandola o riducendola di 11. A questo punto si può concludere affermando che per ogni multiplo di 11 m = n · 11 si ha il corrispondente |Om − Em | multiplo di 11, mentre ad ogni m della forma n · 11 + h con h ∈ [1 : 10] corrisponde il valore |Om − Em | della forma t 11 ± h, cioà non multiplo di 11 B25:b.09 Alcuni esempi sulla divisibilità per 11. Per m := 1 560 383 si ha On = 13 = En ; deve quindi essere m = n · 11 e per n si trova facilmente n = 141 853 . Viceversa non sono divisibili per 11, nè k := m + 4 = 1 560 387, per il quale Ok = 17 ed Ek = 13, nè h = n − 6 = 1 560 377, tale che Oh = 17 ed Eh = 12. Anche j := m − 44 = 1 560 339 deve dividere 11 e per esso Oj = 19 e Ej = 8 = 19 − 11. In relazione a quanto sopra si possono segnalare alcune curiosità numeriche. Si osserva che 1001 = 7 · 11 · 13 e quindi che sono divisibili per 7, 11 e 13 numeri come 835 835, 1 112 111 e 22 244 422. Anche 100 001 è divisibile per 11; quindi sono divisibili per 11 anche numeri come 1 234 512 345 e 33 366 666 333 . Si osserva che 11 · 11 = 121, 111 · 111 = 12 321, ..., 111 111 111 · 111 111 111 = 12 345 678 987 654 321; ma attenti a non esagerare, in quanto 1 111 111 111 · 1 111 111 111 = 1 234 567 900 987 654 321. B25:b.10 In linea di massima la divisibilità di un intero positivo m per un numero non primo d si decide stabilendo se esso è divisibile per un fattore primo p di d e in caso positivo esaminando la divisibilità di m/p per d/p. Questo esame si può un poco semplificare evitando di effettuare i calcoli di m/p e d/p quando si tratta della divisibilità per alcuni piccoli multipli di 3, 5 e 11. Ad esempio per garantirsi la divisibilità per 6 basta stabilire con i criteri visti in precedenza, sia la divisibilità per 2 che quella per 3. Simili economie si possono realizzare per la divisibilità per numeri come 12, 15, 22, 24, 27, 30, 33, 40, 44, 45, 55, 60, 66, 90, 99. B25:b.11 La decisione se un dato intero positivo è un primo o meno serve in numerose circostanze. Per calcoli sistematici e/o su grandi numeri interi risulta necessario servirsi di procedure automatiche, talora in modo molto sofisticato. Qui ci limitiamo a presentare un semplice procedimento per raggiungere la suddetta decisione. Per stabilire se l’intero positivo m è primo disponendo di un elenco dei più ridotti numeri primi si può procedere ad esaminare la divisibilità per i primi via via crescenti. Se si trova che un primo p divide m risulta stabilita la non primalità di m senza che si debbano esaminare i primi superiori. Resta invece stabilito che m è primo sse nessuno dei primi p tali che p2 ≤ m divide m. È infatti inutile esaminare se m è divisibile per un primo q tale che m < q 2 : infatti se cosı̀ fosse si sarebbe trovato in precedenza che m è divisibile per m/q(< q) o per un fattore primo di questo intero il cui quadrato m2 /q 2 non supera m. Il procedimento è concettualmente semplice ma impegnativo nel caso di numeri interi grandi. Questo procedimento si dice avere una complessità più che polinomiale e questo, come vedremo in C47:, dice che appartiene alla classe dei procedimenti di elevata complessità computazionale, manovre che possono rivelarsi estremamente impegnative. 8 B25: Divisibilità, numeri primi e aritmetica modulare 2014-12-22 MATeXp – Nozioni di base B25:b.12 La proprietà di un intero positivo di essere un numero primo viene chiamata primalità. Sia per lo sviluppo della teoria dei numeri che per applicazioni di grande rilievo economico come la crittografia delle telecomunicazioni digitali sono di notevole interesse i procedimenti per decidere se un dato intero positivo è primo e in caso contrario per trovare la sua fattorizzazione mediante fattori primi. In effetti fin dall’antichità si sono redatti elenchi i numeri primi e si è cercata una formula che consentisse di rappresentarli tutti e che, possibilmente, fosse valutabile con una certa rapidità. Questa formula non esiste e ci si deve accontentare di formule parziali che consentono di individuare insiemi di primi tendenzialmente estesi. Un procedimento classico per la compilazione di elenchi di primi viene chiamato crivello di Eratostene, dal nome di uno dei più grandi scienziati greco-ellenistici, [[Eratostene di Alessandria]]. Si tratta di operare sopra le componenti di una lunga sequenza S = ⟨a2 , s3 , s4 , s5 , ..., sN ⟩ di valori binari che inizialmente sono posti uguali ad 1; l’intero N viene scelto in modo da essere sufficientemente elevato per gli scopi attuali. Si organizza una sequenza di manovre che fanno riferimento ai successivi numeri primi p = 2, 3, 5, ...; questi vengono individuati dalle successive posizioni della S occupate da 1. La manovra relativa al numero primo p consiste nel porre a 0 tutte le cifre nelle posizioni k · p della S, evidentemente relative a numeri non primi. Conclusa l’eliminazione dei multipli di p, si passa alla manovra analoga per il successivo primo che viene individuato dalla prima posizione della S a destra di quella occupata da p, evidentemente relativa a un intero non divisibile per alcun primo inferiore. Alla fine del processo si dispone di un elenco di primi utilizzabile sia come sequenza binaria sia come elenco di scritture decimali, queste ottenibili scorrendo la sequenza binaria e facendo crescere un contatore. Oggi si usano sofisticati procedimenti che si servono dei sistemi di computers più potenti per far procedere la elencazione dei numeri primi in genere e di numeri primi con proprietà particolari. Su questi temi si vedano, ad esempio, [[Numeri di Mersenne]] e [[Numeri di Lucas]]). B25:c. Congruenze fra numeri interi B25:c.01 Per molte considerazioni generali può essere utile considerare operazioni che hanno come operandi degli insiemi di numeri interi; molte di queste sono le cosiddette estensioni booleane delle operazioni aritmetiche. Consideriamo quindi A, B e C generici sottoinsiemi di Z. Si dice estensione booleana della somma di interi l’operazione che a due sottoinsiemi A e B di Z associa A +bl B := {a ∈ A, b ∈ B :| a + b} . Si dice estensione booleana della differenza di interi l’operazione che ad A, B ⊆ Z associa A −bl B := {a ∈ A, b ∈ B :| a − b} . Si dice estensione booleana del prodotto di interi l’operazione che ad A, B ⊆ Z associa A ·bl B := {a ∈ A, b ∈ B :| a · b} . Definizioni simili si possono dare per quoziente, resto, massimo comun denominatore e minimo comune multiplo. B25:c.02 In genere è semplice costruire gli insiemi forniti dalle operazioni applicate a insiemi finiti. Alcuni esempi: {2, 7, 12} +bl {3, 5} = {5, 7, 10, 12, 15, 17} , {2, 7, 12} −bl {3, 5} = {−3, −1, 2, 4, 7, 9} , 2014-12-22 B25: Divisibilità, numeri primi e aritmetica modulare 9 Alberto Marini {2, 7, 12} ·bl {3, 5} = {6, 10, 21, 35, 36, 60} . La valutazione è particolarmente semplice se uno dei due insiemi operandi si riduce ad un singoletto: {4} ·bl {5, 15, 25} = {20, 60, 100}. Questa manovra per due insiemi estesi e “poco regolari” può essere molto tediosa. Quando invece uno o entrambi gli operandi sono insiemi infiniti la valutazione dipende dalla modalità di individuazione dell’insieme e l’individuazione dell’insieme risultato può essere laboriosa. Un esempio semplice è {3, 5} ·bl {n ∈ P :| 10n} = {30, 50, 60, 90, 100, 120, 150, ...}. In genere le notazioni per le estensioni booleane vengono semplificate senza incorrere in ambiguità che non possano essere risolte ponendo attenzione al contesto. Invece che “ +bl ”, “ −bl ” e “ ·bl ” si usano i semplici segni “ + ”, “ − ” e “ · ”; spesso il segno di prodotto si omette; invece di un singoletto si scrive il semplice numero che lo costituisce. Il citato insieme {4} ·bl {5, 15, 25} si può denotare scrivendo semplicemente 4 · {5, 15, 25} o anche 4{5, 15, 25}. Invece di {0} −bl B si scrive semplicemente −B. Osserviamo che in generale A−A = {0} solo se A è un singoletto: ad esempio {4, 7}−{4, 7} = {−3, 0, 3} e {1, 4, 9} − {1, 4, 9} = {−8, −5, −3, 0, 3, 5, 8} . Queste suggeriscono di dimostrare che sottraendo un insieme di interi da sé stesso si ottiene un insieme invariante per cambiamento di segno: in formula ∀I ⊂ Z − (I − I) = (I − I) . B25:c.03 Dunque se m denota un intero maggiore o uguale a 2, m · Z denota l’insieme degli interi multipli di m e se inoltre h ∈ [m), con m · Z + h si indica l’insieme degli interi ottenuti aggiungendo h a qualche multiplo di m. Similmente m · N denota l’insieme dei multipli naturali di m e m · P denota l’insieme dei multipli positivi di m. Ricordiamo che in varie circostanze è utile tenere presente la bipartizione di Z nell’insieme degli interi pari e nell’insieme dei dispari espressa dalla formula Z = 2 · Z ∪˙ 2 · Z + 1 . Con la definizione che segue procediamo a generalizzare questa bipartizione con una partizione di Z in m parti, per un qualsiasi m maggiore o uguale a 2. Due interi i1 e i2 si dicono congruenti modulo m sse i1 − i2 è multiplo di m. Per esprimere questo fatto si scrive di solito i1 ≡ i2 (mod m). Qui riteniamo di identificare più chiaramente la relazione di congruenza modulo m con la notazione i1 =m i2 . Quindi i1 =m i2 ⇐⇒ i1 − i2 ∈ mZ. B25:c.04 Prop. La relazione di congruenza modulo m è una equivalenza entro Z. Dim.: Chiaramente ∀i ∈ Z i =m i, cioè =m è una relazione riflessiva. Essa inoltre è simmetrica in quanto i1 =m i2 ⇐⇒ i1 − i2 ∈ mZ ⇐⇒ i2 − i1 ∈ mZ ⇐⇒ i2 =m i1 . Infine =m è transitiva: i1 =m i2 , i2 =m i3 =⇒ i1 − i3 = (i1 − i2 ) + (i2 − i3 ) = h1 m + h2 m = (h1 + h2 )m ∈ mZ ⇐⇒ i1 =m i3 B25:c.05 Si possono quindi considerare le classi di questa equivalenza: una di queste è mZ, l’insieme dei multipli di m, cioè l’insieme degli interi congrui modulo m a 0. In generale, per qualsiasi h ∈ [m), la classe di congruenza modulo m di h è costituita dagli interi i per i quali i − h = km per qualche intero m, cioè dagli interi ottenibili sommando h ad un multiplo di m, cioè ha la forma mZ + h . Questa classe di congruenza si può anche denotare [h]m . L’intero h è un rappresentativo di tale classe e un insieme significativo di rappresentativi delle varie classi [h]m è [m) = {0, 1, ..., m − 1}. 10 B25: Divisibilità, numeri primi e aritmetica modulare 2014-12-22 MATeXp – Nozioni di base Una classe di congruenza modulo m si può individuare anche come [k]m con k intero qualsiasi, non necessariamente appartenente a [m). Ad es. [1]5 = {...−19, −14, −9, −4, 1, 6, 11, 1621, 26, ...} = [1001]5 e le tre classi di congruenza modulo 3 si possono denotare [−1]3 , [0]3 , [1]3 . La notazione precedente con h ∈ [m) costituisce una forma canonica. Talora è utile individuare le classi di resti con interi negativi piccoli, appartenenti a intervalli del tipo ( − m : 0]. Ad es. per m = 2, si hanno le classi [0]2 e [1]2 = [−1]2 , mentre per m = 7, si hanno le classi [0]7 , [1]7 = [−6]7 , [2]7 = [−5]7 , [3]7 = [−4]7 , [4]7 = [−3]7 , [5]7 = [−2]7 , [6]7 = [−1]7 ., Le 10 classi di congruenza modulo 10 contengono, risp., gli interi naturali che nella scrittura decimale presentano la stessa ultima cifra h e gli interi negativi che presentano la stessa ultima cifra 10 − h: ad es. [7]1 0 = {..., −23, −13, −3, 7, 17, 27, ...}. B25:c.06 Le classi di congruenza modulo m sono dette anche classi di resti modulo m. Questo è dovuto al fatto che un intero positivo i appartiene alla classe di congruenza modulo m individuata dal resto della divisione fra l’intero i e l’intero positivo m. Un insieme di classi di congruenza {[0]m , [1]m , ...[m − 1]m } si dice anche quoziente di Z rispetto al suo sottoinsieme mZ e si denota con Z/mZ o anche con Z/ ≡m . Spesso risulta comoda anche la notazione Zm := Z/mZ. Si ha quindi la formula di partizione di Z nelle m classi di congruenza modulo m Z = [0]m ∪˙ [1]m ∪˙ · · · ∪˙ [m − 1]m = · m−1 ∪ h=0 mZ + h . In particolare Z = [0]3 ∪˙ [1]3 ∪˙ [2]3 . B25:c.07 La formula precedente si può illustrare con la presentazione di Z in forma matriciale come nel caso seguente relativo a m = 12 .. .. . . −24 −23 −12 −11 0 1 12 13 24 25 .. .. . . .. . −22 −10 2 14 26 .. . .. .. . . −21 −20 −9 −8 3 4 15 16 27 28 .. .. . . .. .. . . −19 −18 −7 −6 5 6 17 18 29 30 .. .. . . .. . −17 −5 7 19 31 .. . .. .. . . −16 −15 −4 −3 8 9 20 21 32 33 .. .. . . .. .. . . −14 −13 −2 −1 10 11 22 23 34 35 .. .. . . Le 12 classi di resti corrispondono alle successive colonne e la precedente formula di ripartizione alla separazione della matrice degli interi nelle sue colonne. B25:c.08 Un’altra utile presentazioni delle classi di resti si può pensare ottenuta “avvolgendo” la retta -Z su una circonferenza in grado di accogliere m archi di lunghezza pari a 1, cioè su una circonferenza 2π . di raggio pari a r Nei casi m = 5 e m = 8 si ottiene La precedente figura mostra chiaramente come la congruenza possa servire a trattare fenomeni periodici come il succedersi delle 24 ore nei giorni o il succedersi dei 7 giorni nelle settimane. Si osserva anche che sugli insiemi Zm non è utile definire un ordinamento lineare, ma è utile un ordinamento ciclico. Le figure del tipo precedente si dicono raffigurazioni cicliche delle congruenze modulari. B25:c.09 Prop. Per ogni intero m = 2, 3, ... e per gli interi arbitrari i1 , i2 , j1 , j2 si ha: i1 ≡m i2 , j1 ≡m j2 =⇒ i1 + j1 ≡m i2 + j2 , i1 · j1 ≡m i2 · j2 . 2014-12-22 B25: Divisibilità, numeri primi e aritmetica modulare 11 Alberto Marini Dim.: Supponiamo di avere i2 − i1 = hm e j2 − j1 = km . Per la somma si trova (i1 + j1 ) − (i2 + j2 ) = (i1 − i2 ) + (j1 − j2 ) = mh + mk = m(h + k) cioè i1 + j1 ≡m i2 + j2 . Per il prodotto si trova i1 · j1 − i2 · j2 = (i1 − i2 ) · j1 − i2 · (j2 − j1 ) = mhj1 + i2 mk = m(hj1 + j2 k) cioè i1 · j1 ≡m i2 · j2 Il risultato precedente si esprime anche dicendo che le operazioni di somma e prodotto fra interi rispettano le classi della congruenza modulo m. B25:c.10 Questo risultato consente di trovare la classe di congruenza di un intero i grande ma fornito come prodotto di dati interi più piccoli evitando di calcolare il valore di i. Il vantaggio è particolarmente evidente quando interessano classi di congruenza come quelle modulo 2, 3, 4, 5, 10, 20, 25, 50, 100, 1000 e, come in genere accade, si opera con notazioni decimali. Alcuni esempi di questi calcoli sveltiti sono dati dai seguenti sviluppi: [5273 · 7803]3 = [5273]3 · [7803]3 = [2]3 · [1]3 = [2]3 . [347228 · 34754]25 = [347228]25 · [34754]25 = [3]25 · [4]25 = [12]25 . B25:c.11 Dalle considerazioni precedenti si ricava immediatamente un criterio necessario che presenta una certa utilità quando occorre controllare la correttezza di calcoli sui numeri interi. (1) Prop.: Consideriamo una uguaglianza della forma E = v, dove E denota una espressione aritmetica su operandi interi e v un intero. Condizione necessaria, ma non sufficiente, per la validità dell’espressione è la validità di una espressione Em = [v]m per qualche m = 2, 3, ... Questo criterio può essere utile quando la valutazione di [E]m è molto meno gravosa della valutazione di S. Ad esempio in certi casi si può verificare rapidamente che una uguaglianza E = v non rispetta la parità o la congruenza modulo 10. B25:c.12 Sulle considerazioni precedenti si basa anche la tradizionale “prova del 9”. Essa riguarda l’applicazione del precedente criterio sufficiente nel caso m = 9 e di uguaglianze del tipo f · g = v con f, g ∈ P; inoltre si serve del seguente fatto che consente di semplificare i calcoli delle classi di congruenza modulo 9. (1) Prop.: Se i ∈ P e si ha la rappresentazione decimale i = ip · 10p + ip−1 · 10p−1 + · · · + i1 · 10 + i0 , si ha l’uguaglianza modulare [i]9 = [ip + ip−1 + · · · + i1 + i0 ]9 . Dim.: Dalle definizioni segue i − (ip + ip−1 + · · · + i1 + i0 ) = ip · (10p − 1) + ip−1 · (10p−1 − 1) + · · · + p1 · (10 − 1) + p0 · (1 − 1) e ciascuno dei fattori 10q − 1 è multiplo di 9 12 B25: Divisibilità, numeri primi e aritmetica modulare 2014-12-22 MATeXp – Nozioni di base La proposizione precedente consente di servirsi, anche reiteratamente, della funzione M9 che ha come dominio l’insieme delle scritture decimali dei numeri naturali e come codominio [9) e che viene definita dalle richieste seguenti: M9 (i) := i se i ∈ [9) := 0 se i = 9 := M9 (ip + ip−1 + · · · + i1 + i0 ) se i = 10, 11, ... . Ad esempio si calcola M9 (3 850 721) = M9 (26) = M9 (8) = 8 . Le seguenti uguaglianze modulari consentono di sveltire ulteriormente il calcolo della M9 . Per ogni h ∈ N si ha [i ± 9 · 10h ]9 = [i]9 ; per ogni h, k ∈ P con h < k si ha [10k − 10h ]9 = [10h (10k−h − 1)]9 = 0; per ogni h, k ∈ P con h < k e per ogni c = 1, 2, ..., 8 si ha [i+c(10k −10h )]9 = [i+c·10h (10k−h − 1]9 ; per ogni h, k ∈ P con h < k si ha [i − 7 · 10k − 2 · 10h ]9 = [i − (7 + 2) · 10k + 2 · (10k − 10h )]9 = [i]9 . Di conseguenza il calcolo della M9 può essere sveltito eliminando dalla stringa argomento le occorrenze di 0 e 9 o i duetti di occorrenze di cifre aventi come somma 9, come 7 e 2 oppure 5 e 4, anche se le due cifre non sono adiacenti. Ad esempio M9 (38 507 912) = M9 (385 712) = M9 (3 851) = M9 (35) = 8. B25:c.13 Eserc. Estendere la “prova del 9” ad una “prova del B − 1” per i calcoli su numeri interi condotti su notazioni posizionali in base B, con B = 2, 3, ... . È consigliabile la definizione di una funzione MB che generalizza la precedente M9 . B25:d. Operazioni aritmetiche sulle classi di resti B25:d.01 La :c.09 Prop. garantisce che le operazioni di somma e prodotto applicate a classi di resti modulo m portano ad altre classi di resti modulo m: [a]m +bl [b]m = [a + b]m [a]m ·bl [b]m = [a · b]m . Possiamo quindi trattare le operazioni aritmetiche di somma, prodotto, differenza e cambiamento di segno sugli insiemi Zm . Gli enunciati sulle classi di resti e sulle relative operazioni spesso si possono esprimere con varie semplificazioni. Di solito le estensioni booleane delle operazioni su numeri si esprimono con i semplici segni “+′′ , “ · ′′ e “ − ”; inoltre il segno di prodotto viene spesso omesso. Quando m è implicito le classi di resti [a]m , [b]m , ... si individuano con a, b, ... e invece di scrivere a =m b si scrive a = b. Se invece si considerano diverse classi di congruenza si usano scritture come 5 + 6 = 4 in Z7 e 7 + 7 = 2 in Z12 . Qui nel seguito in genere adotteremo questi modi di scrivere. Va tuttavia segnalato che le notazioni più usate sono le tradizionali come a + b ≡ c (mod m) . B25:d.02 Denotiamo a, b e c generiche classi di resti modulo m e abbreviamo [0]m con 0 e [1]m con 1. Prop. Per le operazioni modulari valgono le seguenti proprietà: (a) a + b = b + a (commutatività della somma) (b) a · b = b · a (commutatività del prodotto) (c) (a + b) + c = a + (b + c) (associatività della somma) (d) (a · b) · c = a · (b · c) (associatività del prodotto) (e) a + 0 = a (neutralità verso la somma della classe di 0) (f) a · 1 = a (neutralità verso il prodotto della classe di 1) (g) a · (b + c) = (a · b) + (a · c) (distributività del prodotto rispetto alla somma) 2014-12-22 B25: Divisibilità, numeri primi e aritmetica modulare 13 Alberto Marini (h) Per ogni a ∈ Zm si trova in Z un solo elemento −a tale che a + (−a) = 0 (invertibilità della somma). Sulle espressioni per le classi di resti si possono quindi effettuare molte manipolazioni formali lecite per le espressioni riguardanti Z. Certe manovre però richiedono cautele: la cancellazione di un fattore uguale può non essere lecita: mentre nell’aritmetica ordinaria a ̸= 0 e a · b = a · c implicano b = c, in Z7 3 ̸= 0 e 3 · 1 = 3 · 6 non implicano 1 = 6. B25:d.03 Presentiamo ora alcune tavole di composizioni per le classi di resti semplificando come già segnalato le scritture [0]m , [1]m , ... , [m − 1]m nelle 0, 1, ..., m − 1. + 0 1 2 3 · + (0 1) 0 1 1 0 0 1 0 1 2 3 0 1 2 3 1 2 3 0 2 3 0 1 3 0 1 2 · 0 1 0 0 10 20 3 0 0 1 2 3 4 5 0 1 2 3 4 5 0 2 4 0 2 4 0 3 0 3 0 3 0 4 2 0 4 2 1 0 0 1 0 20 3 0 40 5 0 0 5 4 3 2 + · (0 1) 0 0 0 1 0 1 0 1 2 3 · 2 3 0 2 0 2 0 3 2 1 1 2 0 0 1 1 2 2 1 2 0 2 0 1 + 0 1 2 3 4 0 1 2 3 4 1 2 3 4 0 2 3 4 0 1 3 4 0 1 2 4 0 1 2 3 0 1 2 3 4 0 1 2 3 4 5 6 0 0 10 2 0 3 0 4 0 50 6 0 0 1 2 3 4 5 6 0 2 4 6 1 3 5 0 3 6 2 5 1 4 0 4 1 5 2 6 3 0 5 3 1 6 4 2 0 6 5 4 3 2 1 · 0 0 1 0 0 10 2 0 · 0 1 2 · 2 0 2 1 0 1 2 3 0 0 1 0 20 30 4 0 0 1 2 3 4 0 2 4 1 3 0 3 1 4 2 0 4 3 2 1 7 0 1 2 3 4 5 6 0 0 10 20 3 0 4 0 50 60 7 0 0 1 2 3 4 5 6 7 0 2 4 6 0 2 4 6 0 3 6 1 4 7 2 5 0 4 0 4 0 4 0 4 0 5 2 7 4 1 6 3 0 6 4 2 0 6 4 2 4 0 7 6 5 4 3 2 1 B25:d.04 Osserviamo che tutte le matrici delle somme presentano un unico tipo di profilo, indipendentemente dal valore di m. Le successive righe presentano successive permutazioni circolari della sequenza ⟨0, 1, 2, 3, ..., m − 1⟩. Data la simmetria di queste matrici, sia di quelle riguardanti le somme che quelle dei prodotti, anche le successive colonne di queste matrici presentano successive permutazioni circolari della precedente sequenza. Acceniamo brevemente ad un genere di strutture discrete al quale viene dedicato il cap. D63: . Per m = 2, 3, ..., si dice quadrato latino di ordine m una matrice quadrata avente come codominio un insieme C di m elementi che presenta in ogni riga e in ogni colonna una permutazione di C. Un quadrato latino di ordine 4 ed uno di ordine 5 sono A B C D E 1 2 3 4 B C A E D 2 1 4 3 C D E A B . 3 4 2 1 D E B C A 4 3 1 2 E A D B C Il primo ha codominio (4], il secondo {A, B, C, D, E}, quali che siano i significati delle cinque maiuscole. 14 B25: Divisibilità, numeri primi e aritmetica modulare 2014-12-22 MATeXp – Nozioni di base Per ogni m la tavola di composizione della somma sulle classi di resti modulo m è un quadrato latino relativo al codominio [m). Le tavole per il prodotto sugli Zm hanno invece aspetti che dipendono fortemente dal valore di m. Le matrici relative ai valori primi m = 2, 3, 5, 7, eliminate la prima riga e la prima colonna, contenenti solo valori 0 quale che sia m, sono quadrati latini di ordine m − 1 con codominio (m). Anzi tutte le righe e tutte le colonne, eccettuate le prime concernenti la moltiplicazione per 0, presentano permutazioni dell’insieme (m). Si osserva invece che ogni matrice relativa al prodotto su Zm con m intero fattorizzabile nelle righe (e nelle colonne) relative a valori v primi con m presentano permutazioni di [m), mentre nelle righe relative agli altri valori v presentano solo multipli di MCD(m, v) i quali necessariamente presentano ripetizioni, cioè chiaramente non sono quadrati latini. B25:e. Classi di resti invertibili B25:e.01 Una classe di resti r ∈ Zm è detta invertibile sse Zm contiene qualche s tale che r · s =m 1. In questo caso l’elemento s è detto elemento inverso in Zm di r e si scrive s = rinvm ; con qualche rischio di ambiguità si scrive spesso s = r−1 . Si possono fare subito alcune constatazioni sugli elementi invertibili. Si vede che, per ogni m 0 non è invertibile in Zm , in quanto ∀x ∈ Zm 0 · x = 0. Un elemento invertibile possiede un unico elemento inverso; infatti: rx =m 1 , rx′ =m 1 =⇒ x′ =m 1x′ = (xr)x′ =m x(rx′ ) =m x. Per ogni m 1 è invertibile in Zm e si ha 1invm = 1. Anche m − 1 =m −1 è invertibile in Zm e coincide con il proprio inverso: (m − 1)(m − 1) = m2 − 2m + 1 =m 1, cioè (m − 1)invm =m m − 1 =m −1. Se r è invertibile in Zm , cioè r · rinvm =m 1, allora è invertibile anche rinvm in quanto la precedente uguaglianza si legge anche come e si ha (rinvm )invm =m r. Il passaggio all’elemento inverso in Zm è quindi un’involuzione sull’insieme degli elementi invertibili di Zm . Inoltre se r e t sono elementi invertibili, lo è anche rt ed è (rt)invm =m rinvm tinvm : infatti rtrinvm tinvm =m rttinvm rinvm =m rrinvm =m 1. In molti contesti per l’elemento inverso in Zm di una classe di resti r si può abbreviare la notazione rinvm nella r−1 . B25:e.02 Denotiamo con Invelm(Zm ) l’insieme degli elementi invertibili di Zm . Cercando le entrate 1 nelle tabelle dei prodotti in :d.03 si riescono ad individuare tutti gli elementi invertibili dei Zm , cioè i sottoinsiemi Invelm(Zm ) ⊂ Zm per m = 2, 3, ..., 8. Le prime coppie che si leggono suggeriscono che per ogni Zm sia (m − 1)invm =m m − 1: infatti (m − 1)(m − 1) =m m2 − 2m + 1 =m 1. Nelle tabelle dei prodotti, oltre alle uguaglianze acclarate 1invm =m 1 e (m − 1)invm =m 1 , si leggono le seguenti uguaglianze : 2inv5 =5 3 , 2inv7 =7 4 , 3inv7 =7 5 , 3inv8 =8 3 , 5inv8 =8 5 . 2014-12-22 B25: Divisibilità, numeri primi e aritmetica modulare 15 Alberto Marini B25:e.03 (1) Eserc. (2) Eserc. Dimostrare che per m = 2h − 1 si ottiene 2invm =m h. Più in generale dimostrare che per m = kh − 1 si ha k invm =m h. (3) Eserc. Fornire attraverso le raffigurazioni cicliche delle congruenze una interpretazione grafica della formula in (a) e della 3invm =m h per m = 3h − 1. (4) Eserc. Fornire una interpretazione visiva della operazione di prodotto negli insiemi Zm . B25:e.04 Ricordiamo che due interi positivi k ed n si dicono coprimi sse non presentano fattori comuni, cioè sse MCD(k, n) = 1, relazione alla quale si dà anche la forma k ⊥ n. Il numero di interi appartenenti a (n) coprimi con n viene denotato Φeu (n), cioè viene fornito da una funzione chiamata funzione di Eulero o funzione totient definita come Φeu (n) := {k ∈ (n) k ⊥ n} . I primi valori assunti da questa funzione avente P come dominio sono dati dalla seguente tabella funzionale 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 . . . . Φeu = y 1 1 2 2 4 2 6 4 6 4 10 4 12 6 8 8 16 6 18 8 ... y Si osserva subito che se p è un numero primo Φeu (p) = p − 1: infatti la stessa definizione di numero primo dice che tutti gli interi 1, 2, ..., p − 1 sono coprimi con p. B25:e.05 (1) Eserc. Estendere la precedente tabella per la Φeu (n) fino a n ≤ 30. (2) Eserc. Mostrare che k ⊥ n =⇒ (n − k) ⊥ n ed interpretare l’uguaglianza sulla raffigurazione ciclica come una simmetria di Invelm(Zm ) entro [m). (3) Eserc. Mostrare che, esclusi i casi m = 1, 2, Φeu (m) è un intero pari. (4) Eserc. Caratterizzare i poligoni ottenuti dalla raffigurazione ciclica delle classi di Zm congiungendo i punti corrispondenti a Invelm(Zm ). B25:e.06 (1) Prop.: Un elemento r ∈ Zm \ 0 è invertibile sse r ⊥ m. Dim.: “=⇒” Sia r ∈ Invelm(Zm ) e scriviamo s := rinvm ; si ha rs − 1 = km per qualche k ∈ P; ma MCD(r, m) rs − km = 1; ergo MCD(r, m) = 1, i.e. r ⊥ m “⇐=” Sia r ⊥ m, i.e. MCD(r, m) = 1; mediante l’algoritmo euclideo si trovano interi a e b t.c. ra + mb = 1; ergo ra − 1 ∈ mZ, i.e. r ∈ Invelm(Zm ) (2) Coroll.: Se p è un numero primo, allora Invelm(Zp ) = (p). B25:e.07 Denotiamo SqInvelm(Zm ) la sequenza crescente degli interi di Invelm(Zm ). Esempi: SqInvelm(Z5 ) = ⟨1, 2, 3, 4⟩ , SqInvelm(Z9 ) = ⟨1, 2, 4, 5, 7, 8⟩ e SqInvelm(Z12 ) = ⟨1, 5, 7, 11⟩. (1) Prop.: La moltiplicazione modulo m per qualsiasi elemento di Invelm(Zm ) e il passaggio all’inverso in Zm su SqInvelm(Zm ) sono permutazioni (e più precisamente involuzioni). Dim.: Sia t ∈ Invelm(Zm ) e consideriamo la sequenza t · SqInvelm(Zm ) . Dato che per ogni s ∈ Invelm(Zm ) è ts ∈ Invelm(Zm ), si ha t · SqInvelm(Zm ) ⊆ SqInvelm(Zm ). Viceversa t · SqInvelm(Zm ) ⊆ SqInvelm(Zm ), in quanto ad ogni s ∈ SqInvelm(Zm ) si può dare la forma s = t(tinvm s). Per concludere basta ricordare che il passaggio all’elemento inverso è una involuzione. Esempi: 3 · SqInvelm(Z5 ) = ⟨3, 1, 4, 2⟩ e 7 · SqInvelm(Z12 ) = ⟨7, 11, 1, 5⟩. B25:e.08 Teorema di Eulero ∀r ∈ Invelm(Zm ) 16 rΦeu (m) =m 1 . B25: Divisibilità, numeri primi e aritmetica modulare 2014-12-22 MATeXp – Nozioni di base Dim.: Scriviamo ϕ := Φeu (m) e {s1 , s2 , ..., sϕ } := Invelm(Zm ); poniamo inoltre t :=m s1 s2 · · · sϕ . Per la proposizione precedente, per il generico r ∈ Invelm(Zm ) si ha t =m (rs1 )(rs1 ) · · · (rsϕ ) = rϕ t; inoltre, essendo t invertibile, 1 =m ttinvm =m rϕ B25:e.09 Coroll.: (Piccolo teorema di Fermat): Se p è un numero primo e t ∈ P \ p · P (cioè è un primo coprimo con p), allora tp−1 =p 1. Dim.: Discende subito dal precedente e dalla Φeu (p) = p − 1 B25:e.10 La :e.07 (1) Prop.: implica che riducendo la tavola di moltiplicazione di Zm alla sottomatrice riguardante solo gli elementi di Invelm(Zm ) si ottiene un quadrato latino (v. D63:). Ad esempio le matrici per i casi m = 2, ..., 8 si riducono ai seguenti quadrati latini. · (1 2) 1 1 2 2 2 1 (1) 1 1 · (1 5) 1 1 5 5 5 1 (1 1 3 1 2 3 1 1 2 2 33 4 4 55 6 6 2 4 6 1 3 5 3 6 2 5 1 4 1 3 4 5 4 1 5 2 6 3 3) 5 3 1 6 4 2 3 1 1 2 3 1 1 22 33 4 4 2 4 1 3 3 1 4 2 7 4 4 3 2 1 6 6 5 4 3 2 · 1 3 5 1 1 33 55 7 7 3 1 7 5 5 7 1 3 7 5 3 1 1 (e.11) Eserc. Costruire le matrici di moltiplicazione per gli elementi degli Invelm(Z) per m = 9, 10, 11, 12, 13. B25:f. Numeri di Eulero, di Mersenne e di Lucas B25:f.01 Introduciamo la funzione somma dei divisori che ad ogni intero positivo m associa la somma dei suoi divisori (1 ed m compresi): ∑ Sdvsr := m ∈ P j .enon j÷m Si tratta di una funzione del genere {P 7−→ P} facilmente valutabile per ogni m previa individuazione dell’insieme dei divisori dell’argomento. Una sua rappresentazione tabellare è la seguente 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ... Sdvsr = y 1 3 4 7 6 12 8 15 13 18 12 28 14 24 24 31 18 39 20 42 ... y B25:f.02 Le prime proprietà della funzione -PP Sdvsr si osservano facilmente. (1) Prop.: Se p è primo, allora Sdvsr(p) = p + 1 (2) Prop.: Se r non è primo, allora Sdvsr(r) > p + 1 2014-12-22 B25: Divisibilità, numeri primi e aritmetica modulare 17 Alberto Marini (3) Prop.: ∀k ∈ P Sdvsr(2k ) = 2k+1 − 1 (4) Prop.: Per ogni p numero primo e per ogni k = 2, 3, 4, ... si ha Sdvsr(pk ) = pk+1 − 1 . p−1 Dim.: Basta osservare che Dvsr(pk ) = {1, p, p2 , p3 , ..., +} Si osserva anche che la funzione Sdvsr non è monotona, non è invertibile e non è limitata superiormente; essa in media va crescendo ed il suo maggiore valore è un significativo indicatore di una maggiore divisibilità. m(m + 1) (5) Prop.: Per ogni m = 2, 3, 4, ... valgono le disuguaglianze m + 1 ≤ Sdvsr(m) ≤ 2 B25:f.03 Una importante proprietà della funzione Sdvsr è la seguente. (1) Prop.: Se m1 , m2 ∈ P con m1 ⊥ m2 , allora Sdvsr(m1 · m2 ) = Sdvsr(m1 ) · Sdvsr(m2 ) . Dim.: Sia d un intero positivo che divide m1 · m2 ; allora l’istogramma in Z × Z di d deve presentare due distinti insiemi barre, uno costituito da barre dell’istogramma di m1 e l’a;ltro da barre riguardanti m2 . Quindi si ha una fattorizzazione d = d1 · d2 con d1 − : m1 e d 2 − : m2 . Dunque si hanno le uguaglianze ( ) ( ) ∑ ∑ ∑ ∑ d1 · d2 = Sdvsr(m1 · m2 ) = d= d1 · d2 = Sdvsr(m1 ) · Sdvsr(m2 ) d− :m1 ·m2 d1:− (m1 ),d2:− (m2 ) d1:− m1 d2:− m2 La proposizione precedente si generalizza senza difficoltà. (2) Prop.: Se per h = 2, 3, 4, ... abbiamo h interi positivi m1 , ..., mh a due a due coprimi, allora ∏ ∏ mj = Sdvsr(mj ) Sdvsr j=1,...,h j=1,...,h Per ogni intero positivo m la fattorizzazione nelle successive potenze di numeri primi divisori consente di ottenere un’espressione dall’aspetto algebrico per la somma dei divisori. (3) Prop.: Si conosca la fattorizzazione mediante numeri primi m = p1 e1 p2 e2 ... ph h con e1 , e2 , ..., eh interi positivi. (p1 )e1 +1 − 1 (p2 )e2 +1 − 1 (ph )eh +1 − 1 Allora si ha Sdvsr(m) = · ··· . p1 − 1 p2 − 1 ph − 1 Dim.: Basta applicare la f03(4) e la (2) che rende applicamediante numeri primi B25:g. Numeri perfetti e numeri amicabili B25:g.01 È interessante l’andamento della funzione m ∈ P Sdvsr(m) − 2m . Essa presenta valori negativi (ad esempio vale −(p − 1) per ogni numero primo p), valori nulli e valori positivi. Gli interi positivi m per i quali Sdvsr(m)−m < 0 negativi si dicono numeri deficienti, quelli Sdvsr(m)− m > 0 si dicono numeri abbondanti e quelli con Sdvsr(m) = m, come 6 sono detti numeri perfetti. B25:g.02 B25:g.03 Le varie componenti di questo testo sono accessibili in http://www.mi.imati.cnr.it/∼alberto 18 B25: Divisibilità, numeri primi e aritmetica modulare 2014-12-22