Hornerio daugianariai. Naujos medžiagos mokymasis

3 skaidrė

Horner Williams George (1786-1837 9 22) – anglų matematikas. Gimė Bristolyje. Ten mokėsi ir dirbo, vėliau – Bato mokyklose. Pagrindiniai algebros darbai. 1819 metais paskelbė apytikslį daugianario realių šaknų apskaičiavimo metodą, kuris dabar vadinamas Ruffini-Horner metodu (šis metodas buvo žinomas kinams dar XIII a. Dauginamo dalijimosi iš binomo x-a schema). po Hornerio.

4 skaidrė

HORNER SCHEMA

N-ojo laipsnio daugianario padalijimo iš tiesinio dvinario - a metodas, pagrįstas tuo, kad nepilno dalinio ir liekanos koeficientai yra susieti su dalijamo daugianario koeficientais ir formulėmis:

5 skaidrė

Skaičiavimai pagal Hornerio schemą pateikiami lentelėje:

Pavyzdys 1. Padalinimas Dalinis koeficientas yra x3-x2+3x - 13, o likusioji dalis yra 42=f(-3).

6 skaidrė

Pagrindinis šio metodo privalumas yra žymėjimo kompaktiškumas ir galimybė greitai padalinti daugianarį į dvinarį. Tiesą sakant, Hornerio schema yra dar viena grupavimo metodo įrašymo forma, nors, skirtingai nei pastarasis, ji yra visiškai nevaizdi. Atsakymas (faktorizavimas) čia gaunamas savaime, o jo gavimo proceso nematome. Mes nesiimsime į griežtą Hornerio schemos pagrindimą, o tik parodysime, kaip ji veikia.

7 skaidrė

2 pavyzdys.

Įrodykime, kad daugianomas P(x)=x4-6x3+7x-392 dalijasi iš x-7, ir raskime dalybos koeficientą. Sprendimas. Naudodami Hornerio schemą randame P(7): Iš čia gauname P(7)=0, t.y. dalijant polinomą iš x-7, likusi dalis yra lygi nuliui, todėl polinomas P(x) yra (x-7) kartotinis. Be to, antroje lentelės eilutėje esantys skaičiai yra koeficientai P(x) dalinys, padalytas iš (x-7), todėl P(x)=(x-7)(x3+x2+7x+56).

8 skaidrė

Padalinkite daugianario koeficientą x3 – 5x2 – 2x + 16.

Šis daugianomas turi sveikųjų skaičių koeficientus. Jei sveikasis skaičius yra šio daugianario šaknis, tai jis yra skaičiaus 16 daliklis. Taigi, jei duotasis daugianomas turi sveikųjų skaičių šaknis, tai gali būti tik skaičiai ±1; ±2; ±4; ±8; ±16. Tiesioginiu patikrinimu įsitikiname, kad skaičius 2 yra šio daugianario šaknis, tai yra x3 – 5x2 – 2x + 16 = (x – 2)Q(x), kur Q(x) yra antrojo laipsnio daugianario

9 skaidrė

Gauti skaičiai 1, −3, −8 yra daugianario koeficientai, gaunami pradinį daugianarį padalijus iš x – 2. Tai reiškia, kad padalijimo rezultatas yra: 1 x2 + (–3)x + ( –8) = x2 – 3x – 8. Dauginamo laipsnis, gautas padalijus, visada yra 1 mažesnis už pradinio laipsnį. Taigi: x3 – 5x2 – 2x + 16 = (x – 2) (x2 – 3x – 8).


Horneris Williamas George'as () anglų matematikas. Pagrindinis tyrimas yra susijęs su algebrinių lygčių teorija. Sukūrė bet kokio laipsnio lygčių apytikslio sprendimo metodą. 1819 m. jis pristatė svarbų algebrai skirtą daugianario padalijimo į dvinarį metodą (x – a) (Hornerio schema).


Hornerio schemos formulių išvedimas Polinomo f(x) dalijimas su likusia dalimi iš dvinario (x-c) reiškia, kad reikia rasti daugianarį q(x) ir skaičių r, kad f(x)=(x-c)q(x)+ r Išsamiai parašykite šią lygybę: f 0 x n + f 1 x n-1 + f 2 x n-2 + …+f n-1 x + f n = =(x-c) (q 0 x n-1 + q 1 x n-2 + q 2 x n-3 +…+ q n-2 x + q n-1)+r Sulyginkime koeficientus esant vienodiems laipsniams: x n: f 0 = q 0 => q 0 = f 0 x n-1: f 1 = q 1 - c q 0 => q 1 = f 1 + c q 0 x n-2: f 2 = q 2 - c q 1 => q 2 = f 2 + c q 1 … X 0: f n = q n - c q n-1 => q n = f n + c q n-1 q 0 = f 0 x n-1: f 1 = q 1 - c q 0 => q 1 = f 1 + c q 0 x n-2: f 2 = q 2 - c q 1 => q 2 = f 2 + c q 1 … X 0: f n = q n - c q n-1 => q n = f n + c q n-1">


Demo ant (x-c), tada antroje eilutėje iš kairės rašome su Paruoškite tuščius langelius likusiai r daliai ir nepilno dalinio koeficientus q 0, q 1,q 2 q0q0 q1q1 q2q2 r g 0:=f 0 =1 1 g 1:= c *g 0 + f 1 * + =2 * 1 + (-5) = -3 g 2: = s *g 1 + f 2 =2 * (-3) + 0 = -6 * + r:= s *g 2 + f 3 =2 * (-6) + 8= * + -4 Atsakymas: g(x)=x 2 -3x-6 ; r = -4. f(x)= (x-2)(x 2 -3x-6)-4


Polinomo išplėtimas dvinalio laipsniais Naudodami Hornerio schemą, išplečiame daugianario f(x)=x 3 +3x 2 -2x+4 dvinalio laipsniais (x+2) f(x)=x 3 +3x 2-2x+4 =(x +2)(x 2 +x-4) f(x)=x 3 +3x 2 -2x+4= (x+2)((x-1)(x+2) -2) f(x)= x3 +3x2 -2x+4= (((1*(x+2)-3)(x+2)-2)(x+2)) f(x) = x 3 +3x 2 -2x+ 4 = (x+2)(x 2 +x-4)+12 = (x+2)((x-1)(x+2)-2)+12 = = (( (1*(x+2)-3)(x+2)-2)(x+2))+12 = (x+2)3-3(x+2)2-2(x+2)+ 12


Namų darbas 1. Padalinkite f(x)=2x 5 -x 4 -3x 3 +x-3 iš x-3; 2. Naudodami Hornerio schemą raskite daugianario f(x)=x 4 -2x 3 +2x 2 -x-6 sveikąsias šaknis (*Pastaba: tarp daliklių reikia ieškoti sveikųjų daugianario šaknų su sveikaisiais skaičiais laisvojo termino ±1;±2;± 3;±6)



Hornerio schema – daugianario dalybos metodas

$$P_n(x)=\sum\limits_(i=0)^(n)a_(i)x^(n-i)=a_(0)x^(n)+a_(1)x^(n-1) )+a_(2)x^(n-2)+\ltaškai+a_(n-1)x+a_n$$

ant dvejetainio $x-a$. Turėsite dirbti su lentele, kurios pirmoje eilutėje yra nurodyto daugianario koeficientai. Pirmasis antrosios eilutės elementas bus skaičius $a$, paimtas iš dvejetainio $x-a$:

N-ojo laipsnio daugianarį padalijus iš dvinario $x-a$, gauname daugianarį, kurio laipsnis vienu mažesnis už pradinį, t.y. lygus $n-1$. Tiesioginį Hornerio schemos taikymą lengviausia parodyti pavyzdžiais.

1 pavyzdys

Padalinkite $5x^4+5x^3+x^2-11$ iš $x-1$ naudodami Hornerio schemą.

Padarykime dviejų eilučių lentelę: pirmoje eilutėje užrašome daugianario $5x^4+5x^3+x^2-11$ koeficientus, išdėstytus kintamojo $x$ laipsnių mažėjimo tvarka. Atkreipkite dėmesį, kad šiame daugianario nėra $x$ iki pirmojo laipsnio, t.y. $x$ koeficientas iki pirmosios laipsnio yra 0. Kadangi dalijame iš $x-1$, antroje eilutėje rašome vieną:

Pradėkime užpildyti tuščius langelius antroje eilutėje. Antroje antrosios eilutės langelyje įrašome skaičių $5$, tiesiog perkeldami jį iš atitinkamo pirmosios eilutės langelio:

Kitą langelį užpildykime tokiu principu: $1\cdot 5+5=10$:

Taip pat užpildykime ketvirtą antros eilutės langelį: $1\cdot 10+1=11$:

Už penktą langelį gauname: $1\cdot 11+0=11$:

Ir galiausiai, paskutiniame, šeštajame langelyje, turime: $1\cdot 11+(-11)=0$:

Problema išspręsta, belieka užsirašyti atsakymą:

Kaip matote, antroje eilutėje esantys skaičiai (tarp vieno ir nulio) yra daugianario koeficientai, gauti padalijus $5x^4+5x^3+x^2-11$ iš $x-1$. Natūralu, kad pradinio daugianario $5x^4+5x^3+x^2-11$ laipsnis buvo lygus keturiems, tai gauto daugianario $5x^3+10x^2+11x+11$ laipsnis yra vienu mažiau, t.y. lygus trims. Paskutinis skaičius antroje eilutėje (nulis) reiškia likutį dalijant daugianarį $5x^4+5x^3+x^2-11$ iš $x-1$. Mūsų atveju liekana lygi nuliui, t.y. daugianariai dalijasi tolygiai. Šį rezultatą taip pat galima apibūdinti taip: daugianario $5x^4+5x^3+x^2-11$ reikšmė $x=1$ yra lygi nuliui.

Išvadą galima suformuluoti ir tokia forma: kadangi daugianario $5x^4+5x^3+x^2-11$ reikšmė ties $x=1$ yra lygi nuliui, tai vienybė yra daugianario šaknis. 5x^4+5x^3+ x^2-11$.

2 pavyzdys

Padalinkite daugianarį $x^4+3x^3+4x^2-5x-47$ iš $x+3$, naudodami Hornerio schemą.

Iš karto nustatykime, kad išraiška $x+3$ turi būti pavaizduota forma $x-(-3)$. Hornerio schema apims lygiai -3 USD. Kadangi pradinio daugianario $x^4+3x^3+4x^2-5x-47$ laipsnis yra lygus keturiems, tai dalybos rezultate gauname trečiojo laipsnio daugianarį:

Rezultatas reiškia

$x^4+3x^3+4x^2-5x-47=(x+3)(x^3+0\cdot x^2 +4x-17)+4=(x+3)(x^ 3+4x-17)+4$

Esant tokiai situacijai, likusi dalis padalijus $x^4+3x^3+4x^2-5x-47$ iš $x+3$ yra $4$. Arba, kas yra tas pats, daugianario $x^4+3x^3+4x^2-5x-47$ vertė $x=-3$ yra lygi $4$. Beje, tai nesunku dar kartą patikrinti, tiesiogiai pakeičiant $x=-3$ į nurodytą daugianarį:

$$x^4+3x^3+4x^2-5x-47=(-3)^4+3 \ctaškas (-3)^3-5 \ctaškas (-3)-47=4.$$

Tie. Hornerio schema gali būti naudojama, jei reikia rasti polinomo reikšmę tam tikrai kintamojo reikšmei. Jei mūsų tikslas yra rasti visas daugianario šaknis, tai Hornerio schemą galima taikyti kelis kartus iš eilės, kol išnaudosime visas šaknis, kaip aptarta 3 pavyzdyje.

3 pavyzdys

Raskite visas daugianario $x^6+2x^5-21x^4-20x^3+71x^2+114x+45$ sveikąsias šaknis naudodami Hornerio schemą.

Nagrinėjamo daugianario koeficientai yra sveikieji skaičiai, o didžiausios kintamojo laipsnio koeficientas (t.y. $x^6$) lygus vienetui. Šiuo atveju tarp laisvojo nario daliklių reikia ieškoti sveikųjų daugianario šaknų, t.y. tarp skaičiaus 45 daliklių. Tam tikro daugianario tokios šaknys gali būti skaičiai $45; \; 15; \; 9; \; 5; \; 3; \; 1 USD ir -45 USD; \; -15; \; -9; \; -5; \; -3; \; -1 $. Patikrinkime, pavyzdžiui, skaičių $1$:

Kaip matote, daugianario $x^6+2x^5-21x^4-20x^3+71x^2+114x+45$ vertė su $x=1$ yra lygi $192$ (paskutinis skaičius antroje eilutėje), o ne $0 $, todėl vienybė nėra šio daugianario šaknis. Kadangi vieno patikrinimas nepavyko, patikrinkime reikšmę $x=-1$. Tam naujos lentelės nekursime, bet toliau naudosime lentelę. Nr. 1, pridedant prie jo naują (trečią) eilutę. Antroji eilutė, kurioje buvo pažymėta 1 USD vertė, bus paryškinta raudonai ir nebus naudojama tolesnėse diskusijose.

Žinoma, lentelę galite tiesiog perrašyti dar kartą, tačiau jos pildymas rankiniu būdu užtruks daug laiko. Be to, gali būti keli skaičiai, kurių patikrinimas nepavyks, ir kiekvieną kartą sunku parašyti naują lentelę. Skaičiuojant „ant popieriaus“, raudonas linijas galima tiesiog perbraukti.

Taigi, daugianario $x^6+2x^5-21x^4-20x^3+71x^2+114x+45$ reikšmė ties $x=-1$ lygi nuliui, t.y. skaičius $-1$ yra šio daugianario šaknis. Padalijus daugianarį $x^6+2x^5-21x^4-20x^3+71x^2+114x+45$ iš dvinario $x-(-1)=x+1$, gauname daugianarį $x ^5+x ^4-22x^3+2x^2+69x+45$, kurių koeficientai paimti iš trečios lentelės eilės. Nr. 2 (žr. pavyzdį Nr. 1). Skaičiavimų rezultatas taip pat gali būti pateiktas tokia forma:

\begin(lygtis)x^6+2x^5-21x^4-20x^3+71x^2+114x+45=(x+1)(x^5+x^4-22x^3+2x^2 +69x+45)\pabaiga (lygtis)

Tęskime sveikųjų skaičių šaknų paiešką. Dabar reikia ieškoti daugianario $x^5+x^4-22x^3+2x^2+69x+45$ šaknų. Vėlgi, sveikųjų šio daugianario šaknų ieškoma tarp jo laisvojo termino daliklių, skaičių $45$. Pabandykime dar kartą patikrinti skaičių $-1$. Mes nekursime naujos lentelės, bet toliau naudosime ankstesnę lentelę. Nr.2, t.y. Pridėkime prie jo dar vieną eilutę:

Taigi skaičius $-1$ yra daugianario $x^5+x^4-22x^3+2x^2+69x+45$ šaknis. Rezultatą galima parašyti taip:

\begin(lygtis)x^5+x^4-22x^3+2x^2+69x+45=(x+1)(x^4-22x^2+24x+45) \end(lygtis)

Atsižvelgiant į lygybę (2), lygybė (1) gali būti perrašyta tokia forma:

\begin (lygtis)\begin (lygiuotas) & x^6+2x^5-21x^4-20x^3+71x^2+114x+45=(x+1)(x^5+x^4-22x ^2+2x^2+69x+45)=\\ & =(x+1)(x+1)(x^4-22x^2+24x+45)=(x+1)^2(x^ 4–22x^2+24x+45)\pabaiga (sulygiuota)\pabaiga (lygtis)

Dabar reikia ieškoti daugianario $x^4-22x^2+24x+45$ šaknų, žinoma, tarp jo laisvojo nario daliklių (skaičiai $45$). Dar kartą patikrinkime skaičių $-1$:

Skaičius $-1$ yra daugianario $x^4-22x^2+24x+45$ šaknis. Rezultatą galima parašyti taip:

\begin(lygtis)x^4-22x^2+24x+45=(x+1)(x^3-x^2-21x+45) \end(lygtis)

Atsižvelgdami į lygybę (4), lygybę (3) perrašome tokia forma:

\begin (lygtis)\begin (lygiuotas) & x^6+2x^5-21x^4-20x^3+71x^2+114x+45=(x+1)^2(x^4-22x^3 +24x+45)= \\ & =(x+1)^2(x+1)(x^3-x^2-21x+45)=(x+1)^3(x^3-x^ 2–21x+45)\pabaiga (sulygiuota)\pabaiga (lygtis)

Dabar ieškome daugianario $x^3-x^2-21x+45$ šaknų. Dar kartą patikrinkime skaičių $-1$:

Patikrinimas baigėsi nesėkmingai. Pažymėkime šeštąją eilutę raudonai ir pabandykime patikrinti kitą skaičių, pavyzdžiui, skaičių $3$:

Likutis lygus nuliui, todėl skaičius $3$ yra aptariamo daugianario šaknis. Taigi, $x^3-x^2-21x+45=(x-3)(x^2+2x-15)$. Dabar lygybę (5) galima perrašyti taip.

Algoritmai, matematika

Polinomo reikšmės apskaičiavimas taške yra viena iš paprasčiausių klasikinio programavimo uždavinių.
Atliekant įvairių tipų skaičiavimus, dažnai reikia nustatyti daugianario reikšmes nurodytoms argumentų reikšmėms. Dažnai apytikslis funkcijų apskaičiavimas yra apytikslis daugianario skaičiavimas.
Paprasto Habrahabro skaitytojo negalima vadinti nepatyrusiu, naudojančiu visokius iškrypimus. Kas antras žmogus sakys, kad daugianomas turi būti apskaičiuojamas pagal Hornerio taisyklę. Tačiau visada yra mažas „bet“, ar Hornerio schema visada yra efektyviausia?



Mano tikslas nėra tiksliai aprašyti polinomų skaičiavimo algoritmus, o tik parodyti, kad kai kuriais atvejais galima (būtina) taikyti ir kitokias schemas nei Hornerio taisyklės. Tiems, kurie domisi medžiaga, straipsnio pabaigoje yra nuorodų sąrašas, kurį galima rasti norint išsamiau išnagrinėti problemą.
Be to, kartais darosi gėda, kad mūsų rusų matematikų vardai lieka mažai žinomi. Be to, man tiesiog malonu kalbėti apie mūsų matematikų darbą.

Hornerio schema

Hornerio taisyklė tapo labai plačiai naudojama skaičiuojant daugianario reikšmes. Metodas pavadintas britų matematiko Williamo George'o Hornerio vardu.
Pagal šią taisyklę n-ojo laipsnio daugianario yra:

pateikta formoje

Polinomo reikšmė apskaičiuojama skliausteliuose nurodyta tvarka. Ką mes turime? Norint apskaičiuoti daugianarį pagal Hornerio schemą, reikia atlikti n daugybos ir n-k sudėjimo (čia k yra daugianario koeficientų skaičius, lygus 0). Jei , tada bus n-1 daugybos.
Galima parodyti, kad bendrosios formos daugianariams skaičiuoti neįmanoma sukurti schemos, ekonomiškesnės operacijų skaičiumi nei Hornerio schema.
Didžiausias Hornerio schemos patrauklumas yra daugianario reikšmės skaičiavimo algoritmo paprastumas.

Išimtys

Skaičiuojant specialaus tipo polinomus, gali reikėti atlikti mažiau operacijų nei naudojant universalią Hornerio schemą. Pavyzdžiui, galios apskaičiavimas naudojant Hornerio schemą reiškia nuoseklų n koeficientų dauginimą ir reikalauja n-1 daugybos. Tačiau kiekvienas pirmasis skaitytojas pasakys, kad norint, pavyzdžiui, skaičiuoti, reikia nuosekliai skaičiuoti , , , t.y. padauginkite tik 3, o ne 7.

Ar yra dar kažkas, nes Hornerio schema yra ekonomiškiausia?

Tiesą sakant, viską lemia skaičiavimų apimtis. Jei reikia apskaičiuoti vieną daugianario reikšmę, nieko geresnio už Hornerio schemą nebuvo išrasta. Bet jei daugianario reikšmės apskaičiuojamos daugelyje taškų, dėl preliminarių skaičiavimų, atliktų tiksliai vieną kartą, tampa įmanoma išsaugoti daugybę daugybos operacijų. Tai gali žymiai pagreitinti programą.

Kai kuriais atvejais, norint gauti daugianario reikšmes, patartina naudoti dviejų pakopų schemas. Pirmajame etape veiksmai atliekami tik su daugianario koeficientais, jis konvertuojamas į specialią formą. Antrame etape apskaičiuojama paties daugianario reikšmė nurodytoms argumento reikšmėms. Tokiu atveju gali pasirodyti, kad antrajame etape atliktų operacijų skaičius bus mažesnis nei skaičiuojant pagal Hornerio schemą.

Vėlgi, atkreipkite dėmesį, kad tokie skaičiavimo metodai yra naudingi apskaičiuojant daugianario reikšmes daugeliui x reikšmių. Padidėjimas gaunamas dėl to, kad pirmasis daugianario etapas atliekamas tik vieną kartą. Pavyzdys yra elementariųjų funkcijų skaičiavimas, kai aproksimuojantis daugianario paruošiamas iš anksto.

Tolesnėse diskusijose, kalbėdamas apie skaičiavimo operacijų skaičių, turėsiu omenyje antrojo skaičiavimo etapo sudėtingumą.

J. Todto schema 6 laipsnio daugianariams

Turime tokį daugianarį:
Skaičiavimams naudojame šiuos pagalbinius polinomus:

Koeficientai nustatomi neapibrėžtų koeficientų metodu, remiantis sąlyga. Iš paskutinės sąlygos sudarome lygčių sistemą, sulygindami daugianario vienodo laipsnio koeficientus.

Pačios sistemos čia nepateiksiu. Tačiau tai galima lengvai išspręsti naudojant pakeitimo metodą, kuriam reikia išspręsti kvadratines lygtis. Koeficientai gali pasirodyti sudėtingi, tačiau jei koeficientai pasirodo realūs, tada skaičiavimams reikia atlikti tris daugybas ir septynis sudėjimus, o ne penkis daugybas ir šešis pridėjimus pagal Hornerio schemą.

Nereikia kalbėti apie šios schemos universalumą, tačiau skaitytojas gali aiškiai įvertinti operacijų skaičiaus sumažėjimą, palyginti su Hornerio schema.

Schema Yu.L. Ketkova

Galiausiai patekau į mūsų matematikus.

Yu.L. Ketkovas pateikė bendrą n-ojo laipsnio daugianario vaizdavimą, kai n>5, kuris visada veda į realias išraiškas ir reikalauja [(n+1)/2]+ daugybos ir n+1 pridėjimo, kad būtų galima apskaičiuoti n-ojo laipsnio daugianarį.

Pavyzdžiui, kai n = 2k, Ketkovo schema redukuojama iki daugianario radimo:






kur , jei k lyginis, ir , jei k nelyginis (k>2).

Visi nežinomi koeficientai randami iš lygybės . Ketkovo darbuose pateikiamas gautų sistemų sprendimo metodas, kuris visada duoda realius koeficientus.

Schemos V.Ya. Pana

E. Belaga savo darbuose griežtai įrodė, kad neįmanoma sudaryti savavališkų n-ojo laipsnio daugianario skaičiavimo schemos, antroje pakopoje naudojant mažiau nei [(n+1)/2]+1 daugybos ir n sudėčių.

V.Ya. Panas sprendė optimalaus daugianario skaičiavimo uždavinius. Visų pirma, jis pasiūlė keletą realiųjų daugianario skaičiavimo schemų, kurios labai priartėjo prie E. Belagos įverčių. Pateiksiu keletą Pano schemų tikriems daugianariams.
1. Ketvirtojo laipsnio daugianario skaičiavimo schema.
Nagrinėjamas daugianomas.

Pateikiame jį tokia forma:



Kur

2. Skaičiavimo schema , .
Konstruojame pagalbinius daugianario , , :
, s=1,2,…,k.

Norėdami apskaičiuoti daugianario reikšmę, naudojame šias išraiškas:

Ši grandinė reikalauja daugybos ir pridėjimo antrajame etape.

Šios schemos ypatumas yra tas, kad pradinio daugianario koeficientai visada egzistuoja ir tikrieji koeficientai.

Pas V.Ya. Yra ir kitų daugianario skaičiavimo schemų, įskaitant sudėtingas.

Išvada

Apibendrindamas tai, kas buvo pasakyta, pažymiu, kad vienos ar kelių daugianario verčių apskaičiavimas neabejotinai turi būti atliktas naudojant Hornerio schemą.

Tačiau jei daugianario reikšmių, kurias reikia apskaičiuoti, skaičius yra didelis, o našumas yra labai svarbus, tikslinga apsvarstyti galimybę naudoti specialius daugianario skaičiavimo metodus.

Kai kurie skaitytojai sakys, kad maišytis su kitomis schemomis nei Hornerio yra sunku, varginanti ir neverta vargti. Tačiau realiame gyvenime yra problemų, kai reikia apskaičiuoti tiesiog daugybę daugianario reikšmių su didelėmis galiomis (pavyzdžiui, jų skaičiavimas gali užtrukti mėnesius), o padauginimų skaičiaus sumažinimas per pusę duos reikšmingą rezultatą. laiko padidėjimas, net jei turite praleisti keletą dienų, kad įgyvendintumėte konkrečią daugianario skaičiavimo schemą.

Literatūra

  1. Ketkovas Yu.L. Apie vieną matematinių mašinų polinomų skaičiavimo būdą. // Universiteto žinios, 1 t., 1958 m
  2. V. Ya, „Polinomų skaičiavimas naudojant išankstinį koeficientų apdorojimą ir automatinio parametrų radimo programą“, Zh. matematika. ir matematika. Fiz., 2:1 (1962), 133–140
  3. V. Ya. „Apie polinomų verčių skaičiavimo metodus“, Uspekhi Mat, 21:1(127) (1966), 103–134
  4. V. Ya, „Dėl penktojo ir septinto laipsnio daugianario skaičiavimo su realiais koeficientais“, Vychisl. matematika. ir matematika. Fiz., 5:1 (1965), 116–118
  5. Pan V. Ya. Kai kurios polinomų su realiais koeficientais verčių skaičiavimo schemos. Kibernetikos problemos. t. 5. M.: Nauka, 1961, 17–29.
  6. Belaga E. G. Dėl daugianario verčių apskaičiavimo viename kintamajame iš anksto apdorojant koeficientus. Kibernetikos problemos. t. 5. M.: Fizmatgiz, 1961, 7–15.

Galite padėti ir pervesti šiek tiek lėšų svetainės plėtrai

Polinomo reikšmės apskaičiavimas taške yra viena iš paprasčiausių klasikinio programavimo uždavinių.
Atliekant įvairių tipų skaičiavimus, dažnai reikia nustatyti daugianario reikšmes nurodytoms argumentų reikšmėms. Dažnai apytikslis funkcijų apskaičiavimas yra apytikslis daugianario skaičiavimas.
Paprasto Habrahabro skaitytojo negalima vadinti nepatyrusiu, naudojančiu visokius iškrypimus. Kas antras žmogus sakys, kad daugianomas turi būti apskaičiuojamas pagal Hornerio taisyklę. Tačiau visada yra mažas „bet“, ar Hornerio schema visada yra efektyviausia?


Mano tikslas nėra tiksliai aprašyti polinomų skaičiavimo algoritmus, o tik parodyti, kad kai kuriais atvejais galima (būtina) taikyti ir kitokias schemas nei Hornerio taisyklės. Tiems, kurie domisi medžiaga, straipsnio pabaigoje yra nuorodų sąrašas, kurį galima rasti norint išsamiau išnagrinėti problemą.
Be to, kartais darosi gėda, kad mūsų rusų matematikų vardai lieka mažai žinomi. Be to, man tiesiog malonu kalbėti apie mūsų matematikų darbą.

Hornerio schema

Hornerio taisyklė tapo labai plačiai naudojama skaičiuojant daugianario reikšmes. Metodas pavadintas britų matematiko Williamo George'o Hornerio vardu.
Pagal šią taisyklę n-ojo laipsnio daugianario yra:

pateikta formoje

Polinomo reikšmė apskaičiuojama skliausteliuose nurodyta tvarka. Ką mes turime? Norint apskaičiuoti daugianarį pagal Hornerio schemą, reikia atlikti n daugybos ir n-k sudėjimo (čia k yra daugianario koeficientų skaičius, lygus 0). Jei , tada bus n-1 daugybos.
Galima parodyti, kad bendrosios formos daugianariams skaičiuoti neįmanoma sukurti schemos, ekonomiškesnės operacijų skaičiumi nei Hornerio schema.
Didžiausias Hornerio schemos patrauklumas yra daugianario reikšmės skaičiavimo algoritmo paprastumas.

Išimtys

Skaičiuojant specialaus tipo polinomus, gali reikėti atlikti mažiau operacijų nei naudojant universalią Hornerio schemą. Pavyzdžiui, galios apskaičiavimas naudojant Hornerio schemą reiškia nuoseklų n koeficientų dauginimą ir reikalauja n-1 daugybos. Tačiau kiekvienas pirmasis skaitytojas pasakys, kad norint, pavyzdžiui, skaičiuoti, reikia nuosekliai skaičiuoti , , , t.y. padauginkite tik 3, o ne 7.

Ar yra dar kažkas, nes Hornerio schema yra ekonomiškiausia?

Tiesą sakant, viską lemia skaičiavimų apimtis. Jei reikia apskaičiuoti vieną daugianario reikšmę, nieko geresnio už Hornerio schemą nebuvo išrasta. Bet jei daugianario reikšmės apskaičiuojamos daugelyje taškų, dėl preliminarių skaičiavimų, atliktų tiksliai vieną kartą, tampa įmanoma išsaugoti daugybę daugybos operacijų. Tai gali žymiai pagreitinti programą.

Kai kuriais atvejais, norint gauti daugianario reikšmes, patartina naudoti dviejų pakopų schemas. Pirmajame etape veiksmai atliekami tik su daugianario koeficientais, jis konvertuojamas į specialią formą. Antrame etape apskaičiuojama paties daugianario reikšmė nurodytoms argumento reikšmėms. Tokiu atveju gali pasirodyti, kad antrajame etape atliktų operacijų skaičius bus mažesnis nei skaičiuojant pagal Hornerio schemą.

Vėlgi, atkreipkite dėmesį, kad tokie skaičiavimo metodai yra naudingi apskaičiuojant daugianario reikšmes daugeliui x reikšmių. Padidėjimas gaunamas dėl to, kad pirmasis daugianario etapas atliekamas tik vieną kartą. Pavyzdys yra elementariųjų funkcijų skaičiavimas, kai aproksimuojantis daugianario paruošiamas iš anksto.

Tolesnėse diskusijose, kalbėdamas apie skaičiavimo operacijų skaičių, turėsiu omenyje antrojo skaičiavimo etapo sudėtingumą.

J. Todto schema 6 laipsnio daugianariams

Turime tokį daugianarį:
Skaičiavimams naudojame šiuos pagalbinius polinomus:

Koeficientai nustatomi neapibrėžtų koeficientų metodu, remiantis sąlyga. Iš paskutinės sąlygos sudarome lygčių sistemą, sulygindami daugianario vienodo laipsnio koeficientus.

Pačios sistemos čia nepateiksiu. Tačiau tai galima lengvai išspręsti naudojant pakeitimo metodą, kuriam reikia išspręsti kvadratines lygtis. Koeficientai gali pasirodyti sudėtingi, tačiau jei koeficientai pasirodo realūs, tada skaičiavimams reikia atlikti tris daugybas ir septynis sudėjimus, o ne penkis daugybas ir šešis pridėjimus pagal Hornerio schemą.

Nereikia kalbėti apie šios schemos universalumą, tačiau skaitytojas gali aiškiai įvertinti operacijų skaičiaus sumažėjimą, palyginti su Hornerio schema.

Schema Yu.L. Ketkova

Galiausiai patekau į mūsų matematikus.

Yu.L. Ketkovas pateikė bendrą n-ojo laipsnio daugianario vaizdavimą, kai n>5, kuris visada veda į realias išraiškas ir reikalauja [(n+1)/2]+ daugybos ir n+1 pridėjimo, kad būtų galima apskaičiuoti n-ojo laipsnio daugianarį.

Pavyzdžiui, kai n = 2k, Ketkovo schema redukuojama iki daugianario radimo:






kur , jei k lyginis, ir , jei k nelyginis (k>2).

Visi nežinomi koeficientai randami iš lygybės . Ketkovo darbuose pateikiamas gautų sistemų sprendimo metodas, kuris visada duoda realius koeficientus.

Schemos V.Ya. Pana

E. Belaga savo darbuose griežtai įrodė, kad neįmanoma sudaryti savavališkų n-ojo laipsnio daugianario skaičiavimo schemos, antroje pakopoje naudojant mažiau nei [(n+1)/2]+1 daugybos ir n sudėčių.

V.Ya. Panas sprendė optimalaus daugianario skaičiavimo uždavinius. Visų pirma, jis pasiūlė keletą realiųjų daugianario skaičiavimo schemų, kurios labai priartėjo prie E. Belagos įverčių. Pateiksiu keletą Pano schemų tikriems daugianariams.
1. Ketvirtojo laipsnio daugianario skaičiavimo schema.
Nagrinėjamas daugianomas.

Pateikiame jį tokia forma:



Kur

2. Skaičiavimo schema , .
Konstruojame pagalbinius daugianario , , :
, s=1,2,…,k.

Norėdami apskaičiuoti daugianario reikšmę, naudojame šias išraiškas:

Ši grandinė reikalauja daugybos ir pridėjimo antrajame etape.

Šios schemos ypatumas yra tas, kad pradinio daugianario koeficientai visada egzistuoja ir tikrieji koeficientai.

Pas V.Ya. Yra ir kitų daugianario skaičiavimo schemų, įskaitant sudėtingas.

Išvada

Apibendrindamas tai, kas buvo pasakyta, pažymiu, kad vienos ar kelių daugianario verčių apskaičiavimas neabejotinai turi būti atliktas naudojant Hornerio schemą.

Tačiau jei daugianario reikšmių, kurias reikia apskaičiuoti, skaičius yra didelis, o našumas yra labai svarbus, tikslinga apsvarstyti galimybę naudoti specialius daugianario skaičiavimo metodus.

Kai kurie skaitytojai sakys, kad maišytis su kitomis schemomis nei Hornerio yra sunku, varginanti ir neverta vargti. Tačiau realiame gyvenime yra problemų, kai reikia apskaičiuoti tiesiog daugybę daugianario reikšmių su didelėmis galiomis (pavyzdžiui, jų skaičiavimas gali užtrukti mėnesius), o padauginimų skaičiaus sumažinimas per pusę duos reikšmingą rezultatą. laiko padidėjimas, net jei turite praleisti keletą dienų, kad įgyvendintumėte konkrečią daugianario skaičiavimo schemą.

Literatūra

  1. Ketkovas Yu.L. Apie vieną matematinių mašinų polinomų skaičiavimo būdą. // Universiteto žinios, 1 t., 1958 m
  2. V. Ya, „Polinomų skaičiavimas naudojant išankstinį koeficientų apdorojimą ir automatinio parametrų radimo programą“, Zh. matematika. ir matematika. Fiz., 2:1 (1962), 133–140
  3. V. Ya. „Apie polinomų verčių skaičiavimo metodus“, Uspekhi Mat, 21:1(127) (1966), 103–134
  4. V. Ya, „Dėl penktojo ir septinto laipsnio daugianario skaičiavimo su realiais koeficientais“, Vychisl. matematika. ir matematika. Fiz., 5:1 (1965), 116–118
  5. Pan V. Ya. Kai kurios polinomų su realiais koeficientais verčių skaičiavimo schemos. Kibernetikos problemos. t. 5. M.: Nauka, 1961, 17–29.
  6. Belaga E. G. Dėl daugianario verčių apskaičiavimo viename kintamajame iš anksto apdorojant koeficientus. Kibernetikos problemos. t. 5. M.: Fizmatgiz, 1961, 7–15.


Ar jums patiko straipsnis? Pasidalinkite su draugais!