Apytikslis šaknų skaičiavimas (stygų ir liestinių metodai)


Apytikslis šaknų skaičiavimas

keisti
Yra metodai leidžiantys atskirti realiąsias šaknis polinomo   su realiaisiais koeficientais, t. y. kiekvienai šakniai nurodyti ribas, tarp kurių yra tik viena šita šaknis. Jeigu šitos ribos (intervalas) pakankamai siauros, tai bet kokį skaičių, esantį tarp jų, galima laikyti apytikslia reikšme ieškomos šaknies. Tokiu budu, po to, kai Šturmo metodu (arba kokiu nors kitu, ekonomiškesniu budu) bus nustatyta, kad tarp racionaliųjų skaičių   ir   yra tik viena šaknis polinomo   lieka užduotis tiek susiaurinti šitas ribas (intervalo kraštus), kad naujos ribos (kraštai)   ir   turėtų į priekį nustatytą skaičių sutampančių pirmų dešimtainių skaitmenų; šituom ieškoma šaknis bus apskaičiuota su užduotu tikslumu.
Egzistuoja daug metodų, leidžiančių pakankamai greitai rasti apytikslią šaknies reikšmę su reikalaujamu tikslumu. Mes nurodysime du iš jų, teoriškai paprastesnius ir bendresnius, ir kuriuos naudojant kartu pakankamai greitai prieinama prie tikslo. Reikia pastebėti, kad metodai, kurie bus dabar išdėstyti, pritaikomi ne tik polinomams, bet ir platesnėms klasėms tolydžių funkcijų. Toliau laikysime, kad   yra paprasta (nekartotinė) šaknis polinomo   kadangi nuo kartotinių šaknų mes visada galim išsilaisvint (jeigu šaknies   kartotinumas yra k, tai polinomas   turės tik paprastą šaknį  ), ir kad šaknis   jau atskirta ribom a ir b,   iš čia seka, kad   ir   turi skirtingus ženklus.

Tiesinės interpoliacijos metodas (stygų metodas)

keisti
Apytikslia reikšme šaknies   būtų galima laikyti, pavyzdžiui, pusė sumos kraštų a ir b,   t. y. atkarpos vidurį, kurio galai a ir b. Natūraliau manyti, kad šaknis guli arčiau prie tos iš ribų (kraštų) a, b, kuriai atitinka mažesnė absoliučiu dydžiu polinomo reikšmė. Tiesinės (linijinės) interpoliacijos metodo esmė yra tokia, kad skaičius c laikomas apytikslia reikšme šaknies   ir dalinantis atkarpą (a, b) į dalis, proporcingas absoliučioms reikšmėms skaičių   ir   t. y.
 
minuso ženklas dešinėje dalyje pastatytas dėl to, kad   ir   turi skirtingus ženklus. Iš čia
 
 
 
 
 
 
10 brėž.
Geometriškai, kaip parodyta 10 brėž., linijinės interpoliacijos metodo esmė tame, kad ant atkarpos (a, b) kreivė   pakeičiama jos styga, jungiančia taškus A(a, f(a)) ir B(b, f(b)), ir apytikslia reikšme šaknies   laikoma abscisė taško susikirtimo šitos stygos su ašimi x.

Niutono metodas (liestinių metodas)

keisti
Kadangi   — paprasta šaknis polinomo f(x), tai   Priimsime, kad taip pat ir   kadangi kitaip klausimas suvedamas į skaičiavimą šaknies polinomo   turinčio mažesnį laipsnį, negu   Toliau priimsime, kad atkarpa (a, b) ne tik neturi   šaknų, skirtingų nuo   bet ir neturi nei vienos šaknies polinomo   o taipogi ir polinomo  *. Tokiu budu, kaip seka iš matematinės analizės kurso, kreivė   ant atkarpos (a, b) yra arba monotoniškai didėjanti, arba monotoniškai mažėjanti, o taip pat arba visuose taškuose šitos atkarpos yra išgaubta į viršų, arba visuose taškuose šitos atkarpos įgaubta žemyn. Kreivės išsidėstymas ant atkarpos (a, b) gali priklausyti vienam iš keturių atvejų, parodytų brėžiniuose 11—14.
 
Brėžiniai 11-14.
 
15 brėž.
Pažymėsime per   tą iš ribų a ir b, pas kurią ženklas f(x) sutampa su ženklu   Kadangi f(a) ir f(b) turi skirtingus ženklus, o   išsaugo ženklą visoje atkarpoje (a, b), tai toks   gali būti nurodytas (jeigu kreivė išgaubta į viršų, tai jos antra išvestinė visada neigiama toje atkarpoje ( ), o jeigu kreivė įgaubta į apačią, tai jos antra išvestinė visada teigiama ( ) toje atkarpoje). Atvejais, parodytais brėžinuose 11 ir 14, bus   kitais dviais atvejais   Kreivės taške   su abscise   t. y. taške su koordinatėmis   pravesime liestinę šitos kreivės ir pažymėsime per d abscisę taško susikirtimo šitos liestinės su ašimi x. Brėžiniai 11-14 rodo, kad skaičių d galima laikyti apytikslia reikšme šaknies   Niutono metodas susideda iš pakeitimo kreivės   ant atkarpos (a, b) jos liestine vienoje iš ribų šitos atkarpos. Skaičiaus   pasirinkimo sąlyga yra svarbi: brėž. 15 parodo, kad be šitos sąlygos paisymo, liestinės susikirtimo taškas su ašimi x gali visai neduoti priartėjimo prie ieškomos šaknies.

_________________________

* Ribų (kraštų) siaurinimas, privedantis prie to, kad šita sąlyga bus tenkinama, pasiekiamas įprastai be didesniu sunkumu, kadangi metodai, aptarti anksčiau, leidžia nustatyti šaknų skaičių polinomo   ir   bet kokioje atkarpoje.
 
16 brėžinys.
Išvesime formulę, pagal kurią ieškomas skaičius d. Kaip žinoma, liestinės lygtis kreivės   taške   gali būti užrašyta pavidale
 
Įstatydami čia koordinates (d, 0) susikirtimo taško liestinės su ašimi x, gausime:
 
iš kur
 
Jeigu skaitytojas sujungs ant brėž. 11-14 taškus A ir B stygom, tai pastebės, kad metodu linijinės interpoliacijos ir Niutono visais atvejais duoda priartėjimą prie tikros reikšmės šaknies   iš skirtingų pusių. Tikslinga todėl, jeigu atkarpa (a, b) jau tokia, kaip to reikalaujama Niutono metode, kombinuoti šituos du metodus. Mes gausime šituo budu daug labiau siauras ribas c ir d šakniai   Jeigu jie dar neduoda reikalaujamo tikslumo, tai šitoms riboms reikia dar kartą pritaikyti nurodytus abu metodus (žr. 16 brėž.) ir t. t., be to galima įrodyti, kad šitas procesas tikrai leidžia apskaičiuoti šaknį   su bet kokiu tikslumu.

Niutono metodo įrodymas

keisti
Mes iki šiol neparodėme, kad išdėstyti aukščiau metodai iš tikro leidžia apskaičiuoti šaknį su bet kokiu tikslumu, t. y. neįrodėme konvergavmo šitų metodų. Įrodysime tai Niutono metodui.
Tegu, kaip ir aukščiau, paprasta šaknis   polinomo f(x) yra atkarpoje (a, b), išrinktoje taip, kaip tai būtina Niutono metodo naudojime. Iš čia seka egzistavimas tokių teigiamų skaičių A ir B, kad visur ant atkarpos (a, b)
 
Įvesime žymėjimą
 
ir laikysime, kad
 
Šios nelygybės išpildymui galimai prireiks pakeisti ribas (a, b) šaknies   siauresnėm ribom; tai nepakeis nelygybių (3) teisingumo. Tegu   bus ta iš ribų a, b, kuriai taikomas Niutono metodas. Pagal formulę (2) mes nuosekliai gausime apytikslias šaknies   reikšmes   gulinčias atkarpoje (a, b) ir surištas tarpusavyje lygybėmis
 
Tegu
 
Tada (pagal Teiloro formulę)
 
kur   Kadangi   dėl sąlygos atkarpai (a, b), tai, atsižvelgdami į (5) ir (6), gausime:
 
 
Iš čia
 
Tokiu budu,
 
[   ]
arba, kadangi  
 


Jeigu Teiloro formulėje
 
 
paimsime, kad n=1, tai gausime tokią Teiloro formulę:
 
 
 
Toliau pažymėkime
 
 
 
 
 
Įstatykime šiuos pakeitimus į (8) formulę:
 
 
Taigi, gavome formulę (6.5),
 


Iš (7) formulės, pagal (4) sąlygą, seka, kad skirtumas   tarp šaknies   ir jos apytikslės reikšmės   gautos nuosekliai taikant Niutono metodą, artėja prie nulio, kai k didėja, ką ir reikėjo įrodyti.
Pastebėsime, kad (7) formulė duoda paklaidos įvetinimą  -am žingsniui, kas reikšminga, jeigu Niutono metodas taikomas vienas, o ne kombinacijoje su metodu linijinės interpoliacijos.
Kursuose teorijos apytikslių skaičiavimų galima rasti išdėstymą daugelį kitų metodų apytikslio šaknų skaičiavimo. Tarp jų labiausiai tobulu yra Lobačevskovo metodas (метод Лобачевского) (kai kada klaidingai vadinamas metodu Grefe (Греффе)). Šitas metodas leidžia rasti apytikslias reikšmes visų šaknų iš karto, tame tarpe ir kampleksinių, be to nereikalauja išankstinio šaknų atskyrimo; jis surištas, visgi, su pakankamai griozdiškais skaičiavimais. Šio metodo pagrindą sudaro teorija simetrinių polinomų.

Pavyzdžiai

keisti
  • Pritaikysime šituos metodus polinomui
 
Mes žinome, kad šitas polinomas turi paprastą šaknį   esančią ribose   Iš anksto galima pasakyti, kad šitos ribos per plačios tam, kad metodai linijinės interpoliacijos ir Niutono, pritaikyti tik po vieną kartą, galėtų duoti gerą rezultatą. Visgi pritaikysime juos, kad turėti vieną pavyzdį, nereikalaujantį sudetingų skaičiavimų.
Su   išvestinės   yra teigiamos. Iš čia seka (pagal tam tikrą teoriją), kad šaknis   tarnauja   o taip pat   viršutine riba teigiamų šaknų. Atkarpa (1, 2) to pasekoje neturi šaknų šitų išvestinių, todėl jai galima pritaikyti Niutono metodą. Be to,   visur šitoje atkarpoje teigiama, o kadangi
 
h(2) = 2^5 + 2*2^4 - 5*2^3 + 8*2^2 - 7*2 - 3 = 32 + 2*16 -5*8 +8*4 - 7*2 - 3 = 32+32-40+32-14-3 = 39,
tai reikia priimti   (12 brėž.). Atsižvelgdami, kad   mes pagal (2) formulę gauname:
[  
h'(2) = 5*2^4+8*2^3-15*2^2+16*2-7 = 5*16 + 8*8 -15*4 +16*2 -7 = 80 + 64 - 60 + 32 - 7 = 109. ]
 
Iš kitos pusės, formulė (1) duoda:
 
ir, to pasekoje, šaknis   yra ribose
 
Mes gavome nereikšmingą ribų susiaurėjimą tam, kad pripažinti šitą rezultatą tenkinančiu. Žinoma, gautoms riboms būtų galima dar kartą pritaikyti mūsų metodus. Tikslinga, visgi, iš pat pradžių rasti šakniai   pakankamai ankštas ribas, pavyzdžiui su tikslumu iki 0.1 arba net 0.01, ir tik po to panaudoti šituos metodus. Tai, suprantama, iškart padarys visus skaičiavimus gana griozdiškais, bet sprendžiant konkrečius uždavinius, reikalaujančius pakankamai tikslaus polinomo šaknų žinojimo, tenka tai daryti.
Grįškime prie mūsų polinomo   ir jo šaknies   be kita ko pastebėsime, kad visos reikšmės polinomų, pateiktos žemiau, apskaičiuojamos Hornerio metodu. Kadangi
 
[h(1.3) = 1.3^5 +2*1.3^4 -5*1.3^3 +8*1.3^2 -7*1.3 -3 = -0.13987,
h(1.31) = 1.31^5 +2*1.31^4 -5*1.31^3 +8*1.31^2 -7*1.31 -3 = 0.0662923851.]
tai
 
t. y. mes radome reikšmes šaknies   tikslumu iki 0.01. Pritaikysime dabar šitoms naujoms riboms linijinės interpoliacijos metodą:
 
= (1.31*(-0.13987) - 1.3*0.0662923851)/(-0.13987 -0.0662923851) = 1.3067844577919563465508238340613 = 1.30678 ...
Pritaikysime šitoms riboms Niutono metodą, priedo reikia paimti   Kadangi
 
[h'(x) = 5*1.31^4 +8*1.31^3 -15*1.31^2 +16*1.31 -7 = 20.92822405.]
tai
 
= 1.306832393186272296239106824738 = 1.30683 ...
Tokiu budu,
 
ir todėl, paėmę   mes padarysime klaidą, mažesnę nei 0.00003.
Pastebėsime, kad 0.01^2 = 0.0001 > 0.00003. Be to,
h(1.30681) = 1.30681^5 +2*1.30681^4 -5*1.30681^3 +8*1.30681^2 -7*1.30681 -3 = -0.0001496088153666072602599.

Nuorodos

keisti