Olin vuonna 1991 Itävallan Oberlechissa IBM:n järjestämässä seminaarissa, jossa tarkasteltiin symbolisten laskentaohjelmien tarjoamia mahdollisuuksia ja jossa julkistettiin myös IBM:n parikymmentä vuotta jatkuneen Scratchpad-projektin tuotos, laskentaohjelma Axiom.
Axiomin oli tarkoitus olla aikakauden suurin ja kaunein, lähes kaiken abstraktinkin algebran kattava laskentatyökalu. Aivan tätä siitä ei tullut. Axiom oli raskas, ja varsin pian Mathematica ja Maple ajoivat siitä ohi helppokäyttöisyydessä, joskaan ei kattavuudessa. Kaupallista menestystä ei tullut, ja joidenkin vuosien kuluttua IBM luopuikin Axiomista. Se on edelleen olemassa ja sen voi kopioida itselleen vapaasti (http://www.axiom-developer.org/). Kehitystäkin lienee tapahtunut.
Oberlechin seminaarissa syötiin hyvin ja illallisilla puhuttiin varsin paljon asiaakin. Ehdotin eräänä iltana Axiomin sievennysalgoritmien testaamista seuraavalla polaariteoriaan liittyvällä ongelmalla.
Olkoon $c$ toisen asteen tasokäyrä, ts. kartioleikkaus, yhtälönä
\[
ax^2 + by^2 + 2cxy + 2dx + 2ey + f = 0
\]
ja $P = (x_0,y_0)$ jokin piste. Asetetaan $P$:n kautta suora $s$, joka leikkaa kartioleikkausta kahdessa pisteessä, $A$ ja $B$. Olkoon $Q$ sellainen suoran $s$ piste, että pisteet $P$ ja $Q$ jakavat janan $AB$ samassa suhteessa, toinen sisäpuolisesti ja toinen ulkopuolisesti. Kun suoraa $s$ käännetään pisteen $P$ ympäri, piste $Q$ liukuu pitkin suoraa $p$, jota kutsutaan pisteen $P$ polaariksi kartioleikkauksen $c$ suhteen.
Polaariteoriassa osoitetaan — itse asiassa varsin yksinkertaisesti — että polaarin yhtälö on
\[
ax_0 x + by_0 y + cx_0 y + cy_0 x + d x + e y + dx_0 + ey_0 + f = 0.
\]
Mikäli piste $P$ sijaitsee siten, että siitä voidaan asettaa tangentit käyrälle $c$, samaan tulokseen päästään alkeellisesti: määrätään tangenttien kulmakertoimet siten, että suoran $s$ ja käyrän $c$ leikkauspisteet yhtyvät, ts. vaaditaan, että syntyvän toisen asteen yhtälön diskriminantti on $= 0$. Tällöin saadaan määrätyksi sivuamispisteet $T_1$ ja $T_2$. Polaari on näiden kautta kulkeva suora.
Jos kertoimet ovat numeerisia, lasku on yksinkertainen. Jos tarkastellaan yleistä tapausta, jossa kertoimet ovat symboleja, lasku on vaativa. Kiintoisaa on, että se on pätevä myös, jos piste $P$ sijaitsee siten, että em. tangentteja ei voida asettaa. Kulmakertoimet ovat tällöin kompleksisia. Tällä tavoin tehtynä kyseessä on polaarin yhtälön johtaminen raa'alla voimalla.
Tätä lähdettiin koettamaan Oberlechin illallisen päätyttyä. Axiom oli tuolloin nuori ja luteinen, ja yritys päättyi systeemin kaatumiseen ennen kuin oli oikeastaan päästy edes alkuun. Ei siitä sen enempää. Kokeilin noihin aikoihin myös, miten Mathematica selviää tehtävästä. Ei selvinnyt ainakaan sinä aikana, jonka jaksoin odottaa.
Ongelma on kuitenkin mielestäni hyvä symbolisten laskentaohjelmien testaamiseen. Paitsi vaativaa sieventämistä testissä paljastuu myös, miten helppoa ohjelmassa on käyttää edellisten laskuvaiheiden tuloksia seuraavien lähtötietoina syöttämättä niitä uudelleen. Jokin aika sitten mieleeni tuli kokeilla, olisiko Mathematica kehittynyt riittävästi runsaassa kahdessakymmenessä vuodessa. Ei mennyt kauankaan, kun oikea tulos tuli. Maailma on siis ainakin jossakin suhteessa tullut paremmaksi.
Minulla ei ole koneessani Axiomia tai Maplea, joten en pääse kokeilemaan niitä. GeoGebrassakin on symbolilaskenta, mutta sen mahdollisuuksiin en oikein usko. (Se on sen verran kömpelökin, että en jaksa kokeilla.) Jos joku haluaa testata näitä tai muitakin symbolilaskennan ohjelmistoja, odotan tuloksia mielenkiinnolla.
Ei kommentteja:
Lähetä kommentti