Ricerca di teoria dei numeri
Successioni di Fibonacci generalizzate
Con implementazioni in Sage
Sebastiano Ferraris
2011
Sommario
Queste pagine sono l’evoluzione di una ricerca presentata nell’anno accademico 2008-2009 per l’esame del corso di Crittografia tenuto dal prof. Umberto Cerruti all’università di Matematica di Torino.
Oltre a diverse aggiunte e correzioni si distingue sostanzialmente dalla versione originale per le implementazioni in Sage lasciate nell’ultimo capitolo. Mi sono poi divertito a raccogliere alcuni problemi di diverse difficoltà in ogni paragrafo, dato che non esiste processo mentale che valga la pena di affrontare senza un’esperienza viva che lo sostenga.
Desidero ringraziare Francesco Giovo per l’aiuto nella stesura e per la revisione.
Nella prima parte della ricerca viene introdotta brevemente la successione di Fibonacci, con alcune delle proprietà più importanti. Infine, affrontando proprietà meno intuitive, si arriverà gradualmente ad una generalizzazione delle successioni, proposta nella seconda parte. La terza parte è una raccolta di funzioni implementate con Sage, che mi sono state di aiuto per capire meglio alcune proprietà.
Per suggerimenti, correzioni e commenti di qualsiasi tipo contattatemi pure.
sebastiano.ferraris@gmail.com
Torino, 22 dicembre 2011.
Indice
- 1 Successione di Fibonacci e proprietà principali 2
- 1.1 Il problema di Fibonacci 2
- 1.2 Proprietà principali 5
- 1.3 Fibonacci e la sezione aurea 11
- 1.4 Fibonacci dal triangolo di Tartaglia 15
- 1.5 Fibonacci e i Numeri di Lucas 17
- 1.6 La Formula di De Moivre per Lucas: verso la generalizzazione 18
- 2 Successione di Fibonacci generalizzata 20
- 2.1 Definizioni principali 20
- 2.2 Fibonacci generalizzata, come spazio vettoriale 22
- 2.3 Polinomio caratteristico 23
- 2.4 Proprietà principali 25
- 3 Implementazioni in Sage 30
- 3.1 Il problema di Fibonacci 30
- 3.2 Proprietà principali 31
- 3.3 Fibonacci e la sezione aurea 32
- 3.4 Fibonacci dal triangolo di Tartaglia 32
- 3.5 Fibonacci e i numeri di Lucas 33
- 3.6 Fibonacci generalizzata 33
Capitolo 1: Successione di Fibonacci e proprietà principali
1.1 Il problema di Fibonacci
Oltre ad aver diffuso il sistema di numerazione posizionale, Fibonaccin nel Liber abaci, rese noto il seguente problema:
Data una coppia di conigli neonati, trovare il numero di conigli che possono nascere dal loro incontro in un anno, se valgono le seguenti ipotesi:
- Ogni coniglio, dalla nascita, impiega un mese per diventare maturo.
- Ogni coppia di conigli genera una coppia di neonati ogni mese.
- Tutti i conigli sono immortali.
Se la coppia di conigli iniziali è nata, per esempio, il primo gennaio, allora il primo febbraio diventano maturi e il primo marzo generano una seconda coppia; il primo aprile, la seconda coppia diventa matura e la prima ne genera un’altra, e così via, fino ad avere il risultato espresso nella tabella sottostante:
| Mesi | G. | F. | M. | A. | M. | G. | L. | A. | S. | O. | N. | D. |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Neonati | 1 | 0 | 1 | 1 | 2 | 3 | 5 | 8 | 13 | 21 | 34 | 55 |
| Maturi | 0 | 1 | 1 | 2 | 3 | 5 | 8 | 13 | 21 | 34 | 55 | 89 |
| Totali | 1 | 1 | 2 | 3 | 5 | 8 | 13 | 21 | 34 | 55 | 89 | 144 |
Se rappresentiamo le coppie di conigli neonati con e le coppie di conigli maturi con allora possiamo visualizzare l’insieme di coppie per ogni mese con un’altra tabella:
Mesi G. F. M. A. M. G. L. ...
• ◦ • • • • •
◦ ◦ • • •
◦ ◦ • •
◦ ◦ •
◦ ◦ •
◦ ◦
◦ ◦
Coppie ...
◦ ◦
◦
◦
◦
◦
◦
Totale 1 1 2 3 5 8 13 ...
Possiamo notare che ogni colonna è formata dalle coppie di conigli del mese precedente, diventati tutti maturi sommati ad un numero di coppie di conigli neonati pari al numero di conigli maturi del mese precedente, quindi pari al numero totale di conigli di due mesi prima.
La successione dei numeri di conigli in vita per ogni mese costituisce la successione di Fibonacci. Si verifica immediatamente che ogni suo elemento, a partire dal terzo, è somma dei due precedenti. Può essere quindi definita per ricorrenza:
F0 = 0
F1 = 1
Fn = Fn−1 + Fn−2
Problemi
Problema 1.1.1 (Negativa di Fibonacci). Ci sono diverse definizioni per la successione di Fibonacci negativa, proposte ad esempio da [1]. Calcola alcuni termini di n+1
F−n = (−1)n+1 Fn
F−n = F−(n−1) − F−(n−2)
e prova ad inventare qualche altra.
Problema 1.1.2 (Rappresentazione matriciale). C’è un altro modo per rappresentare i numeri di Fibonacci. Verifica che se
0 1
A = 1 1
Allora
Fn−1 Fn
An = Fn Fn+1
Problema 1.1.3 (Numeri di Tribonacci e Tetranacci). Generalizza la successione di Fibonacci con la condizione che l’n-esimo numero sia la somma dei k precedenti, avendo definito i primi k come i primi k elementi della successione di Fibonacci.
Per k = 3 la successione è detta successione di Tribonacci. Per k = 4 la successione è detta di Tetranacci.
Problema 1.1.4. Implementa un algoritmo che calcoli il rapporto di due numeri di Fibonacci consecutivi e lista tale rapporto per i primi 500 numeri.
Problema 1.1.5 (Numeri di Repfigit). Considera l’intero M costituito da m cifre d1, d2, . . . , dm: M = d1d2 . . . dm. Allora si può definire una successione di interi
s1 = d1 + d2 + d3 + · · · + dm
s2 = s1 + d2 + d3 + · · · + dm
s3 = s1 + s2 + d3 + · · · + dm
..
. · · ·
sm = s1 + s2 + s3 + · · · + dm
Procedendo con lo stesso ragionamento anche per degli interi successivi, ci si imbatte nei numeri di Repfigit. Chi deve essere M perché si ottenga proprio la successione di Fibonacci?
Problema 1.1.6. Dimostra che la somma dei primi dieci numeri consecutivi della successione di Fibonacci sono uguali al settimo numero della serie moltiplicato per 11.
1.2 Proprietà principali
Ora possiamo addentrarci nelle proprietà della successione di Fibonacci ([4] e [5]).
Proprietà 1.2.1 (Primalità degli elementi consecutivi). Due termini consecutivi della successione sono primi fra loro.
Dimostrazione. Per induzione: per n = 1 verifichiamo la tesi
MCD(F1, F2) = MCD(1, 1) = 1
Passo induttivo: prendiamo per vero che
MCD(Fn−1, Fn) = 1
da cui per l’identità di Bézout
∃ m, n ∈ Z | mFn−1 + nFn = 1
se per assurdo negassimo il passo successivo, allora
MCD(Fn, Fn+1) ≠ 1
Sempre per l’identità di Bézout, abbiamo che
∀a, b ∈ Z | aFn + bFn+1 ≠ 1
ma sapendo che Fn+1 = Fn−1 + Fn
si ha
aFn + b(Fn−1 + Fn) = 1
cioè ∀a, b ∈ Z
bFn−1 + (a + b)Fn = 1
In contraddizione con l’ipotesi induttiva.
Proprietà 1.2.2 (Somma degli elementi consecutivi). La somma dei numeri consecutivi della successione, dal primo all’n-esimo, a cui viene sommato 1, risulta essere uguale ad un altro numero della successione che segue di due posti l’n-esimo scelto.
Dimostrazione. Dimostriamo per induzione. La tesi può essere riformulata nel seguente modo:
∑j=1n (Fj) + 1 = F1 + F2 + ... + Fn + 1 = Fn+2
Passo iniziale: per n = 1 verifichiamo la tesi
F1 + 1 = F3 = 1 + 1 = 2
Passo induttivo: sia vero per n − 1
∑j=1n−1 (Fj) + 1 = Fn+1
Sommando Fn ad entrambi i membri
∑j=1n−1 (Fj) + Fn + 1 = Fn + Fn+1
e sapendo che Fn + Fn+1 = Fn+2, risulta
∑j=1n (Fj) + 1 = Fn+2
Proprietà 1.2.3 (Somma di elementi dispari). Sommando solo gli elementi di posto dispari della successione, si ottiene l’elemento della successione successivo all’ultimo sommato.
Dimostrazione. Come prima dimostriamo per induzione. La tesi può essere riformulata nel seguente modo:
∑j=0n F2j+1 = F2n+2
Passo iniziale: per n = 0 si verifica la tesi
F1 = F2 = 1
Passo induttivo: sia vero per n − 1
∑j=0n−1 F2j+1 = F1 + F3 + ... + F2n−1 = F2n = F2(n−1)+2
Sommiamo ad entrambi i membri F2n+1 ed ottengo
F1 + F3 + ... + F2n−1 + F2n+1 = F2n + F2n+1
da cui, sapendo che Fn + Fn+1 = Fn+2, risulta
∑j=0n F2j+1 = F2n+2
Proprietà 1.2.4 (Scomposizione). Per i numeri di Fibonacci vale la seguente equazione:
Fa+b = Fb+1Fa + FbFa−1
Dimostrazione. Consideriamo la seguente catena di equazioni:
Fn = 1Fn−1 + Fn−2
Fn = 1(Fn−2 + Fn−3) + Fn−2 = 2Fn−2 + Fn−3
Fn = 2(Fn−3 + Fn−4) + Fn−3 = 3Fn−3 + 2Fn−4
Fn = 3(Fn−4 + Fn−5) + Fn−4 = 5Fn−4 + 3Fn−5
.. ..
. .
Fn = Fk+1Fn−k + FkFn−k−1 per k < n
Capito il meccanismo, la dimostrazione rigorosa dell’ultima equazione può essere trovata per induzione (esercizio).
Se poi in Fn = Fk+1Fn−k + FkFn−k−1 effettuiamo le seguenti sostituzioni: a + b = n, k = b, e quindi per n − k = a, allora abbiamo che
Fa+b = Fb+1Fa + FbFa−1
Proprietà 1.2.5 (Divisibilità). Dati gli interi positivi m, n, si ha che m | n ⇒ Fm | Fn.
Dimostrazione. Dimostrazione costruttiva. Per ipotesi abbiamo che se m | n allora ∃s | n = sm. Quindi, per sostituzione, la nuova tesi è Fm | Fsm. La dimostrazione parte dalla seguente catena di equazioni, vista anche nella dimostrazione precedente:
Fsm = 1Fsm−1 + Fsm−2
= 2Fsm−2 + Fsm−3
= 3Fsm−3 + 2Fsm−4
..
.
= Fk+1Fsm−k + FkFsm−k−1 per k < sm
Posso procedere finché k = (s − 1)m, quindi
..
.
= F(s−1)m+1Fsm−(s−1)m + F(s−1)mFsm−(s−1)m−1
= FαFm + FβFm
per qualche intero α e β. A questo punto ripetiamo la stessa catena di equazioni per F(s−1)m, fermandoci a k = (s − 2)m:
Fsm = F0Fsm + (FαFm + FβFm)F0
Procedendo in questo modo, cioè ripetendo la catena di equazioni per F(s−h)m, finché di volta in volta non si arriva a k = (s − h − 1)m per h = 1, . . . , s + 2 arriveremo ad una somma di fattori, ciascuno dei quali è moltiplicato per Fm.
Raccogliendo il fattore comune si ha:
Fsm = δFm
Proprietà 1.2.6 (Euclide per Fibonacci). Per la successione di Fibonacci vale un analogo dell’algoritmo di Euclide dato dalla seguente equazione:
MCD(Fm, Fn) = MCD(Fn, Fr)
Dove r è il resto della divisione di m per n, cioè m = qn + r.
Dimostrazione. Abbiamo subito che:
MCD(Fm, Fn) = MCD(Fn, Fqn+r)
Per la proprietà di Scomposizione 1.2.4 vale
MCD(Fm, Fn) = MCD(Fn, Fqn+1Fr + FqnFr−1)
Ma n | nq, quindi per la proprietà della divisibilità si ha:
MCD(Fm, Fn) = MCD(Fn, Fqn+1 | Fr)
Inoltre, dato che i numeri di Fibonacci successivi sono coprimi ed Fn e Fnq abbiamo
MCD(Fm, Fn) = MCD(Fn, Fr)
Concludiamo il paragrafo con una peculiare proprietà:
Proprietà 1.2.7 (MCD per Fibonacci). Il massimo comun divisore fra due numeri di Fibonacci è ancora un numero di Fibonacci la cui posizione è data dal MCD dei loro indici.
Dimostrazione. La tesi può essere riformulata nel seguente modo:
MCD(Fi, Fj) = FMCD(i,j)
Si applica l’algoritmo di Euclide per MCD(i, j), quindi:
MCD(i, j) = MCD(j, r1) = MCD(r1, r2) = ... = MCD(rn, 0) = rn
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Successioni di Fibonacci generalizzate, con implementazioni in Sage
Queste pagine sono l'evoluzione di una ricerca presentata nell'anno accademico 2008-2009 per l'esame del corso di Crittografia. Oltre a diverse aggiunte e correzioni si distingue sostanzialmente dalla versione originale per le implementazioni in Sage. Mi sono poi divertito a raccogliere alcuni problemi di diverse difficoltà in ogni paragrafo, dato che non esiste processo mentale che valga la pena di affrontare senza un'esperienza viva che lo sostenga.
Desidero ringraziare Francesco Giovo per l'aiuto nella stesura e per la revisione.
Nella prima parte della ricerca viene introdotta brevemente la successione di Fibonacci, con alcune delle proprietà più importanti. Infine, affrontando proprietà meno intuitive, si arriverà gradualmente ad una generalizzazione delle successioni, proposta nella seconda parte. La terza parte è una raccolta di funzioni implementate con Sage, che mi sono state di aiuto per capire meglio alcune proprietà. Per suggerimenti, correzioni e commenti di qualsiasi tipo contattatemi pure.
Indice
- 1 Successione di Fibonacci e proprietà principali
- 1.1 Il problema di Fibonacci
- 1.2 Proprietà principali
- 1.3 Fibonacci e la sezione aurea
- 1.4 Fibonacci dal triangolo di Tartaglia
- 1.5 Fibonacci e i numeri di Lucas
- 1.6 La Formula di De Moivre per Lucas: verso la generalizzazione
- 2 Successione di Fibonacci generalizzata
- 2.1 Definizioni principali
- 2.2 Fibonacci generalizzata, come spazio vettoriale
- 2.3 Polinomio caratteristico
- 2.4 Proprietà principali
- 3 Implementazioni in Sage
- 3.1 Il problema di Fibonacci
- 3.2 Proprietà principali
- 3.3 Fibonacci e la sezione aurea
- 3.4 Fibonacci dal triangolo di Tartaglia
- 3.5 Fibonacci e i numeri di Lucas
- 3.6 Fibonacci generalizzata
Sebastiano Ferraris, Successioni di Fibonacci generalizzate, con implementazioni in Sage