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:

perjantai 8. maaliskuuta 2019

Mikä on neliöjuuri?

Kompleksilukuihin perustuva lasku
\[ -1 = i \cdot i = \sqrt{-1}\sqrt{-1} = \sqrt{(-1)(-1)} = \sqrt{1} = +1 \] herättää aina toisinaan ihmetystä. Koska tunnetusti $-1$ ja $+1$ eivät ole sama asia, niin jonkin yhtäläisyysmerkin täytyy olla väärä. Mutta mikä?

Vastaus riippuu siitä, mitä neliöjuurella tarkoitetaan. Ainakin vielä puoli vuosisataa sitten kouluissa opetettiin, että neliöjuurella on kaksi arvoa, esimerkiksi $\sqrt{4} = \pm 2$. Sittemmin on yleistynyt määrittely, että neliöjuuri tarkoittaa aina positiivista vaihtoehtoa: $\sqrt{4} = +2$. Aiemman määritelmän mukaan neliöjuuri ei kaksiarvoisena ole funktio siinä mielessä, kuin funktioita nykyään yleensä ajatellaan. Jälkimmäisessä määrittelyssä on kyse funktiosta, jota selvyyden vuoksi ehkä kannattaisi kutsua juurifunktioksi tai neliöjuuren päähaaraksi.

Asiasta tulee hieman mutkikkaampi, jos tarkastellaan kompleksilukujen neliöjuuria. Esimerkiksi sekä luvun $-2+i$ että luvun $2-i$ toinen potenssi on $3-4i$. Kumpi olisi oikeutetummin $\sqrt{3-4i}$ ?

Luontevaa onkin joko ajatella neliöjuurta kaksiarvoisena (ja yleisemmin $n$:ttä juurta $n$-arvoisena) tai kiinnittää toinen (tai $n$:nnen juuren tapauksessa jokin) arvoista päähaara-arvoksi. Kumpi on parempi, riippuu yhteydestä. Molempia käytetään. Laskentaohjelmat käyttävät päähaara-arvoa, jolloin neliöjuuri on funktio. Neliöjuuren päähaara valitaan tällöin siten, että juuren napakulma on välillä $]-\pi/2,\pi/2]$, ts. reaaliosa on positiivinen. Jos reaaliosa on $= 0$, tulee imaginaariosan olla positiivinen (jolloin napakulma on $\pi/2$, ei $-\pi/2$). Siten esimerkiksi $\sqrt{-1} = i$ (eikä $-i$). Määrittely antaa positiivisten reaalilukujen neliöjuurille positiiviset arvot, kuten pitääkin.

Vastaavaan tapaan valitaan $n$:nnen juuren päähaara, mutta tilanne on hieman mutkikkaampi.  Lukija voi katsoa vaikka dokumenttia http://matta.hut.fi/matta/kompleksiluvut/cluvut.pdf.

Mikä alkuperäisen laskun yhtäläisyysmerkeistä sitten on väärä? Jos neliöjuurta ajatellaan kaksiarvoisena, pitäisi lopussa olla $\sqrt{1} = \pm 1$ ja kahdesta mahdollisesta merkistä pitäisi valita sopiva, ts. miinus. Jos neliöjuuren merkki tarkoittaa päähaaran mukaista funktiota, on keskimmäinen yhtäläisyysmerkki väärä. Yleisesti ei nimittäin päde $\sqrt{z_1}\sqrt{z_2} = \sqrt{z_1z_2}$. Kaikki tavanomaiset laskusäännöt eivät siirrykään rajoituksitta kompleksialueelle.

Esimerkkinä Mathematicalla tehty lasku, jonka voi toki laskea helposti käsinkin:


lauantai 16. helmikuuta 2019

Sieventäminen ei aina mene niin kuin luulisi

GeoGebran CAS

Potenssilausekkeen (herätteenä K. Väisälän algebran kirjan harjoitustehtävä, joskaan ei ihan tässä muodossa)
\[
x^{1+n} (x^{n-1})^n (x^n)^{-n}
\]
sieventäminen on useimmille lukiolaisille yksinkertainen juttu: tulos on $x$. GeoGebrakin sieventää sen ongelmitta: pelkän lausekkeen syöttäminen tosin antaa kesken jääneen tuloksen mutta lausekkeen uudelleen kutsuminen (tai suoraan Simplify/Sievennä-komennon käyttö) antaa tuloksen $x$.

Mathematica ei kuitenkaan suostu sieventämään lauseketta Simplify-komennolla, vaan palauttaa sen muuttumattomana. Mitä tästä pitäisi ajatella? Sievennys kyllä onnistuu, jos asetetaan sopiva lisäehto, esimerkiksi Simplify[lsk,x>0] tai Simplify[lsk,Element[n,Integers]], missä lsk tarkoittaa kyseistä lauseketta ja komennon jälkimmäinen argumentti määrittelee $x$:n positiiviseksi reaaliluvuksi tai $n$:n kokonaisluvuksi. Eikö sievennys pädekään rajoituksitta?

Mathematican oletuksena on, että symbolit ovat kompleksilukuja (joiden osajoukkona tietenkin ovat reaaliluvut). Tällöin siis $x$, $n$ tai laskennan välitulokset voivat olla kompleksilukuja, ellei toisin ilmoiteta. GeoGebra sen sijaan ei kompleksilukualgebraa kaikissa suhteissa käytä eikä ota huomioon mahdollisia kompleksiarvoja.

Onko sitten olemassa joitakin arvoja luvuille $x$ ja $n$, joilla lausekkeen arvo ei olekaan $x$?  Ehkä helpoin tapa lähteä tutkimaan asiaa on ajatella lauseke kahden muuttujan, $x$ ja $n$ funktioksi ja piirtää sen kuvaaja, ts. kolmiulotteisen avaruuden pinta. Tähän on olemassa komento, ja tulos on oheisen kuvan mukainen. Mitä ovat pinnan liuskat ja niiden välissä olevat tyhjät tilat?

Plot3D[lsk, {x, -2, 2}, {n, -5, 5}]

Komento Plot3D piirtää reaaliarvoisten funktioiden kuvaajia. Jos arvo on jossakin pisteessä kompleksinen, se jätetään yksinkertaisesti piirtämättä. Lausekkeen reaaliosa ja imaginaariosa ovat kuitenkin reaaliarvoisia:

Plot3D[Re[lsk], {x, -2, 2}, {n, -5, 5}]

Plot3D[Im[lsk], {x, -2, 2}, {n, -5, 5}]

Vaikuttaa siis siltä, että esimerkiksi arvolla $n = -1/5$ funktion arvot ovat kompleksisia, jos $x < 0$. Näin onkin. Arvoksi saadaan Mathematicalla laskettuna
\[
\left(\frac{\sqrt{5}-1}{4} - i\sqrt{\frac{\sqrt{5}+5}{8}}\right)x.
\]
Jos $n = -1/2$ ja $x < 0$, tulos on $-x$.

Lukija ehkä kysyy, miten murtopotenssit — tai niiden päähaarat — on tällöin määritelty ja voiko olla varma, että Mathematica laskee oikein. Tai että ylipäätään jokin laskentaohjelma laskee oikein. Varovaisuus on paikallaan. Mikään ihmisen tekemä ei yleensä ole täysin virheetöntä eivätkä määritelmätkään ole aina samoja. Saman laskun voikin varmuuden vuoksi laskea useammalla ohjelmalla. Ihan itse käsin laskeminen on lisäksi opettavaista, mutta saattaa olla työlästä eikä sekään aina virheetöntä.

Onko edellä oleva sitten laskettu oikein? Ainakin Matlab-klooni Octave laskee samoin.

maanantai 4. helmikuuta 2019

Sieventämisen kauneus ja kauheus


Lupauduin auttamaan lukiolaista matematiikan kertaamisessa ja taitojen testaamiseksi annoin ratkaistavaksi muutaman sievennystehtävän. Tällaisiahan on hieno kokoelma Kalle Väisälän klassikossa, Algebran oppi- ja esimerkkikirjan ensimmäisessä osassa, jota aikoinani itse käytin. Sievennystehtäviä ratkaistiin keskikoulun viimeisellä luokalla vastaten nykyistä peruskoulun viimeistä vuotta.

Sievennystehtävissä tuli kerratuksi polynomien ja rationaalilausekkeiden perusalgebra.  Niistä opittiin jotakin yleisempääkin: Yhtä ainoaa tietä lausekkeen sieventämiseen ei ole, vaan voidaan edetä montaa erilaista reittiä joko paljon työtä tehden tai hyvän oikotien löytäen. Lopputuloskaan ei ole yksikäsitteinen, vaan sievyys riippuu mieltymyksistä ja siitä, mitä lausekkeella on seuraavaksi tarkoitus tehdä.

Väisälällä on yhtenä esimerkkinä lauseke
\[ \frac{x^2 + \frac{1 }{x^2} + 2}{x + \frac{1}{x}}, \] jossa osoittaja ja nimittäjä voidaan ensin saattaa samannimiseiksi ja sitten suorittaa murtolausekkeiden jakolasku:
\[ \frac{\dfrac{x^4 + 1 + 2x^2}{x^2}}{\dfrac{x^2 + 1}{x}} = \frac{x(x^4 + 1 + 2x^2)}{x^2(x^2 + 1)}. \] Tekijällä $x$ voidaan supistaa ja osoittaja tunnistaa binomin neliöksi:
\[ \frac{(x^2 + 1)^2}{x(x^2 + 1)} = \frac{x^2 + 1}{x}. \]
Hieman suorempaan olisi päästy laventamalla alkuperäinen murtolauseke tekijällä $x^2$ ja tunnistamalla binomin neliö (tai suorittamalla polynomien jakolasku):
\[ \frac{x^4 + 1 + 2x^2}{x^3 + x} = \frac{(x^2 + 1)^2}{x(x^2 + 1)} = \frac{x^2 + 1}{x}. \]
Lyhin tie kuitenkin varmaan olisi tunnistaa alkuperäisen lausekkeen osoittaja binomin neliöksi:
\[ \frac{\left(x + \frac{1}{x}\right)^2}{x + \frac{1}{x}} = x + \frac{1}{x} \] Lopputulos on hieman erinäköinen kuin edellä, mutta kuitenkin yhtäpitävä. Molempia voidaan pitää kohtuullisen sievinä.

Tällaisia sievennyksiä ei nykyään enää taideta koulussa juurikaan opetella. Pitäisikö kuitenkin?

Pelkkä lausekkeiden sieventäminen sujuu kyllä helposti symbolisilla ohjelmilla. Tällöin ei kuitenkaan kehity laskijan taito hahmottaa rakenteita ja tarpeen tullen muuntaa lauseke johonkin muuhun kuin ohjelman sievänä pitämään muotoon. Arvelen, ettei Väisäläkään pitänyt tärkeänä konstikkaiden lausekkeiden sieventämistä sinänsä vaan taitoa yleensä muokata lausekkeita, ja tähän sievennystehtävät olivat hyvää harjoitusta. Aivan kuten polkupyörällä temppuilu johtaa varmuuteen pyörän hallitsemisessa yllättävissäkin tilanteissa.

Symbolisissa laskentaohjelmissakaan lausekkeen muokkaus ei ole aina suoraviivaista.  Esimerkiksi Mathematica tarjoaa yleiskäyttöisen Simplify-komennon lisäksi joukon spesiaalimpia muokkauskomentoja: Expand, ExpandAll, TrigExpand, PowerExpand, ComplexExpand, FunctionExpand, Reduce, TrigReduce, ExpToTrig, TrigToExp, Together, Apart, Cancel, ... Näiden käyttö edellyttää näkemystä siitä, mitä on tekemässä. Mekaanisen työn ne kyllä hoitavat.

sunnuntai 6. tammikuuta 2019

Miten laskea reitti Korvatunturilta Pääsiäissaarelle

Reitti Korvatunturilta Pääsiäissaarelle

Edellisessä blogikirjoituksessani — Joulusadussa — oli kyse lyhimmän reitin laskemisesta Korvatunturilta Pääsiäissaarelle. Sadussa Korvatunturin tontut eivät suoriutuneet tehtävästä ja se tilattiin konsultilta, jonka palkkio osoittautui isoksi. Miten reitti — pituus ja lähtösuunta — pitäisi laskea, kun lähtötietoina ovat Korvatunturin ja Pääsiäissaaren maantieteelliset koordinaatit?

Digitaalimaailmassa on tarjolla ohjelmistoja, joilla laskenta sujuu lähes asioita ymmärtämättä.  Koordinaatit löytyvät vaikka Googlen karttojen avulla: klikkaus kyseiseen pisteeseen ja valinta 'Mitä täällä on?'.  Tuloksena saadaan leveys ja pituus: ktunturi = {68.07, 29.32}, psaari = {-27.11, -109.35}.  Ainakin laskentaohjelma Mathematica tarjoaa valmiit funktiot etäisyyden ja lähtösuunnan laskemiseen:


Reitin piirtäminenkään ei ole vaikeata (kuva alussa):


Sadussa tarvittu pienoiskopterin viimeinen mahdollinen huoltopaikkakin saadaan valmiilla funktiolla:


Tämä osuu Meksikon Tyynenmeren rannikolle.

Olisiko tällaisten työkalujen hallinta sitten matematiikkaa? Kun lukion opetussuunnitelmakin painottaa teknisten apuvälineiden käyttöä, tulisiko matematiikan opetuksessa keskittyä ohjelmistotyökaluihin?  Seuraamalla ns. CAS-laskentaa ja ohjelmistojen ongelmia koskevaa keskustelua syntyy käsitys, että tällainen ajattelu valtaa alaa. Muuhun ei aikaa ole.

Ohjelmistojen käyttökoulutus ei kuitenkaan ole matematiikkaa, eikä koulumaailman digitalisointia voisi pahemmin väärin ymmärtää. Silti digitalisoinnilla on paikkansa. Sen järkevä ja hyödyllinen käyttö on vain jäänyt paljolti pohtimatta.

Millä muulla tavalla sitten joulusadun tehtävät voitaisiin laskea? Kovin vaativasta asiasta ei ole kyse. Trigonometriset funktiot — lähinnä sini ja kosini — on ymmärrettävä, lisäksi tarvitaan vektorialgebraa ristitulo mukaan luettuna. Tämän jälkeen tervettä järkeä ja kykyä sommitella asioita yhteen. Viimeksi mainitut ovat hyödyllisiä taitoja muuallakin kuin matematiikassa. Paikallaan oppia lukiossa.

Entä digitaalisuus? Ohjelmointi on hyödyllinen taito, jonka tunteminen auttaa ymmärtämään modernin maailman toimintaa. Joulusadun ongelmien ohjelmointikaan ei ole liian vaativa tehtävä, jos käytettävissä on yksinkertainen mutta hyvä ohjelmointiympäristö (jota ei kyllä nykyään kouluihin tarjottavista ohjelmistoista taida löytyä). Toimiva itse tehty ohjelma myös osoittaa, että tarvittava matematiikka on ymmärretty. Saattaisi antaa kiinnostavan näkökulman matematiikkaan ja sen sovelluksiin.

Tämäntyyppisellä ohjelmoinnilla olisi paikkansa lukion matematiikassa. Se myös pakottaisi syventymään varsinaiseen matematiikkaan vain lukiossa käytettävien ohjelmistojen sijasta.

En selvittele joulusadussa tarvittavaa laskentaa tarkemmin. Kiinnostuneet löytävät sen kirjastani Vaellusretkiä matematiikkaan (http://www.elisanet.fi/simo.kivela/vaellmat.html).

keskiviikko 19. joulukuuta 2018

Joulusatu



Pikku Rapa asui Pääsiäissaarella. Hän oli kuullut, että kaukana pohjoisessa Korvatunturilla, maapallon toisella puolella asui Joulupukki, joka huolehti siitä, että maailman kaikki kiltit lapset saivat joululahjoja, ainakin yhden. Joulupukille saattoi lähettää kirjeen ja toivoa, mitä kaikkein mieluimmin haluaisi joululahjaksi.

Pikku Rapa tiesi, että Joulupukilla oli tontuiksi kutsuttuja apulaisia, jotka käyttivät tonttulakkia, eräänlaista punaista pipoa, jonka päässä heilui valkoinen tupsu. Joulupukillakin oli tällainen lakki ja siinä oli oikein iso tupsu. Rapa oli nähnyt kuviakin ja hän halusi tuollaisen lakin. Ehkäpä joku Pääsiäissaarella ihastuisi lakkiin ja päättäisi tehdä vähän isomman, joka pantaisiin jonkun saarella olevan kivipatsaan päähän. Se vasta olisi hieno näky. Rapa kirjoitti Joulupukille.

Postilaitos kuljetti kirjettä, moneen kertaan se harhautui, mutta löysi lopulta tiensä Korvatunturille täynnä erilaisia leimoja ja uudelleenlähetysmerkintöjä. Joulupukki luki kirjeen ja päätti toteuttaa toiveen.

Joulupukin lähettämössä oli juuri otettu käyttöön moderni tekniikka ja varsinkin kauas toimitettavat lahjat lähetettiin pienoishelikopterilla, dronella.Tätä päätettiin kokeilla myös Pääsiäissaaren yhteyteen. Lennon piti tapahtua mahdollisimman suoraan, jotta kopterin akkujen varaus varmasti riittäisi. Etäisyys piti saada lasketuksi, samoin suunta, johon kopterin piti Korvatunturilta lähteä.

Tästä syntyi ongelma. Osa tontuista oli kyllä suorittanut ylitonttututkinnon, johon sisältyi myös matematiikkaa, mutta ei niin paljoa, että he olisivat osanneet laskea suunnan ja etäisyyden. Päätettiin käyttää ulkopuolista konsulttia lähimmästä yliopistokaupungista. Tämä laski hetkessä halutut luvut ja kirjoitti palveluksistaan varsin suolaisen laskun. Joulupukki totesi, että laskun takia 5000 lapsen lahjat oli valittava alemmasta hintaluokasta. Lahjojen tekemisestä vastasi Tonttupaja, joka oli osa samaa konsernia kuin Joulupukkipalvelu, mutta konsernin sisällä sovellettiin sisäistä laskutusta. Joulupukkipalvelulle kuului vain logistiikka, ja tällä tavoin konsultin lasku siirtyi Tonttupajan kannettavaksi.

Etäohjattava kopteri saatiin matkaan. Akkujen latauksen oli määrä riittää Pääsiäissaarelle saakka. Muutaman päivän kuluttua kopterilta kuitenkin tuli ilmoitus, että akkujen varaustila oli laskenut odotettua nopeammin ja uusi lataus tarvittaisiin viimeistään 10000 kilometrin lennon jälkeen. Joulupukkipalvelussa jouduttiin pohtimaan, mistä lataus olisi tilattava ja mihin kopteri olisi ohjattava laskeutumaan.

Aiemmin käytetty konsultti tuli avuksi, ja selvitti hetkessä sopivan latauspaikan. Toiset 5000 lasta joutuivat tyytymään alemman hintaluokan lahjaan.

Lataus järjestyi, ja kopteri pääsi onnellisesti Pääsiäissaarelle, jossa Rapa oli jo jonkin aikaa tähyillyt horisonttiin kopteria odottaen. Oikean tähyilysuunnan hän oli itse laskenut.

Korvatunturilla konsultin palkkiot herättivät kiivaan keskustelun. Vaadittiin, että ylitonttututkintoon oli lisättävä trigonometriaa ja vektorialgebraa niin paljon, että tontut itsekin suoriutuisivat suunnistukseen tarvittavista laskuista. Toiset kuitenkin katsoivat, että tämänkaltainen panostus oli ylimitoitettua ja riittäisi, että hankittaisiin laskentaohjelma, jossa tarvittavat laskut olisivat valmiiksi ohjelmoituina; modernissa maailmassa matematiikka on ohjelmistojen käyttöä ja niiden opettelu riittäisi. Asiaa ei jaksettu pohtia ja vähitellen keskustelu laantui. Sen sijaan siirryttiin pohtimaan tutkinnon yleistä tietokoneistamista: tulisiko kokeessa kirjoittaa vastaukset Times-, Lucida- vai Comic Sans -fontilla.


Sen pituinen se.

----------
Joulupohdittavaa lukijalle: Mikä on etäisyys Korvatunturilta Pääsiäsissaarelle ja mihin suuntaan kopterin on lähdettävä? Miltä lentoreitti näyttää kartalla? Mitkä olisivat sopivia paikkoja kopterin akkujen lataamiseen? Mihin suuntaan Rapa tähyili kopteria odottaessaan? Työvälineinä kynä ja paperi tai jokin ohjelmisto tai jotakin muuta, mikä lukijaa miellyttää. Vastauksen voi jättää kommenttina, mukaan tieto välineistä.