Funzione generatrice

In matematica una funzione generatrice è una serie formale di potenze i cui coefficienti costituiscono i componenti an di una successione indicizzata dai numeri naturali; spesso questa successione viene rappresentata efficacemente dalla funzione generatrice, specialmente quando per questa si trova qualche espressione sufficientemente maneggevole e significativa.

Sono studiati vari tipi di funzioni generatrici, come funzioni generatrici ordinarie, funzioni generatrici esponenziali, serie di Lambert, serie di Bell e serie di Dirichlet; qui di seguito ne sono date le definizioni e alcuni esempi. Ad ogni successione possono essere associate le funzioni generatrici di tutti i tipi. Quale può essere la particolare funzione generatrice che risulta più utile in un dato contesto dipende dalla natura della successione e dai dettagli del problema che si sta affrontando.

Le funzioni generatrici sono spesso individuate in una forma chiusa come funzioni di una variabile formale x. Talvolta risulta utile valutare una funzione generatrice per uno specifico valore reale o complesso della x. Tuttavia occorre tenere presente che le funzioni generatrici sono serie formali di potenze e per esse non viene necessariamente richiesta la convergenza per determinati valori attribuiti alla x.

Definizione

Una funzione generatrice è una corda da bucato usata per appendervi una successione numerica per metterla in mostra.
— Herbert Wilf, generatingfunctionology (1994)

Funzione generatrice ordinaria

La funzione generatrice ordinaria di una successione an è

G ( a n ; x ) = n = 0 a n x n . {\displaystyle G(a_{n};x)=\sum _{n=0}^{\infty }a_{n}x^{n}.}

Quando il termine funzione generatrice è usato senza qualificazione, di solito si intende che si tratta di una funzione generatrice ordinaria.

Se la successione an è una funzione di massa di probabilità di una variabile casuale discreta, allora la sua funzione generatrice ordinaria viene chiamata funzione generatrice di probabilità.

La funzione generatrice ordinaria può essere generalizzata a successioni relative a indici multipli. Ad esempio, la funzione generatrice ordinaria di una successione am,n (con n ed m numeri naturali) ha la forma

G ( a m , n ; x , y ) = m , n = 0 a m , n x m y n . {\displaystyle G(a_{m,n};x,y)=\sum _{m,n=0}^{\infty }a_{m,n}x^{m}y^{n}.}

Funzione generatrice esponenziale

La funzione generatrice esponenziale di una successione an è

E G ( a n ; x ) = n = 0 a n x n n ! . {\displaystyle EG(a_{n};x)=\sum _{n=0}^{\infty }a_{n}{\frac {x^{n}}{n!}}.}

Serie di Lambert

La serie di Lambert di una successione an è

L G ( a n ; x ) = n = 1 a n x n 1 x n . {\displaystyle LG(a_{n};x)=\sum _{n=1}^{\infty }a_{n}{\frac {x^{n}}{1-x^{n}}}.}

Si noti che in una serie di Lambert l'indice n ha come primo valore 1, non 0.

Serie di Bell

La serie di Bell associata ad una funzione aritmetica f(n) e ad un numero primo p è

f p ( x ) := n = 0 f ( p n ) x n . {\displaystyle f_{p}(x):=\sum _{n=0}^{\infty }f(p^{n})x^{n}.}

Serie di Dirichlet

Le serie di Dirichlet sono in genere classificate come funzioni generatrici, anche se a rigore non sono serie formali di potenze. La funzione generatrice serie di Dirichlet di una successione an è

D G ( a n ; s ) = n = 1 a n n s . {\displaystyle DG(a_{n};s)=\sum _{n=1}^{\infty }{\frac {a_{n}}{n^{s}}}.}

La funzione generatrice serie di Dirichlet è specialmente utile quando an è una funzione moltiplicativa, cioè quando possiede una espressione prodotto di Eulero in termini della serie di Bell della funzione

D G ( a n ; s ) = p f p ( p s ) . {\displaystyle DG(a_{n};s)=\prod _{p}f_{p}(p^{-s}).}

Se an è un carattere di Dirichlet, allora la funzione generatrice con serie di Dirichlet viene chiamata serie L di Dirichlet.

Sequenze polinomiali

La nozione di funzione generatrice può essere estesa a successioni di oggetti che non sono semplici numeri. Così, ad esempio, le sequenze polinomiali di tipo binomiale sono generate da

e x f ( t ) = n = 0 p n ( x ) n ! t n , {\displaystyle e^{xf(t)}=\sum _{n=0}^{\infty }{p_{n}(x) \over n!}t^{n},}

dove pn(x) è una sequenza polinomiale e f(t) una funzione di una determinata forma. Le sequenza di Sheffer sono generate in un modo simile. Per maggiori informazioni su questo argomento, vedi la voce principale polinomi generalizzati di Appell.

Successione dei quadrati

Passiamo in rassegna le funzioni generatrici per la successione dei quadrati perfetti an = n2.

Funzione generatrice ordinaria

G ( n 2 ; x ) = n = 0 n 2 x n = x ( x + 1 ) ( 1 x ) 3 . {\displaystyle G(n^{2};x)=\sum _{n=0}^{\infty }n^{2}x^{n}={\frac {x(x+1)}{(1-x)^{3}}}.}

Funzione generatrice esponenziale

E G ( n 2 ; x ) = n = 0 n 2 x n n ! = x ( x + 1 ) e x . {\displaystyle EG(n^{2};x)=\sum _{n=0}^{\infty }{\frac {n^{2}x^{n}}{n!}}=x(x+1)e^{x}.}

Serie di Bell

f p ( x ) = n = 0 p 2 n x n = 1 1 p 2 x . {\displaystyle f_{p}(x)=\sum _{n=0}^{\infty }p^{2n}x^{n}={\frac {1}{1-p^{2}x}}.}

Funzione generatrice con serie di Dirichlet

D G ( n 2 ; s ) = n = 1 n 2 n s = ζ ( s 2 ) . {\displaystyle DG(n^{2};s)=\sum _{n=1}^{\infty }{\frac {n^{2}}{n^{s}}}=\zeta (s-2).}

Esempi

Esempio informatico

Nell'informatica le funzioni generatrici sono molto utilizzate soprattutto per quanto concerne l'analisi degli algoritmi. Ad esempio si vuole determinare il numero di volte che un blocco di istruzioni all'interno di un costrutto iterativo viene eseguito.

CASO A

...
for (i=1; i<=n; i++)
{printf("ciao");}
...

In questo caso stampiamo la stringa ciao per iterazioni che vanno da 1 a n. Otteniamo così

i = 1 n 1 = n , {\displaystyle \sum _{i=1}^{n}1=n,}

ipotizzando che la stampa della stringa ciao abbia costo uniforme.

CASO B

...
for (i=1; i<=n; i++)
for (j=1; j<=i; j++)
{printf("ciao");}
...

la stringa ciao viene stampata una volta ad ogni iterazione del ciclo più interno (j) ed i volte ad ogni iterazione del ciclo esterno (i). Complessivamente:

i = 1 n j = 1 i 1 = i = 1 n i = n ( n + 1 ) 2 , {\displaystyle \sum _{i=1}^{n}\sum _{j=1}^{i}1=\sum _{i=1}^{n}i={\frac {n(n+1)}{2}},}

ricordando la formula di Gauss.

In generale, avendo k cicli innestati ci si riconduce a calcolare una sommatoria della forma

i 1 = 1 n i 2 = 1 i 1 . . . i k = 1 i k 1 1. {\displaystyle \sum _{i_{1}=1}^{n}\sum _{i_{2}=1}^{i_{1}}...\sum _{i_{k}=1}^{i_{k-1}}1.}

CASO C

for (i=1; i<=n; i++)
for (j=1; j<=i; j++)
for (k=1; k<=j; k++)
{printf("ciao");}
i = 1 n j = 1 i k = 1 j 1 = i = 1 n j = 1 i j = i = 1 n i ( i + 1 ) 2 . {\displaystyle \sum _{i=1}^{n}\sum _{j=1}^{i}\sum _{k=1}^{j}1=\sum _{i=1}^{n}\sum _{j=1}^{i}j=\sum _{i=1}^{n}{\frac {i(i+1)}{2}}.}

Bisogna calcolare quest'ultima. Quindi:

i = 1 n i ( i + 1 ) 2 = 1 2 ( i = 1 n i 2 + i = 1 n i ) = n ( n + 1 ) ( 2 n + 1 ) 2 6 + n ( n + 1 ) 2 2 = n 3 6 + n 2 2 + n 3 . {\displaystyle \sum _{i=1}^{n}{\frac {i(i+1)}{2}}={\frac {1}{2}}\left(\sum _{i=1}^{n}i^{2}+\sum _{i=1}^{n}i\right)={\frac {n(n+1)(2n+1)}{2\cdot 6}}+{\frac {n(n+1)}{2\cdot 2}}={\frac {n^{3}}{6}}+{\frac {n^{2}}{2}}+{\frac {n}{3}}.}

Manipolazione di una funzione generatrice

Si possono costruire funzioni generatrici arricchendo la forma di funzioni generatrici più semplici. Ad esempio, iniziamo con

G ( 1 ; x ) = n = 0 x n = 1 1 x {\displaystyle G(1;x)=\sum _{n=0}^{\infty }x^{n}={\frac {1}{1-x}}}

e sostituiamo x {\displaystyle x} con 2 x {\displaystyle 2x} ; otteniamo

G ( 1 ; 2 x ) = 1 1 2 x = 1 + ( 2 x ) + ( 2 x ) 2 + + ( 2 x ) n + = G ( 2 n ; x ) . {\displaystyle G(1;2x)={\frac {1}{1-2x}}=1+(2x)+(2x)^{2}+\ldots +(2x)^{n}+\ldots =G(2^{n};x).}

Numeri di Fibonacci

Lo stesso argomento in dettaglio: Numeri di Fibonacci.

Consideriamo il problema di trovare una formula chiusa per i numeri di Fibonacci fn definiti da f0 := 0, f1 := 1 e fn := fn−1 + fn−2 per n ≥ 2. Componiamo la funzione generatrice ordinaria

f = n 0 f n X n {\displaystyle f=\sum _{n\geq 0}f_{n}X^{n}}

per questa successione. La funzione generatrice per la successione (fn−1) è Xf e quella di (fn−2) è X2f. Dalla relazione di ricorrenza si ricava quindi che la serie di potenze Xf + X2f ha gli stessi coefficienti della f ad esclusione dei primi due. Tenendo conto di questi si trova che

f = X f + X 2 f + X . {\displaystyle f=Xf+X^{2}f+X.}

Questo è il passo cruciale; Le relazioni di ricorrenza possono quasi sempre essere tradotte in equazioni per le funzioni generatrici. Risolvendo questa equazione per f otteniamo

f = X 1 X X 2 . {\displaystyle f={\frac {X}{1-X-X^{2}}}.}

Il denominatore si può fattorizzare usando la sezione aurea φ1 = (1 + √5)/2 e φ2 = (1 − √5)/2; la tecnica della decomposizione in frazioni parziali porta a

f = 1 / 5 1 φ 1 X 1 / 5 1 φ 2 X . {\displaystyle f={\frac {1/{\sqrt {5}}}{1-\varphi _{1}X}}-{\frac {1/{\sqrt {5}}}{1-\varphi _{2}X}}.}

I due termini a destra sono la somma di due serie geometriche; confrontando i coefficienti dei termini di uguale grado si trova la formula esplicita

f n = 1 5 ( φ 1 n φ 2 n ) . {\displaystyle f_{n}={\frac {1}{\sqrt {5}}}(\varphi _{1}^{n}-\varphi _{2}^{n}).}

Applicazioni

Le funzioni generatrici sono utilizzate per vari procedimenti.

  • Trovare relazioni di ricorrenza per i componenti di successioni: la forma di una funzioni generatrice può suggerire una formula di ricorrenza.
  • Trovare relazioni tra successioni: se le funzioni generatrici di due successioni hanno forme simili, probabilmente le stesse successioni sono in qualche relazione significativa.
  • Esplorare il comportamento asintotico di successioni.
  • Dimostrare identità concernenti successioni.
  • Risolvere problemi di enumerazione in combinatoria.
  • Valutare valori cui convergono date serie.

Bibliografia

  • Herbert S. Wilf (1994): generatingfunctionology (Second Edition). Academic Press. ISBN 0127519564. Per una versione liberamente scaricabile offerta da Herbert Wilf e dalla Academic Press, vedi la pagina web Download the book Generatingfunctionology

Voci correlate

Collegamenti esterni

  • (EN) Eric W. Weisstein, Funzione generatrice, su MathWorld, Wolfram Research. Modifica su Wikidata
  • (EN) Funzione generatrice, su Encyclopaedia of Mathematics, Springer e European Mathematical Society. Modifica su Wikidata
  • Generating Functions, Power Indices and Coin Change, su cut-the-knot.org.
  • Generatingfunctionology (PDF) (PDF), su math.upenn.edu.
Controllo di autoritàThesaurus BNCF 70287 · LCCN (EN) sh85053815 · GND (DE) 4152979-0 · BNF (FR) cb12259609r (data) · J9U (ENHE) 987007562699905171
  Portale Matematica: accedi alle voci di Wikipedia che trattano di matematica