Schemat Hornera

Z Wikipedii, wolnej encyklopedii

Schemat Hornera – wspólna nazwa dwóch algorytmów:

  1. obliczania wartości dowolnego wielomianu o jednej zmiennej:
  2. dzielenia takiego wielomianu przez dwumian liniowy i moniczny, tj. postaci – znajdowania wielomianu i liczby w tożsamości[1]:

Schemat Hornera wykorzystuje minimalną liczbę mnożeń[potrzebny przypis]. Dzięki jego rekurencyjnej postaci łatwo go zaimplementować w językach programowania, które umożliwiają stosowanie funkcji rekurencyjnych.

Nazwa tego algorytmu upamiętnia Williama Hornera, który opisał go w 1819 roku[1]. Znali go już jednak matematycy chińscy w XIII wieku, a na początku XIX wieku także Paolo Ruffini[2]. Nazwa upamiętniająca Hornera upowszechniła się jeszcze w XIX wieku[3], do czego przyczynił się Augustus De Morgan[2].

Dla dzielenia wielomianu przez dwumian można stosować schemat Hornera, jeżeli najpierw podzieli się dwumian i wielomian przez 3. Nie dotyczy on jednak dzielenia przez dwumiany stopni wyższych niż jeden, np. przez Schemat Hornera obliczania wartości wielomianu uogólniono na wielomiany wielu zmiennych[4].

Obliczanie wartości[edytuj | edytuj kod]

Wstęp[edytuj | edytuj kod]

Jeśli dany jest wielomian to obliczając jego wartość dla zadanego bezpośrednio z podanego wzoru, należy wykonać:

Wielomian ten można jednak przekształcić, korzystając z rozdzielności mnożenia względem dodawania:

Sprawia to, że wystarczy jedynie mnożeń i dodawań[5].

Przykład[edytuj | edytuj kod]

Niech:

chcemy obliczyć wartość tego wielomianu dla

Zapisujemy:

podstawiamy

Warto dla porównania obliczyć tę wartość metodą „tradycyjną”, nie korzystając z kalkulatora.

Algorytm[edytuj | edytuj kod]

Dany wielomian

przekształcamy do postaci

Następnie definiujemy:

Tak otrzymane będzie równe [5]. Rzeczywiście, jeśli podstawimy kolejno do tego wielomianu, otrzymamy

Dzielenie wielomianu przez dwumian[edytuj | edytuj kod]

Schemat[edytuj | edytuj kod]

Schemat Hornera dzielenia wielomianu przez dwumian jest oparty na podobnej zasadzie. Zauważmy, że jeśli

to

gdzie jest wielomianem stopnia a jest liczbą, którą nazywa się resztą z dzielenia wielomianu przez dwumian. Jeśli napiszemy:

to po wymnożeniu i porównaniu współczynników obu stron mamy:

Przykład[edytuj | edytuj kod]

Podzielmy rozważany wcześniej wielomian przez dwumian Mamy tutaj Praktycznie jest przeprowadzać obliczenia w tabeli:

  • w jej pierwszym wierszu wypisuje się wszystkie – również zerowe – współczynniki wielomianu
  • w dolnym wierszu wpisuje kolejno wyniki obliczeń według reguły danej wyżej:
współczynniki

licznika

iloczyny
współczynniki

ilorazu

Elementy dolnego wiersza są współczynnikami wielomianu natomiast skrajny prawy element jest resztą z dzielenia:

Przy okazji można zauważyć, że jest to dowód wniosku z twierdzenia Bézouta o tym, że reszta r równa się

Inne zastosowania[edytuj | edytuj kod]

Rozkład względem potęg dwumianu[edytuj | edytuj kod]

Rozpatrzmy, co będzie, jeżeli wielomian będziemy dzielić wielokrotnie przez otrzymując za każdym razem pewien wielomian i resztę

Otrzymaliśmy więc rozkład wielomianu względem potęg dwumianu Taki rozkład można otrzymać, stosując schemat Hornera kolejno do i biorąc reszty jako współczynniki (im później jest otrzymana reszta, tym przy większej potędze jest ona współczynnikiem).

Obliczanie wartości znormalizowanych pochodnych w punkcie[edytuj | edytuj kod]

Dany wielomian

gdzie jest stopnia mniejszego niż Po -krotnym zróżniczkowaniu i podstawieniu

Z tego wynika, że jest -tą znormalizowaną pochodną wielomianu w punkcie

Współczynniki wielomianu i wartości w punkcie obliczamy dzieląc wielomian i kolejno otrzymywane ilorazy przez dwumian

dla

Algorytm Hornera dla obliczania początkowych elementów wymaga dodawań i mnożeń.

Uogólnienie na abstrakcyjny pierścień wielomianów[edytuj | edytuj kod]

Schematy podane wyżej można uogólnić na przypadek abstrakcyjnego pierścienia wielomianów[potrzebny przypis]. Niech będzie dowolnym ciałem, a będzie jego pierścieniem wielomianów. Jeśli

to współczynniki ilorazu

otrzymanego z dzielenia przez spełniają zależność:

dla reszta z tego dzielenia – równa – wynosi

Zobacz też[edytuj | edytuj kod]

Przypisy[edytuj | edytuj kod]

  1. a b schemat Hornera, [w:] Encyklopedia PWN [dostęp 2023-04-24].
  2. a b publikacja w otwartym dostępie – możesz ją przeczytać John J. O'Connor; Edmund F. Robertson: Schemat Hornera w MacTutor History of Mathematics archive (ang.) [dostęp 2024-05-22].
  3. publikacja w otwartym dostępie – możesz ją przeczytać Jeff Miller, Horner's method [w:] Earliest Known Uses of Some of the Words of Mathematics (H) (ang.), MacTutor History of Mathematics archive, University of St Andrews, mathshistory.st-andrews.ac.uk [dostęp 2024-05-22].
  4. publikacja w otwartym dostępie – możesz ją przeczytać Juna Manuel Peña, Thomas Sauer, On the multivariate Horner scheme (ang.), SIAM Journal on Numerical Analysis 37(4), czerwiec 1998, ResearchGate, researchgate.net [dostęp 2024-05-22].
  5. a b Fortuna, Macukow i Wąsowski 1993 ↓, s. 17.

Bibliografia[edytuj | edytuj kod]

Linki zewnętrzne[edytuj | edytuj kod]