Funkcja tworząca

Z testwiki
Przejdź do nawigacji Przejdź do wyszukiwania

Funkcja tworząca (funkcja generująca) G(x) dla ciągu (gn)=(g0,g1,g2,) jest zdefiniowana jako

G(x)=n=0gnxn.

Ciąg (gn) może być w szczególnym przypadku ciągiem liczbowym (wartości są liczbami naturalnymi, jak to się dzieje, gdy odpowiada on zliczaniu obiektów kombinatorycznych, rzeczywistymi, zespolonymi) jednak w ogólności jego wartości mogą być inne (np. funkcje).

Tymczasem jednomiany xn mogą być rozpatrywane jako wyrazy pierścienia szeregu formalnego (gdy interesują nas wyłącznie algebraiczne właściwości funkcji tworzącej) albo liczby (rzeczywiste lub zespolone).

Zastosowania

Funkcje tworzące wykorzystywane są w wielu różnych działach matematyki. Jednym z najważniejszych ich zastosowań jest przydatność do rozwiązywania równań rekurencyjnych. Bardzo dobrym przykładem stosowanych technik jest wyprowadzenie wzoru na n-ty wyraz ciągu Fibonacciego.

Częstym zastosowaniem funkcji tworzących jest zliczanie pewnych obiektów kombinatorycznych. Klasyczną metodą jest ułożenie najpierw równania rekurencyjnego na zliczane obiekty, a potem rozwiązanie go z użyciem funkcji tworzących. Przykładem takiego rozumowania jest m.in. wyprowadzenie wzoru na liczby Catalana.

Funkcje tworzące stosuje się również do opisu szeregów funkcji, np. wielomianów Hermite’a.

Przykłady

Ciąg jedynek i ciąg liczb naturalnych

Funkcją tworzącą ciągu złożonego z samych jedynek

(1,1,1,)

jest funkcja

G(x)=n=0xn=11x.

Przykład ten jest ilustracją bardzo ważnego założenia w teorii funkcji tworzących, mianowicie – ze względu na to, że szeregi w funkcjach tworzących są tylko szeregami formalnymi, to aspekt zbieżności jest z tego punktu widzenia nieistotny. Powyższy szereg jest zbieżny tylko dla |x|<1.

Funkcją tworzącą ciągu kolejnych liczb naturalnych (1,2,3,) jest funkcja

G(x)=n=0(n+1)xn=1(1x)2.

Dzieje się tak, gdyż

n=0(n+1)xn=n=0ddxxn+1=ddxn=0xn+1=ddx(x1x)=1(1x)2.

Dwumian Newtona

Funkcją tworzącą dwumianu Newtona (nk) (ze względu na k, przy ustalonym n) jest

Gn(x)=(1+x)n.

Można rozważać funkcje tworzące od dwóch zmiennych. W szczególności potraktujmy powyższe wyrażenia jako ciąg, z którego chcemy uzyskać funkcję tworzącą

G(x,y)=n=0(1+x)nyn=11y(1+x).

Liczby Fibonacciego

Ciąg Fibonacciego określony jest wzorem rekurencyjnym

{F0=0F1=1Fn=Fn1+Fn2 dla n2.

Niech F(x) będzie funkcją tworzącą tego ciągu, wtedy[1]

F(x)=n=0Fnxn=F0x0+n=1Fnxn=n=1Fnxn.

Zauważmy, że

F(x)=n=1Fnxn=F1x1+n=2(Fn1+Fn2)xn.
teraz wyciągnijmy x w odpowiedniej potędze przed znak sumy i otrzymamy
F(x)=F1x+xn=2(Fn1xn1)+x2n=2(Fn2xn2),
a jak już zauważyliśmy n=0Fnxn=n=1Fnxn, stąd mamy
F(x)=F1x+xn=1(Fnxn)+x2n=0(Fnxn)=x+xF(x)+x2F(x).

Po przekształceniu otrzymamy[1]:

F(x)=x1xx2.

Wielomian 1xx2 ma dwa pierwiastki x1=512,x2=512. Funkcję F(x) można więc zapisać w następujący sposób:

F(x)=x(xx11)(xx21),

Przyjmując λ1=1x1,λ2=1x2 otrzymujemy po uprzednim rozkładzie na ułamki proste:

F(x)=x(1λ1x)(1λ2x)=15(11λ1x11λ2x)=15(n=0xnλ1nn=0xnλ2n)=n=0(15(λ1nλ2n))xn.

Stąd szukany n-ty wyraz można zapisać z pominięciem rekurencji:

Fn=15(λ1nλ2n)=15((1+52)n(152)n).

Operacje związane z funkcjami tworzącymi

αn=0anxn+βn=0bnxn=n=0(αan+βbn)xn
  • Przesunięcie:
xmn=0anxn=n=manmxn
  • Mnożenie przez liczbę:
cA(x)=n=0(can)xn,c
  • Mnożenie:
n=0anxnn=0bnxn=n=0cnxn, gdzie cn=k=0nakbnk
  • Różniczkowanie:
(A(x))=n=0nanxn1
  • Całkowanie:
0xA(t)dt=n=11nan1xn

Modyfikacje

Czasem okazuje się, że wygodniejsze do rozważania są pewne modyfikacje funkcji tworzących. Jedną z bardziej znanych są wykładnicze funkcje tworzące. Wykładniczą funkcję tworzącą dla ciągu liczb (g0,g1,g2,) definiuje się jako funkcję

G(x)=n=0gnxnn!.

Rozważane są także funkcje tworzące Dirichleta zdefiniowane dla powyższego ciągu jako

G(x)=n=1gnnx.

Przykładowo funkcją tworzącą Dirichleta dla ciągu (1,1,1,) jest znana funkcja dzeta Riemanna.

Funkcje tworzące znanych ciągów

n0[nm]xn=xm(1x)(12x)(1mx)
  • Funkcja tworząca ciągu liczb Stirlinga II rodzaju:
n0{nm}xn=x(x+1)(x+m1)=xm¯
n0Bnxnn!=xex1

Zobacz też

Przypisy

Szablon:Przypisy

Bibliografia

Linki zewnętrzne

Szablon:Kontrola autorytatywna