Algorytmy transformacji wielomianowych i ich zastosowania
Algorytmy transformacji wielomianowych i ich zastosowania
Algorytmy transformacji wielomianowych i ich zastosowania
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
PreliminariaAlgorytm 3.1. Dekonwolucja metodą Newtona.Input: Liczba całkowita n oraz wektory c = (c i ) n−1i=0 i b = (b i) n−1i=0 , gdzie b 0 ≠ 0.Output: Wektor a = c ⊗ b −1 ∈ K n .1. Oblicz d = ( 1b 0, − b 1b 20, 0, . . . , 0 ) .2. Dla k od 2 do ⌈log 2 n⌉:2.1. Oblicz d = 2d − d ⊗ d ⊗ b (wynik obliczeń - 2 k elementów).3. Oblicz a = c ⊗ d.Można wykazać, że w przypadku obliczania splotuc = (c 0 , c 1 , . . . , c n−1 ) = a ⊗ n balgorytmem rzędu O (n log n) złożoność obliczeniowa powyższego algorytmu wynosiO(n log n). W tym celu wystarczy przeanalizować zastosowaną metodę Newtonanieco dokładniej. Niechx i+1 = 2x i − x 2 i y, i = 0, 1, . . .będzie wzorem iteracyjnym Newtona dla funkcji f (x) = x −1 − y (x ≠ 0) . Ponadto,zakładając, że współczynnikid 0 , d 1 , . . . , d 2 i −1, i 1,wielomianu odwrotnego(b0 + b 1 x + . . . + b n−1 x n−1) −1= d0 + d 1 x + . . . + d 2 i −1x 2i−1 + O(x 2i )zostały już obliczone i d k = 0 dla każdego k 2 i . Wtedy pojedyncza iteracja metodyNewtonad = 2 · d − d ⊗ 2 i+1 d ⊗ 2 i+1 bpodwaja liczbę obliczonych współczynników d k (k = 0, 1, . . . , 2 i+1 − 1) wektora dekonwolucji.W konsekwencji wzór iteracyjny Newtonad = 2 · d − d ⊗ 2 i d ⊗ 2 i b, i = 2, 3, . . . , ⌈log 2 n⌉18