Page 1 of 1

Hornerova schéma

Posted: Fri May 05, 2017 3:35 pm
by Martin Sleziak
Keďže na cviku niekto z vás spomenul Hornerovu schému, tak k nej napíšem pár slov aj sem.

Môžete ju nájsť na rôznych miestach - napríklad aj v knihe Algebra a teoretická aritmetika alebo v poznámkach k predmetu Algebra 2 pre odbor informatika či pre odbor matematika. (V oboch nájdete aj nejaké prepočítané príklady.)

Je to pomôcka ako zistiť, či nejaké číslo je koreňom zadaného polynómu resp. zistiť hodnotu polynómu v danom bode. A ak je jeho koreňom, tak súčasne nájdeme aj podiel po vydelení koreňovým činiteľom.

Samozrejme, obe veci vieme rátať aj bez tejto metódy - ide len o spôsob zápisu (ktorý je pomerne prehľadný).

Sem napíšem len príklad a ako sa to ráta. Prečo to funguje si môžete skúsiť rozmyslieť sami.

Príklad 1. Vyskúšajme polynóm $f(x)=x^3-9x^2+24x-16$.

Ukážeme si, ako zistiť, či $2$ je koreň a nájsť hodnotu v bode $x=2$.

Napíšeme si do tabuľky, číslo $2$ a aj koeficienty daného polynómu.
$$
\begin{array}{c|cccc|}
& 1 & -9 &24 & -16 \\
2 & & & & \\ \hline
& & & &
\end{array}
$$
Postupne budeme zľava doprava opakovať tieto kroky:
1. Do tretieho riadku zapíšeme súčet čísel v stĺpci.
2. Do druhého riadku ďalšieho stĺpca zapíšeme súčin tohoto výsledku a hodnoty, ktorú dosadzujeme (v našom prípade $2$).

T.j. v prvom kroku vlastne sčitujeme iba jednotku z prvého riadku:
$$
\begin{array}{c|cccc|}
& 1 & -9 &24 & -16 \\
2 & & & & \\ \hline
& 1 & & &
\end{array}
$$
Do ďalšieho stĺpca nám pribudne $1\cdot2=2$:
$$
\begin{array}{c|cccc|}
& 1 & -9 &24 & -16 \\
2 & & 2 & & \\ \hline
& 1 & & &
\end{array}
$$
Teraz ako súčet v treťom riadku dostaneme $-9+2=-7$.
$$
\begin{array}{c|cccc|}
& 1 &-9 &24 & -16 \\
2 & & 2 & & \\ \hline
& 1 &-7 & &
\end{array}
$$
A tieto kroky opakujeme. Nakoniec celú tabuľku vyplníme takto:
$$
\begin{array}{c|cccc|}
& 1 &-9 & 24 & -16 \\
2 & & 2 &-14 & 20 \\ \hline
& 1 &-7 & 10 & \boxed{4}
\end{array}
$$

To čo sme takýmto spôsobom vypočítali je, že $f(2)=4$. (Teda číslo $2$ nie je koreňom.)
Dostaneme však o niečo viac. Z posledného riadku tabuľky vieme vyčítať, že
$$f(x)=(x^2-7x+10)(x-2)+4.$$
T.j. čísla v poslednom riadku tabuľky nám určujú podiel a zvyšok pri delení polynómu $f(x)$ polynómom $x-2$.

Skúsime zopakovať ten istý postup, len teraz budeme do polynómu dosadzovať číslo $4$.
$$
\begin{array}{c|cccc|}
& 1 &-9 & 24 & -16 \\
4 & & 4 &-20 & 16 \\ \hline
& 1 &-5 & 4 & \boxed{0}
\end{array}
$$
Zistili sme, že číslo $4$ je koreňom a $f(x)=(x-4)(x^2-5x+4)$.

Pretože polynóm $x^2-5x+4$ je kvadratický, jeho korene už vieme nájsť, sú to čísla $1$ a $4$. Dostaneme, že $f(x)=(x-1)(x-4)^2$.

Príklad 2. Vyskúšajme aspoň pre zmenu jeden polynóm, ktorý má aj neceločíselné korene.
$f(x)=6x^4+5x^3-16x^2-10x+8$.
Skúsme, čo sa stane, ak dosadíme $x=\frac12$

$$
\begin{array}{c|ccccc|}
& 6 & 5 &-16 &-10 & 8 \\
\frac12 & & 3 & 4 & -6 &-8 \\ \hline
& 6 & 8 &-12 &-16 & \boxed{0}
\end{array}
$$
Zistili sme, že $\frac12$ je koreň a tiež, že $f(x)=(x-\frac12)(6x^3+8x^2-12x-16)=2(x-\frac12)(3x^3+4x^2-6x-8)$.

Aby sme našli všetky korene $f(x)$, stačí sa už teraz pozerať na polynóm $3x^3+4x^2-6x-4$ nižšieho stupňa. Skúsme sa pozrieť, čo sa stane, ak do neho dosadíme do tohoto polynómu $x=-\frac43$.
$$
\begin{array}{c|cccc|}
& 3 & 4 &-6 &-8 \\
-\frac43 & &-4 & 0 & 8 \\ \hline
& 3 & 0 &-6 & \boxed{0}
\end{array}
$$
Dostávame, že $3x^3+4x^2-6x-8=(x+\frac43)(3x^2-6)=3(x+\frac43)(x^2-2)$.
Korene kvadratického polynómu $x^2-2$ už vieme nájsť a tak vieme $f(x)$ úplne rozložiť na koreňové činitele
$f(x)=6(x-\frac12)(x+\frac43)(x-\sqrt2)(x+\sqrt2)$
alebo tiež ako
$f(x)=(2x-1)(3x+4)(x-\sqrt2)(x+\sqrt2)$.

Našli sme teda všetky korene $f(x)$. Nevýhodou je, že sme museli uhádnuť, aké čísla dosadzovať. (Hoci v tomto konkrétnom prípade asi to, že z $3x^3+4x^2-6x-8$ sa dá vyňať $x^2-2$ nie ja až také ťažké zbadať - a ak si všimneme toto, tak už vieme nájsť všetky korene.)
Niečo o tom, že ak chceme nájsť iba racionálne korene polynómu, ktorého koeficienty sú celé čísla, tak vlastne nemusíme hádať ale stačí vyberať iba z konečného počtu možností nájdete tu: viewtopic.php?t=1091