wxmaxima-pikaopas Ari Lehtonen. Yleistä Maxima on laaja symboliseen laskentaan suunniteltu ohjelma. Maximalla voidaan sieventää lausekkeita, jakaa polynomeja tekijöihin, ratkaista yhtälöitä, derivoida, integroida, kehittää funktioita taylorin sarjoiksi, ratkaista differentiaaliyhtälöitä. Maximassa on lisäksi ohjelmointikieli, jolla Maximan toimintoja voidaan laajentaa. Yksinkertaisimmillaan Maximaa voidaan käyttää komentorivipohjaisesti (kuvassa Maxima versio 5.24.0 ja Applen Pääte-ohjelma): Helpommin Maximaa voi käyttää graafisen käyttöliittymän kautta kuten esimerkiksi wxmaximan. Syöte kirjoitetaan komentoriville kuten päätekäytössä, mutta tulos on graafinen ja komennon muokkaaminen on helpompaa. Grafiikan esittämiseen Tämä dokumentti on laadittu Applen MacBookissa käytössä olleella wxmaximan versiolla.04.0 ja Maximan versiolla 5.24.0. Esimerkkejä muista käyttöliittymistä löytyy sivulta [3].
WXMAXIMA-PIKAOPAS 2 Maxima käyttää Gnuplot-ohjelmaa. wxmaxima toimii siis lähinnä tekstieditorina, joka käyttää Maximaa laskentaytimenä ja Gnuplot-ohjelmaa piirtoapuna. 2. Käsikirja Maximan käsikirja löytyy Help-valikon kohdasta Maxima Help:
WXMAXIMA-PIKAOPAS 3 Käsikirjaa voi selata sisällön mukaisessa järjestyksessä (Contents)... 2... etsiä aakkosellisesta hakemistosta (Index)...... tai etsiä vapaalla sanahaulla (Search). 2 Maximan laajuutta kuvaa käsikirjan koko; version 5.24 käsikirjan pdf-versiossa on 000 sivua, vaikkei esimerkiksi draw-grafiikkapaketin toimintoja ole lainkaan havainnollistettu kuvin.
WXMAXIMA-PIKAOPAS 4 3. Käyttöliittymä I Maxima (kuten useat muutkin matemaattiset ohjelmistot) jakaa dokumentin erilaisiin soluihin. Jaon peruspari on syötesolu (engl. Input Cell) ja tulossolu (engl. Output Cell). Maxima numeroi kaikki syötteet ja tulokset ja käyttää näiden solujen merkitsemiseen muotoa (%in) ja (%on), missä n on kyseisen solun järjestysnumero. Huomaa yllä olevan kuvan alareunassa, rivin (%o4) alapuolella oleva ohut vaakasuora viiva. Se on wxmaximan kursori, joka osoittaa mihin kohtaa tekstiä alkaa ilmestyä, kun merkkejä ruvetaan näppäilemään. Kun luodaan uusi, tyhjä dokumentti, tämä kursori on aivan ikkunan ylälaidassa. Komentojen syöttämiseksi ei tarvita return- tai enter-nappia. Haluttaessa uuden syötesolun saa valitsemalla Cell-valikosta Input Cell. Pidempiä dokumentteja voi/kannattaa strukturoida ja kommentoida käyttämällä Cell-valikon tarjoamia väliotsikointeja Title Cell, Section Cell, Subsection Cell ja Text Cell. Klikkaamalla solun vasemman ylänurkan kolmiota, saadaan solun sisältö piilotetuksi ensimmäistä riviä lukuunottamatta.
WXMAXIMA-PIKAOPAS 5
WXMAXIMA-PIKAOPAS 6 4. Käyttöliittymä II Maxima on komentorivipohjainen ohjelma eikä (ainakaan tätä kijoitettaessa) graafinen käyttöliittymä wxmaxima mahdollista kaavojen syöttämistä graaafisesti. Esimerkiksi +2 tulee syöttää muodossa (+2)/(3+4) ja 2 muodossa sqrt(2). 3+4 Osa perustoiminnoista löytyy valikoista Equations, Algebra, Calculus ja Simplify, joista voi olla hyötyä ennenkuin käsikirja alkaa olla tuttu. Esimerkiksi valikon Calculus kohdan Get Series... avulla saadaan annetun lausekkeen Taylorin polynomi, mutta vain yhden muuttujan funktioille. Funktiolle (x, y) sin(x + y 2 ) valikosta saadaan, kun muuttuja, kehityskeskus ja polynomin asteluku jätetään oletusarvoilleen (%i) taylor(sin(x+y^2), x, 0, 8); (%o)/t/ sin ( y 2) +cos ( y 2) x sin (y2 ) x 2 cos (y2 ) x 3 + sin (y2 ) x 4 + cos (y2 ) x 5 2 6 24 20 sin (y 2 ) x 6 cos (y2 ) x 7 + sin (y2 ) x 8 +... 720 5040 40320 Jos tarkoitus on määrätä funktion f : (x, y) sin(x + y 2 ) enintään astetta kahdeksan oleva Taylorin polynomi pisteen (0, 0) suhteen (kurssin Diffrerentiaalilaskenta merkinnöin T(0,0) 8 f(x, y)), niin tämä ei ole haettu tulos. Sen sijaan muokkaamalla komentoa hieman saadaan oikea tulos: (%i2) taylor(sin(x+y^2), [x,y], [0,0], 8); (%o2)/t/ x + y 2 x3 6 y2 x 2 + x5 60 y 4 x + y2 x 4 4 y 6 2 20 24 y 2 x 6 60 y 6 x 2 +... 720 5. Grafiikka x7 420 y 4 x 3 5040 Kuvien piirtämistä käsitellään Maximan käsikirjan luvuissa 8 Plotting ja 48 draw. Ehkä helppolukuisempi opas on Wilhelm Haagerin Graphics with MAXIMA [4]. Syystä tai toisesta wxmaxima tarvitsee piirtokomennoista wx-alkuiset versiot, joista ei ole mainintaa Maximan käsikirjassa. Siis plot2d(...) wxplot2d(...) contour_plot(...) wxcontour_plot(...) plot3d(...) wxplot3d(...) Näiden wxmaximan wxplot-komentojen mukavuutena on, että ne tuottavat kuvan suoraan wxmaximan dokumentti-ikkunaan. Haittana on, että näiden kuvien resoluutio sopii vain näytöllä tarkastelemiseen. Komennot plot2d, contour_plot ja plot3d käyttävät Gnuplot-ohjelman [5] ikkunointia, eli kuvat muodostuvat omiin, erillisiin ikkunoihinsa. 3 Komennon plot3d tuottamien kuvien mukavuutena on, että katselukulmaa voi helposti muuttaa hiiren avulla. Käsikirjan mukaisia komentoja (siis plot2d(...), ei wxplot2d, jne) tarvitaan, kun kuvista halutaan tehdä painokelpoinen versio (eli aina silloin, kun kuva liitetään minkä tahansa tekstinkäsittyohjelman dokumenttiin ja työ tulostetaan kirjoittimelle). Aluksi tämä kannattaa varmaan tehdä käyttäen Plot-valikon komentoa Plot 2d... tai 3 Kirjoittajan käyttöympäristössä asetustiedosto /.maxima/maxima-init.mac kaipaa riviä set_plot_option([gnuplot_term, x])$ ja X-ikkunointia.
WXMAXIMA-PIKAOPAS 7 Plot 3d.... Sijoita kohtaan Expression(s) piirrettävän funktion lauseke, muuttujan nimi ja vaihteluväli ja klikkaa kohdan File vieressä olevaa Browse-nappia. Tämä avaa normaalin Save As... -dialogi-ikkunan. Save-napin painaminen rakentaa dokumenttiikkunaan normaalin Maxima-komennon tarpeellisine asetuksineen. Kuva tallentuu valittuun paikkaan annetulla nimellä EPS-muodossa. Avaa Plot-valikosta kohta Plot 2d.... Määrittele kohtaan Expression(s) piirrettävä funktio, kohtaan Variable muuttujan nimi ja vaihteluväli. Klikkaa kohdan File vieressä olevaa Browse-nappia, ja aseta tallennuspaikka ja tiedoston nimi. Save-napin painaminen rakentaa normaalin Maximakomennon, johon on lisätty asetukset [gnuplot_term, ps] ja [gnuplot_out_file, " tiedosto.eps"]. Vertailun vuoksi: suoraan wxmaximasta PNG-muodossa talletettu kuva (vasen) ja Maximan generoima EPS-kuva. Molempia kuvia on pienennetty alkuperäisestä koostaan (PNG-muotoinen kuva on 0.43-kertainen alkuperäiseen verrattuna). Rasterigrafiikkakuvien visuaalista laatua tällainen pienennys parantaa, EPS-kuvien ei. 0.9 0.8 0.7 0.6 x-floor(x) 0.5 0.4 0.3 0.2 0. 0-2 - 0 2 3 x
WXMAXIMA-PIKAOPAS 8 Maximan plot3d-komento on varsin vajaavainen piirtoapu. Kannattaa mieluummin tutustua Maximan käsikirjan luvun 48 draw-pakettiin, jonka käyttöön esimerkkejä löytyy myös Wilhelm Haagerin oppaasta Graphics with MAXIMA [4]. Kahden muuttujan funktioiden havainnollistamisesta olkoon esimerkkinä (vasen kuva suoraan wxmaximasta talletettu PNG-kuva ja oikeanpuoleinen Maximan generoima EPS-kuva; komentoon wxplot3d parametrien elevation ja azimuth asetukset eivät näytä vaikuttavan; komennolla plot3d Gnuplot-ohjelman X-ikkunaan tuottama kuva on kuten EPS-tiedostossa, heikkoresoluutioisempi toki): plot3d(cos(-x^2 + y^3/4), [x, -4, 4], [y, -4, 4], [mesh_lines_color, false], [elevation, 30], [azimuth, 20], [colorbox, true], [grid, 50, 50], [gnuplot_term,ps],[gnuplot_out_file,"/users/lehtonen/plot3d.eps"])$ cos(y 3 /4-x 2 ) z 0.8 0.6 0.4 0.2-0.2 0-0.4-0.6-0.8 - -4-3 -2 - x 0 2 3 4 3 2 0 y - -2-3 4-4 0.8 0.6 0.4 0.2 0-0.2-0.4-0.6-0.8 - Kirjallisuutta [] http://maxima.sourceforge.net/ (luettu kesäkuussa 20). [2] http://maxima.sourceforge.net/docs/manual/en/maxima.pdf (luettu kesäkuussa 20). [3] http://maxima.sourceforge.net/screenshots.html (luettu kesäkuussa 20). [4] Wilhelm Haager: Graphics with MAXIMA, 20, pdf-dokumentti osoitteessa http://www.austromath.at/daten/maxima/zusatz/graphics with Maxima.pdf (luettu kesäkuussa 20). [5] http://www.gnuplot.info/docs 4.4/gnuplot.pdf (luettu kesäkuussa 20).