Schemat Hornera
Schemat Hornera – wspólna nazwa dwóch algorytmów:
- obliczania wartości dowolnego wielomianu o jednej zmiennej:
- 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
edytujWstęp
edytujJeś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
edytujObliczanie wartości wielomianu opisanego wzorem [6]:
Obliczenia te można też zapisać w tabeli, ograniczając powtórzenia współczynników wielomianu, jego argumentu, nawiasów, znaków działań i równości[6]:
współczynniki
wielomianu |
4 | −5 | 7 | −20 |
---|---|---|---|---|
iloczyny | 2×4 = 8 | 2×3 = 6 | 2×13 = 26 | |
sumy | −5+8 = 3 | 7+6 = 13 | −20 + 26 = 6 |
Algorytm
edytujDany 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
edytujSchemat
edytujDowolny wielomian można podzielić z resztą przez dwumian . Innymi słowy, jeśli:
to istnieją wielomian stopnia i liczba takie, że:
Po wymnożeniu i porównaniu współczynników obu stron mamy[7]:
Przykład
edytujNiech . Dzielenie tego wielomianu przez dwumian można zapisać w tabeli:
- pierwszy wiersz zawiera wszystkie – również zerowe – współczynniki wielomianu
- dolny wiersz zawiera wyniki obliczeń według reguły danej wyżej:
współczynniki
licznika |
5 | −7 | 3 | −3 |
---|---|---|---|---|
iloczyny | 10 | 6 | 18 | |
współczynniki
ilorazu |
5 | 3 | 9 | 15 |
Prawie wszystkie elementy dolnego wiersza – oprócz ostatniego – to współczynniki wielomianu a ostatni element, czyli skrajnie prawy, to reszta z dzielenia[8]:
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
edytujRozkład względem potęg dwumianu
edytujRozpatrzmy, 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
edytujDany 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
edytujSchematy 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ż
edytujPrzypisy
edytuj- ↑ a b schemat Hornera, [w:] Encyklopedia PWN [online], Wydawnictwo Naukowe PWN [dostęp 2023-04-24] .
- ↑ a b John J. O’Connor; Edmund F. Robertson: Schemat Hornera w MacTutor History of Mathematics archive (ang.) [dostęp 2024-05-22].
- ↑ 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].
- ↑ 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].
- ↑ a b Fortuna, Macukow i Wąsowski 1993 ↓, s. 17.
- ↑ a b Nowa Era 2022 ↓, s. 110.
- ↑ Michał Niedźwiedź, Schemat Hornera, Zintegrowana Platforma Edukacyjna, zpe.gov.pl [dostęp 2024-05-22].
- ↑ Nowa Era 2022 ↓, s. 111.
Bibliografia
edytuj- Zenon Fortuna , Bohdan Macukow , Janusz Wąsowski , Metody numeryczne, Warszawa: Wydawnictwa Naukowo-Techniczne, 1993, ISBN 83-204-1551-9 .
- Wojciech Babiański, Lech Chańko, Joanna Czarnowska, Grzegorz Janocha, Dorota Ponczek, Jolanta Wesołowska: Matematyka 2. Podręcznik dla liceum ogólnokształcącego i liceum. Warszawa: Nowa Era, 2022. ISBN 978-83-267-3900-2.
Linki zewnętrzne
edytuj- Krzysztof Kwiecień, nagrania kanału Khan Academy na YouTube [dostęp 2024-05-21]:
- Wprowadzenie do dzielenia wielomianów za pomocą schematu Hornera, 14 sierpnia 2018.
- Dzielenie wielomianów: Schemat Hornera, 15 sierpnia 2018.
- Dlaczego schemat Hornera działa?, 18 sierpnia 2018.
- Horner scheme (ang.), Encyclopedia of Mathematics, encyclopediaofmath.org [dostęp 2024-05-17].
- Scott Congreve, Horner’s Scheme (ang.), Uniwersytet Karola w Pradze, mff.cuni.cz [dostęp 2024-05-22] – krótki wykład z ćwiczeniami.