Loading [MathJax]/jax/output/CommonHTML/jax.js

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: mpα11pα22pα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=213250

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.

 


 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin
knowledge base

Fattorizzazione

Calcolatrice