lauantai 17. elokuuta 2019

Geometrista päättelyä Eukleideen tapaan laskentaohjelmalla

Kaupallisista tietokoneohjelmista ilmestyy ajoittain uusi versio, jossa vähäisten paikkailujen lisäksi täytyy olla jotakin oleellisesti uutta. Tämä tarvitaan uuden version markkinointiin, mutta uutuuksien merkitys ja kohtalo ilmenee vasta myöhemmin. Ne saattavat olla uusia aluevaltauksia, joita kukaan ei ehkä osannut edes kaivata, mutta ne muuttavat työskentelytapojamme ja näkökulmiamme joko hyvään tai huonoon suuntaan. Toisaalta ne saattavat osoittautua tarpeettomiksi ja jäädä olemattomalle käytölle.

Laskentaohjelma Mathematica on jokaisessa kokonaislukuversiossaan pyrkinyt tuomaan jotakin uutta.  Usein kyse on ollut merkittävistä uusista mahdollisuuksista, mutta joukossa on myös unohduksiin painuneita ideoita. Versio 12 tuo Eukleideen geometrian, ei laskennallisena analyyttisena geometriana, vaan eräänlaisena päättelynä.

Olkoon esimerkkinä kolmioiden yhtenevyysteoreema KSK. Aluksi määritellään lähtötilanne oletuksineen: kaksi kolmiota, $ABC$ ja $PQR$, sekä näiden yhtä suuret vastinosat, yksi sivupari ja kaksi kulmaparia.


Konfiguraatiosta voidaan piirtää haluttu määrä kuvioita, joissa kärkipisteiden koordinaatit valitaan satunnaisesti, mutta oletusehdot toteutuvat.


Mielenkiintoisin on kolmas vaihe, jossa pyritään etsimään kuvion uusia ominaisuuksia, ts. mitä voitaisiin yrittää todistaa lähtötilanteen pohjalta. Alla olevan tuloksen kaksi ensimmäistä riviä väittävät, että kolmiot ovat yhteneviä ja että ne ovat yhdenmuotoisia. Loput rivit tarkoittavat vastinosien yhtäsuuruutta.


En tiedä, millaista algoritmia tässä käytetään, ts. miten uudet ominaisuudet itse asiassa etsitään.

Vastaavalla tavalla käy, jos määritellään lähtötilanteeksi kolmio keskijanoineen, jolloin uudeksi ominaisuudeksi löydetään keskijanojen kulkeminen saman pisteen kautta (ovat concurrent).

Kyseessä ilmeisesti on uusi kokeellinen innovaatio tekoälysovellusten kehittelyssä. Taustatiedot ovat tässä suhteessa aika niukkoja. Tilanne tietenkin houkuttelee kokeilemaan erilaisia konfiguraatioita, eikä uusia ominaisuuksia aina löydykään. Jos keskijanat korvataan kulmanpuolittajilla tai keskinormaaleilla, mitään uusia ominaisuuksia ei löydy. Sovelluksen kehittely näyttää olevan vielä kesken, minkä avoin kertominen olisi paikallaan.

Kaikenlaista voidaan kehitellä, ja tuloksena saattaa olla ideoita, joista saatava hyöty on jossakin kokonaan muualla. Jään kuitenkin ihmettelemään, mikä hyöty laskentaohjelman käyttäjälle olisi kuvatunkaltaisesta euklidisesta geometriasta. Jos sovellus alkaa toimia edes lähes moitteetta, kyseessä on eräänlainen geometrinen laskin: syötteeksi annetaan jokin konfiguraatio, ja tulokseksi saadaan luettelo siitä, mikä tässä konfiguraatiossa on totta. Eräänlainen teoreemalaskuri siis. Mutta tarvitsemmeko me tällaista?

Euklidisen geometrian todistamista ei varsinaisesti opeteta sen takia, että tiedettäisiin, mikä on totta, vaan sen takia, että opitaan päättelyn metodi. Tämän näkökulman sovellus ainakin nykymuodossaan ohittaa. Toisaalta voidaan tietysti ajatella, että riittävän pitkälle kehittyessään sovellus alkaa löytää ennen tuntemattomia tuloksia ja ehkä jopa kykenee raportoimaan menettelyn näiden todistamiseen. Tähän on kuitenkin melkoinen matka.

Minkälaiseen käyttöön ja minkälaiseen tehtävään sovellus sitten olisi tarkoitettu?

lauantai 6. heinäkuuta 2019

Palloharmoniaa heinäkuun ratoksi

Ajauduin kesäkuulla keskustelemaan kollega Hannu Korhosen kanssa pallogeometriasta ja samalla pohtimaan palloharmonisia funktioita, englanniksi spherical harmonics. Näihinhän johdutaan ratkaistaessa pallokoordinaateissa Laplacen differentiaaliyhtälöä \[ \frac{\partial^2 u}{\partial x^2} + \frac{\partial^2 u}{\partial y^2} + \frac{\partial^2 u}{\partial z^2} = 0, \] tuntemattomana funktiona $u(x,y,z)$. Pallokoordinaateissa yhtälö saa hieman hankalamman muodon \[ \frac{1}{r^2}\frac{\partial}{\partial r}\left(r^2\frac{\partial u}{\partial r}\right) + \frac{1}{r^2\sin\theta}\frac{\partial}{\partial\theta}\left(\sin\theta\frac{\partial u}{\partial\theta}\right) + \frac{1}{r^2\sin^2\theta}\frac{\partial^2 u}{\partial \phi^2} = 0 \] ja tuntemattomana funktiona on $u(r,\theta,\phi)$. Käytössä ovat ns. fysikaaliset pallokoordinaatit: etäisyys origosta $r$ ($\ge 0$), leveysaste $\theta$ ($0 \le \theta \le \pi$, pohjoisnapa $0$, päiväntasaaja $\pi/2$, etelänapa $\pi$) ja pituusaste $\phi$ ($-\pi < \phi \le \pi$).

En ryhdy esittelemään, miten yhtälön ratkaisu tapahtuu, viittaan vain esimerkiksi dokumenttiin http://scipp.ucsc.edu/~haber/ph116C/SphericalHarmonics_12.pdf tai ranskantaitoisille https://www.phy.ulaval.ca/fileadmin/phy/documents/PDF/Pedago/Harm-Sphervf.pdf.  Tietyssä vaiheessa ratkaisuun ilmestyvät funktiot $Y_\ell^m(\theta,\phi)$, joille saadaan melko yksinkertaiset lausekkeetkin ja joita kutsutaan palloharmonisiksi funktioiksi. Näitä pyritään havainnollistamaan kuvilla, jotka samankin funktion kohdalla näyttävät hyvin erilaisilta.

Alla on esimerkkeinä kaksi funktiota: \begin{align*} Y_4^0(\theta,\phi) &= \frac{3}{16}\sqrt{\frac{1}{\pi}}\left(3 - 30\cos^2\theta + 35\cos^4\theta\right), \\ Y_5^3(\theta,\phi) &= \frac{1}{32}\sqrt{\frac{385}{\pi}}\sin^3\theta\left(1 - 9\cos^2\theta\right)\exp(3i\phi).  \end{align*} Jälkimmäinen on kompleksiarvoinen ja alla olevat kuvat koskevat sen reaaliosaa.  Lisää lausekkeita löytyy osoitteesta https://en.wikipedia.org/wiki/Table_of_spherical_harmonics, kuvia Googlen kuvahausta termillä 'spherical harmonics'.

Funktioiden tavanomaisin havainnollistus on alla. Hieman harvinaisempi on alapuolella oleva.


Ylempi on minusta hieman yllättävä: äkkiseltään katsoen pallomaisuus ei oikein hahmotu. Alempi on selkeämpi: pallopinnalle on kuvattu alueet, joissa funktio saa positiivisia arvoja (punainen) ja negatiivisia arvoja (keltainen). Mitä voimakkaampi väri, sitä isompi itseisarvo. Ylemmässä on kyllä periaatteessa sama informaatio: lähtemällä origosta suuntaan $(\theta,\phi)$ kohdataan pinta etäisyydellä, joka vastaa funktion itseisarvoa. Väri kertoo positiivisuuden tai negatiivisuuden.

Jälkimmäinen vaihtoehto sai minut kehittelemään hieman toisenlaisen havainnollistuksen: harmaa läpikuultava referenssipallo, jonka sisä- ja ulkopuolella funktion määräämä pinta aaltoilee. Etäisyys pallosta määräytyy funktion arvosta: positiivinen ulospäin pallopinnasta, negatiivinen sisäänpäin.  Rinnastus Fourier'n sarjan sini- ja kosinitermeihin on ilmeinen.

Hakemisen jälkeen vastaava kuva löytyi kyllä netistäkin, joten ei tämä ainutlaatuinen idea ole.

Olisiko tästä jotakin yleistä opittavaa? Matemaattisia olioita voi havainnollistaa monella tavalla.  Ainoaa oikeaa tapaa ei ole. Havainnollistuksen arvon ratkaisee, miten hyvin siitä näkyy tutkittavana oleva asia. Kuvat eivät matematiikassa sinänsä ole pahasta. Joskus hyvä kuva tai animaatio kelpaa jopa todistukseksi.

tiistai 4. kesäkuuta 2019

Väärin opetettu?

Korkeakoulujen valintamenettelyä kehitettäessä on päädytty ylioppilaskokeen arvosanoihin perustuvaan malliin, jossa varsinkin pitkällä matematiikalla on suuri merkitys. Taustana on huoli pitkän matematiikan kirjoittaneiden määrästä tilanteessa, jossa matematiikan merkitys monilla aloilla on kasvamassa ja pelkona on puute osaavasta työvoimasta. Kirjoittaneiden vuotuinen määrä on juuttunut noin 12000:een, vaikka jo toistakymmentä vuotta sitten tavoitteeksi asetettiin 16000. Uudistusta on kritisoitu voimakkaasti siitä, että se pakottaa lähes mitä tahansa alaa tavoittelevan lukiolaisen valitsemaan varmuuden vuoksi pitkän matematiikan.

Lukion matematiikanopettaja Timo Salminen kritisoi Helsingin Sanomissa 26.5.2019 uudistusta siitä, että se tuo pitkän matematiikan opiskelijoiksi aiheesta kiinnostumattomia opiskelijoita, jotka varsinaisesti tähtäävät muualle. Seurauksena vaatimustaso saattaa jopa laskea. Matematiikan opetuksen tutkija Marika Toivola on samana päivänä Uuden Suomen puheenvuorossaan asettunut vastustamaan Salmisen näkemystä ja korostanut, että opettajan tehtävänä on auttaa kaikkia oppilaita uskomaan kyvykkyyteensä oppia matematiikkaa. Ongelmat voidaan ratkaista pedagogisesti.

Siinä missä Salmisen näkemyksessä on kyynisyyttä, Toivola on idealisti. Usko mahdollisuuksiin pitää toki säilyttää, mutta entä jos Salmisen näkemyksissä onkin perää ja opettaja joutuu mahdottoman tehtävän eteen heterogeenisen ryhmänsä ohjaamisessa?

Salmisen ja Toivolan kirjoituksia on kommentoitu vilkkaasti ja moneen kertaan tuotu esiin näkemys matematiikassa opittujen asioiden hyödyttömyydestä työelämässä. Matematiikka nähdään joidenkin alojen ammattilaisten työkaluna, jolla ei ole mitään tekemistä yleissivistyksen kanssa. Samat käsitykset nousevat lähes aina esiin, kun missä tahansa keskustelussa sivutaan matematiikan opetusta. Jotakin on ilmeisesti tällöin jäänyt oppimatta ja ehkä opettamatta. On kyllä opetettu ratkaisemaan ylioppilaskirjoituksissa esiintyviä tehtäviä, mutta yhteys kulttuurin ja ajattelun kehitykseen sekä maailman hahmottamiseen on unohtunut. Matematiikka on suljettu yleissivistyksen ulkopuolelle.

Puutetta ei korjata muutamalla kirjoituksella ja juhlapuheella, joissa painotetaan matematiikan tärkeyttä ja kerrotaan sen olevan läsnä kaikkialla. Ei myöskään hallinnollisella päätöksellä ajaa lukiolaiset pitkän matematiikan karsinaan.

Pitkää matematiikkaa opetetaan lukiossa kolmetoista kurssia. Tämä on varsin paljon ja se on ollut perusteena myös vahvalle asemalle korkeakoulujen valintaperusteissa. Kevään 2019 ylioppilaskokeessa oli kolmetoista tehtävää ja läpipääsyyn riitti, että osasi ratkaista yhden tehtävän ja sai lisäksi muutaman hajapisteen. Hyväksyttyyn arvosanaan pääsi myös keräämällä hajapisteitä useammasta tehtävästä ilman että yhtäkään oli kokonaisuudessaan ratkaistu. Mitä lukion matematiikan kursseilla oikeastaan on tehty, jos tämän enempää osaamista ei synny? Toki suurin osa suorituksista on parempia, jopa erinomaisia, mutta osa lukiolaisista ei ole oppinut juuri mitään. Heille kurssit ovat olleet hyödyttömiä, hukkaan heitettyä aikaa. Vaikuttaa siltä, että Salmisen pelko saattaa olla aiheellinen.

Onko tässä kyse siitä, että matematiikkaa opetetaan jotenkin väärin? Olisi helppoa sanoa, että opettajat eivät vain ole hoitaneet tehtäväänsä. En kuitenkaan usko, että asia on näin yksinkertainen.

Opetushallituksen julkaisemat opetussuunnitelman perusteet ja kirjantekijöiden tulkinta näistä kiinnittävät sen, mitä lukiokursseilla tapahtuu. Opettajalla ei käytännössä ole sisällön ja painotusten suhteen kovin paljon valinnan varaa. Olen pitkään ihmetellyt, miten matematiikasta onkin saatu aika hengetöntä ja tylsää. Siitä on muodostunut silppukokoelma, josta on vaikeata löytää punaista lankaa. Erillisiä asioita, jotka vain pitää osata ylioppilaskokeessa. Ajattelun taitojen kehittyminenkin jäänee toiveajatteluksi.

Ei ole kovin suuri ihme, jos motivaatiota ei synny ja aletaan kysellä, missä tiettyä temppua tarvitaan työelämässä. Eihän matematiikkaa tämän takia opeteta, ehkä peruslaskutoimituksia lukuunottamatta.  Opin pitäisi jäsentyä laajemmaksi näkemykseksi ja yleissivistykseksi, kyvyksi tarpeen tullen paneutua niihin matemaattisluontoisiin ongelmiin, joita elämässä tulee vastaan.

Vertailuna historian opetukseen: Ei siinäkään kerrota juttua sieltä, toista täältä ja jaeta vuosilukutaulukkoa. Ei tavoitteena ole oppia tietämään vaikkapa Ranskan vallankumouksen aikaisia puoluejakoja, vaan että vallankumous ylipäätään tapahtui ja mikä oli sen merkitys. Vaikeutena tietenkin on, että yleistä näkemystä ei oikein voi syntyä ilman aika isoa määrää detaljeja. Sekä historiassa että matematiikassa.

Olisiko aika matematiikan opetuksen revisiointiin? Ehkä tämän jälkeen mielenkiintokin heräisi paremmin ja valintamenettelyssä käyttö olisi perustellumpaa.

maanantai 27. toukokuuta 2019

9999 potenssiin 9999

Silmiini osui tehtävä, jossa piti selvittää, kuinka monta numeroa on luvussa $9999^{9999}$ ja mitkä ovat kolme ensimmäistä numeroa. Ilmeisestikin kyseessä logaritmien harjoittelu ja käytettävissä laskin tai vastaava tietokoneohjelma.

Samantyyppisiä tehtäviä lienee aina käytetty logaritmien harjoittelemiseen. Klassikossa, K. Väisälän algebran kirjassakin on tehtävä, jossa kysytään luvun $9^{9^9}$ numeroiden lukumäärää. Tuolloin ei ollut laskimia, ainoastaan viisidesimaaliset logaritmitaulut.  Näilläkin tehtävän saattoi ainakin melkein ratkaista, numeroita oli noin 370 miljoonaa.  Paljon tarkempaan ei ollut mahdollista päästä eikä ensimmäisten numeroiden selvittämiseenkään tarkkuus riittänyt.

Potenssi $9999^{9999}$ on vaatimattomampi kuin $9^{9^9}$ ja ensimmäiseksi tekee mieli koettaa, selvittäisiinkö ilman logaritmeja, yksinkertaisesti laskemalla kokonaislukupotenssi suoraan normaalilla ohjelmiston aritmetiikalla. GeoGebralle ja TI-Nspirelle luku on liian suuri, GeoGebra antaa kysymysmerkin, TI-Nspire $\infty$-symbolin ja varoituksen ylivuodosta.

Mathematica sen sijaan laskee luvun ja antaa pitkän jonon numeroita. Näiden lukumäärän laskeminen olisi ikävä tehtävä, mutta tarkoitukseen on valmis funktio IntegerLength, jolla tulokseksi saadaan 39996 numeroa. Kolme ensimmäistä ovat 367. Mathematicaan pohjautuva verkossa toimiva Wolfram|Alpha ei anna suoraan kaikkia numeroita, mutta kertoo niiden lukumäärän. Onko enää tarpeen miettiäkään logaritmeja, jos laskentaohjelmien kapasiteetti kasvaa näinkin suureksi?

Jos kuitenkin käytetään logaritmeja, kannattaa aluksi laskea potenssin logaritmi muodosta $9999\lg(9999)$, missä $\lg$ tarkoittaa kymmenkantaista (Briggsin) logaritmia. GeoGebra antaa tulokseksi $39995.57$. Tämän kokonaisosa $39995$ on logaritmin ns. karakteristika.  Tämä on yhtä pienempi kuin luvun numeroiden määrä, joka siis on 39996. Desimaaliosa $0.57$ on logaritmin mantissa, jonka avulla saadaan luvun numeroiden alkupää. Tämä perustuu hajotelmaan
\[ 9999^{9999} = 10^{39995.56\dots} = 10^{39995} \cdot 10^{0.56\dots}. \]
GeoGebra kuitenkin tuottaa pienen yllätyksen: $10^{0.57} = 3.72$, mutta jos talletetaan muuttujaan alkuperäinen logaritmi, $s = 9999\lg(9999)$, ja lasketaan $10^{s-39995}$, saadaankin $3.68$. Ovatko oikeat alkupään numerot siis 372 vai 368?

Lasku GeoGebralla

TI-Nspirellä käy suurin piirtein samoin.

Selityksenä on, että ohjelmistojen numeerisessa laskennassa on käytössä huomattavasti enemmän desimaaleja kuin käyttäjälle normaalisti näytetään. Tarkkuuden säilyttämiseksi kannattaa siis tallettaa välitulokset muistiin eikä kopioida niitä uudelleen näytön mukaisina. Tämäkään ei poista kaikkia virheitä, koska laskennassa kuitenkin käytetään rajallista desimaalimäärää (tai oikeastaan bittimäärää). Jossakin tilanteessa virhe tulee aina esiin.

Olisiko logaritmien lisäksi jotakin muuta tapaa suoriutua tehtävästä, jos laskentaväline ei suoriudu suurista luvuista ilman ylivuotoa? Kantaluvun $9999$ voi skaalata jakamalla sen $10000$:lla. Tällöin syntyy luku $0.9999$, jonka korottaminen potenssiin $9999$ ei aiheuta ylivuotoa. Tulos on $0.36789\dots$, mikä antaa ensimmäiset numerot. Numeroiden lukumäärä saadaan kertomalla tämä skaalauksen takia tekijällä $10000^{9999} = 10^{39996}$.

Mitä kaikesta tästä — ja paljosta muusta vastaavasta — pitäisi oppia? Ohjelmisto on ensisijaisesti laskentaväline olipa kyse numeerisesta tai symbolisesta laskennasta. Se toimii omilla ehdoillaan eikä aina siten, kuin matemaattisessa mielessä pitäisi. Laskentaväline myös vaikuttaa siihen, millaista matematiikkaa on järkevää käyttää. Esimerkiksi logaritmitaulut ja ohjelmistot edellyttävät erilaista näkökulmaa.

maanantai 6. toukokuuta 2019

Kuution pyörittelyä

Linkki liikkuvaan kuvaan

xy-tason pistettä $(x,y)$ voi kiertää origon ympäri kulman $w$ verran kertomalla pystyvektoriksi kirjoitetut koordinaatit kiertomatriisilla matriisitulomielessä:
\[
\begin{pmatrix}\cos(w) & -\sin(w) \\ \sin(w) & \phantom{-}\cos(w)\end{pmatrix}
\begin{pmatrix}x \\ y\end{pmatrix}\ .
\]
Kuvion kiertäminen tapahtuu kiertämällä periaatteessa sen jokainen piste, mutta esimerkiksi neliötä kierrettäessä riittää kiertää sen kärkipisteet ja piirtää kierretty neliö näiden avulla.

Mikä olisi kaksiulotteisen kierron kolmiulotteinen vastine? Kiertokeskuksena oleva origo on tällöin korvattava origon kautta kulkevalla kiertoakselilla, jonka ympäri kierretään kulman $w$ verran. Tällöinkin kierto voidaan kuvata matriisilla, joka nyt on kokoa $3 \times 3$.

Matriisi saadaan suhteellisen helposti, jos käytettävissä on riittävästi matriisilaskentaa tukeva symbolinen ohjelma. Jos kiertoakselin yksikön pituinen suuntavektori on $\vec{n} = n_1\vec{i} + n_2\vec{j} + n_3\vec{k}$, muodostetaan matriisi
\[
N = \begin{pmatrix} 0 & -n_3 & n_2 \\ n_3 & 0 & -n_1 \\ -n_2 & n_1 & 0 \end{pmatrix}.
\]
Eksponenttifunktio voidaan määritellä myös matriiseille ja kiertomatriisi saadaan tämän avulla:
\[ Q = \exp(wN),
\] missä $w$ on kiertokulma.

Matriisieksponenttifunktio voidaan määritellä eksponenttifunktion tavanomaisen sarjakehitelmän avulla:
\[
\exp(A) = \sum_{k=0}^\infty \frac{A^k}{k!}.
\]
Tässä potenssit $A^k$ tarkoittavat matriisituloja ja sarjan suppeneminen täytyy luonnollisesti osoittaa. Symboliset ohjelmat eivät kuitenkaan laske matriisieksponenttifunktion arvoja tästä määritelmästä, vaan matriisien ominaisarvoteoria antaa siihen paremmat mahdollisuudet.

Alla oleva lasku näyttää kiertomatriisin laskemisen Mathematicalla tarkkoja arvoja käyttäen. Graafisiin demonstraatiotarkoituksiin on kuitenkin luonnollisempaa käyttää numeerista laskentaa, ts. riittävän tarkkoja likiarvoja.


Mathematica — kuten monet muutkin kehittyneet ohjelmat — tarjoavat mahdollisuuden laatia animaatioita ja säädettäviä demonstraatioita niin ilmiön kuin sitä kuvaavan koodin tutkimiseen: katso kuvakaappausta artikkelin alussa ja linkin takana olevaa liikkuvaa kuvaa.

Matemaattisen tekstin lukijan on syytä olla hereillä ja aina hieman epäluuloinen. Mistä tiedetään, että menettely todella antaa kiertomatriisin? Onko selvää, että kolmiulotteisella kierrolla on aina akseli, kuten edellä ohimennen oletettiin? Jos kuutiota jotenkin pyöräyttelee, niin pääseekö alkuasennosta loppuasentoon aina yhdellä sopivan suuruisella kierrolla sopivan akselin ympäri? Työkaluiksi tarvitaan melkoinen annos matriisilaskentaa. Alaan perehtynyt lukija voi kokeilla taitojaan.

maanantai 1. huhtikuuta 2019

Mietteitä kevään 2019 ylioppilaskokeesta

En ole enää muutamaan vuoteen kovinkaan tarkasti tutkinut matematiikan ylioppilastehtäviä.  Tämän kevään koe oli kuitenkin ensimmäinen sähköinen koe ja sellaisena mielenkiintoinen: millaisia tehtäviä, miten käytetään ohjelmistotyökaluja. Keskityn seuraavassa vain pitkän matematiikan kokeeseen.

Tärkeimmät yleiset kokeen piirteet ovat sen vaikeustaso ja kattavuus, ts. miten hyvin lukiokurssien sisältö tulee katetuksi. Molempia pitäisin aika onnistuneina.

Koe alkaa varsin helpoilla tehtävillä, mutta vaikeutuu tasaisesti ja lopussa päästään varsin vaativiin tehtäviin. Myös yläpäähän syntynee hajontaa. Vaikka tehtäviä itsekin laatineena toki tiedän, että varsinkin alussa täytyy olla helppoja tehtäviä, en silti voi olla ihmettelemättä vaatimustasoa läpipääsyrajan kohdalla. Kolme ensimmäistä tehtävää ovat minusta sellaisia, että pitkän matematiikan kurssit opiskelleen pitäisi saada niistä täydet pisteet joutumatta erityisemmin miettimään. Arvelen kuitenkin, että läpipääsyraja jää tätä alemmaksi. Mihin ihmeeseen on käytetty oppimäärän lähes 500 tuntia?

Tehtävien tulisi kattaa lukiokurssit pääpiirteissään ja keskittyä oleellisiin asioihin. Ainoana kritiikin kohteena pitäisin vektoreiden vähäistä osuutta. Myös differentiaali- ja integraalilaskennan osuutta on pidetty vähäisenä, mutta tähän en yhtyisi. Aina ei ole selvää, mihin kurssiin tehtävä liittyy, mutta ei minusta pidäkään. Tarkoituksena on testata kykyä käyttää matematiikkaa, ei yksinomaan tietyn kurssin osaamista.

Ensimmäisessä sähköisessä kokeessa mielenkiinto tietenkin kohdistuu koekäyttöliittymän näppäryyteen ja toisaalta laskentaohjelmistojen hyödyntämiseen. Edellisestä en osaa sanoa; olisi pitänyt osallistua kokeeseen. Jälkimmäisen osalta kyseessä on selvästi varovainen aloitus, ja hyvä niin. Arvelen, että ohjelmistoja ei ole ainakaan vielä opittu käyttämään tutkimusvälineinä tehtävien ratkaisemisessa, vaan keskitytään lähinnä tiettyjen laskujen suorittamiseen: ratkaistaan yhtälö, derivoidaan tai integroidaan jotakin, piirretään kuvaaja, jos sitä pyydetään.

Symboliset ohjelmat (CAS) saattavat aiheuttaa yllätyksiä myös tehtävien laatijoille. Arvelen, että tehtävää 10.2 ($\sum_{n=0}^\infty \tan(x)^n = \frac{3}{2}$) ei ehkä tarkoitettu ratkaistavaksi yhdellä solve-komennolla. Ei paljoa puutu, ettei tehtävässä 11 ($\cos(x)^{\sin(x)} = \sin(x)^{\cos(x)}$) ole samanlainen tilanne: Tehtävän voi ratkaista Mathematicalla muutamalla komennolla laskematta yhtään mitään (liite). Mathematica ei ole kokeessa käytettäviä ohjelmistoja, mutta muutkin saattavat ennen pitkää kyetä tähän. Ehkä jo ensi vuonna.

Tällaiset tilanteet ovat haasteita kokeen arvostelulle. Mihin kaikkeen laskentaohjelmaa saa käyttää?  Milloin ja millaisia perusteluja pitää kirjoittaa? Säännöt eivät saisi olla kovin monimutkaisia.  Lukiolaisenhan tulisi oppia matematiikkaa, ei lautakunnan määräysten tulkintaa. En oikein usko, että on muuta ratkaisua kuin sanoa jokaisessa tehtävässä erikseen, mitä halutaan: Osoita, miten käsinlaskulla voidaan ratkaista seuraava tehtävä. Kirjoita algoritmi, joka ratkaisee seuraavan tehtävän. Selosta integraalin määrittelyn ja pinta-alan välinen yhteys.

Kaksi viimeistä — vaikeinta — tehtävää ovat minusta sinänsä hyviä, mutta 'Hyvän vastauksen piirteiden' ratkaisuja pidän vähän kummallisina.

Tehtävälle 12 (kolmion pinta-ala, kun piiri on vakio) esitettyä ratkaisua en jaksanut miettiä läpi.  Ratkaisun 'Havainto 1' on minusta samantasoinen kuin todistettava väite, jolloin herää kysymys, mitä kaikkea voi pitää tunnettuna. Kuitenkin kyseessä on laskentaohjelmien aikakaudelle sopiva tehtävä. Liitteenä on oma ratkaisuni Mathematicalla. Ehkä joku voisi testata, miten hyvin sama onnistuu jollakin muulla ohjelmistolla.

Tehtävään liittyi myös GeoGebra-aineisto, jolla ei oikeastaan ollut merkitystä. En tiedä, tulisiko liian vaativa tehtävä, jos aineistona annettaisiin dynaaminen kolmio, jonka piiri on pakotettu vakioksi (liite), ja kysyttäisiin hypoteesia kolmion alasta verrattuna tasasivuisen kolmion alaan.  Hypoteesi tulisi lopuksi todistaa.

Tehtävän 13 kakkoskohdan ($\ (\frac{1}{n}\sum_{k=1}^n a_k^2)^{1/2} \leq (\frac{1}{n}\sum_{k=1}^n a_k^4)^{1/4}\ $) todistus on aika vaativa ainakin 'Hyvän vastauksen piirteissä' esitetyllä tavalla tehtynä. Sen hahmottaminen on helpompaa, jos ensin yrittää arvoa $n=3$. Tämä olisi tietenkin voinut olla myös vihjeenä, ellei sitten ole tarkoitus testata, keksiikö kokelas itse lähestyä ongelmaa esimerkiksi tällä tavoin. Induktiotodistus on minusta selkeämpi, vaikka toki sekin vaatii näppäryyttä lausekkeiden käsittelyssä. Varsin hyvä loppuhuipennus.

Lopuksi en malta olla pohtimatta todennäköisyystehtävän 6 sanamuotoa. Šakkilaudalle pudotetaan riisinjyviä satunnaisesti, millä kaiketi tarkoitetaan, että jyvien jakauma šakkilaudan alueella on tasainen. Satunnaisilmiössä jakauma kuitenkin voi olla muutakin ja riisinjyvien heittelyssä varmaan sitä onkin. Kielenkäytöllä on merkitystä asioiden mieltämisessä.  Eräs ystäväni kerran määritteli, että satunnaisuus tai umpimähkäisyys tarkoittaa yksiulotteisessa tapauksessa tasaista jakaumaa, useampiulotteisessa se voi tarkoittaa mitä tahansa. Ehkei ihan näinkään.

maanantai 18. maaliskuuta 2019

Matematiikkaa kokeilemalla

Erinäisistä syistä tulin hiljattain syöttäneeksi laskentaohjelma Mathematicalle lausekkeen $(-1)^{i-1}$, missä $i$ tarkoittaa imaginaariyksikköä. Tämä sieveni muotoon $-e^{-\pi}$, ei tosin suoraan, mutta komennolla ComplexExpand ohjattuna. Saadun tuloksen korotin potenssiin $i$, siis $(-e^{-\pi})^i$, jolloin tulos oli uudelleen $-e^{-\pi}$.

Kyseessä on tietenkin hieman eksoottinen kompleksiluvuilla laskeminen ja on paikallaan pyrkiä verifioimaan tulokset jollakin tavoin. Yhtenä mahdollisuutena on miettiä, miten tällaiset potenssit oikeastaan pitäisi määritellä ja mitä määritelmä sitten antaisi. Myös kokeilemalla voi edetä ja testata ohjelmiston johdonmukaisuutta laskemalla vastaavat tulokset numeerisesti. Tällöin tulokset olivat seuraavat: \begin{align*} a &= (-1)^{i-1} \approx -0.0432139 - 5.29218 \cdot 10^{-18}\,i \ ,\\ b &= a^i \approx -23.1407 - 2.83392 \cdot 10^{-15}\,i\ . \end{align*} Edellinen näyttää hyvältä, sillä $e^{-\pi} \approx 0.0432139$ ja luokkaa $10^{-18}$ oleva imaginaariosa on $= 0$ numeerisen laskennan tarkkuudella. Jälkimmäinen sen sijaan on kummallinen, sillä $e^{\pi} \approx 23.1407$. Laskeeko Mathematica väärin?

Samat numeeriset tulokset antaa Matlab-klooni Octave. Olisiko Mathematican symbolisesti laskettu tulos väärin?

Kaikki on kuitenkin kunnossa ja Mathematica laskee sekä symbolisesti että numeerisesti juuri niin kuin pitääkin. Tämän ymmärtämiseksi on kuitenkin paneuduttava yleisen potenssin määrittelyyn.

Kompleksinen eksponenttifunktio voidaan määritellä joko sarjakehitelmällä tai hieman läpinäkymättömästi Eulerin kaavalla:
\[ e^z = \sum_{k=0}^\infty \frac{z^k}{k!} = e^x (\cos y + i\sin y), \] missä $z = x + iy$. Tämän käänteisfunktio on (luonnollinen) logaritmi $\log$, joka saadaan esittämällä $z$ napakoordinaateissa yhtälössä $e^w = z$ ja ratkaisemalla $w$: \[ w = \log z = \log|z| + i(\arg z + 2k\pi). \] Tässä $k$ on tavalliseen tapaan kokonaisluku ja $\arg$ tarkoittaa kompleksiluvun argumenttia eli napakulmaa, joka valitaan väliltä $]-\pi,\pi]$. $\log|z|$ on positiivisen reaaliluvun logaritmi ja määritelty reaalialueelta tunnetulla tavalla. (Kompleksianalyysissa on yleisesti tapana käyttää funktion nimenä $\log$ eikä $\ln$. Funktioiden määrittelystä tarkemmin esimerkiksi dokumentissa http://matta.hut.fi/matta/kompleksiluvut/cluvut.pdf.)

Jos valitaan $k = 0$, jolloin imaginaariosa on välillä $]-\pi,\pi]$, kyseessä on funktion päähaara.

Yleisen potenssin määrittely perustuu eksponenttifunktion ja logaritmifunktion käyttöön: \[ a^b = (e^{\log a})^b = e^{b\log a}, \] missä käytetään logaritmin päähaaraa.

Tällöin on \begin{align*} (-1)^{i-1} &= (e^{i\pi})^{i-1} = e^{(-1-i)\pi} = e^{-\pi}\,e^{-i\pi} = -e^{-\pi}\ ,\\ (-e^{-\pi})^i &= (e^{\log(-e^{-\pi})})^i = (e^{\log(e^{-\pi}) + i\pi})^i = (e^{-\pi + i\pi})^i = e^{-i\pi}\,e^{-\pi} = -e^{-\pi}\ . \end{align*} Symboliset tulokset ovat siis oikein.

Entä numeeriset? Luvun $-e^{-\pi}$ napakulma on $\pi$, sillä napakulma valitaan väliltä $]-\pi,\pi]$. Sen numeerisen approksimaation $-0.0432139 - 5.29218 \cdot 10^{-18}\,i$ napakulma sen sijaan on hyvin lähellä arvoa $-\pi$ negatiivisen, vaikkakin lähellä nollaa olevan imaginaariosan takia. Napakulmalla on $2\pi$:n suuruinen hyppyepäjatkuvuus negatiivista reaaliakselia ylitettäessä. Tämä muuttaa tilannetta numeerisessa laskennassa ja tulos on likimain \[ (e^{-\pi - i\pi})^i = e^{-i\pi}\,e^{\pi} = -e^{\pi} \approx -23.1407. \]
Kokeilevan matematiikan harrastaja piirtää vielä mielellään funktion $z^i = (x + iy)^i$ reaaliosan kuvaajan. Tämä on tavallinen kahden reaalimuuttujan reaaliarvoinen funktio $f(x,y) = \text{Re}(x + iy)^i$, jonka kuvaajasta epäjatkuvuuskohta selvästi näkyy: