I B vettori nella fattorizzazione di un numero intero
Quando si scompone un numero in fattori primi, spesso è utile rappresentare questa fattorizzazione in modo strutturato, soprattutto se si lavora con algoritmi di fattorizzazione avanzati. Ed è qui che entra in gioco il concetto di B-vettore.
Cos’è un B-vettore?
Il B-vettore di un numero intero m è un vettore che descrive la fattorizzazione di m rispetto a una base di fattorizzazione B, cioè un insieme prestabilito di numeri primi. In termini semplici, possiamo scrivere m come un prodotto di primi della base B, con gli esponenti corrispondenti: m≡pα11pα22⋯pαNN(modn)
Dove:
- p1,p2,...,pN sono i numeri primi nella base B
- α1,α2,...,αN sono gli **esponenti** di ciascun fattore primo nella fattorizzazione di m
Il B-vettore di m è quindi la sequenza degli esponenti (α1,α2,...,αN).
Esempio pratico
In questo esempio prendo la base di fattorizzazione:
B={2,3,5}
Poi scompongo il numero m=18 in fattori primi usando la base di fattorizzazione B.
18=21⋅32⋅50
Il B-vettore del numero m nella base di fattorizzazione B={2,3,5} sarà quindi:
v(m)=(1,2,0)
Dove ogni posizione nel vettore corrisponde all'esponente del numero primo corrispondente nella base B.
La riduzione modulo 2
Per semplificare ulteriormente un B-vettore e ottenere informazioni utili sulla natura del numero, è utile ridurre ridurre gli esponenti al modulo 2.
L’idea è semplice:
- Se un esponente è pari, lo sostituiamo con 0 perché il resto della divisione per due di un numero pari è sempre zero.
- Se un esponente è dispari, lo sostituiasco con 1, perché il resto della divisione per due di un numero dispari è sempre uno.
βi≡αi(mod2)
Dove il nuovo vettore ottenuto, detto B-vettore ridotto modulo 2, sarà:
w(m)=(β1,β2,...,βN)
Esempio con riduzione modulo 2
Riprendo il numero m=18 con la base di fattorizzazione B={2,3,5}:
Il B-vettore del numero è
v(m)=(1,2,0)
Riduco ogni elemento modulo 2:
- 1(mod2)=1
- 2(mod2)=0
- 0(mod2)=0
Quindi, il B-vettore di m=18 ridotto al modulo 2 ha queste componenti:
w(m)=(1,0,0)
A cosa serve la riduzione modulo 2?
Ora viene la parte interessante. Questa rappresentazione semplificata aiuta a individuare se un numero è un quadrato perfetto modulo n.
Un numero è un quadrato perfetto se, nella sua fattorizzazione, tutti gli esponenti sono pari.
questo significa che, in un B-vettore ridotto modulo 2, un numero sarà un quadrato perfetto se il suo B-vettore ridotto è composto solo da zeri.
Esempio con un quadrato perfetto
Considero il numero m=4 nella base di fattorizzazione B={2,3,5}.
4=223050=22
Il B-vettore è:
v(m)=(2,0,0)
Lo riduco al modulo 2:
w(m)=(0,0,0)
Tutti gli elementi sono zeri, quindi m è un quadrato perfetto.
Esempio con un numero che non è un quadrato perfetto
Riprendo il numero intero m=18 nella base di fattorizzazione B={2,3,5}.
18=213250
Il suo B vettore nella base B è
v(m)=(1,2,0)
il cui B-vettore ridotto al modulo 2 è
w(m)=(1,0,0)
In questo caso nel B-vettore ridotto c’è almeno un 1, quindi posso già dedurre che il numero 18 non è un quadrato perfetto.
Perché il B-vettore e la riduzione modulo 2 sono importanti? Questa tecnica è fondamentale in applicazioni avanzate come negli algoritmi di fattorizzazione quadratici (es. il metodo di Kraitchik), negli algoritmi di crittografia basati sulla difficoltà della fattorizzazione e nella teoria dei numeri per studiare proprietà dei numeri e delle loro radici quadratiche modulo n.
E così via.