12.07.2015 Views

Algorytmy transformacji wielomianowych i ich zastosowania

Algorytmy transformacji wielomianowych i ich zastosowania

Algorytmy transformacji wielomianowych i ich zastosowania

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!