Hornera algoritmo: Malsamoj inter versioj

Enhavo forigita Enhavo aldonita
Grasyop (diskuto | kontribuoj)
Elfrancigita el la nuntempa artikolo fr:Méthode_de_Horner.
(Neniu diferenco)

Kiel registrite je 08:09, 25 mar. 2007

Hornera algoritmo estas matematika metodo uzata en cifereca analitiko, precize en polinoma kalkulo, aŭ por efike komputi la valoron de polinoma funkcio en iu punkto, aŭ por kalkuli kvocienton de polinomo per monomo .

Komputado de la valoron de polinoma funkcio en iu punkto

Estu   polinomo super komuta ringo   kaj estu   iu elemento de  .

Por komputi   eblas pensi, ke necesas unue komputi ciujn potencojn de  , multipliki poste tiujn per siaj koeficientoj  , kaj fine sumi la tial akiratajn kvantojn. Se oni ankaŭ komputas   multiplikante   per si mem   fojoj, tiam la komputado de   necesas   multiplikadojn. Tiu kvanto kreskas kvadrate de la grado   de la polinomo. Rapida potencado ebligas pliefikigi la komputadon de   kaj do de   : la kvanto de necesaj multiplikadoj tiam kreskas kiel  . Sed tiu ankoraŭ ne estas tiel rapida ol la Hornera metodo.

Por komputi   kun la Hornera metodo, unue skribu :

 

Tiam sufiĉas komputi sekvante la ordon de la parentezoj. Tiu metodo necesas sole   multiplikadojn. La komputtempo estas tiumaniere proksimume proporcia al grado de la polinomo (adicii estas multe pli rapida ol multipliki).

Komputado de la kvocienton de polinomo per monomo

Ni serĉu la kvocienton   de la polinomo   en sia eŭklida divido per  . Ni havas :  

Se oni nun skribas   kaj identigas la samgradajn koeficientojn el la du membroj, tiam aperas ke :

 
  je ĉiuj k kiel 0 < k < n

La valoro de P(a) estas ne alia ol λ0 + aq0.

La n valoroj el la vico q tie komputataj precize estas la n sinsekvaj kvantoj komputitaj al la antaŭa paragrafo dum la komputado de P(a). Tial sufiĉas memori tiuj sinsekvajn valorojn por povi skribi la kvocientan polinomon. La lasta valoro estas la resto.

Tabela ilustraĵo

Tabela prezentado de la Hornera metodo aperigas lia simplecon : ĉiu koeficiento de Q akiriĝas multiplikante la koeficienton de la liva fako per a kaj adiciante al tiu produto la koeficienton de la supera fako.

Koeficientoj de P λn λn - 1 λn - 2 ... λ1 λ0
Koeficientoj de Q qn - 1 =
λn
qn - 2 =
aqn - 1 + λn - 1
qn - 3 =
aqn - 2 + λn - 2
... q0 =
aq1 + λ1
r =
aq0 + λ0

Cifereca ekzemplo : divido de   per  

Koeficientoj de P 4 − 7 3 − 5
Koeficientoj de Q 4 8 − 7 = 1 2 + 3 = 5 r = 10 − 5 = 5

Tio havigas :  .