Divisibilit`a, numeri primi e aritmetica modulare - imati-cnr

Transcript

Divisibilit`a, numeri primi e aritmetica modulare - imati-cnr
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

10

20
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

20

3
0
40
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

10

2
0
3
0
4
0

50
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

10
2 0
·
0
1
2
·

2

0

2
1

0 1
2
3
0 0
1
0

20

30
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

10

20

3
0
4
0

50

60
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

33

4
4
55
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

22

33
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

33

55
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