Polynomien jako

Polynomien jako on  jakooperaatio polynomien euklidisen renkaan jäännöksellä yhdessä muuttujassa jonkin kentän yli . Tämän toiminnon toteuttava naiivi algoritmi on yleistetty sarakejaon muoto , joka on helppo toteuttaa manuaalisesti.

Kaikille polynomeille ja , , On olemassa ainutlaatuisia polynomeja ja sellaisia, että

,

ja sen tutkinto on alempi kuin .

Polynomijakoalgoritmien tarkoitus on löytää osamäärä ja jäännös tietylle jaolliselle ja nollasta poikkeavalle jakajalle [1] .

Ongelman selvitys

Ongelma polynomien jakamisesta jäännöksellä voidaan muotoilla seuraavilla ekvivalenteilla formulaatioilla [2] .

Osamäärä ja jäännös

Asteen ja asteen polynomit saadaan kertoimillaan. Osamäärä ja jäännös on löydettävä siten, että [2]

(yksi)

Tällä tavalla määritellyt polynomit ovat ainutlaatuisia - jos oletetaan, että yhtälöllä ( 1 ) on kaksi ratkaisua ja

josta seuraa, että joko , mikä tarkoittaa myös , tai aste ei ole pienempi kuin aste , mikä on määritelmän mukaan mahdotonta [3] .

Matriisiasetus

Tämä ongelma voidaan kirjoittaa uudelleen matriisimuotoon, jos oletetaan, että ja on annettu , ja meidän on laskettava siten, että [2]

(2)

Käänteinen Toeplitz-matriisi

Johtuen siitä, että ongelman ratkaisemiseksi riittää löytää järjestelmän ensimmäisten yhtälöiden avulla . Jos tarkastelemme vain näitä yhtälöitä, ongelma tulee

(3)

Tämän yhtälöjärjestelmän matriisi on alakolmio ja Toeplitz , joka koostuu johtavista kertoimista ja nollia, ja järjestelmän ratkaisu vastaa sen käänteisen löytämistä [2] .

Käänteinen polynomimoduuli

Olkoon ja  polynomeja, jotka on saatu kertoimien sarjasta ja käänteisillä. Yhtälöjärjestelmä ( 3 ) voidaan muotoilla seuraavasti

jossa , ja tarkoittaa, että jakojäännökset polynomien ja arvon jakamisen jälkeen ovat yhtä suuret. Polynomin jako voidaan esittää muodossa , joten jäännös on yhtä suuri kuin ensimmäisistä kertoimista saatu polynomi , eli

Jos polynomit ja tunnetaan, niin , Missä  on käänteinen polynomi jäännösten renkaassa modulo . Siten haku voidaan lyhentää löytämiseen siten, että

(neljä)

Tämä muotoilu mahdollistaa myös käänteisen matriisin löytämisen järjestelmästä ( 3 ):

Olkoon kokomatriisi alkaen ( 3 ). Sitten on alempi kolmiomainen Toeplitz-matriisi, jonka ensimmäinen sarake on , missä ovat kertoimet kohdasta ( 4 ).

Todiste

Järjestelmä ( 3 ) vastaa yhtälöä . Vastaavasti järjestelmä

voidaan esittää muodossa , joka tapauksessa ( 4 ) vastaa järjestelmää ( 3 ).

Alkiot määrittävän polynomin mielivaltaisuudesta johtuen tämä tosiasia mahdollistaa käänteisarvon mielivaltaiselle Toeplitzin alemmalle kolmiomatriisille [2] .

Muodollinen tehosarja

Yhtälöä voidaan tarkastella paitsi modulon myös tasa-arvona muodollisten potenssisarjojen kehässä . Antaa ja  olla muodollinen potenssisarja, joka vastaa polynomeja ja . Jos näillä termeillä löydämme muodollisen sarjan

(5)

silloin sen kertoimet pienemmillä tehoilla vastaavat vaadittua polynomia . Tämän lähestymistavan avulla voimme myös tarkastella ongelmaa ( 2 ) järjestelmänä, jossa on äärettömästi laajennettu Toeplitz-matriisi ja äärettömästi laajennettu sarake , jossa jäännössarake on jätetty pois . Sellaisen järjestelmän ensimmäisten rivien ratkaiseminen antaa sarjan ensimmäiset kertoimet , nimittäin . Samanaikaisesti työskentely yleisesti potenssisarjoilla, joissa vain sarjan ensimmäiset kertoimet kiinnostavat (esimerkiksi rajoitetun muistin vuoksi), vastaa työskentelyä polynomien kanssa, joiden toiminnot suoritetaan modulossa. jäännösrengas [4] . Erityisesti ensimmäisten kertoimien etsiminen vastaa yhtälön [2] ratkaisemista .

Ratkaisumenetelmät

Sarakejako

Algoritmin aikana suuremmilla tehoilla olevat kertoimet nollataan peräkkäin vähentämällä siitä kerrottuna jollain potenssilla kertoimilla, jotka sitten muodostavat osamäärän . Aluksi kerroin määritetään yhtä suureksi kuin . Jos laajennetaan , niin

Korvaamalla tämä yhtälö saa muodon

samanlainen kuin yhtälö ( 1 ). Tässä tapauksessa th kerroin määritelmän mukaan on yhtä suuri kuin , joten aste on pienempi kuin aste . Toimenpide toistetaan, kunnes aste on pienempi kuin aste , mikä tarkoittaa, että seuraava on yhtä suuri kuin se [3] .

Esimerkki

Anna ja . Tietyille polynomeille sarakkeen jako voidaan kirjoittaa muodossa

Tällä tavalla,

eli polynomi  on osamäärä ja a  on jäännös.

Sieveking-Kohn-algoritmi

Vuonna 1972 Malte Zieveking ehdotti algoritmia ratkaisun löytämiseksi yhtälöön annetuille ja [5] . Vuonna 1974 Kong Xiangzhong osoitti, että , algoritmi on iteraatio Newtonin menetelmästä [ 6] . Tällä lähestymistavalla iteraatio saa muodon

Missä tarkoittaa funktion derivaatta pisteessä . Algoritmin tarkkuuden arvioimiseksi voidaan arvioida ero

josta seuraa, että jos se on jaollinen (mikä vastaa sitä tosiasiaa, että ensimmäiset kertoimet on määritelty oikein), niin se on jaollinen . Näin ollen, kun otetaan huomioon alkuehto , jokainen iteraatio kaksinkertaistaa tarkasti määriteltyjen kertoimien määrän . Siksi iteraatiot ovat riittäviä laskentaan . Nopean Fourier-muunnoksen soveltaminen polynomien kertolaskuun yllä olevassa kaavassa johtaa lopulliseen ajoaikaan , mikä parantaa merkittävästi estimaattia tavalliselle pitkälle kertolaskulle [7] .

Esimerkki

Anna ja . Kohdan ( 4 ) vuoksi on tarpeen löytää . Käänteispolynomia etsitään seuraavasti:

  1. Alkuperäinen approksimaatio määritellään ;
  2. Ensimmäinen approksimaatio määritellään ;
  3. Toinen approksimaatio määritellään .

Newtonin menetelmän ominaisuuksista johtuen ensimmäiset kertoimet määritetään oikein. Koska lisälaskelmia tehdään modulo , suurempien tehojen kertoimet voidaan hylätä. Täältä

jonka nojalla .

Algoritmien analyysi

Eri menetelmien tehokkuuden arvioimiseksi käytetään aritmeettisen piirin monimutkaisuutta - algoritmin toiminnan aikana suoritettavien  yhteen-, kerto-, vähennys- ja jakolaskuoperaatioiden kokonaismäärä kompleksilukujen kentässä. Arvioidaan myös algoritmin moniprosessoritoteutukseen tarvittavien rinnakkaisten vaiheiden määrä olettaen , että jokainen prosessori missä tahansa vaiheessa voi suorittaa enintään yhden toiminnon [7] .

Jokainen jakoalgoritmin iteraatio koostuu offsetin vähentämisestä jollain määrällä arvosta , mikä voidaan tehdä kohdassa . Koska aste , joka on alun perin yhtä suuri kuin , pienenee, kunnes siitä tulee pienempi kuin , algoritmin kokonaisajoaika voidaan arvioida muodossa , jossa [2] .

Katso myös

Muistiinpanot

  1. Skanavi M. I. Alkeinen matematiikka. - 2. painos, tarkistettu. ja ylimääräisiä - M .: Nauka, 1972. - S. 142-147. — 592 s.
  2. ↑ 1 2 3 4 5 6 7 Bini, Pan, 1986 , s. 184-186
  3. ↑ 12 Knuth , 1997 , s. 420-421
  4. Knuth, 1997 , s. 525-533
  5. Seulonta, 1972
  6. Kung, 1974
  7. ↑ 1 2 Bini, Pan, 1986 , s. 186-188

Kirjallisuus