}

Mathematica

1998/04/01 Angulo, Patxi | Lazkano, Elena Iturria: Elhuyar aldizkaria

Mathematica programa, izenak berak adierazten duen bezala, matematika arloan lan egiteko software berezia da. Baina helburu orokorrekoa, hots, beste aplikazioetarako ere erabil daitekeena. Artilkulu-sorta honen helburua Mathematica , azaletik bada ere, ezagutzera ematea da; xehetasunetan sakonki sartu gabe, ikastaro labur eta praktikoa izateko asmoarekin egin da eta lan horretan arituko gara hurrengo aleetan.

Historia pixkat ezagutzearren, esan dezagun Mathematica -ren lehenengo bertsioa 1988. urtean atera zela Apple Macintosh ordenadoreetarako, baina berehala garatu zutela beste zenbait plataformetan erabili ahal izateko: IBM PC, Silicon Graphics, Hewlett Paccard, Sun, etab… Bigarren bertsioa 1991. urtean merkaturatu zen eta hori izan da ordenadoretan erabili dena iazko irailera arte; hirugarren bertsioa orduan amaitu baitzen: Mathematica 3.0. Funtsean oso antzekoak dira. Aldaketa nabarmenena espresio matematikoak adierazteko karaktere-multzoa da ( mathematical typesetting ). Sinbolo matematiko berriek esanahi tipografikoaz gain, esanahi funtzionala ere badute. Adibidez, eragiketa bakoitzak bere kodea edo hitz-gakoa zuen aurreko bertsioetan. Azken bertsio honetan, berriz, eragiketa gehienak hitz-gakoaren nahiz idazkera matematikoaren bidez adieraz daitezke. Adibidez:

Power[2,10] edo 210
Sqrt[28 ] edo ŒW28

Aldi berean, Mathematica 3.0 bertsioaren bidez sortutako fitxategiak Mathematica -ko bertako espresioak dira eta horri esker, programetan ere manipula daitezke beste edozein espresio sinboliko bezala. Konputazio-ahalmena ere handiagoa da bertsio honetan; egikaritze-abiadura handiagoa da eta memoria gutxiago eskatzen du zenbait eragiketatan. Funtzio eta tresna berriak ere erantsi dizkiote, baita jada ezagunak ziren beste batzuk hobetu ere. Aipatu, bestalde, nahikoa ordenadore majoa behar dela azken bertsio hau modu erosoan erabiltzeko, 16 MB-eko Ram eta 75 BM-eko disko gogorra gomendatzen baitute. Amaitzeko esan, azalduko diren adibide guztiak Mathematica 3.0 bertsioarekin eginak izango direla.

Bere abantaila nagusia espresio sinbolikoekin lan egiteko duen ahalmena da. “Edozer gauza espresio-sinboliko bezala adieraz daiteke”. Hori izan zen Mathematica eraiki zutenen oinarrizko ideia. Hortaz, zenbakizko kalkulagailu nahiz kalkulagailu sinboliko bezala erabil daiteke, datuak eta funtzioak ikustatzeko balio du, programak idazteko goi-mailako lengoaia eskaintzen du, datu-analisirako ingurune egokia da eta, batez ere, dokumentu elkarreragileetan testua, grafikoak (animatuak nahi izanez gero) eta formula aktiboak konbina ditzakeen tresna da. Horrez gain, soinua ere maneia dezake, soinu-objektuak definitzeko aukera ere ematen baitu.

Hiru motako eragiketak egin ditzake Mathematica -k: zenbakizkoak, sinbolikoak eta grafikoak. Zenbakizko konputazioari dagokionean, Mathematica erabiltzeko modurik sinpleena kalkulagailu gisa erabiltzea da. Baina kalkulagailuek zehaztasun finkoa dute, hau da, aldez aurretik finkatuta dago zifra hamartarren kopurua; Mathematica -n aldiz, aginduan bertan adieraz daiteke zenbaterainoko zehaztasuna eskatzen zaion kalkuluari. Hurrengo adibidean letra beltxez daudenak Mathematica -ri egindako eskaerak dira eta letra soilean, Mathematica -k emandako erantzunak (aurretik agertzen diren In:=[zenbakia] eta Out=[zenbakia] hitz-gakoak programak berak eransten ditu sarrerak eta irteerak bereizteko, irteera bakoitza dagokion sarrerarekin erlazionatzeko eta gero erabiltzaileak sarrera/irteera horiei erreferentziak egin diezaien zenbaki xume baten bidez).

l n[1]:=Log[4Pi]
Out[1]=log(4þ)
l n[2]:=n[Log[4þ]]
Out[2]=2.53102
ln[3]:=n[Log[4þ],10]
Out[3]=2.531024247

Bestalde, eragiketa-multzoa handiagoa da, 750 inguru, integral eliptiko eta Bessel-en funtzioak, funtzio hipergeometriko eta zenbaki osoen faktorizazioa barne.

Zenbakizko eragiketak ere aplika ditzake funtzioetan, hala nola, zenbakizko integrazioa, programazio lineala, etab. Gainera, ekuazio algebraikoen eta ekuazio diferentzial arrunten soluzioak ere ematen ditu.

Burutzen dituen konputazio sinbolikoen artean aipagarria da formula algebraikoen manipulazioa. Polinomioak eta espresio razionalak sinplifika, heda nahiz faktoriza ditzake. Ekuazio polinomialen eta ekuazio-sistemen soluzio algebraikoak ere aurki ditzake. Bigarren bertsioan ez bezala, azkeneko bertsioan matrizeekin lan egiteko erraztasunak ere gehitzen ditu eta ez da derrigorrezkoa matrizeen definiziorako taulak erabiltzea.

Era berean, integralak eta deribatuak ebaluatzen ditu sinbolikoki eta baita serie bidezko hurbilpenak maneiatu eta limiteak kalkulatu ere.

Grafikoen arloan, bi eta hiru dimentsioko grafikoak egiten ditu, baita dentsitate eta contour plotak (gainetiko ikuspenak) ere, bai funtzio, bai datu-zerrendetatik abiatuta. Gainera, grafikoaren xehetasunak kontrolatzeko aukera ugari dago, adib.: ikuspuntua, kolorea, argitasuna,…

Badu grafiko aurredefinituetarako liburutegia, objektu geometrikoen (poligonoak adibidez) zenbait agindu primitiboen bidez adierazpen sinbolikoa emanda objektuak grafikoki bistaratzen ditu.

laukizuzena =
Graphics[{RGBColor[1,0,0], Rectangle[{2,1}, {10, 5}]}]
laukizuzena =
Graphics[{RGBColor[1,0,0], Rectangle[{2,1}, {10, 5}]}]

•Graphics•
zirkunferentzia =
Graphics[{RGBColor[0,0,1], Circle[{6,3}, 1]}]

•Graphics•
poligonoa = Graphics[{RGBColor[.2,.7,.0],
Polygon[{{1,1}, {2,2}, {10,10}, {0,4}}]}]

•Graphics•
testua = Graphics[{RGBColor[1,0,1],
Text[“hau bi dimentsioko grafikoa da“, {7,7}]}]

•Graphics•
Show [laukizuzena, zirkunferentzia,
poligonoa, testua, Axes Æ True, AxesOrigin Æ {0,0},
AspectRatio Æ Automatic, PlotRange Æ All]

•Graphics•

Mathematica -ren bidez eratutako grafiko guztiek PostScript (PS) formatua dute eta hortaz, beste hainbat aplikaziotara garraia daitezke.

ParametricPlot3D[{uCos[u] (4+Cos[v+u]),
uSin[u] (4+Cos[v+u]), uSin[v+u]}, {u,0,4þ}, {v,0,2þ}, PlotPoints Æ {60,12}]

Gainera, lengoaia propioa du eta, beraz, programak ere idatz daitezke Mathematica lengoaian.

Bestalde, Mathematica programazio-lengoaiak programazio-estilo desberdinak onartzen ditu: prozedurazkoa, bloke egiturarekin, baldintzazko aginduak eta bigizta errepikakorrekin; funtzionala, funtzio-eragileekin; erregeletan oinarritutako programazioa, eredu-parekaketa ( pattern matching ) eta objektuetara bideratutako programazioa.

Mathematica programa bi zati nagusitan dago antolatuta: kernela eta front-end deritzona. Kernel -a muina da, kalkuluak burutzeaz arduratzen den atala, eta front-end -a erabiltzailearekin elkarreragiten duen atala baino ez da, erabiltzailearentzako interfaze erosoa eta honen aginduak kernelera bidaltzen dituena. Kernela berdina baldin bada ordenadore-plataforma guztietan, front-end desberdinekin topa gintezke, zenbait arkitekturetarako optimizatu egin baita. Front-end honek erabiltzaileari “notebook” izeneko dokumentuak eskaintzen dizkio, alegia, lehentasunaren arabera mailakatutako testua, grafiko animatuak eta espresio matematikoak (formulak, etab.) onartzen dituen koadernoak. Koaderno horietan material pedagogikoa edo bestelakoa presta daiteke, eta ezaugarririk bereziena, idatzitako azalpenez gain bertan eragiketak egikari daitezkeela da.

Oro har begiratuta, Mathematica -k badu beste ezaugarri nabaria: beste programa askorekin komunikatzeko bateragarritasuna. Horrela, datuak irakur ditzake formatu desberdinetan (C, Fortran, TEX). MathLink estandarra erabiltzen duenez, beste aplikazioekin truka ditzake datuak eta komandoak.

Mathematica egikaritzerakoan zenbait liburutegi estardar kargatu egiten dira. Horietan, kalkulu matematikoak egiteko, grafikoetarako eta beste arlo matematiko arruntetan aritzeko oinarrizko funtzioak daude. Baina, Mathematica -k baditu beste liburutegi espezifikoagoak ere, programa abiarazten denean kargatzen ez direnak. Erabiltzailearen esku dago horiek edota bere behar zehatzetarako definitutako Package-ak kargatzea. Adibidez, demagun “faktoriala” eta “esponentziala” izeneko funtzioak definitu ditugula “gurelib” izeneko liburutegian.

DeclarePackage[“Calculus`gurelib`”, {”faktoriala”,”esponentziala”}]

agindua egikaritu ondoren, faktoriala eta esponentziala eragiketak erabili ahal izango ditugu definizioan emandako agindu-arauari dagokion moduan. $Packages aldagai globalean gordetzen du Mathematica -k une bakoitzean kargatuta dituen liburutegiak.

Eta nola ez, Mathematica-k ere badu bere Web helbidea, non informazioa, grafikoak eta azken berriak topa daitezkeen: http://www.wolfram.com

Gai honi buruzko eduki gehiago

Elhuyarrek garatutako teknologia