A polinomok osztása a polinomok euklideszi gyűrűjének maradékával való osztás művelete egy változóban valamely mező felett . A műveletet végrehajtó naiv algoritmus az oszloposztás általánosított formája , amely könnyen megvalósítható manuálisan.
Bármely polinomhoz és , , vannak egyedi polinomok és olyanok, amelyek
,és alacsonyabb fokozata van, mint .
A polinomiális osztási algoritmusok célja egy adott osztható és nem nulla osztó hányadosának és maradékának megtalálása [1] .
A polinomok maradékkal való osztásának problémája a következő ekvivalens megfogalmazásokban fogalmazható meg [2] .
A fok és fok polinomjait együtthatóikkal adjuk meg. Meg kell találni a hányadost és a maradékot úgy, hogy [2]
(egy) |
Az így definiált polinomok egyediek - ha feltételezzük, hogy az ( 1 ) egyenletnek két megoldása van , és akkor
amiből az következik, hogy vagy , ami egyben azt is jelenti , vagy a fok nem kisebb, mint a fok , ami definíció szerint lehetetlen [3] .
Ez a probléma mátrix alakban átírható, ha feltételezzük, hogy és adottak , és úgy kell kiszámítanunk , hogy [2]
(2) |
Tekintettel arra , hogy a feladat megoldásához elegendő a rendszer első egyenleteivel megtalálni a . Ha csak ezeket az egyenleteket vesszük figyelembe, akkor a probléma válik
(3) |
Ennek az egyenletrendszernek a mátrixa alsó háromszög és Toeplitz , vezető együtthatókból és nullákból áll, és a rendszer megoldása ekvivalens az inverze megtalálásával [2] .
Legyen és az együtthatók sorozatának megfordításával kapott polinomok . A ( 3 ) egyenletrendszer úgy fogalmazható meg
ahol , és azt jelenti, hogy a maradékok a polinomok és -val való elosztása után egyenlőek. Egy polinom osztása -vel ábrázolható , így a maradék egyenlő az első együtthatókból kapott polinomdal , azaz
Ha a és polinomok ismertek, akkor , ahol az inverz polinom a maradékok gyűrűjében modulo . Így a keresés a megtalálásra redukálható, úgy , hogy
(négy) |
Ez a megfogalmazás lehetővé teszi az inverz mátrix megtalálását is a rendszerben ( 3 ):
Legyen a ( 3 ) méretmátrix . Ezután egy alsó háromszög alakú Toeplitz-mátrix, amelynek első oszlopa , ahol a ( 4 ) együtthatók vannak . |
A ( 3 ) rendszer ekvivalens az egyenlettel . Ennek megfelelően a rendszer
ként ábrázolható , ami a ( 4 ) esetben egyenértékű a ( 3 ) rendszerrel. ■
Az elemeket meghatározó polinom tetszőlegessége miatt ez a tény lehetővé teszi, hogy megtaláljuk egy tetszőleges Toeplitz alsó háromszögmátrix inverzét [2] .
Az egyenlet nem csak modulo , hanem a formális hatványsorok gyűrűjében lévő egyenlőségként is felfogható . Legyen és formális hatványsor, amely egybeesik az és polinomokkal . Ha ilyen kifejezésekkel találjuk meg a formális sorozatot
(5) |
akkor az alacsonyabb hatványokon lévő együtthatói megfelelnek a szükséges polinomnak . Ez a megközelítés azt is lehetővé teszi, hogy a ( 2 ) problémát egy végtelenül kiterjesztett Toeplitz-mátrixú és egy végtelenül kiterjesztett oszlopú rendszernek tekintsük , amelyben a maradékok oszlopa ki van zárva . Egy ilyen rendszer első sorait megoldva megkapjuk a sorozat első együtthatóit , nevezetesen . Ugyanakkor a hatványsorokkal végzett munka általában, amelyekben csak a sorozat első együtthatói érdekesek (például a korlátozott memória miatt), egyenértékű a polinomokkal való munkával, amelyek műveleteit a modulban hajtják végre. maradékok gyűrűje [4] . Különösen az első együtthatók keresése egyenértékű a [2] egyenlet megoldásával .
Az algoritmus során a nagyobb teljesítményű együtthatókat szekvenciálisan nullázzuk úgy, hogy abból kivonunk valamilyen hatványt együtthatókkal, amelyek aztán a hányadost alkotják . Kezdetben az együtthatót egyenlőnek kell meghatározni . Ha bővítjük , akkor
Cserélésével ez az egyenlet alakot ölt
hasonló az ( 1 ) egyenlethez. Ebben az esetben a th-edik együttható definíció szerint egyenlő -val , tehát a fok kisebb lesz, mint a fok . Az eljárást addig ismételjük, amíg a fok kisebb lesz, mint a fok , ami azt jelenti, hogy a következő egyenlő vele [3] .
PéldaHagyjuk és . Adott polinomokra az oszloposztást a következőképpen írhatjuk fel
Ily módon
vagyis a polinom hányados, a pedig a maradék.
1972-ben Malte Zieveking egy algoritmust javasolt egy adott és [5] egyenletének megoldására . 1974-ben Kong Xiangzhong kimutatta, hogy az algoritmus a Newton-módszer iterációja [6] számára . Ezzel a megközelítéssel az iteráció felveszi a formát
Ahol jelöli a függvény deriváltját a pontban . Az algoritmus pontosságának értékeléséhez megbecsülhetjük a különbséget
amiből az következik, hogy ha osztható -val (ami ekvivalens azzal, hogy az első együtthatók helyesen vannak definiálva), akkor osztható lesz -vel . Így a kezdeti feltétel mellett minden iteráció megkétszerezi a pontosan meghatározott együtthatók számát . Ezért az iterációk elegendőek a számításhoz . A gyors Fourier-transzformáció alkalmazása polinomok szorzására a fenti képletben a végső futási időt eredményezi , ami jelentősen javítja a szokásos hosszú szorzás becslését [7] .
PéldaHagyjuk és . A ( 4 ) miatt meg kell találni . Az inverz polinomban a következőképpen keresünk:
A Newton-módszer tulajdonságai miatt az első együtthatók helyesen vannak meghatározva. Mivel a további számításokat modulo végezzük , a nagyobb teljesítményű együtthatók elvethetők. Innen
melynek értelmében .
A különféle módszerek hatékonyságának értékeléséhez az aritmetikai áramkör bonyolultságát használják - az összeadási, szorzási, kivonási és osztási műveletek teljes számát a komplex számok területén, amelyeket az algoritmus működése során végre kell hajtani. Az algoritmus többprocesszoros megvalósításához szükséges párhuzamos lépések számát is megbecsüljük, feltételezve, hogy minden egyes processzor bármely lépésben legfeljebb egy műveletet tud végrehajtani [7] .
Az osztási algoritmus minden iterációja abból áll, hogy az eltolást valamilyen összeggel levonjuk -ból , ami a -ban tehető meg . Mivel a mérték , amely kezdetben egyenlő -val , addig csökken, amíg kisebb lesz, mint , az algoritmus teljes futási ideje így becsülhető meg , ahol [2] .