sunnuntai 28. toukokuuta 2017

Suuteleva ympyrä

Ellipsi (sininen) ja sen kaarevuuskeskipisteiden ura (punainen).
Lisäksi yksi suuteleva ympyrä.
Jos kahden käyrällä olevan pisteen kautta asetetaan suora — käyrän sekantti — ja pisteiden annetaan sen jälkeen lähestyä toisiaan, suora muuttuu käyrän tangentiksi. Mitä tapahtuu, jos käyrällä onkin kolme pistettä, jolloin ne ainakin yleensä määräävät ympyrän, ja sitten annetaan pisteiden yhtyä yhdeksi pisteeksi? Miten ympyrä muuttuu?

Kevään 2011 pitkän matematiikan ylioppilastehtävässä 15 on käsitelty vahvasti yksinkertaistettua ongelman erikoistapausta, mutta yleinen tilannekaan ei ole kovin hankala symbolisella ohjelmalla laskettuna.

Yleisessä tapauksessa on luontevinta käyttää käyrälle parametriesitystä: $x = u(t)$, $y = v(t)$, missä $t$ on parametri. Käyrällä olevat kolme pistettä voivat tällöin olla $(u(t-h),v(t-h))$, $(u(t),v(t))$ ja $(u(t+h),v(t+h))$. Pisteiden yhtyminen merkitsee, että $h$ lähestyy nollaa.

Ympyrän yleinen yhtälö on muotoa $(x - a)^2 + (y - b)^2 = r^2$. Kolmen pisteen tulee toteuttaa tämä yhtälö, jolloin saadaan ehdot
\[\left\{
\begin{aligned}
&(u(t-h) - a)^2 + (v(t-h) - b)^2 = r^2\,, \\
&(u(t) - a)^2 + (v(t) - b)^2 = r^2\,, \\
&(u(t+h) - a)^2 + (v(t+h) - b)^2 = r^2\,.
\end{aligned}\right.\] Tämä on yhtälöryhmä, josta voidaan ratkaista $a$, $b$ ja $r$. Tuloksena on yksi ratkaisu, mutta lausekkeet ovat hieman monimutkaisia. Muuttujina ovat $t$ ja $h$.

Tämän jälkeen pitäisi muodostaa raja-arvot, kun $h \to 0$. Symbolisella ohjelmalla tämä on yleensä ongelmatonta, jos kyseessä on tietty käyrä, ts. $u(t)$ ja $v(t)$ ovat tunnettuja funktioita. Ympyrän keskipiste $(a,b)$ ja säde $r$ saadaan tällöin käyräparametrin $t$ funktioina. Kyseessä on parametriarvoa $t$ vastaava käyrän kaarevuusympyrä, jota myös oskuloivaksi ympyräksi kutsutaan (latinan verbistä osculari, suudella). Tämän säde on käyrän kaarevuussäde ja sen käänteisarvo käyrän kaarevuus kyseisessä kohdassa.

Esimerkiksi parametriesitys $u(t) = \cos(t)$, $v(t) = \frac{1}{2}\sin(t)$ esittää ellipsiä. Tällöin saadaan
\begin{align*} r(t) &= \tfrac{1}{8\sqrt{2}}\,(5 - 3\cos(2t))^{3/2}\,, \\a(t) &= \tfrac{3}{4}\cos(t)^3\,, \\b(t) &= -\tfrac{3}{2}\sin(t)^3\,.\end{align*} Funktiot $a(t)$ ja $b(t)$ puolestaan muodostavat erään käyrän parametriesityksen. Tämä on alkuperäisen ellipsin kaarevuuskeskipisteiden ura eli evoluutta. Kuva artikkelin alussa.

Jos $u(t)$ ja $v(t)$ eivät ole tunnettuja funktioita, vaan merkitsevät vain yleisesti käyrän parametriesitystä, ei rajaprosessi $h \to 0$ onnistu symbolisella ohjelmalla. Tällöinkin funktioille $a(t)$, $b(t)$ ja $r(t)$ voidaan kyllä johtaa yleiset lausekkeet, mutta nämä sisältävät funktioiden $u(t)$ ja $v(t)$ derivaattoja. Symbolinen ohjelma ei — aivan oikein — oleta, että esiintyvät tarkemmin määrittelemättömät funktiot olisivat derivoituvia, ja tällöin raja-arvoa ei saada muodostetuksi.

Ohjelmasta riippuen kiertotienä voi olla Taylorin kehitelmän käyttäminen, esimerkiksi
\[u(t+h) = u(t)+ hu'(t) + \tfrac{1}{2}h^2u''(t) + \tfrac{1}{6}h^3u'''(t) + O(h^4).\] Tällöin ohjelmalle annetaan lupa derivaattojen käyttämiseen ja lisäksi helpotetaan raja-arvon laskemista. Tällä tavoin esimerkiksi Mathematica suoriutuu tehtävästä. Tuloksena saadaan hieman monimutkaiset kaavat, joita en tässä toista. Löytyvät yleensä perusoppikirjoista.

Yleensä kaarevuustarkastelut johdetaan oppikirjoissa toisella tavalla. Yhdestä klassikosta, Ernst Lindelöfin kirjasta Differentiali- ja integralilasku ja sen sovellutukset I menettelyn idea kuitenkin löytyy. Aivan ongelmaton ei asia ole. Edellä pisteet valittiin symmetrisesti parametriarvon $t$ eri puolilta. Jätän pohdittavaksi, mitä tapahtuu, jos symmetriaa ei olekaan ja pisteistä kaksi lähestyy kolmatta toisistaan riippumatta.

torstai 4. toukokuuta 2017

Digimateriaalien ihanuus ja kurjuus

Ensimmäisen kertaluvun differentiaaliyhtälön $y' = t^2 - y^2$ suuntakenttä ja ratkaisuja DiffEqWebissa.
Opintoihini Helsingin yliopistossa 60-luvulla kuului differentiaaliyhtälöiden alkeiskurssi. Kyse oli lähinnä integrointitempuista, joilla haettiin ratkaisun lauseke niissä tilanteissa, missä se oli mahdollista. Jokunen graafinen esityskin toki piirrettiin, mutta varsin työläitähän ne olivat.

Vuosituhannen loppuun mennessä tietotekniikan kehitys mahdollisti helpomman graafisten esitysten piirtämisen, jolloin ratkaisujen kvalitatiivisten ominaisuuksien hahmottaminen tuli ymmärrettävämmäksi. Johdin tuolloin Teknillisessä korkeakoulussa MatTa-projektia, jonka puitteissa kehitettiin työkalu sekä ensimmäisen kertaluvun differentiaaliyhtälön että korkeampien kertalukujen yhtälöiden tai yhtälöryhmien havainnollistamiseen.

Ensimmäinen versio perustui Matlab-ohjelmaan (nimenä DiffEqLab), mutta vuonna 2001 projektissa työskennelyt Mika Spåra koodasi verkkoselaimessa toimivan Java-sovelman (appletin), nimeltään DiffEqWeb. Ratkaisut laskettiin numeerisesti ja eri numeerisia menetelmiä oli mahdollisuus vertailla. Differentiaaliyhtälöiden opetuksessa saatettiin kiinnittää huomiota ratkaisujen yleisiin ominaisuuksiin ja olemassaoloon sekä numeerisen laskennan mahdollisuuksiin.  Kyseessä ei enää ollut yksinomaan integrointiharjoitus.

DiffEqWeb on edelleen saatavissa osoitteessa http://matta.hut.fi/matta/dew/dew.html, mutta sovelmat eivät enää selaimessa toimi. Java-koodi kyllä on edelleen pätevää, mutta tietoturvasyistä selain ei salli sen ajamista.  Tämän saattoi ehkä kiertää luokittelemalla MatTa-palvelimen turvalliseksi Javan ohjauspaneelissa, mutta ainakaan Firefoxin uusimmissa versioissa tämäkään ei enää ole mahdollista. Paketin päivitystä siis tarvittaisiin.

Yksi kiertotie vielä on: Paketin voi ladata omalle koneelle osoitteesta http://matta.hut.fi/matta/dew/. Kun koneelle asennetaan Java Development Kit, voidaan koodi ajaa Java Applet Viewerilla. Tämä ei toki ole mikään tavallisen käyttäjän menettely.

Tilanne on digimateriaaleille aika luonteenomainen. Tekniikan kehitys (sitähän virukset ja verkkohyökkäyksetkin ovat) vanhentaa materiaalit aika nopeasti. Itse asiassa viisitoista vuotta on tavattoman pitkä ikä digimateriaaleille. Toisin kuin kirjoille. Digimateriaalien tekeminen tarkoittaakin sitoutumista päivityskierteeseen tai uusien versioiden tekemiseen. Toki samalla on aina mahdollisuus parannuksiin ja laajennuksiin.  Tämä on kehitystä, mutta jatkuvaa työpanosta tarvitaan.

DiffEqWeb ei tietenkään ole maailman ainoa paketti differentiaaliyhtälöiden havainnollistamiseen. Monia kuitenkin vaivaavat samat ongelmat: kehitys on jäänyt puolitiehen eikä päivityksiä ei ole jaksettu tehdä. Paketin ylläpito ja kehittäminen on myös arvo sinänsä: se opettaa uskomattoman paljon tietotekniikasta, matematiikasta ja pedagogiikasta.

En aio enää itse paneutua DiffEqWebin kehittämiseen. Lähdekoodit ovat tallessa ja käytettävissä, jos jollakulla on intoa.  Haasteena voisi myös olla vastaavan tekeminen modernimmilla välineillä ja tekniikoilla, vaikkapa GeoGebraa käyttäen.  Paljon on kyllä ilmeisesti tehtykin.

DiffEqWeb: van der Polin yhtälön ratkaisuja faasitasossa ja ajan funktioina.