You are on page 1of 14

Hornerova shema

Polinomi su najjednostavnije algebarske funkcije.


Moemo ih definirati nad bilo kojim prstenom R u
obliku:
n

pn ( x) ai x i
i 0

n N0

gdje su ai R koeficijenti iz tog prstena, a x je


simbolika varijabla. Polinomi, kao simboliki objekti,
imaju algebarsku strukturu prstena
Meutim, polinome moemo interpretirati i kao funkcije,
koje moemo izvrednjavati u svim tokama x0 prstena
R, uvrtavanjem x0 umjesto simbolike varijable x.
Dobiveni rezultat p(x0) je opet u R
2

Sloenost oito ovisi o broju lanova u sumi.


Da broj lanova ne bi bio umjetno prevelik,
standardno uzimamo da je p 0 i da je
vodei koeficijent an 0 , tako da je n stupanj
tog polinoma p. Kada elimo naglasiti stupanj,
polinom oznaavamo s pn

Polinom se obino zadaje stupnjem n i


koeficijentima a0 ,..., an u nekoj bazi vektorskog
prostora polinoma stupnja ne veeg od n. Na
poetku razmatranja koristimo standardnu
bazu 1, x , x2,..., xn
3

Raunanje vrijednosti polinoma u


toki
Zadan je polinom stupnja n
n

pn ( x) ai x i
i 0

an 0

kojemu treba izraunati vrijednost u toki x0. To se moe


napraviti na vie naina. Prvo, napravimo to direktno po
zapisu, potencirajui. Krenemo li od nulte potencije x0 =
1, svaka sljedea potencija dobiva se rekurzivno
xk = x xk-1
Imamo li zapamen xk-1, lako je izraunati xk koritenjem
samo jednog mnoenja
4

Vrijednost polinoma s pamenjem


potencija (algoritam)
sum := a0;
pot := 1;
for i:= 1 to n do
begin
pot := pot x0;
sum := sum + ai pot;
end;
{ Na kraju je pn(x0)= sum. }

Prebrojimo zbrajanja i mnoenja koja se javljaju


u ovom algoritmu. U unutarnjoj petlji javljaju se 2
mnoenja i 1 zbrajanje. Budui da se petlja
izvrava n puta, ukupno imamo 2n mnoenja + n
zbrajanja
5

Hornerova shema (algoritam)


Izvrednjavanje polinoma u toki moe se izvesti i s
manje mnoenja ako polinom zapiemo u obliku
pn(x)=(((anx+ an-1)x+ an-2)x+ + a1)x+ a0
Algoritam koji po prethodnoj relaciji izvrednjava polinom
zove se Hornerova shema. Predloio ga je W. G.
Horner, 1819. godine, ali slian zapis je koristio i Isaac
Newton, jo 1669. godine
sum := an;
for i := n 1 down to 0 do
sum := sum x0 + ai;
{ Na kraju je pn(x0)= sum. }
Odmah je oito da smo koritenjem ovog algoritma broj
mnoenja prepolovili, tj. da je njegova sloenost
n
mnoenja + n zbrajanja

Dijeljenje polinoma linearnim


faktorom oblika x - x0
Do sada smo vidjeli kako se pomou algoritama
prikazuje Hornerova shema, a kako se praktino
zapisuje kad se radi na ruke?
Napravi se tablica na sljedei nain. U gornjem
redu se popiu svi koeficijenti polinoma pn redom
od an do a0. Donji red se izraunava koritenjem
gornjeg reda i broja x0. Oznaimo elemente
donjeg reda, gledajui slijeva nadesno, s x0, cn-1,
cn-2,..., c0, r0, tako da se cn-1 nalazi ispod an
an
x0

an-1

....

a1

a0

cn-1 cn-2

....

c0

r0

Elementi donjeg reda se raunaju s lijeva na


desno, kako slijedi
cn-1 = an,
ci-1 := ci x0 + ai-1, i= n,...,1
(1)
Dakle, vodei koeficijent an se prepie, a svi
ostali se raunaju tako da se posljednji
izraunati koeficijent ci pomnoi s x0, a zatim
mu se doda koeficijent ai-1 koji se nalazi iznad.
Na kraju, ispod koeficijenta a0 se dobije r0, tj.
vrijednost polinoma u toki x0
Pokaimo kako to funkcionira na konkretnom
primjeru
8

Izraunajmo vrijednost polinoma


p5(x) = 2x5 x3 + 4x2 + 1
U toki x0 = 1. Formirajmo tablicu:

2 0 -1 4 0 1
-1 2 -2 1 3 -3 4
Dakle, p5(1) = 4.
Pogledajmo znaenje koeficijenata ci koji se javljaju u
donjem redu tablice. Promatrajmo polinom koji
dobijemo dijeljenjem polinoma pn s polinomom stupnja
1 oblika x x0. Nazovimo kvocijent ta dva polinoma s
qn-1 (to je ponovno polinom, ali sada stupnja n1), a
ostatak (broj, jer mora biti stupnja manjeg od polinoma
kojim dijelimo) s r0
9

Tada vrijedi:
pn(x) = (xx0) qn-1(x) + r0
(2)
Uvrtavanje x = x0 u (2) pokazuje da za ostatak vrijedi
r0 = pn (x0). Znamo da je qn-1 polinom stupnja n1, a
njegove koeficijente oznaimo s bi, 1 i n (to je
pomak indeksa za jedan u odnosu na dosad koritenu
notaciju),
n 1

qn 1 ( x) bi 1 x i
i 1

(3)

Dodatno, oznaimo, b0 = r0
Uvrstimo li (3) u (2) i sredimo koeficijente uz
odgovarajue potencije, dobivamo
pn(x)= bnxn+(bn-1x0bn)xn1+...+(b1x0b2)x+b0x0b1
10

Za vodei koeficijent bn, odmah zakljuujemo


bn=an, a za ai uz potenciju xi , i<n je
ai = bi x0 bi+1, i= n1,...,0
Zadnja relacija i veza bn=an pokazuju da bi
moemo izraunati iz bi+1 rekurzijom
bi = ai + x0 bi+1
Primijetimo da je to relacija istog oblika kao (1),
samo s pomaknutim indeksima, a kako je
inicijalno i bn = cn-1, zakljuujemo da vrijedi
bi = ci-1, i=1,...,n
Dakle, koeficijenti koje dobijemo u Hornerovoj
shemi su ba koeficijenti polinoma-kvocijenta i
ostatka pri dijeljenju polinoma pn linearnim
11
faktorom x x0

Hornerova shema za traenje


vrijednosti derivacija u nekoj toki
Takozvana Potpuna Hornerova shema
to se dogaa ako postupak dijeljenja polinoma
linearnim faktorom nastavimo, tj. ponovimo vie puta?
Vrijedi:
pn(x) =(xx0)qn1(x)+r0
=(xx0)[(xx0)qn2(x)+r1]+r0
=(xx0)2 qn2 (x)+r1(xx0)+r0
=
= rn(xx0)n+...+r1(xx0)+r0.
Dakle, polinom pn napisan je razvijeno po potencijama
od (xx0). Koja su znaenja ri?
12

Usporedimo dobiveni oblik s Taylorovim


polinomom oko x0
n

pn ( x )
i 0

pn( i ) ( x0 )
( x x0 ) i
i!

pa zakljuujemo da vrijedi:
pn( i ) ( x0 )
ri
i!

0in

Potpuna Hornerova shema rauna sve


derivacije polinoma u zadanoj toki podijeljene
pripadnim faktorijelima
13

Primjer - Nadimo sve derivacije polinoma


p5(x)=2x5x3+4x2+1 u toki 1.
Formirajmo potpunu
Hornerovu tablicu
2

-1

-1 2

-2

-3

-1 2

-4

-2 -1

-1 2

-6

11 -13

-1 2

-8

19

-1 2 -10
-1 2

Odatle lako itamo


1
P5(-1)=4,
4
P5(1)(-1)=11!=1,
P5(2)(-1)= 132!=26,
P5(3)(-1)=193!=114,
P5(4)(-1)=104!=240,
P5(5)(-1)=25!= 240

Algoritam koji nalazi koeficijente ri, odnosno


koeficijente Taylorovog razvoja zadanog
polinoma oko toke x0, moe se napisati
14
koristei samo jedno polje

You might also like