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.
Nowe algorytmy ewaluacji i interpolacji jednowymiarowejTwierdzenie 4.1 (Smarzewski i Kapusta, 2007). Jeżeli L: K n → K n oznaczatransformację Lagrange’a-Newtona dla parami różnych węzłów (x i ) n−1i=0generowanychwzorem x i = αx i−1 + β (i = 1, 2, . . . , n − 1, α ≠ 0, x 0 = γ), to prawdziwy jestwzórL(y) = (p ⊗ q) /r, (4.9)gdzie elementy wektorów p, q, r ∈ K n są zdefiniowane wzorami (4.8).Uwaga 4.2. We wzorach (4.8), a także wszędzie poniżej przyjmuje się, że iloczyny,w których indeksy górne są mniejsze niż indeksy dolne, są z definicji równe 1.Poniższy algorytm prezentuje szczegóły szybkiego obliczania <strong>transformacji</strong> Lagrange’a-Newtonaułatwiające jego implementację i oszacowanie złożoności obliczeniowej.Algorytm 4.3. Transformacja Lagrange’a-Newtona dla parami różnych węzłówx 0 , x 1 , . . . x n−1 , generowanych wzorem x i = αx i−1 + β, i = 1, 2, . . . , n − 1, x 0 = γ.Input: Wektor y = (y 0 , y 1 , . . . , y n−1 ) ∈ K n , skalary α ≠ 0, β i γ ∈ K.Output: c = L(y) ∈ K n .1. Przypisz p 0 = y 0 , r 0 = 1, δ = (α − 1) · γ + β, s = 0, u = 1, v = 1/α i z = 1.2. Dla k od 1 do n − 1 wykonaj:2.1. s = s · α + 1, u = u · s, p k = y k /u,2.2. v = v · α, z = −z · v, q k = z/u,2.3. r k = r k−1 · v · δ.3. Oblicz c = p ⊗ q.4. Wykonaj dzielenie po współrzędnych c = c/r.Obliczenie wektorów p, q i r, występujących we wzorze (4.9), może być wykonanew jednej pętli i ma złożoność obliczeniową O(n) operacji bazowych K, co zostało25