Bir güç serisinin katsayıları olarak bir sayı dizisi yazarsak, o güç serisine o dizinin (sıradan) üretici fonksiyonu (veya Gf) denir . Yani, eğer bazı fonksiyonlar F(x)
ve tamsayılar dizisi a(n)
için:
a(0) + a(1)x + a(2)x^2 + a(3)x^3 + a(4)x^4 + ... = F(x)
O F(x)
halde üreten işlevidir a
. Örneğin, geometrik seri bize şunu söyler:
1 + x + x^2 + x^3 + x^4 + ... = 1/(1-x)
Ait oluşturma işlevini Yani 1, 1, 1, ...
DİR 1/(1-x)
. Yukarıdaki denklemin her iki tarafını da ayırt edersek ve çarparsak x
, aşağıdaki eşitliği elde ederiz:
x + 2x^2 + 3x^3 + 4x^4 + ... = x/(1-x)^2
Ait oluşturma işlevini Yani 1, 2, 3, ...
DİR x/(1-x)^2
. Üreten işlevler çok güçlü bir araçtır ve bunlarla birçok yararlı şey yapabilirsiniz. Kısa bir giriş burada bulunabilir , ancak gerçekten kapsamlı bir açıklama için şaşırtıcı kitap üretme işlevi vardır.
Bu zorlukta rasyonel bir işlevi (tamsayı katsayıları olan iki polinomun bölümü), tamsayı katsayılarının iki dizisi olarak girdi olarak alırsınız ; önce pay sonra payda. Örneğin, işlev girişte f(x) = x / (1 - x - x^2)
olduğu gibi kodlanacaktır [0, 1], [1, -1, -1]
.
Bu giriş Verilen sonsuz katsayısı başlayan her satırda bir, üreten fonksiyonu eşittir Kuvvet dizisinin katsayılarını koyma zorunluluğu program x
daha sonra, x^2
vb
Örnekler:
[1], [1, -1] -> 1, 1, 1, 1, 1, 1, 1, ...
[1], [2, -2] -> 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, ...
[0, 1], [1, -2, 1] -> 1, 2, 3, 4, 5, 6, 7, 8, ...
[0, 1], [1, -1, -1] -> 1, 1, 2, 3, 5, 8, 13, 21, 34, ...
[1], [1, -2] -> 1, 2, 4, 8, 16, 32, 64, 128, ...
[0, 1, 1], [1, -3, 3, -1] -> 1, 4, 9, 16, 25, 36, ...