perjantai 16. joulukuuta 2016

Funktioteoreettiset piparit

Joulun kunniaksi esittelen funktioteoreettisen sovelluksen piparimuottien valmistamiseen. Älköön kukaan kuitenkaan ajatelko, että tämä on esimerkki matematiikan soveltamisesta arkielämään tai osoitus matematiikan tarpeellisuudesta.  Jouluhan on sitä paitsi juhla eikä arkea.

Kompleksimuuttujan kompleksiarvoisia funktioita $f:\mathbb{C} \to \mathbb{C}$ voi tutkiskella selvittämällä, millaiseksi käyräksi kuvautuu sopivasti valittu lähtötason käyrä, esimerkiksi suora tai yksikköympyrä.

Funktion
\[
f(z) = \left(z^p + \frac{1}{2z^p}\right)^{1/p}
\]
tapauksessa sopiva käyrä on yksikköympyrä. Luontevinta on, että $p$ on luonnollinen luku, mutta myös puoliluvut $1/2$, $3/2$, $5/2$ jne. kelpaavat. Tuloksena on piparkakkumuottikäyriä:

$2p = 1,\ 2,\ 3,\ 4,\ 5,\ 6,\ 7,\ 8,\ 9,\ 10,\ 200$

Aivan ongelmaton tilanne ei ole, sillä piparkakkumuotin tulee olla umpinainen käyrä, mutta kompleksiluvun vaihekulman eli argumentin antava funktio $\arg$ saa arvonsa väliltä $]-\pi,\pi]$ ja jaksolliseksi laajennettuna sillä on hyppyepäjatkuvuus kohdissa $\pi + 2n\pi$ ($n$ kokonaisluku tavanomaiseen tapaan). Tämä on korjattava jatkuvaksi, jotta saadaan umpinainen piparkakkumuotti.  Saman asian voi tehdä valitsemalla sopiva arvo funktion lausekkeessa olevalle $p$:nnelle juurelle (eli potenssille $1/p$). Kompleksitasossahan $p$:nnellä juurella on $p$ eri suurta arvoa.

Jotkut ratkovat ristisanatehtäviä aikansa kuluksi. Matemaattisemmin orientoituneet henkilöt saattavat olla kiinnostuneita matemaattisen ohjelmakoodin selvittelystä. Tarjoan pohdittavaksi Mathematica-koodin, joka piirtää piparimuotteja. Ongelmana siis on, mitä mikäkin koodirivi tekee.


Vihjeeksi Mathematica-ohjelmiston käyttämän kielen, ns. Wolfram Languagen verkkodokumentti: http://reference.wolfram.com/language/.

Tämän jälkeen voikin ryhtyä tekemään piparkakkumuotteja 3D-tulostuksella.  Minulla itselläni on vanhemmalla tekniikalla tehdyt: peltiä leikkaamalla ja taivuttelemalla.



Lopuksi toivotan kaikille riemullista joulujuhlaa.

tiistai 29. marraskuuta 2016

Viiden pisteen ellipsi

Koordinaattitasoilla olevien ympyröiden kuvaellipsit
xy-tasossa olevan ellipsin yhtälö on aina muotoa
\[
Ax^2 + By^2 + 2Cxy + 2Dx + 2Ey + F = 0
\]
sen muodosta ja asemasta riippumatta. Yhtälö voi kertoimista riippuen esittää myös paraabelia tai hyperbeliä tai näiden erikoistapauksia. Yhteisellä nimellä käyriä kutsutaan toisen asteen käyriksi tai kartioleikkauksiksi.

Kertoimia yhtälössä on kuusi. Käyrä ei kuitenkaan muutu, jos yhtälö kerrotaan jollakin luvulla. Oleellisia eivät siten olekaan kertoimet vaan niiden suhteet, joita on viisi. Näiden määrittämiseen riittää tuntea viisi pistettä. Kertoimet saadaan siis ratkaisemalla viiden yhtälön lineaarinen ryhmä. Pisteiden sijainnista riippuen tuloksena on ellipsi, paraabeli, hyperbeli tai jokin erikoistapaus.

Valmis työkalu käyrän muodostamiseen viiden pisteen avulla löytyy monista dynaamisen geometrian ohjelmista (ainakin GeoGebra ja TI-Nspire; onko Class Padissa?). CAS-työkaluilla voi tietenkin myös ratkaista em. viiden yhtälön ryhmän.

Ellipsi kuitenkin määräytyy yksikäsitteisesti myös, jos tunnetaan yksi liittohalkaisijapari. Liittohalkaisijaparia sitoo ehto, että kumpikin puolittaa toisen suuntaiset jänteet. Tällöin tunnettuja pisteitä on kuitenkin vain neljä, liittohalkaisijoiden päätepisteet. Mistä saadaan viides piste?

Viidennen pisteen konstruointi

Viides piste löytyy varsin yksinkertaisella konstruktiolla: Muodostetaan ellipsin ympäri piirretty suunnikas asettamalla kummankin liittohalkaisijan $AB$ ja $CD$ päätepisteiden kautta toisen liittohalkaisijan suuntaiset suorat. Valitaan jokin tämän kärki ($F$) ja tätä vastaten määritetään janojen $KD$ ja $FD$ keskipisteet $M$ ja $N$. Viides piste on suorien $MF$ ja $AN$ leikkauspiste $P$.

Konstruktion pätevyys ei ole itsestään selvää. Todistus ei kuitenkaan ole hankala, kun lähdetään ajatuksesta, että jokainen ellipsi on ympyrän affiininen kuva, ts. kuva yhdensuuntaisprojektiossa eli aksonometrinen kuva. Koska tällöin janojen jakosuhteet säilyvät, janojen keskipisteet kuvautuvat kuvajanojen keskipisteiksi. Ellipsin liittohalkaisijoita vastaa ympyrän kaksi kohtisuoraa halkaisijaa; nämähän nimittäin ovat ympyrän liittohalkaisijoita, ts. kumpikin puolittaa toisen suuntaiset jänteet.

Jäljelle jää siten vain osoittaa, että vastaava konstruktio ympyrässä tehtynä tuottaa ympyrän pisteen. Tämä puolestaan on alkeisgeometriaa.

Ellipsin piirtämismenetelmänä konstruktio ei nykyisten tietokoneohjelmien aikakaudella enää ole kovin merkittävä. Alussa olevassa kuviossa ympyröiden kuvaellipsit olisi luonnollisesti voitu piirtää konstruoimalla viides piste, mutta ohjelmistot usein tarjoavat muunlaiset valmiit työkalut tällaisiin tehtäviin. Esimerkkinä GeoGebra, jolla kuvio on tehty.

Olemmeko menossa kohden maailmaa, jossa matematiikan taitoja tärkeämpää on osata käyttää ohjelmistoja?

torstai 17. marraskuuta 2016

GeoGebra ja CAS

Edellisessä postauksessani kritisoin GeoGebran CAS-osiota. Hieman laajempaa ongelmaa tutkiessani johduin uudelleen ihmettelemään sen piirteitä. Seuraava on mahdollisimman yksinkertainen esimerkki CAS-osion ja dynaamisen geometrian osion välisistä suhteista. (CAS = Computer Algebra System)

En ole hirveän hyvin perehtynyt GeoGebran sielunelämään. Joku viisaampi voi varmaan kommentoida havaintojani.


Lähtökohtana on piirtonäyttöön piirretty origokeskinen yksikköympyrä, suora $y = x$ ja näiden leikkauspisteet $C$ ja $D$. Kaikki muodostettu dynaamisen geometrian työkaluilla.

Objektit löytyvät myös CAS-puolelta: ympyrän ja suoran yhtälöt objektien nimillä, pisteet samoin. Jälkimmäisille on saatu murtolukuesitys tarkkojen arvojen painikkeella (korostettu sinisellä).

Leikkauspisteet voidaan tietenkin myös löytää ratkaisemalla ympyrän ja suoran yhtälöiden muodostama yhtälöpari. Tätä on yritetty rivillä 5, mutta tulos on omituinen. Jos Solve-komentoon sen sijaan kirjoitetaan yhtälöt niiden nimien sijasta, oikeat ratkaisut löytyvät. Ongelmana lienee, minkä nimiä $c$ ja $f$ oikeastaan ovat. Odottaisin, että nimet kelpaavat symbolisessa laskennassa.

Yhtälöpari voidaan ratkaista myös aktivoimalla rivit 1 ja 2 ja painamalla tarkan ratkaisun painiketta. Saadaan rivin 6 oikea tulos. Tämän perusteella voidaan muodostaa pisteet $C1$ ja $D1$ (rivit 7 ja 8). Nämä ilmestyvät myös piirtonäyttöön (kuvassa ne on piilotettu).

Hämäävää on, että leikkauspisteille on saatu kaksi esitystä, molemmat ns. tarkkoja ratkaisuja. Tämän perusteella täytyisi olla
\[
\frac{\sqrt{2}}{2} = \frac{470832}{665857},
\]
 ts. kakkosen neliöjuuri olisi rationaalinen.

Selitys luonnollisesti on, että leikkauspisteet on laskettu kahdella eri algoritmilla, dynaamisen geometrian numeerisella algoritmilla ja CASin symbolisella. Myös edellistä CAS kuitenkin käsittelee tarkkana arvona.

Dynaamisen geometrian idea, kuvion muunneltavuus, toimii kaikkialla: Jos suoraa muutetaan piirtonäytössä pisteitä $A$ ja $B$ siirtelemällä, kaikki CAS-puolen tulokset muuttuvat vastaavasti, myös pisteiden $C1$ ja $D1$ koordinaatit, joihin ilmestyy tilanteen mukaan mutkikkaita juurilausekkeita.  Tämä ei luonnollisestikaan enää päde, jos rivillä 5 syötetään ympyrän ja suoran yhtälöt Solve-komentoon. Niillähän ei tällöin enää ole kytkentää piirtonäytön objekteihin.

Esimerkki tuo esiin CAS-ohjelmien sudenkuopat. Yhtenäisyyden saavuttaminen ei ole helppoa. Ohjelman kehityksen alussa tehdyt valinnat voivat olla esteenä myöhemmin ilmenevien epäjohdonmukaisuuksien korjaamiseen. Tämä ei ole niinkään harvinaista: tie eteenpäin kulkee usein aloittamalla uusi projekti, jossa luodaan uusi ohjelma ja hyödynnetään tehtyjen virheiden antamat opetukset.

Tavallaan GeoGebrakin on tällainen uusi projekti. Aiemmat (Cabri, Cinderella, ...)  eivät käsittääkseni ole yrittäneetkään symbolilaskennan valtausta.

torstai 27. lokakuuta 2016

Digimatematiikkaa


Digitalisoinnista on tullut tärkeää. Nelisenkymmentä vuotta matematiikkaa Teknillisessä korkeakoulussa (TKK) opettaneena ja sen jälkeenkin tietotekniikan kehitystä seuranneena uudet kuviot kiinnostavat edelleen. Miltä asiat sitten nykyään näyttävät?

Elektroniset laskimet tulivat käyttöön 60- ja 70-lukujen vaihteessa. Vähitellen niitä alettiin käyttää myös koulujen matematiikan opetuksessa: ensin funktiolaskin, sitten graafinen laskin, muutama vuosi sitten symbolinen laskin (CAS, Computer Algebra System). Sittemmin tahti on kiihtynyt yleisen digitalisoitumisen ja ylioppilaskokeen sähköistämisen myötä: laskimista tietokoneohjelmiin tai tablettisovelluksiin, useisiin ohjelmistoihin, matemaattiseen tekstinkäsittelyyn.

Maailman muuttumista tuleekin seurata myös opetuksessa ja ottaa käyttöön tieto- ja viestintätekniikka siellä, missä se auttaa oppimista ja sen ohella tuottaa yleistä tietoteknistä osaamista.

Ylioppilastutkintolautakunta (YTL) on valinnut sähköisessä matematiikan kokeessa keväästä 2019 lähtien käytettäviksi matemaattisiksi ohjelmiksi seuraavat (https://www.ylioppilastutkinto.fi/images/sivuston_tiedostot/Sahkoinen_tutkinto/fi_sahkoinen_matematiikka.pdf):
  • GeoGebra,
  • wxMaxima,
  • Texas Instruments N-spire ja
  • Casio ClassPad II Manager.
Ohjelmista ensimmäinen, GeoGebra, on ns. dynaamisen geometrian työkalu muunneltavien geometristen kuvioiden laatimiseen ja funktioiden kuvaajien piirtämiseen. Se sisältää myös symbolisen laskennan (CAS) osion. Tarkoitettu lähinnä opetuskäyttöön, tässä käytössä ilmainen.

wxMaxima on yli neljäkymmentä vuotta sitten syntyneen Macsyman nykyinen versio.  Alunperin kyseessä oli symbolisen laskennan tutkimus- ja kehitysprojekti, ja Macsyma olikin 80-luvulla alan suurin ja kaunein, hintakin melkoinen.  Nykyinen wxMaxima on ilmainen. Perusratkaisut eivät ole oleellisesti kehittyneet, käyttöliittymä kylläkin.

N-spire ja Classpad ovat alunperin laskimia, mutta nykyään luontevin käyttöympäristö on tietokone. Ne ovat lukiotason opetuskäyttöön tarkoitettuja ohjelmia, jotka pyrkivät kattamaan kaiken tarpeellisen mukaanluettuna CAS.  Ilmaisia ylioppilaskokeessa, mutta muutoin maksullisia.

Ongelmattomin YTL:n ohjelmistovalinnoista on GeoGebra. Se on näppärä työkalu kuvioiden piirtämisessä ja niiden tutkimisessa, muodostaa luontevan geometrisen työskentely-ympäristön opiskelijalle. Sen CAS-osio on poikkeus: lausekkeiden käsittely on jäykkää, yksittäiset operaatiot onnistuvat, mutta laajempi laskenta ei oikein suju. CAS-osio ei kohoa lähellekään samaa tasoa kuin muut toiminnot.

YTL kirjaa kolme muuta ohjelmaa symbolisen laskennan ohjelmiksi, vaikka niillä toki voi suorittaa myös numeerisia laskuja, laatia graafisia esityksiä ym. Symbolinen laskenta on saanut liian korostetun aseman sekä tässä että koulumaailmassa yleensäkin.  Opetussuunnitelmassa toistuvasti todetaan, että opiskelijan taito käyttää teknisiä apuvälineitä on yhtenä opetuksen tavoitteena, mutta tarkemmin ei täsmennetä.  Tarkoittaako tämä CASia? Mitä sillä oikeastaan pitäisi oppia tekemään? Tarvitaanko sitä? Onko kenelläkään näkemystä?

Jos mikään muu ei muutu, on vaarana, että symbolista laskentaa aletaan käyttää oman ajattelun korvikkeena. Sillä lasketaan yksinkertaisia perustehtäviä, jotka oikeastaan pitäisi osata ilman mitään apuvälineitä. Käyttöliittymät eivät kuitenkaan ole aivan yksinkertaisia, jolloin niiden opettelu vie oman aikansa. Tämä on pois matematiikan opiskelusta eikä auta jatko-opinnoissakaan, joissa yleensä on käytössä muut ohjelmat.

Toin aikoinani TKK:n peruskurssien opetukseen numeerisen laskentaohjelman (Matlab) käytön, myöhemmin myös symbolisen (Mathematica, Maple). Tilanne oli toisenlainen: käytössä yleiset työkaluohjelmat, joiden opetteluun kannatti panostaa; monimutkaisemmat ongelmat.

Onko symbolinen laskenta siis tarpeetonta lukiossa? Ei välttämättä. Edellytyksenä kuitenkin on tavoitteiden ajattelu uudelleen. Joustava, mutta ei monimutkainen matemaattinen työskentely-ympäristö, joka sisältää numeerisen laskennan, symbolisen laskennan alkeet, erilaiset graafiset esitykset ja dokumentin kirjoittamisen. Ympäristö, joka mahdollistaa laajempien tehtävien käsittelyn, jolloin opitaan kokonaisuuden hallintaa ja sen dokumentointia. Ohjelmointi, koodin kirjoittaminen, on tarvittaessa luonteva osa työskentelyä. Yksinkertaisista tehtävistä on luonnollisesti aloitettava, mutta vähitellen opitaan työskentelytapoja, jotka kantavat pidemmälle myöhemmässä opiskelussa ja työnteossa.

Ongelmana on, että muutos on aika syvällinen ja sellaisena vaatii opettajilta paljon. Mikään kolmesta ohjelmasta ei myöskään kovin sujuvasti tue tällaisia tavoitteita. Toki vaihtoehtoja on, mutta ainakin niiden listahinnat ovat aika korkeita. Ehkä kuitenkin kannattaisi katsoa, mitä olisi neuvoteltavissa.

Ohjelmistot voivat olla myös opettajan työkaluja havainnollistusten ja demonstraatioiden tekemiseen. Tämä on kuitenkin toinen tarina. Oppilaan ei tarvitse osata käyttää opettajan työkaluja.

torstai 29. syyskuuta 2016

Verkkodokumentit ja matematiikan kaavat

Matemaattisten kaavojen sisällyttäminen verkkodokumentteihin ei vielä nykyäänkään ole ongelmatonta, vaikka vuosien kuluessa on moniakin ratkaisuja esitetty.  Kirjoittamisessa on kaksi päävaihtoehtoa: symbolien poimiminen valikosta tai kaavan koodaaminen tavallisilla kirjoittuvilla merkeillä. Tämän jälkeen tarvitaan jokin ohjelma (jota käyttäjä ei välttämättä näe), jolla kaavasta muodostetaan dokumenttiin liitettävä kuva tai jolla tarvittavat fontit liitetään dokumenttiin.

Tavalliselle käyttäjälle ehkä helpoimmin omaksuttava kirjoittamistapa on jokin valikoita käyttävä kaavaeditori. Jos kirjoitettavaa on vähän enemmän, kaavojen koodaaminen on nopeampaa, mutta aloituskynnys on korkeampi. Ammattimatemaatikot yleensä koodaavat kaavat käyttäen LaTeX-järjestelmää; ks. esim.  https://www.latex-project.org/ tai tekemääni LaTeX-opasta http://matta.hut.fi/matta/latexopas/.

Tarve kaavojen littämiseen sähköisiin dokumentteihin on lisääntymässä.  Matematiikan ylioppilaskokeen muuttuminen sähköiseksi keväällä 2019 edellyttää yksinkertaista ja helposti ymmärrettävää ratkaisua kaavojen kirjoittamiseen.  Valintaa ei helpota se, että sillä on kytköksensä kokeessa käytettäviin laskentaohjelmistoihin. Sama ongelma on sähköisissä oppimateriaaleissa, mikäli ne ovat muutakin kuin sähköisiä sivunkääntöympäristöjä.

Tähän blogiin olen kirjoittanut kaavat LaTeXilla koodaamalla (esimerkiksi http://simokivela.blogspot.fi/2016/08/kokeellisen-matemaatikon-painajainen.html). Seuraavassa kuvaan, miten tämä on tehty.

LaTeX on erittäin monipuolinen ja paljon erilaisia laajennuksia sisältävä järjestelmä dokumenttien — yksittäisistä kaavoista kirjoihin — kirjoittamiseen. Sen avulla voidaan hallita kaavojen kirjoittamisen ohella kuvien liittäminen tekstiin, sisäiset ja ulkoiset linkitykset, sisällysluettelot ja hakemistot, haluttaessa myös viivakuvioiden piirtäminen (väreineen), nuotit, šakkilaudan kuvat jne.

Muutamien kaavojen kirjoittaminen verkkodokumenttiin (kuten tähän blogiin) ei kuitenkaan edellytä syvällistä LaTeXin koristeluihin ja kummallisuuksiin perehtymistä. Ainoa tieto, joka tarvitaan, on tavallisten matemaattisten kaavojen koodaus. Tekstirivillä olevat kaavat (inline-kaavat) sijoitetaan merkkien $\backslash(\,...\,\backslash)$ väliin (tai $ \$\,...\,\$ $), erillisillä kaavariveillä olevat (display-kaavat) merkkien $\backslash[\,...\,\backslash]$ väliin. Kaiken tämän olen kirjoittanut muun tekstin sekaan.

Koodin muuntaminen dokumentissa näkyviksi kaavoiksi perustuu MathJax-ohjelmistoon (https://www.mathjax.org/), joka otetaan käyttöön liittämällä verkkodokumenttiin (HTML-dokumenttiin) muutaman rivin skriptimäärittely. Minulla on Googlen blogiympäristössä (Malli → Muokkaa HTML-koodia) blogin koodin <head>-osioon lisättynä seuraavat rivit:

<script type="text/x-mathjax-config">
MathJax.Hub.Config({tex2jax:
  {inlineMath: [['$\$ $','$\$ $'], ['$\backslash\backslash($','$\backslash\backslash)$']]}});
</script>
<script type="text/javascript"
src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?
  config=TeX-AMS-MML_HTMLorMML">
</script>

MathJax-ohjelmisto haetaan tässä osoitteesta http://cdn.mathjax.org/mathjax/latest/.  Config-rivi ilmaisee, että tekstirivillä olevat kaavat (inline-kaavat) voidaan sulkea joko merkkien $ \$\,...\,\$ $ tai $\backslash(\,...\,\backslash)$ sisään. MathJax-ohjelmisto on mahdollista asentaa myös omalle palvelimelle tai omalle koneelle, jolloin verkkoyhteyttä ei tarvita.

Kaavojen koodeja voi katsella klikkaamalla  valmiissa dokumentissa hiiren kakkosnäppäimellä kaavaa (esimerkiksi blogipostauksessani), jolloin näkyviin tulee valikko. Tästä voi valita nähtäväksi esimerkiksi kaavan tekemiseen tarvitun koodin (Show Math As → TeX Commands). Muitakin vaihtoehtoja on. Valikon avulla voi myös tehdä asetuksen, jolla kaavan saa suurennettuna (Math Settings → Zoom Trigger → ...). Tämä on suureksi avuksi, jos esimerkiksi kaavan pienikokoisia indeksejä on vaikeata erottaa.

keskiviikko 7. syyskuuta 2016

Eläkeläisen matemaattinen lelu

Animoi!
Eläkkeelle jäämisestäni tuli syyskuun alkaessa täyteen kymmenen vuotta. Oli aika lopullisesti irtautua vanhasta työpaikastani Teknillisen korkeakoulun matematiikan laitoksesta. Olihan oppilaitoksen nimikin muuttunut Aalto-yliopistoksi.

Kevättalveen saakka olin laitoksen henkilökuntalistalla, teinhän siellä jotakin hyödyllistäkin. Käyttäjätunnukset tietokoneisiin ja ohjelmistoihin olivat voimassa. Irtautuessani menetin nämä.

Mathematicaa — alunperin symbolisen laskennan ohjelmistoa, myöhemmin paljon muutakin — olen käyttänyt sen ensimmäisestä versiosta vuodesta 1988 lähtien ja vuosien kuluessa tehnyt sillä kaikenlaista hyödyllistä ja/tai hauskaa. Se on myös sopiva lelu minunkaltaiselleni eläkeläiselle.

Hintava Mathematica tunnetusti on, mutta onneksi tarjolla on myös Home and Hobby -versio, jonka käyttöä mihinkään rahaa tuottavaan toimintaan lisenssiehdot eivät salli. Hinta on kuitenkin kohtuullisen siedettävä, 295 euroa lisättynä kotimaisella ALV:lla, yhteensä 365 euroa. Eläkeläinen hankki siis itselleen lelun.

Ohjelmistojen kehityksestä Mathematica on kiintoisa esimerkki.  Kaupalliset syyt edellyttävät jotakin uutta ja mielellään mullistavaa jokaiseen versioon. Ja kyllä näitä ominaisuuksia ja aluevaltauksia on kertynytkin. Monet kiinnostavia ja varmasti hyödyllisiäkin, mutta joukossa myös kokeellisia piirteitä, joiden käyttö ei ole yleistynyt ja joiden kehittämisestä ilmeisesti on luovuttu. Joissakin tapauksissa ei ehkä ole väärin sanoa, että mopo on päässyt karkaamaan käsistä.

Toisaalta panostus ei oikein ole riittänyt alkuperäisen idean, symbolisen laskennan kehittämiseen ja hiomiseen. Symbolisen laskennan algoritmit eivät aina ole yksinkertaisia ja täydellisyyteen tuskin on mahdollista koskaan päästä, mutta vähän liian helposti syntyy virheellisiä tai puutteellisia tuloksia. Ei toki yksinkertaisissa perustehtävissä, mutta vaativammissa tapauksissa käyttäjän täytyy olla kriittinen ja varmistaa tuloksensa jollakin riippumattomalla tavalla. Sinänsä hyvä periaate yleisemminkin.

Mammutti Mathematicasta on tullut. Hieman sääli on, että tällaisena sillä ei ole sijaa koulumaailmassa. Jokin Mathematican version 5 tasoinen (nykyinen versio on 11) paketti saattaisi monessa suhteessa olla hyvä työkalu lukion pitkään matematiikkaan. Parempi kuin nykyään tarjottavat ohjelmistot: ei liikaa valmista, mutta suhteellisen helppoa ohjelmoida itse omia työkaluja. Oppia samalla matematiikkaa, kokonaisuuksien hallintaa ja dokumentointia. Tällaista versiota vain ei myydä. En ymmärrä, miksi.

Mikä yllä oleva kuvio sitten on? Katenoidin voi venyttämättä ja kokoon puristamatta vääntää helikoidiksi, ts. ruuvipinnaksi.  Animaation kuvat on tehty Mathematicalla. Helposti voi myös laskea, että muuntamisen aikana kahta pistettä pintaa pitkin yhdistävän käyrän pituus säilyy.

tiistai 23. elokuuta 2016

Kokeellisen matemaatikon painajainen

Olen aina toisinaan tallettanut osoitteita matemaattisiin verkkodokumentteihin, jotka mahdollisesti ansaitsevat lähempää huomiota. Muutama päivä sitten tulin uudelleen katsoneeksi blogikirjoitusta, jossa pohdittiin seuraavantyyppisiä integraaleja:
\begin{align*}
I_1 &= \int_0^\infty \frac{\sin(x)}{x}\,dx\,, \\
I_2 &= \int_0^\infty \frac{\sin(x)}{x}\,\frac{\sin(x/3)}{x/3}\,dx\,, \\
I_3 &= \int_0^\infty \frac{\sin(x)}{x}\,\frac{\sin(x/3)}{x/3}\,\frac{\sin(x/5)}{x/5}\,dx\,, \\
I_4 &= \int_0^\infty \frac{\sin(x)}{x}\,\frac{\sin(x/3)}{x/3}\,\frac{\sin(x/5)}{x/5}\,\frac{\sin(x/7)}{x/7}\,dx\,, \\
\vdots
\end{align*}
tai yleisemmin
\[
I_n = \int_0^\infty \prod_{k=1}^n \frac{\sin(x/(2k-1))}{x/(2k-1)}\,dx.
\]

Näiden laskeminen ei ole aivan helppoa, mutta matematiikassakin voi harrastaa kokeilua.  Tuloksena voi olla hypoteesi tai vastaesimerkki. Katsotaan siis, suoriutuisiko laskentaohjelma integraaleista ja millaisia tuloksia se antaisi. Mathematica suoriutuu:
\[
I_1 = I_2 = I_3 = I_4 = I_5 = I_6 = I_7 = \pi/2.
\]
Tämän perusteella tuntuu jo aika selvältä, että tulos on aina $\pi/2$.

Seuraava integraali tuottaa kuitenkin yllätyksen:
\[
I_8 = \frac{467807924713440738696537864469}{935615849440640907310521750000}\,\pi.
\]
Onko asia todella näin vai onko Mathematica yksinkertaisesti laskenut väärin? Numeerisen integroinnin kokeilukaan ei auta, sillä edessä oleva kerroin ei paljoa puolikkaasta poikkea: 15-desimaalinen likiarvo nimittäin on $0.499999999992647$. Numeerisella integroinnilla saattaa olla vaikeata päästä näin suureen tarkkuuteen.

Ei siis liene muuta keinoa kuin pyrkiä laskemaan integraalit analyyttisesti. Tämäkin kyllä onnistuu: työkaluiksi kelpaavat esimerkiksi konvoluutio ja Fourier'n muunnos. Yksityiskohtainen esitys löytyy Hanspeter Schmidin artikkelista: http://www.schmid-werren.ch/hanspeter/publications/2014elemath.pdf.  Hakusanoilla 'borwein integral' Google löytää materiaalia enemmänkin.

Lähteenäni ollut blogiartikkeli on osoitteessa http://www.thebigquestions.com/2012/03/26/loose-ends/. Se kertoo myös Jonathan Borweinin Maplelle tekemästä kepposesta (= practical joke).

Niin, laskiko Mathematica siis väärin? Ei laskenut, tulos on aivan oikea. Hieman yllättävä se on, mutta Hanspeter Schmidin artikkeli antaa ilmiölle luontevan selityksen. Indeksistä 8 eteenpäin integraalien arvot hiljakseen pienenevät.