Tarinoita polynomeista (osa 2)
Jukka Tuomela
Itä-Suomen yliopisto, Joensuu
jukka.tuomela@uef.fi
Kertaus
Jatketaan siitä mihin kirjoituksessa [7] jäätiin. Lukijalta oletetaan, että hän tietää mitä tarkoittaa polynomien yhteen- ja kertolasku, ja lisäksi toisen asteen polynomin ratkaisukaava oletetaan tunnetuksi. Tekstissä viitataan algebran peruslauseeseen ja jakolaskualgoritmiin, jotka on esitetty kirjoituksessa [7].
Erinomainen kirja polynomeista kiinnostuneille on [3], ja erityisesti tämän kirjoituksen asioista löytyy lisätietoa kirjoista [2, 6]. wxMaxima, jonka avulla esimerkkejä voi helposti laskea, on vapaasti saatavilla oleva symbolisen laskennan ohjelmisto.1
Myös Sage on ilmainen ohjelmisto, jolla voi laskea sekä symbolisesti että numeerisesti [1].2 Jäljempänä olevat tehtävät voi helposti laskea myös Sagen avulla. Samoin Wolfram Alphalla voi kätevästi laskea polynomeilla.3
Esimerkkeinä on taas käytetty matematiikkakilpailusivun tehtäviä.4
Juurilauseketehtävät ovat polynomitehtäviä
Juurilausekkeet ovat monella tavalla ongelmallisia. Jokainen, joka on edes vähän käyttänyt symbolisen laskennan ohjelmistoja, tietää, että ohjelmistot usein eivät käsittele juurilausekkeita niin kuin käyttäjä haluaisi. Jos \(i\) on imaginaariyksikkö, niin esimerkiksi ohjelmisto saattaa tulkita, että \(\sqrt{1-x}=i\sqrt{x-1}\), mikä tuskin on käyttäjän tarkoitus.
Johtopäätös on, että juurilausekkeita pitää välttää, ja kun on päässyt näin pitkälle, niin huomaa, että useimmiten ne ovatkin tarpeettomia. Laskut kannattaa tehdä polynomeilla, jolloin voidaan edetä algoritmisesti. Itse asiassa juurilausekkeita harvoin esiintyy missään “luonnollisessa” matemaattisessa ongelmassa. Matematiikan tehtävissä esiintyy juurilausekkeita, koska niitten käsittely on hankalaa, ja halutaan opettaa tätä: luodaan siis ongelmia sinne missä niitä ei välttämättä ole.
Tavallaan voisi sanoa, että juurilauseketehtävät ovat polynomitehtäviä, joissa ratkaisijan pitää etsiä se oleellinen polynomi, jonka tehtävän laatija on piilottanut. Katsotaan esimerkki tällaisesta tapauksesta.
Esimerkki 1. Matematiikan olympiavalmennuksen helmikuun 2020 valmennustehtävissä piti ratkaista yhtälö
\[\sqrt{a+x}+\sqrt{a-x}=x. \tag{1}\]
Lähes sama tehtävä oli ylioppilaskirjoituksissa keväällä 1978, kansainvälisissä matematiikkaolympialaisissa vuonna 1963 sekä Youtubessa.5 Youtuben tehtävä oli siinä mielessä erilainen, että siinä oli vain kompleksisia ratkaisuja.
Neliöjuuritehtävissä perinteisesti lähdetään liikkeelle siitä, että katsotaan milloin neliöjuuret ovat reaalisia, mutta nyt ei välitetä siitä tässä vaiheessa. Lasketaan ensin tehtävä yleisesti, ja lopuksi voidaan sitten katsoa mitä ratkaisuja halutaan.
Juurilausekkeista päästään eroon seuraavasti. Otetaan käyttöön apumuuttujat \(u\) ja \(v\), joitten avulla alkuperäistä yhtälöä vastaa seuraava systeemi.
\[\begin{align*} f_0&=x-u-v=0\\ f_1&=u^2-a-x=0\\ f_2&=v^2-a+x=0. \end{align*}\]
Tavoitteena on nyt eliminoida muuttujat \(u\) ja \(v\), jolloin jäljelle jää jokin polynomiyhtälö muuttujalle \(x\). Eliminoinnin idea on, että systemaattisesti kumotaan halutun muuttujan isoin termi. Ennemmin tai myöhemmin muuttujan potenssi on nolla, jolloin kyseistä muuttujaa ei enää esiinny.
Eliminoidaan ensin \(u\).
\[\begin{align*} f_3&=uf_0+f_1=(x-v)u-x-a\\ f_4&=(x-v)f_0+f_3= v^2-2xv+x^2-x-a. \end{align*}\]
Sitten eliminoidaan \(v\). Ensin lasketaan
\[f_4-f_2=-2xv+x^2-2x=x\big(x-2v-2\big).\]
Saatiin kaksi tapausta: joko \(x=0\) tai \(f_5=x-2v-2=0\). Jatketaan \(v\):n eliminointia jälkimmäisessä tapauksessa.
\[\begin{align*} f_6&=2f_4+vf_5= -(3x+2)v+2x^2-2x-2a\\ f_7&=2f_6-(3x+2)f_5= x^2-4a+4. \end{align*}\]
Päädyttiin siis siihen, että jos \(x\) on yhtälön (1) ratkaisu, niin joko \(x=0\) tai \(x^2-4a+4=0\). Huomaa, että parametri \(a\) olisi yhtä hvyin voinut olla kompleksiluku; tämä ei vaikuta laskuihin mitenkään. Voisikin todeta jo tässä vaiheessa, että tehtävä on ratkaistu.
Kuitenkin juurilauseketehtävissä on tapana enemmän tai vähemmän keinotekoisesti rajoittaa haluttujen ratkaisujen joukkoa. Katsotaan siis vielä, mitkä näistä ratkaisuista ovat tehtävän laatijan mielestä hyväksyttäviä ratkaisuja.
Alkuperäisessä tehtävässä ajateltiin, että neliöjuuret ovat ei-negatiivisia, joten \(u\ge0\) ja \(v\ge0\), mistä sitten seuraa, että myös \(x\ge 0\).
Jos \(x=0\), niin \(u=-v\) ja \(u^2=v^2=a\). Vastaus \(x=0\) voidaan hyväksyä vain, jos \(a=0\).
Jos taas \(x^2-4a+4=0\) ja halutaan reaalisia ratkaisuja, niin \(a\ge 1\). Edelleen yhtälöstä \(f_5=0\) saadaan, että \(v=-1+x/2\). Mutta jos \(1\le a<2\), niin \(v<0\), joten pitää itse asiassa vaatia, että \(a\ge 2\).
Yhdistämällä nämä tapaukset voidaan sanoa, että yhtälö (1) on ekvivalentti seuraavan tehtävän kanssa:
Olkoon annettu \(\hat f=x(x^2-4a+4)\); etsi sellaiset nollakohdat, joille joko \(x> 0\) ja \(a\ge 2\) tai \(x\ge 0\) ja \(a=0\).
Näin muotoiltuna tehtävä tietysti vaikuttaa oudolta. Toisaalta voisi sanoa, että juurilauseketehtävät lähtökohtaisesti ovat outoja sen jälkeen, kun ne on muotoiltu “oikein”. \(\Box\)
Katsotaan sitten toinen samantyyppinen tehtävä.
Esimerkki 2. Tämä ongelma esitettiin YouTubessa:6
\[x= \sqrt[3]{8+3\sqrt{21}}+\sqrt[3]{8-3\sqrt{21}} =\: ?\]
Heti nähdään numeerisesti, että \(x\) on lähellä ykköstä, joten varmaankin \(x=1\), mutta miten tämän voisi osoittaa?
Edetään kuten äskeisessä esimerkissä, ja tarkastellaan seuraavaa tehtävää.
\[\begin{align*} x&=u+v\\ f_1&= u^3-8-3w=0\\ f_2&= v^3-8+3w=0\\ f_3&= w^2-21=0. \end{align*}\]
Tässäkin voitaisiin systemaattisesti eliminoida muuttujat \(u\), \(v\) ja \(w\), mutta edetään nyt suoremmin. Koska \(f_1+f_2=u^3+v^3-16\), niin
\[\begin{align*} x^3&=(u+v)^3=u^3+3u^2v+3uv^2+v^3\\ &=3uv(u+v)+16=3uvx+16. \end{align*}\]
Termi \(uv\) saadaan seuraavasti:
\[\begin{align*} f_1f_2+&8(f_1+f_2)-3w(f_1-f_2)-9f_3\\ &=u^3v^3+125=0. \end{align*}\]
Jos halutaan, että \(uv\) on reaalinen, niin \(uv=-5\) ja saatiin siis
\[x^3+15x-16=(x-1)(x^2+x+16)=0,\]
joten voidaan kirjoittaa
\[\sqrt[3]{8+3\sqrt{21}}+\sqrt[3]{8-3\sqrt{21}}=1.\\ \tag*{$\Box$}\]
Mutta onko vastaus itse asiassa \(x=1\)? Tuossahan laskettiin, että \(x^3+15x-16=0\). Eikö silloin lausekkeen \(\sqrt[3]{8+3\sqrt{21}}+\sqrt[3]{8-3\sqrt{21}}\) pitäisi kuvata yhtä hyvin polynomin \(g=x^2+x+16\) nollakohtia? Mihin nämä nollakohdat hävisivät? Itse asiassa
\[x= \sqrt[3]{8+3\sqrt{21}}+\sqrt[3]{8-3\sqrt{21}} \tag{2}\]
on ratkaisukaava polynomin \(f=x^3+15x-16\) nollakohdille, joka keksittiin Italiassa 1500-luvulla. Tätä kaavaa ei ole tapana opettaa, eikä sitä ole syytäkään opettaa, juuri tuon äskeisen ongelman takia: kaavan pitäisi kuvata kaikkia kolmea nollakohtaa yhtäaikaa. Lisäksi tietyissä tapauksissa kaavassa pitää ottaa neliöjuuri negatiivisesta luvusta, vaikka selvästi haluttu nollakohta on reaalinen. Huomattiin kuitenkin, että jos vain laskee käyttäen kaavaa \((\sqrt{-1})^2=-1\), niin saadaan lopulta oikea vastaus. 1500-luvulla negatiiviset luvutkin olivat vielä vähän epäilyttäviä, joten oltiin täysin valmistautumattomia kohtaamaan kompleksilukuja.
Joka tapauksessa ratkaisukaavan löytyminen sai paljon huomiota, joten käsitteellisistä ongelmista huolimatta matemaatikot yrittivät sitten löytää ratkaisukaavoja yleisessä tapauksessa. Pian löydettiinkin ratkaisukaava neljännen asteen polynomille, käyttäen samoja ideoita kuin kolmannen asteen tapauksessa.
Tämän jälkeen ratkaisukaavoja ei enää löytynytkään, ja luultavasti jo 1700-luvulla, lukuisten epäonnistuneitten yritysten jälkeen, epäilys alkoi kasvaa, että ratkaisukaavoja ei aina voitaisi löytää. Lopulta Galois 1800-luvun alkupuolella osoitti tämän. Mutta jo parikymmentä vuotta aikaisemmin Gauss oli jo vakuuttunut tästä [5, s. 71]:
Parhaat matemaatikot ovat ponnistelleet vuosia algebrallisten yhtälöitten parissa, mutta on vain vähän toivoa, että ratkaisu löytyisi. On yhä todennäköisempää, että ratkaisu on mahdoton yleisessä tapauksessa.
Äskeisen esimerkin huvittava piirre on se, että ratkaisukaava esitetään ongelmana, ja ongelman ratkaisu perustuu siihen, että löydetään polynomi, jolle se ei ole ratkaisukaava.
Itse asiassa Galois’n tulos osoitti myös paljon laajemmin, että ratkaisukaavat ovat oikeastaan hyödyttömiä, ja polynomien tutkimisessa mielenkiinto pitäisi suunnata muualle.
Paradoksaalisesti siis ratkaisukaavojen etsiminen vaikutti merkittävästi (polynomi)algebran kehitykseen, kunnes sitten lopulta huomattiin, ettei niillä tee mitään. Miten sitten polynomin nollakohtia pitäisi analysoida?
Mitä tarkoittaa polynomin nollakohtien ratkaiseminen?
Edellä olevissa esimerkeissä oli kyseessä polynomien nollakohtien ratkaiseminen, vaikka tehtävät olikin muotoiltu siten, että tätä ei suoraan sanottu. Yleisesti ottaen polynomin nollakohtia ei tunneta, mutta jos esimerkiksi \(g=x^2-2\), niin on tapana sanoa, että tämän nollakohdat ovat \(\pm\sqrt{2}\). Mutta mitä tämä oikeastaan tarkoittaa? Kun katsoo asiaa toisesta näkökulmasta, niin voitaisiin sanoa, että tässä ei oikeastaan ratkaista nollakohtia, vaan pikemminkin nimetään nollakohdat. Yhtä hyvin voitaisiin kirjoittaa: \(g\):n nollakohdat ovat \(\pm\alpha\), missä \(\alpha\) on luku, jolle pätee \(\alpha^2-2=0\). Samoin edellä ollut ratkaisukaava (2) on tavallaan vain eräs (huono) tapa nimetä polynomin \(f=x^3+15x-16\) nollakohdat.
Jo Gauss oli tullut siihen tulokseen, että ratkaisukaavoissa on kyse nimeämisestä eikä varsinaisesta ratkaisusta [5]. Hän sanoi, että jos on annettu yhtälö \(x^n=a\) ja sitten sanotaan, että sen “ratkaisu” on \(x=\sqrt[n]{a}\), niin eihän tässä ole muuta tehty kuin keksitty uusi merkintätapa, siis nimetty yksi nollakohta. Yhtä hyvin voitaisiin kirjoittaa, että \(x=\alpha\) on “ratkaisu”, jossa siis tautologisesti \(\alpha\) on luku, jolle pätee \(\alpha^n=a\).
Mutta jos “ratkaisun” sijaan vain “nimetään” nollakohtia, niin mitä iloa tästä sitten voisi olla? Osoittautuu, että tämä on ehkäpä yllättävänkin hyödyllinen idea. Moran mukaan [6] Kronecker sitten varsinaisesti kehitti systemaattisesti tätä uutta näkökulmaa. Mora kutsuu tätä Kroneckerin filosofiaksi, ja hän tiivistää sen idean näin:
Koska ei voi laskea nollakohtia, niin yritetään kuitenkin laskea nollakohdilla.
Nimetään siis nollakohdat sillä tavalla järkevästi, että niillä voi laskea.
Tavallaan tämän idean pitäisi olla tuttu: neliöjuurimerkintää on käytetty jo satoja vuosia, ja kouluissa on opetettu, että symbolin \(\sqrt{2}\), siis polynomin \(g=x^2-2\) nollakohdan, avulla voidaan laskea seuraavasti:
\[\begin{align*} (a+b\sqrt{2})(c+d\sqrt{2})&=ac+(ad+bc)\sqrt{2}+bd(\sqrt{2})^2\\ &=ac+2bd+(ad+bc)\sqrt{2}. \end{align*}\]
Symboli \(\sqrt{2}\) ei siis oikeastaan ole reaaliluku, vaan jokin algebrallisesti määritelty luku, jolle pätee \((\sqrt{2})^2=2\). Aivan samoin lasketaan kompleksiluvuilla: luku \(i\) on polynomin \(g_i=x^2+1\) nollakohta, joten
\[\begin{align*} (a+bi)(c+di)&=ac+adi+bci+bdi^2\\ &=ac-bd+(ad+bc)i. \end{align*}\]
Luku \(\sqrt{2}\) on siis olemassa samalla tavalla kuin imaginaariyksikkö \(i\). Tässä ehkä lukijalla herää epäilys, että voidaanko noin vain nollakohtia ikään kuin luoda tyhjästä. Tähän ei olekaan mitään yksinkertaista vastausta. Kuitenkin monilla matematiikan alueilla, esimerkiksi differentiaaliyhtälöitten teoriassa, on esiintynyt tilanteita, joissa ratkaisua ei ole olemassa siellä missä sen “pitäisi olla” tai missä sen luultiin olevan tai missä sen haluttiin olevan. Tällöin on sitten yritetty etsiä ratkaisua “jostain muualta”, mutta tietenkin pitää myös perustella, että tämä muualta tullut ratkaisu on jotenkin järkevä.
Joka tapauksessa voidaan osoittaa [6, section 5.5]:
nimeämällä saadut nollakohdat voidaan samaistaa algebran peruslauseen avulla saatujen (reaalisten ja kompleksisten) nollakohtien kanssa.
Tässä on tietysti laajemminkin ongelmana se, mitä tarkoitetaan, kun sanotaan, että jokin matemaattinen objekti, kuten reaaliluku, vektori jne, “on olemassa”. Tätä, ja paljon muuta on mielenkiintoisesti pohdittu kirjassa [4], mutta sivuutetaan tässä nämä filosofiset ongelmat ja lähestytään asiaa käytännöllisesti. Todetaan vain, että \(i\) ja \(\sqrt{2}\) ovat olemassa, koska niillä voi järkevästi laskea. Reaali- ja kompleksiluvuilla ei voi laskea, mutta hyväksytään nyt niittenkin olemassaolo muista syistä.7
Katsotaan sitten eräs esimerkki, jossa nollakohdilla lasketaan. Tätä sitten hyödynnetään, kun ratkaistaan jäljempänä olevia tehtäviä. wxMaximassa jakolasku saadaan komennolla divide.
Esimerkki 3. Olkoon annettu
\[f=x^6-2x^5+7x^4+x^3-3x^2+5x+1.\]
Mikä on \(f(-11/7)\) ? Luonnollisesti \(x\):n paikalle voi sijoittaa luvun \(-11/7\) ja laskea tavalliseen tapaan. Olkoon kuitenkin \(g_0=7x+11\), jolloin \(-11/7\) on \(g_0\):n nollakohta. Nyt jakolaskualgoritmin avulla
\[f=q_0(7x+11)+\frac{6913306}{117649}.\]
Siis \(f(-11/7)=6913306/117649\). Tässä osamäärällä \(q_0\) ei ole merkitystä, ja voitaisiinkin kirjoittaa, kuten kokonaislukujen tapauksessa:
\[f= \frac{6913306}{117649} \ \mod\ 7x+11.\]
Jätän harjoitustehtäväksi sen pohtimisen, kumpi tapa laskea polynomin arvo on nopeampi, perinteinen vai jakolaskuun perustuva.
Entäpä mikä on \(f(\sqrt{2})\)? Nyt viimeistään kannattaa luopua merkinnästä \(\sqrt{2}\) ja kirjoitetaan: olkoon \(\alpha\) polynomin \(g_1=x^2-2\) nollakohta, siis luku, jolle pätee \(\alpha^2-2=0\). Tämä on parempi sen takia, että nyt voidaan, jos niin halutaan, määritellä polynomi \(g_\alpha=\alpha^2-2\), jossa \(\alpha\) tulkitaan muuttujaksi. Juuri tällainen tilanne tulee vastaan seuraavissa esimerkeissä. Symbolin \(\sqrt{2}\) tulkitseminen muuttujaksi voisi aiheuttaa tarpeetonta hämmennystä.
Jakolaskulla saadaan nyt:
\[f=(x^4 - 2x^3 + 9x^2 - 3x + 15)(x^2-2) -x + 31,\]
joten \(f(\alpha)=-\alpha+31\). Samalla tavalla voidaan laskea \(f\):n arvo minkä tahansa polynomin nollakohdassa. Olkoon \(g_2=x^3-3\) ja olkoon \(\beta\) tämän polynomin nollakohta. Jakolasku antaa nyt
\[\begin{align*} f&=(x^3 - 2x^2 + 7x + 4)(x^3-3) -9x^2 + 26x + 13\\ & \phantom{n}\Longrightarrow\quad f(\beta)=-9\beta^2+26\beta+13.\\ \tag*{$\Box$} \end{align*}\]
Esimerkki 4. Matti Lehtisen tehtäväkokoelmassa Kilpailumatematiikan lajeja ja periaatteita oli seuraava tehtävä.
Olkoon \(\alpha\) polynomin \(f=x^6-18x^3+1\) reaalinen nollakohta. Laske \(\alpha^4+1/\alpha^4\).
Myös Solmun tehtäväkokoelmassa (Solmu 3/2021) oli käytännössä sama tehtävä:
Olkoon \(\alpha\) polynomin \(\hat f=x^4-7x^2+1\) positiivinen nollakohta. Laske \(\alpha^5+1/\alpha^5\).
Kummankin tehtävän alkuperäinen muotoilu oli hiukan toinen. Esimerkiksi Lehtinen kirjoitti: “reaaliluvulle \(x\) on voimassa \(x^3+1/x^3=18\)”. Tässä ratkaisijaa hämätään käyttämällä nollakohdalle ja muuttujalle samaa symbolia. Nämä kuitenkin pitäisi pitää erillään, koska ratkaisu perustuu tekijöihinjakoon, ja tällöin nollakohdalla täytyy olla eri symboli kuin muuttujalla.
Joka tapauksessa molemmat tehtävät ratkeavat yhtäaikaa, koska tehtävien polynomeilla on yhteinen tekijä:
\[\begin{split} f&=(x^2-3x+1)(x^4+3x^3+8x^2+3x+1)\\ \hat f&=(x^2-3x+1)(x^2+3x+1). \end{split} \tag{3}\]
Tehtävissä on siis eri polynomi, mutta sama \(\alpha\). Lukija kenties ihmettelee, miten kahdessa eri tehtävässä on sattumalta sama tekijä. Vai onko se sittenkään sattumaa? Tämän voi ajatella niin, että tehtävän laatija on mennyt yli siitä mistä aita on matalin. Jos lähdetään liikkeelle tekijästä \(x^2+ax+b\) ja etsitään yksinkertaisinta sopivaa tapausta, niin ensin valitaan \(b=1\). Sitten huomataan, että jos \(a= \pm1\), niin nollakohdat olisivat kompleksisia. Toisaalta jos \(a= \pm 2\), niin tällöin kyseessä olisi kaksinkertainen nollakohta. Siis \(x^2\pm 3x+1\) on tavallaan yksinkertaisin mahdollinen tilanteeseen sopiva polynomi.
wxMaximalla tekijät saadaan suoraan komennon factor avulla. Katsotaan nyt ensin, miten tehtävä ratkeaa, kun tekijät tiedetään, ja vasta sitten, miten tekijät voitaisiin löytää, jos komentoa factor ei ole käytössä.
Polynomin \(f\) reaaliset nollakohdat \(\alpha\) ja \(\beta\) ovat polynomin \(g=x^2-3x+1\) nollakohdat ja selvästi pätee
\[\beta=3-\alpha=1/\alpha.\]
Molemmat reaaliset nollakohdat antavat saman tuloksen:
\[\alpha^4+\frac{1}{\alpha^4}=\alpha^4+\beta^4=\frac{1}{\beta^4}+\beta^4.\]
Sitten vain lasketaan. Koska \(1/\alpha=3-\alpha\), niin
\[\alpha^4+\frac{1}{\alpha^4}=\alpha^4+(3-\alpha)^4.\]
Olkoon nyt
\[f_0=x^4+(3-x)^4.\]
Kuten esimerkissä 3, halutaan laskea \(f_0(\alpha)\). Jakamalla \(g\):llä saadaan
\[f_0=(2x^2-6x+34)(x^2-3x+1)+47,\]
joten \(f_0(\alpha)=47\). Solmun tehtävässä määritellään \(f_1=x^5+(3-x)^5\), mistä sitten jakamalla saadaan
\[f_1=(15x^2-45x+120)(x^2-3x+1)+123,\]
joten \(f_1(\alpha)=123\).
Kompleksiset nollakohdat antavat eri tuloksen ja vastaukset eivät ole rationaalilukuja. \(\Box\)
Tehtävästä voisi ehkä saada käsityksen, että nollakohtien reaalisuus oli jotenkin oleellista, mutta näin ei ole. Vastaus on yksinkertainen sen takia, että löydettiin toisen asteen polynomi, joka oli annetun polynomin tekijä, ja reaaliset nollakohdat olivat tämän tekijän nollakohdat. Jätänkin harjoitustehtäväksi seuraavan jatkokysymyksen.
Olkoon \(\alpha\) polynomin \(f=x^6-286\,x^3/343+1\) nollakohta. Laske \(\alpha^4+1/\alpha^4\).
Ennen kuin katsotaan miten polynomien \(f\) ja \(\hat f\) tekijät löydetään, niin katsotaan kuutiojuurien nimeämistä. Tätä tarvitaan myös viimeisessä esimerkissä.
Olkoon \(h=x^2+x+1\) ja sanotaan, että \(h\):n nollakohta on \(\omega\), missä \(\omega^2+\omega+1=0\). Mutta \(h\):lla on kaksi nollakohtaa, ja nyt selvästi toinen on \(-\omega-1\), koska
\[(x-\omega)(x+\omega+1)=x^2+x-\omega^2-\omega= x^2+x+1.\]
Lisäksi \(\omega\ne -\omega-1\), koska \(-1/2\) ei ole \(h\):n nollakohta. Tässäkään ei tarvitse tietää mitään algebran peruslauseesta, mikä onkin hyvä merkki: jos vältetään epäkonstruktiivisia ideoita, niin silloin oikeasti voidaan laskea jotain.
Jos käytetään toisen asteen yhtälön ratkaisukaavaa, havaitaan, että polynomin \(h=x^2+x+1\) nollakohdat ovat kompleksisia. Mutta \(\omega\) ei oikeastaan ole kompleksiluku, vaan se on määritelty kuten \(\sqrt{2}\) ja \(i\) edellä, ja voidaan laskea esimerkiksi
\[\begin{align*} (a+b\omega)(c+d\omega)&=ac+ad\omega+bc\omega+bd\omega^2\\ &= ac-bd+(ad+bc-bd)\omega. \end{align*}\]
Luvun \(\omega\) avulla voidaan nyt nimetä kuutiojuuret. Olkoon \(f_2=x^3-3\); tämän nollakohtaa on tapana merkitä symbolilla \(\sqrt[3]{3}\). Mutta \(f_2\):llä on kolme nollakohtaa, joten tuon merkinnän avulla ei voida puhua niistä erillisinä lukuina. Nyt \(\pm\) merkintä ei auta, koska on kolme eri vaihtoehtoa. En tiedä onko joku kenties ehdottanut jonkinlaista kolmoisetumerkkiä, kuten vaikkapa
\[{{\sharp\atop\natural}\atop\flat} \sqrt[3]{3}.\]
Neljänsien ja korkeampien juurien merkinnöissä sitten pitäisi keksiä vielä luovempia yritelmiä.
Kolmoisetumerkin sijaan käytetään lukua \(\omega\). On helppo tarkistaa, että \(\omega^3=(-\omega-1)^3=1\). Esimerkiksi
\[\omega^3=\omega\omega^2=-\omega(1+\omega)= -\omega-\omega^2=1.\]
Nyt \(f_2\):n nollakohdat saadaan helposti. Olkoon \(\beta\) luku, jolle pätee \(\beta^3-3=0\). Kaksi muuta nollakohtaa ovat \(\omega\beta\) ja \(-(\omega+1)\beta\), koska
\[\begin{align*} &\big(\omega\beta\big)^3=\omega^3\beta^3=\beta^3=3\\ &\big((-\omega-1)\beta\big)^3=-(\omega+1)^3\beta^3=\beta^3=3. \end{align*}\]
Polynomi \(f_2=x^3-3\) voidaan siis jakaa tekijöihin:
\[\begin{split} f_2&=x^3-3=(x-\sharp\sqrt[3]{3})(x-\natural\sqrt[3]{3})(x-\flat\sqrt[3]{3})\\ &=(x-\beta)(x-\omega\beta)(x+(\omega+1)\beta). \end{split} \tag{4}\]
Huomaa erityisesti, että nämä kolme nollakohtaa ovat erisuuria, ja tässä tekijöihinjaossa ei tarvinnut tietää mitään kompleksiluvuista tai algebran peruslauseesta.
Esimerkki 5. Katsotaan nyt miten yhtälössä (3) olevien polynomien tekijät voidaan löytää.
Olkoot \(\pm\alpha\) ja \(\pm \beta\) polynomin \(\hat f\) nollakohdat. Voidaan siis kirjoittaa
\[\hat f=(x-\alpha)(x+\alpha)(x-\beta)(x+\beta).\]
Koska \(\alpha^2\beta^2=1\), niin tästä saadaan
\[\hat f=(x-\alpha)(x+\alpha)(x-1/\alpha)(x+1/\alpha).\]
Merkitään \(a=\alpha+1/\alpha\), jolloin
\[\begin{align*} \hat f&=(x^2-ax+1)(x^2+ax+1)\\ &=x^4+(2-a^2)x^2+1=x^4-7x^2+1. \end{align*}\]
Siis \(a=\pm 3\).
Olkoot nyt \(\alpha\) ja \(\beta\) polynomin \(f\) reaaliset nollakohdat. Muut nollakohdat ovat
\[\alpha\omega\,,\ \beta\omega\,,\ -\alpha(\omega+1)\,,\ -\beta(\omega+1).\]
Kaikkien nollakohtien tulo on yksi, [7, kaava (4)], ja \(-\omega(\omega+1)=1\), joten \(\alpha^3\beta^3=1\). Koska oletuksen mukaan \(\alpha\) ja \(\beta\) ovat reaalisia, niin \(\alpha\beta=1\). Merkitään \(a=\alpha+\beta=\alpha+1/\alpha\). Tällöin siis
\[g_0= (x-\alpha)(x-\beta)=x^2-ax+1.\]
Koska \(\alpha\) ja \(\beta\) ovat \(f\):n nollakohtia, niin \(g_0\) on \(f\):n tekijä. Toinen tekijä on selvästi
\[g_1=x^4+bx^3+cx^2+dx+1\]
joillekin \(b\), \(c\) ja \(d\). Kertomalla auki saadaan
\[\begin{align*} f-&g_0g_1=(a-b)x^5+(ab-c-1)x^4 \mathop{+}\\ &(ac-d-b-18)x^3+(ad-c-1)x^2+(a-d)x. \end{align*}\]
Siispä \(b=d=a\) ja \(c=a^2-1\) ja \(a\):lle saadaan
\[a^3-3a-18=(a-3)(a^2+3a+6)=0,\]
joten \(a=3\).
Katsotaan vielä toinen tapa. Kirjoitetaan ensin
\[g_1=(x-\omega\alpha)(x-\omega\beta)(x+(\omega+1)\alpha)(x+(\omega+1)\beta).\]
Koska \(\alpha+\beta=a\), niin heti voidaan eliminoida \(\beta\), jolloin saadaan
\[\begin{align*} g_1&=(x-\omega\alpha)(x-\omega(a-\alpha))\\ &\phantom{nnnn}(x+(\omega+1)\alpha)(x+(\omega+1)(a-\alpha)). \end{align*}\]
Tulkitaan nyt luvut \(\omega\), \(\alpha\) ja \(a\) muuttujiksi, ja määritellään polynomit
\[\begin{align*} g_\omega&=\omega^2+\omega+1\\ g_\alpha&=\alpha^2-a\alpha+1. \end{align*}\]
Jaetaan sitten \(g_1\) polynomin \(g_\omega\) suhteen:
\[\begin{align*} g_1&=q_1g_\omega+r_1\\ r_1&= \alpha^4-2a\alpha^3+(x^2-ax+a^2)\alpha^2 \mathop{+}\\ &\phantom{nnnnn} ax(a-x)\alpha+x^2(x^2+ax+a^2). \end{align*}\]
Tulkitaan sitten, että \(\alpha\) on muuttuja, ja \(a\) ja \(x\) ovat parametreja, ja jaetaan \(g_\alpha\):n suhteen:
\[\begin{align*} r_1&=q_2g_\alpha+r_2\\ r_2&= x^4+ax^3+(a^2-1)x^2+ax+1.\\ \tag*{$\Box$} \end{align*}\]
Esimerkki 6. Matematiikkavalmennuksen tehtävä, syyskuu 2016.
Etsi sellainen kokonaislukukertoiminen polynomi, jolla on nollakohta \(\sqrt{2}+\sqrt[3]{3}\).
Tässä siis pitää etsiä polynomi, jonka “ratkaisukaava” on
\[x=\pm\sqrt{2}+ {{\sharp\atop\natural}\atop\flat}\sqrt[3]{3}. \tag{5}\]
Kun otetaan huomioon kaikki etumerkkikombinaatiot, niin huomataan, että lauseke \(\sqrt{2}+\sqrt[3]{3}\) voidaan tulkita kuudella eri tavalla. Haluttu polynomi ei voi “tietää”, mitä tulkintaa siltä vaaditaan, joten sillä täytyy olla nämä kaikki nollakohdat: sen täytyy olla varautunut kaikkeen! Polynomin aste on siis kuusi, ja jos nollakohdat ovat \(b_1,\dots,b_6\), niin vastaus on
\[f=(x-b_1)\cdots (x-b_6).\]
Nyt pitää vain nimetä luvut \(b_j\) ja kertoa auki.
Olkoon \(\alpha\) polynomin \(g=x^2-2\) nollakohta; käyttämällä lisäksi yhtälön (4) tekijöitä nähdään, että nollakohdat ovat
\[\begin{align*} &b_1=\alpha+\beta\ ,\ b_2=\alpha+\omega\beta\ ,\ b_3=\alpha-(\omega+1)\beta\\ &b_4=-\alpha+\beta\ ,\ b_5=-\alpha+\omega\beta\ ,\ b_6= -\alpha-(\omega+1)\beta. \end{align*}\]
Nyt vain lasketaan:
\[\begin{align*} h_1&=(x-b_1)(x-b_2)(x-b_3) =(x-\alpha)^3-3\\ &= x^3+6x-3-\alpha(3x^2+2)\\ h_2&=(x-b_4)(x-b_5)(x-b_6) =(x+\alpha)^3-3\\ &= x^3+6x-3+\alpha(3x^2+2). \end{align*}\]
Tästä sitten saadaan
\[\begin{align*} f&=h_1h_2=(x^3+6x-3)^2-2(3x^2+2)^2\\ &=x^6-6x^4-6x^3+12x^2-36x+1. \end{align*}\]
Täysin algoritmisesti vastaus saadaan seuraavasti. Tulkitaan taas \(\alpha\), \(\beta\) ja \(\omega\) muuttujiksi ja määritellään polynomit \(g_\alpha=\alpha^2-2\), \(g_\beta=\beta^3-3\) ja \(g_\omega=\omega^2+\omega+1\). Sitten lasketaan jakolaskualgoritmilla
\[\begin{align*} f&=q_0g_\omega+r_0\\ r_0&=x^6-3\alpha^2x^4-2\beta^3x^3+3\alpha^4x^2-6\alpha^2\beta^3x \mathop{+}\\ &\phantom{nnn}\beta^6-\alpha^6\\ r_0&=q_1g_\alpha+r_1\\ r_1&=x^6-6x^4-2\beta^3x^3+12x^2-12\beta^3x +\beta^6-8\\ r_1&=q_2g_\beta+r_2\\ r_2&=x^6-6x^4-6x^3+12x^2-36x+1. \end{align*}\]
Ensin suoritetaan jakolasku muuttujan \(\omega\) suhteen, sitten \(\alpha\):n ja lopuksi \(\beta\):n. Huomaa, että ei ole väliä, missä järjestyksessä tämä tehdään, siinä mielessä, että aina saadaan sama \(r_2\). Luonnollisesti \(r_0\) ja \(r_1\) riippuvat jakojärjestyksestä.
Tämä voidaan laskea wxMaximalla seuraavasti. Määritellään ensin polynomit:
\(\mathsf{ga:\alpha^2-2\,;\, gb:\beta^3-3}\,;\, \mathsf{go:\omega^2+\omega+1}\,;\)
wxMaximassa kaksoispiste on sijoitusoperaattori ja puolipiste tarkoittaa komennon päättymistä. Sitten määritellään polynomi, jota halutaan sieventää:
\[\begin{align*} \mathsf{f:}&\mathsf{(x-\alpha-\beta)\cdot(x-\alpha-\omega\cdot\beta)\cdot}\\ &\mathsf{(x-\alpha+(\omega+1)\cdot\beta) \cdot(x+\alpha-\beta)\cdot}\\ &\mathsf{(x+\alpha-\omega\cdot\beta)\cdot(x+\alpha+(\omega+1)\cdot \beta)} \end{align*}\]
Ratkaisu saadaan nyt komennon divide avulla:
qr:divide(f,ga,\(\alpha\)) ;
qr0:divide(qr[2],gb,\(\beta\)) ;
qr1:divide(qr0[2],go,\(\omega\)) ;
Haluttu polynomi on qr1[2].
Ratkaistaan tämä nyt aivan toisella tavalla eliminoinnin avulla, kuten esimerkeissä 1 ja 2. Olkoon siis
\[\begin{align*} f_0&=x-u-v\\ f_1&=u^2-2\\ f_2&=v^3-3. \end{align*}\]
Eliminoidaan muuttujat \(u\) ja \(v\), jolloin jäljelle jää haluttu polynomi. Huomaa erityisesti, että lasku on täysin algoritminen. Lisäksi tässä ei tarvitse välittää mistään rajoituksista muuttujien \(u\) ja \(v\) suhteen, toisin kuin esimerkissä 1, vaan päinvastoin tässä nimenomaan pitää sallia kaikki mahdolliset arvot.
Eliminoidaan ensin \(u\):
\[\begin{align*} f_3&=uf_0+f_1=(x-v)u-2\\ f_4&=(x-v)f_0+f_3=v^2-2xv+x^2-2. \end{align*}\]
Sitten eliminoidaan \(v\).
\[\begin{align*} f_5&=vf_4-f_2=-2xv^2+(x^2-2)v+3\\ f_6&=2xf_4+f_5=-(3x^2+2)v+2x^3-4x+3\\ f_7&=(3x^2+2)f_4+vf_6\\ &=(-4x^3-8x+3)v+3x^4-4x^2-4\\ f_8&=(-4x^3-8x+3)f_6+(3x^2+2)f_7\\ &=x^6-6x^4-6x^3+12x^2-36x+1. \end{align*}\]
Tämän toisen menetelmän mielenkiintoinen piirre on se, että sanaa nollakohta ei tarvitse edes mainita. \(\Box\)
Entäpä sitten jos haluttaisiin mennä toiseen suuntaan: jos on annettu polynomi
\[f=x^6-6x^4-6x^3+12x^2-36x+1,\]
niin miten voidaan tietää, että tällä polynomilla on “ratkaisukaava” (5)? Tähän ei ole mitään helppoa vastausta. Tähän liittyviä kysymyksiä on perusteellisesti käsitelty muun muassa kirjoissa [2, 6]. Avainsana on juurikunta (splitting field).
Jatkuu ensi numerossa
Jakolaskualgoritmi oli taas hyödyllinen työkalu, kuten viime kerrallakin. Usein itse tehtävässä ei varsinaisesti tule esille, että ratkaisua kannattaa etsiä nimenomaan tätä kautta. Tavallaan pitää tottua ajattelemaan asiaa jakolaskun kannalta. Tehtävissä ei tosiaankaan kannusteta tämänkaltaiseen näkökulmaan. Tyypillisesti ei koskaan sanota esimerkiksi, että olkoon \(f=5x^3-7x^2-2x-9\) vaan kirjoitetaan: tarkastellaan yhtälöä
\[\frac{x}{7x^2+9}=\frac{1}{5x^2-2}.\]
Ratkaisijaa hämätään kirjoittamalla ongelma hassusti, jolloin ei ehkä heti tule mieleen, että tehtävä ratkeaa systemaattisesti polynomityökalujen avulla.
Myös polynomin jakaminen tekijöihin ja muuttujien eliminointi esiintyy jatkuvasti polynomitehtävien yhteydessä. Palataan tähän tarkemmin joskus myöhemmin.
Tässä ja edellisessä kirjoituksessa tarkasteltiin polynomiyhtälöitä. Itse asiassa osoittautuu, että jakolasku on hyödyllinen myös epäyhtälöitten yhteydessä. Tämä oli minullekin hiukan odottamatonta, koska epäyhtälöitten tapauksessa ei ole täysin selvää, miksi tämä tapa johtaa niin usein haluttuun lopputulokseen. Palataan tähänkin myöhemmin ja katsotaan ensi kerralla, miten polynomien avulla voidaan tarkastella Eukleideen geometrian tehtäviä.
Luonnollisesti tarkoitus ei ole täysin korvata geometrian menetelmiä polynomeilla, mutta uusi näkökulma antaa aina uudenlaisia ideoita, ja esimerkiksi polynomien näkökulmasta saadaan helposti pari mielenkiintoista tulosta. Ensimmäinen ongelma oli vaivannut matemaatikoita satoja vuosia, ja toista pidettiin varsin yllättävänä kun se löydettiin:
Kuutiojuurta ei voi konstruoida harpilla ja viivoittimella.
Itse asiassa viivoitin on turha: kaikki konstruktiot voidaan tehdä pelkästään harpilla.
Viitteet
[1] G. V. Bard, Sage for undergraduates, American Mathematical Society, 2015.
[2] D. A. Cox, Galois theory, 2nd ed., Pure and Applied Mathematics (Hoboken), John Wiley & Sons, 2012.
[3] D. A. Cox, J. Little, and D. O’Shea, Ideals, varieties, and algorithms, 4th ed., Undergraduate Texts in Mathematics, Springer, Cham, 2015, An introduction to computational algebraic geometry and commutative algebra.
[4] P. Davis, R. Hersh, and E. Marchisotto, The mathematical experience, study edition, Modern Birkhäuser Classics, Birkhäuser/Springer, New York, 2012.
[5] É. Ghys, A singular mathematical promenade, ENS Éditions, Lyon, 2017.
[6] T. Mora, Solving polynomial equation systems. I, Encyclopedia of Mathematics and its Applications, vol. 88, Cambridge University Press, Cambridge, 2003, The Kronecker-Duval philosophy.
[7] J. Tuomela, Tarinoita polynomeista (osa 1), Solmu (2022), no. 2.
Alaviitteet
Jätän lukijalle harjoitustehtäväksi sen pohtimisen mitä nämä muut syyt voisivat olla.↩︎