Ebben a szakaszban már általános polinomokkal foglalkozunk, amelyek együtthatói egy tetszőleges kommutatív, egységelemes R gyűrű elemei lehetnek. Gyűrűn ezért most kommutatív és egységelemes gyűrűt értünk. Akinek ez az általánosság még nehézséget okoz, az nyugodtan képzelje, hogy az R elemei, vagyis a szereplő polinomok együtthatói (komplex) számok.
A polinomokkal formálisan számolunk ugyan, de sokszor konkrét számokat is be akarunk helyettesíteni az x helyére. Ha f=a0+a1 x +... + an xn, és b∈ R, akkor legyen
(2.2) Ebben a jelölésben a * feleslegesnek látszik (később el is hagyjuk majd). Arra szolgál, hogy figyelmeztessen bennünket: a b nem határozatlan immár, hanem egy konkrét R-beli elem. E jelölés mutatja, hogy f* egy függvénynek is felfogható, amely R-ből R-be képez. Középiskolában is sokszor képzeltük például az x2 polinomot függvénynek, sőt le is rajzoltuk a grafikonját.
2.4.1. Definíció. Ha f∈ R[x] egy polinom, akkor a (2.2) képlet által definiált f*:R→ R függvényt az f-hez tartozó polinomfüggvénynek nevezzük.
Bár egy f polinom mint formális kifejezés, és az f* polinomfüggvény nyilván nem ugyanaz, esetleg valaki arra gondolhat, hogy gyakorlati szempontból nincs nagy különbség közöttük, hiszen például az x2 valós fölötti grafikonjából visszakaphatjuk az x2 polinomot. Nézzük meg, igaz marad-e ez, ha a ℤ2 gyűrű fölött dolgozunk.
Ennek csak két eleme van, így a „grafikon” mindössze két pontból áll. A polinomfüggvényeket tehát táblázatosan is megadhatjuk:
Itt bizony sok egybeesés van, például az x, x2 és x3 polinomokhoz is ugyanaz a polinomfüggvény tartozik. Ez nem meglepő: a {0,1} halmazból önmagába csak négy függvény létezik egyáltalán, hiszen 0-nál is és 1-nél is csak kétféle függvényérték lehetséges. Mind a négy lehetséges függvény szerepel is a fenti táblázatban, azaz ℤ2
fölött minden függvény polinomfüggvény. Polinom viszont végtelen sok van ℤ2 fölött (például x, x2, x3,..., xk,...
csupa különböző polinomok). Később meglátjuk, milyen összefüggés van általában egy polinom és a hozzá tartozó polinomfüggvény között, mikor határozza meg az utóbbi az előbbit (2.4.11. Következmény).
Első lépésként vizsgáljuk meg, hogy mit kapunk eredményül, ha összeg-, illetve szorzatpolinomba helyettesítünk. A polinomok közötti műveleteket pontosan azzal a szándékkal definiáltuk, hogy az alábbi állítás igaz legyen.
2.4.2. Gyakorlat. Mutassuk meg, hogy ha f, g∈ R[x], és b∈ R, akkor
A középiskolában függvényekkel is végeztünk műveleteket. Például x sin x az a függvény volt, ami az x helyen az x és a sin x szorzatát veszi föl. Ennek alapján a polinomfüggvények összegét és szorzatát is definiálhatjuk.
Az alábbi definíció megemésztéséhez nagyon ajánljuk a 2.4.28. Gyakorlatot.
2.4.3. Definíció. Legyen R gyűrű, és p, q két függvény, ami R-et R-be képzi. Ekkor p+q, illetve pq az a függvény, ami minden b∈ R helyen p(b)+q(b)-t, illetve p(b)q(b)-t vesz föl. Képletben:
A p+q, illetve pq neve a p és q függvények pontonkénti összege, illetve szorzata.
Most egy gyors eljárást mutatunk polinomba való behelyettesítésre, melynek elméleti következményei is lesznek. Legyen f(x)=3x4+2x3+x-1, és helyettesítsünk x=2-t.
Megjegyzés
A Maple programmal ezt a következőképpen végeztethetjük el:
f := 3*x^4+2*x^3+x-1;
eval(f, x=2);
A szorzások számát csökkenthetjük (lásd 2.4.16. Gyakorlat), ha a polinomot a következőképpen alakítjuk át:
A részletszámításokat „belülről kifelé haladva” egy táblázatba írjuk:
A végeredmény f*(2)=65.
Az általános eljárás tehát a következő:
1. A táblázat felső sorába fölírjuk sorban a polinom együtthatóit, a főtagtól a konstans tagig. (Vigyázzunk arra, hogy a nulla együtthatókat is be kell írni a táblázatba, akkor is, ha azokat a polinomban nem írtuk ki.)
2. Az alsó sorba bemásoljuk a főegyütthatót, a főegyüttható alá. A sor elejére oda szokás írni a behelyettesítendő b értéket is.
3. Az alsó sort balról jobbra haladva töltjük ki. Az utoljára kitöltött mezőbeli értéket megszorozzuk b-vel, majd hozzáadjuk a következő, üres mező fölötti együtthatót, és az eredményt beírjuk ebbe az üres mezőbe.
4. Az f*(b) értékét az alsó sor végéről olvashatjuk le.
Általában a következő, úgynevezett Horner-elrendezést kapjuk:
2.4.4. Gyakorlat. Mutassuk meg, hogy a Horner-elrendezés tényleg az f*(b) értéket számítja ki. Igazoljuk az alábbi összefüggést:
ahol f(x)=anxn+...+a0, és cn-1,...,c0 a táblázatban kiszámított értékek.
Megjegyzés
Ezek szerint minden f∈ R[x] polinom tetszőleges b∈ R esetén fölírható
alakban alkalmas q∈ R[x] polinomra. Ezt az észrevételt (amely önmagában is elegendő a következő állítás bizonyításához) később általánosítani fogjuk, amikor a polinomok közötti maradékos osztásról beszélünk majd a 2. szakaszban.
2.4.5. Definíció. A b∈ Rgyöke az f∈ R[x] polinomnak, ha f*(b)=0.
2.4.6. Állítás. A b∈ R akkor és csak akkor gyöke az f∈ R[x] polinomnak, ha
alkalmas q∈ R[x] polinomra.
Bizonyítás. Ha f(x)=(x-b)q(x), akkor b nyilván gyöke f-nek. Megfordítva, ha b gyöke f-nek, akkor a Horner-elrendezés alsó sorában lévő számok egy megfelelő q polinom együtthatóit szolgáltatják (2.4.4. Gyakorlat). □ Ha b gyöke f-nek, akkor az x-b kifejezést az f polinom b-hez tartozó gyöktényezőjének nevezzük. Az előző állítás a gyöktényező kiemelhetőségéről szóló tétel.
Ha egy polinomnak több gyöke van, akkor megpróbálhatunk egyszerre több gyöktényezőt kiemelni. Ehhez nagyon fontos, hogy az R gyűrű nullosztómentes legyen. Ha ez nem teljesül, akkor furcsa dolgok történhetnek.
Például a ℤ8 gyűrű fölött tekintsük az x2-1 polinomot. Ennek gyökeit megállapíthatjuk úgy, hogy
végigpróbálgatjuk a ℤ8 gyűrű nyolc elemét. Az eredmény, hogy ennek gyökei a négy páratlan szám, azaz 1, 3, 5, 7. A gyöktényezőket kiemelve azonban kétféle felbontást kapunk:
A polinom tehát két, lényegesen különböző módon is felbontható gyöktényezők szorzatára, és egyszerre csak két gyöktényezőt tudunk szerepeltetni a lehetséges négy közül. A problémát az okozza, hogy ha az (x-1)(x-7) alakba a b=3 gyököt behelyettesítjük, akkor 0=2 *8 4 adódik, tehát a nullosztómentesség hiánya teszi lehetővé, hogy az 1-en és a 7-en kívül még legyen gyök.
2.4.7. Tétel. Egy nullosztómentes (egységelemes, kommutatív) R gyűrű (speciálisan egy test) fölött a gyöktényezők egyszerre is kiemelhetők: minden nem nulla f∈ R[x] polinom fölírható
alakban, ahol a (nem feltétlenül különböző) b1,..., bk elemek az f-nek az összesR-beli gyökei, és q-nak egyáltalán nincs gyöke R-ben. Ezért nullosztómentes gyűrű fölött egy polinomnak legfeljebb annyi gyöke lehet, mint a foka.
Bizonyítás. Egy gyöktényező kiemelésekor a fok eggyel csökken (hiszen nullosztómentes gyűrűben polinomok szorzásakor a fokok összeadódnak). Emeljünk ki f-ből addig gyöktényezőket, ameddig lehet. Vagyis ha
de qm-nek még van gyöke R-ben, akkor qm-ből emeljünk ki egy további gyöktényezőt. Ezt csak véges sokszor lehet csinálni, mert qm foka minden lépésnél csökken. Ezért előbb-utóbb eljutunk az
alakhoz, ahol már q-nak nincs gyöke R-ben. Ha b gyöke f-nek, akkor
adódik. Mivel R nullosztómentes, valamelyik tényező nulla. De q*(b)≠ 0, tehát van olyan j, hogy b-bj=0, azaz b=bj. Megfordítva, a bj nyilván gyöke f-nek. Tehát f gyökei pontosan b1,..., bk.
Az utolsó állítás bizonyításához írjuk föl a fokszámokat:
Ezért tényleg gr(f)≥ k. □
2.4.8. Gyakorlat. Az előző bizonyításban mely állítások maradnak érvényesek, ha az R gyűrűről nem tesszük föl a nullosztómentességet? A fokszámokkal kapcsolatos érveléseknél is kihasználtuk-e a nullosztómentességet, vagy csak b behelyettesítésekor?
Megjegyzés
Annak igazolásához, hogy egy polinomnak legfeljebb annyi gyöke lehet, mint amennyi a foka, nemcsak a nullosztómentesség szükséges, hanem a kommutativitás is. Bár nemkommutatív gyűrűk fölött a polinomok definíciójával is gondok merülnek föl, az x2+1-et minden egységelemes gyűrű fölött nyilván polinomfüggvénynek tekinthetjük. Az 5.11.5. Következményben meglátjuk majd, hogy van olyan nullosztómentes gyűrű (az úgynevezett kvaterniók ferdeteste), amelyben ennek a polinomnak végtelen sok gyöke van.
2.4.9. Gyakorlat. Igazoljuk, hogy ha R nullosztómentes gyűrű, akkor minden nem konstans f∈ R[x] polinom minden c∈ R értéket csak véges sok R-beli helyen vehet föl.
Most már könnyű belátni, hogy ha két polinom „elég sok” helyen megegyezik, akkor azonosak.
2.4.10. Következmény. [A polinomok azonossági tétele] Ha egy R nullosztómentes gyűrű fölött adott két, legfeljebb n-edfokú polinom, amelyek több mint n (R-beli) helyen megegyeznek, akkor a két polinom egyenlő (vagyis együtthatóik is megegyeznek).
Bizonyítás. Legyen f és g a két polinom. Az, hogy a b helyen megegyeznek, azt jelenti, hogy f*(b)=g*(b), azaz hogy f-g-nek gyöke a b. Tehát f-g-nek több, mint n gyöke van. Ha f-g nem a nullapolinom, akkor van foka, ami legfeljebb n lehet. Ez ellentmond az előző 2.4.7. Tételnek. Az ellentmondást abból kaptuk, hogy feltettük: f-g nem a nullapolinom. Ezért f-g a nullapolinom, azaz f=g. □
Megjegyzés
Ez a bizonyítás akkor is működik, ha f vagy g a nullapolinom, noha a tételben ezt elvileg nem engedtük meg, mert f és g fokáról beszéltünk. Néha ezért megállapodnak abban, hogy (noha a nullapolinomnak nincs foka), a legfeljebb n-edfokú polinomok közé mégiscsak odaértjük a nullapolinomot is. Egy ilyesfajta megállapodás sokat egyszerűsíthet egy-egy tétel szövegén, és könnyebben megjegyezhetővé teheti azt.
2.4.11. Következmény. Végtelen nullosztómentes gyűrű fölött minden polinomot egyértelműen meghatároz a hozzá tartozó polinomfüggvény, véges gyűrű fölött viszont nem.
Bizonyítás. Ha R végtelen, és f*=g*, akkor f és g végtelen sok helyen megegyezik (mert R minden elemén megegyezik). Tehát az azonossági tétel miatt f=g. Ha R véges, akkor csak véges sok függvény van R-ből R-be, tehát csak véges sok polinomfüggvény van. Polinom viszont végtelen sok van, tehát nem tartozhat minden polinomhoz más és más polinomfüggvény. □
A polinomfüggvények tárgyalását ezzel befejeztük. Ezentúl f*(r) helyett egyszerűen f(r)-rel jelöljük majd az f polinom r helyen felvett értékét.
Megjegyzés
A Maple programban a solve paranccsal kereshetjük meg polinomok gyökeit. Ha a közelítő numerikus értékekre is kíváncsiak vagyunk, akkor az evalf parancsot használhatjuk.
solve(x^3+1, x);
1/2 1/2
-1, 1/2 + 1/2 I 3 , 1/2 - 1/2 I 3 evalf(solve(x^3+1, x));
-1., .5 + .866 I, .5 - .866 I
Zárásként röviden, két feladat formájában, megemlítjük az interpoláció problémáját. Olyan polinomfüggvényt fogunk keresni, amely adott helyeken adott értékeket vesz föl. Ezek a helyek egy T test páronként különböző elemei, jelölje őket a1,..., an, a felveendő értékeket pedig b1,...,bn. Az azonossági tétel miatt a legfeljebb n-1-edfokú polinomok között legfeljebb egy olyan f polinom létezik, melyre f(aj)=bj minden j-re. Meg fogjuk mutatni, hogy mindig van ilyen polinom. A legegyszerűbb konstrukció a Lagrange-interpoláció, amit a következő gyakorlatban írunk le.
2.4.12. Gyakorlat. [Lagrange-interpoláció] Tegyük föl, hogy a1,a2,...,an egy T test páronként különböző elemei.
1. Melyek azok az n-1-edfokú polinomok, melyeknek az aj kivételével az a1,..., an mindegyike gyöke?
2. Melyik az az fj polinom, ami ezen kívül még azt is teljesíti, hogy fj(aj)=1? (Ezek az úgynevezett Lagrange-féle alappolinomok.)
3. Ha b1,..., bn∈ T, akkor hogyan lehet az fj polinomokból és a bj elemekből egy olyan f polinomot összekombinálni, amelyre f(aj)=bj minden j-re?
E módszer előnye, hogy a keresett interpolációs polinomra képletet kapunk. Hátránya viszont a következő.
Képzeljük el, hogy az interpoláció célja az, hogy mérési eredményekhez polinomot illesszünk. Ha új mérési eredmény érkezik, akkor a Lagrange-féle technikával elölről kell kezdenünk a számolást. Newton módszere azt teszi lehetővé, hogy a már meglevő polinomunkat úgy módosítsuk, hogy az új helyen is a kívánt értéket vegye föl.
2.4.13. Gyakorlat. [Newton-interpoláció] Tegyük föl, hogy az f polinom legfeljebb n-2-edfokú, és f(aj)=bj, ha j=1,2,..., n-1.
1. Mi az általános alakja az olyan n-1-edfokú g polinomoknak, melyekre (f+g)(aj)=bj minden j=1,2,..., n-1 esetén?
2. Hogyan kell g-t megválasztani, hogy (f+g)(an)=bn is teljesüljön?
Többváltozós függvényeket többhatározatlanú polinomokkal lehet interpolálni, erről a 2.6.11. Feladatban lesz szó.
2.4.14. Gyakorlat. Adjunk meg olyan legfeljebb harmadfokú komplex együtthatós polinomot, amelyre f(0)=3, f(1)=3, f(4)=15 és f(-1)=0.
Megjegyzés
Az előző gyakorlatot a következő Maple-parancsok segítségével oldhatjuk meg:
with(CurveFitting):
PolynomialInterpolation([[0,3],[1,3],[4,15],[-1,0]],x);
Gondolkodjunk!
2.4.15. Gyakorlat. A Horner elrendezés segítségével döntsük el, hogy a 2 szám gyöke-e az f(x)=x6-4x4+x3-x2+4 polinomnak, és írjuk is föl f(x)-et (x-2)g(x)+f(2) alakban.
2.4.16. Gyakorlat. Az n-edfokú f(x) polinomba behelyettesítjük a b számot. Hány szorzásra van szükség f(b) kiszámításához, ha
1. egyáltalán nem trükközünk;
2. a b hatványait előre kiszámoljuk;
3. a Horner-elrendezést használjuk?
2.4.17. Gyakorlat. Az ak-bk=(a-b)(ak-1+ak-2b+... +bk-1) azonosság felhasználásával adjunk új bizonyítást a gyöktényező kiemelhetőségéről szóló tételre (2.4.6. Állítás). Mutassuk meg azt is, hogy ha f egész együtthatós, akkor a-b∣ f(a)-f(b) minden a, b egészre.
2.4.18. Feladat. Igazoljuk, hogy ha R szokásos gyűrű és b∈ R, akkor minden f∈ R[x] polinom egyértelműen fölírható x-b polinomjaként, melynek foka ugyanaz, mint az f foka.
2.4.19. Feladat. Mely m-ekre van ℤm[x]-ben olyan polinom, amelynek több gyöke van, mint a foka?
2.4.20. Feladat. Létezik-e olyan f∈ ℤ[x] polinom, melyre f(10)=400, f(14)=440 és f(18)=520?
2.4.21. Feladat. Tegyük föl, hogy n egész alapponthoz keresünk interpolációs polinomot, és az itt felvett értékek maguk is egészek, de a kapott legfeljebb n-1-edfokú interpolációs polinom mégsem egész együtthatós.
Lehetséges-e, hogy az interpoláció egy magasabb fokú, de egész együtthatós polinommal is elvégezhető?
2.4.22. Feladat. Tegyük föl, hogy az f∈ ℂ[x] polinom minden racionális helyen racionális értéket vesz föl.
Következik-e ebből, hogy f racionális együtthatós? Igaz-e az állítás, ha „racionális” helyett mindenütt „egész”
szerepel?
2.4.23. Feladat. Tegyük föl, hogy az f∈ ℂ[x] polinomhoz létezik olyan r valós szám, hogy az r-nél nagyobb egész helyeken f egész értéket vesz föl. Igazoljuk, hogy akkor f minden egész helyen egész értéket vesz föl.
2.4.24. Feladat. Tegyük föl, hogy az f∈ ℂ[x] polinom foka n, és n+1 egymást követő egész helyen egész értéket vesz föl. Igazoljuk, hogy léteznek olyan c0,...,cn egész számok, hogy
Megjegyzés
Így ha az n-edfokú f polinom n+1 egymást követő egész helyen egész értéket vesz föl, akkor minden egész helyen egész értéket vesz föl. Ez élesítése a 2.4.23. Feladat állításának.
2.4.25. Feladat. Legyen g(x)∈ ℂ[x] az a lehető legalacsonyabb fokú polinom, amelyre g(j)=2j minden 0≤ j≤ 10 esetén. Számítsuk ki g(11) értékét.
2.4.26. Feladat. Ha az f∈ ℤ[x] polinom négy különböző egész helyen is felveszi az 5 értéket, akkor felveheti-e egy egész helyen a 12-t?
2.4.27. Feladat. Mutassuk meg, hogy ha R kommutatív, egységelemes gyűrű, amely fölött az interpoláció korlátlanul elvégezhető, akkor R test.
2.4.28. Gyakorlat. Legyen R (mint eddig is) kommutatív, egységelemes gyűrű. Ellenőrizzük az alábbi állításokat.
1. Az R-ből R-be menő függvények egységelemes, kommutatív gyűrűt alkotnak a pontonkénti összeadásra és szorzásra (2.4.3. Definíció), ami nem nullosztómentes.
2. A pontonkénti összeadás és szorzás nem vezet ki a polinomfüggvények közül, és azok is egységelemes, kommutatív gyűrűt alkotnak erre a két műveletre.
3. Ha b∈ R egy rögzített elem, akkor az f↦ f*(b) leképezés összeg- és szorzattartó az R[x] és az R gyűrűk között (röviden: a bbehelyettesítése gyűrűhomomorfizmus).
4. Igazoljuk, hogy az f↦ f* leképezés összeg- és szorzattartó az R[x] és a polinomfüggvények gyűrűje között (azaz a polinomfüggvény képzése gyűrűhomomorfizmus).
2.4.29. Feladat. Legyen R a valós számokon értelmezett, valós értékű függvények gyűrűje a pontonkénti műveletekre. Mutassuk meg, hogy R-nek van olyan S részgyűrűje, amely egységelemes, de S egységeleme nem ugyanaz, mint R egységeleme. Előfordulhat ez a jelenség nullosztómentes R gyűrűben is? (Lásd a 2.2.36.
Gyakorlatot is.)
2.4.30. Gyakorlat. Álljon R a ℤ[x] polinomgyűrű azon polinomjaiból, amelyek konstans tagja nulla (ez nyilván részgyűrű), és legyen S tetszőleges (nem feltétlenül kommutatív) gyűrű, melyben rögzítünk egy s elemet. Bizonyítsuk be, hogy az a θ:R→ S leképezés, amely az f(x)=a1x+... +anxn polinomhoz az f*(s)=a1s+...
+ansn∈ S elemet rendeli, összeg- és szorzattartó, azaz gyűrűhomomorfizmus. Mutassuk meg azt is, hogy ha S egységelemes, és egységeleme e, akkor az f(x)=a0+a1x+... +anxn∈ ℤ[x] polinomhoz az f*(s)=a0e+a1s+... +ansn∈ S elemet rendelve egy ℤ[x]→ S gyűrűhomomorfizmust kapunk. E homomorfizmusok neve szintén az sbehelyettesítése.