Tiedeala- ja menetelmätuki > Numeriikka > Mathematica Hipulla
 
Tehdyt toimenpiteet

Mathematica Hipulla

Mathematica on symbolisen laskennan ohjelmisto

Mathematican versio 7.0.1 on asennettu Hipulle. Versio 7.0.1 on version 7.0 korjausversio, jossa on korjattu 600 versiossa 7.0 ollutta virhettä.

Käynnistys

Ennen Mathematican käynnistystä ohjelmisto on alustettava komennolla

module load mathematica

Mathematican rivipohjainen versio käynnistyy komennolla

                math

Rivipohjaisesta Mathematicasta poistutaan jollakin komennoista

                Quit, Quit[] tai Exit

Mathematican X-käyttöliittymää käyttävä versio käynnistetään komennolla

                mathematica

Version 7.0 uutuudet

Versiossa 7.0 on uutuutena mm. seuraavia ominaisuuksia:

  • kuvien prosessointia ja analysointia tehostettu
  • grafiikassa puuttuvien dataelementtien automaattinen käsittely
  • lisää mahdollisuuksia Boolen algebraan
  • uusia algoritmeja tavallisten ja osittaisdiffrentiaaliyhtälöiden sekä differenssiyhtälöiden ratkaisemiseen
  • differentiaali ja differenssijuurien tehokas numeerinen laskenta
  • ryhmäteoria otettu mukaan
  • tehokkaat iteratiiviset ratkaisut tavallisille ja osittaisdifferentiaaliyhtälöille sekä differenssiyhtälöille
  • diskreetille ja jatkuvalle Fourier analyysille täydellinen symbolituki
  • kaikkiaan yli 500 funktiota on joko uusia tai päiviettyjä

Lisätietoa uusista piirteistä saa Mathematican sisältä help-painikkeesta.

Käyttöesimerkkejä

Kaikki Mathematican sisäänrakennetut komennot alkavat isolla alkukirjaimella, komentotulkki tulkitsee isot ja pienet kirjaimet eri merkkeinä. Totutusta poiketen funktioiden ja komentojen argumentit kirjoitetaan hakasulkuihin. Kaarisulkuja käytetään vain lausekkeiden ryhmittelemiseen ja aaltosuluilla ilmaistaan listarakenteet.

Muutamia esimerkkejä syöteriveistä:

	3^30
N[Sqrt[2],40]
Plot3D[Sin[x y],{x,0,3},{y,0,3}]
Expand[(x+y)^5]
Integrate[Sin[x],x]
D[%,{x,2}] (* edellisen tulosteen toinen derivaatta x:n suhteen *)
Integrate[Exp[x],{x,0,5}]

Tiedon syöttö Mathematicaan

Tekstiä syötettäessä syöte lopetetaan painamalla returnia. Mikäli syöterivi on pitkä, se voidaan jakaa useammalle riville painamalla returnia sellaisessa kohdassa, että Mathematica ymmärtää, että syöte ei vielä ole täydellinen.

Varsinaista komentorivieditoria Mathematicassa ei ole, mutta vanhoja syötteitä voi editoida kahdella tavalla. Ensimmäinen tapa on ajaa toisessa ikkunassa Mathematicaa ja toisessa editoria. Editoi komentosi ja määrittelysi esim. tiedostoon nimeltä "mathinput". Kun haluat käyttää komentotiedostoasi anna Mathematicassa komento

	<<mathinput

Toinen tapa on kutsua editoria suoraan Mathematican sisältä. Ohjelma päättelee mitä editoria haluat käyttää tarkastelemalla ympäristömuuttujaa EDITOR (laita omaan ".cshrc"-tiedostoosi esim. rivi "setenv EDITOR emacs"). Komento Edit[] käynnistää editorin ja kun poistut editorista, kirjoitetut rivit luetaan syötteinä. Edit[expr1,expr2,...] käynnistää editorin siten, että puskurin sisältönä on annettujen lausekkeiden syöttömuodot. Vastaavasti EditIn[] antaa editoitavaksi edellisen syötteen ja EditIn[n] n:nen syötteen (In[n]). EditDef[f1,f2...] lukee puskuriin annettujen symbolien määrittelyt. Komento Recall[n1, n2, ...] tulostaa kuvaruudulle halutut syötteet.

TeX-, Fortran- ja C-koodin tuottaminen

Mathematican lausekkeista saa TeX-muotoista tulostusta komennolla TeXForm[lauseke], edellisen tulosteen saa TeX-muodossa komennolla TeXForm[%]. Komentojen CForm[lauseke] ja FortranForm[lauseke] merkitys lienee selvä.

Mathematican grafiikka

Grafiikkaa voi tehdä X-ikkunointijäjestelmän alaisuudessa. Riippumatta siitä, millä laitteella grafiikka on alunperin näytetty, saa tulostustiedostoon aina samannäköistä PostScript-tulostusta.

Graafisen kuvan saa tiedostoon PostScript-muotoisena komennolla Display["filename",picture,"EPS"], missä picture on jokin graafinen objekti. Juuri piirretyn kuvan saa siis tiedostoon komennolla Display["filename",%,"EPS"]. Syntyneen PostScript-tiedoston voi siirtää haluamalleen tietokoneelle ja tulostaa paikallisella laserilla.

Esimerkki:

	Out[2] := -Graphics -
In[3] := Display["plotout.ps",%,"EPS"]
Out[3] := -Graphics -

Komento Live ottaa parametrikseen graafisen (3D-) objektin, jota voi sen jälkeen hiiriohjatusti pyöritellä ruudulla. Esimerkki:

	Plot3D[Sin[x+y],{x,0,3},{y,0,3}]
Live[%]

Mathematica ja X-ikkunointijärjestelmä

Hipulla on käytettävissä Mathematican Linux-version graafinen käyttöliittymä. Syötteet ja laskentatulokset tulevat graafiselle laskenta-arkille (NoteBook), joka on samanlainen kuin Mathematican mikroversioissakin.  Laskenta-arkkeja voi sellaisinaan siirtää mikrojen ja Linux-työasemien välillä.

Tyhjään laskenta-arkkiin voi suoraan ryhtyä kirjoittamaan syöterivejä. Nämä lähetetään ohjelmalle suoritettavaksi painamalla Shift-Return. Pelkkä Return-näppäimen painaminen vain jatkaa syötettä uudelle riville. Mathematican laskiessa syöteriviä voi laskenta-arkkia ja vanhoja syötteitä editoida.

Solut

Laskenta-arkki jakautuu soluihin. Esimerkiksi kukin syöte ja Mathematican tuloste ovat soluja, mutta myös kukin syöte-tulostepari muodostaa ylemmän tason solun. Solurajat esitetään laskenta-arkin oikeassa reunassa olevilla pienillä hakasilla. Solu merkitään painamalla hiirellä solun hakasta. Merkitty solu voidaan esimerkiksi siirtää tai kopioida tai sen ulkonäköä voidaan muuttaa. Kaksoisnäpäytys sulkee solun alisolut siten, että niistä vain ensimmäinen näytetään. Seuraava kaksoisnäpäytys vastaavasti näyttää kaikki alisolut.

Mathematican laskenta-arkissa voi esiintyä monenlaisia soluja. Syöttö- ja tulostussolujen lisäksi yleisesti käytetään grafiikka- ja tekstisoluja. Laskenta-arkkia käyttäen voi tuottaa laajoja dokumentteja, jopa kirjoja.

Matematiikan fontit

Mikäli Mathematican fonteista tulee virheilmoituksia, niin asia korjaantuu kopioimalla ohjelmiston valmistajan Wolframin sivuilta tarvittavat fontit omalle PC:lle.

Fontit löytyvät osoitteesta

http://support.wolfram.com/technotes/latestfonts.en.html

Mikäli omalla koneella on Linux, niin nämä fontit voidaan purkaa oman koneen hakemistoon /usr/share/Mathematica/SystemFiles.

Hipun kotihakemistoon voidaan tehdä tämän jälkeen Mathematican käynnistysskripti, joka on seuraava:

#!/bin/sh
xset fp+ /usr/share/Mathematica/SystemFiles/Fonts/Type1
xset fp+ /usr/share/Mathematica/SystemFiles/Fonts/BDF
xset fp rehash
mathematica $@

Mathematica via NX Login

Mathematica works on nxlogin as long as you have correctly installed the
fonts on your laptop/desktop.
If you're using linux, open a shell and try typing the following
sequence of commands (where the first two paths "/usr/share.." are where
you installed your fonts):

xset fp+ /usr/share/Mathematica/SystemFiles/Fonts/Type1
xset fp+ /usr/share/Mathematica/SystemFiles/Fonts/BDF
xset fp rehash
nxlogin

Laskuesimerkkejä Mathematica-ohjelmistolla

-Sievennä polynomi x^2 + x^2 + 9 x + 4 ja jaa se tekijöihin.
pol := x^2 + x^2 + 9 x + 4
Factor[pol]

-Yksinkertaista lauseke (x+2) (x / (x+2)^2 + (x+3) / (x+1)).
Simplify[(x+2)*(x/(x+2)^2+(x+3)/(x+1))]

-Laske funktion sin(e^x x^2) derivaatta.
f[x_] := Sin[e^x x^2]
D[f[x], x]

-Laske funktion 1 / (1 + x + x^2) määrämätön integraali.
g[x_] := 1 / (1 + x + x^2)
Integrate[g[x], x]

-Laske edellisen funktion määrätty integraali välillä (0, infinity).
Integrate[g[x], {x, 0, Infinity}]

-Tulosta edellinen arvo numeerisesti.
N[%]

-Ratkaise yhtälöryhmä x y = c
x + y = d
Solve[{x y == c, x + y == d}, {x, y}]

-Ratkaise funktion p(x) = a + b x + c x^2 + d x^3 kertoimet,
kun tiedetään, että p(1)=0, p(2)=1, p'(1)=0, p'(2)=0.
p[x_] := a + b x + c x^2 + d x^3
Solve[{p[1] == 0, p[2] == 1,
(D[p[x],x] /. x -> 1) == 0,
(D[p[x],x] /. x -> 2) == 0}, {a, b, c, d}]

-Ratkaise numeerisesti cos(x) = x, kun x kuuluu valiin (0,pi).
FindRoot[Cos[x] == x, {x, 1}]

-Laske viidennen asteen Tshebyshevin polynomi.
cheb[x_,0] := 1
cheb[x_,1] := x
cheb[x_,n_] := Simplify[2 x cheb[x, n-1] - cheb[x, n-2]]
cheb[x, 5]

-Laske matriisin ( 1 2 )
( 3 p ) ominaisarvot.
m := {{1, 2}, {3, p}}
Eigenvalues[m]

-Piirrä funktion e^sin(x) kuvaaja välillä (0,4).
Plot[Exp[Sin[x]], {x, 0, 4}]

-Piirrä funktion sin(x y) kuvaaja, kun x ja y ovat välillä (0,3).
Plot3D[Sin[x y], {x, 0, 3}, {y, 0, 3}]

-Piirrä funktion csc(x) kuvaaja ja talleta kuva tiedostoon csc.ps.
cscplot=Plot[Csc[x],{x,-1.6,1.6},
PlotLabel -> "Csc[x]"]
PSFile[cscplot, "csc"]

-Generoi FORTRAN-lauseke, joka laskee arvon d^4/(dx^2 dy^2) sin(e^(((x^2+y))^2)).
FortranForm[D[Sin[Exp[x^2 + y]^2], {x,2},{y,2}]]

-Generoi TeX-kaava lausekkeelle d^2 / (dx dy) sin(e^(((x^2+y))^2)).
TeXForm[D[Sin[Exp[x^2 + y]^2], x, y]]

-Lue komentoja annetun nimisestä tiedostosta.
<< testi.m

Lisätietoja

Lisätietoa saa man-sivuilta komennoilla, kun komento module load mathematica on annettu


  • man -s 1 math
  • man mathematica
  • man mcc

Mathematicaan liittyviä kysymyksiä voi lähettää Esa Lammille  CSC:hen, e-mail:Esa.Lammi@csc.fi, puh: (09) 457 2296.

Kirjallisuutta

Petri Laukkanen Jyväskylän yliopiston matematiikan laitokselta on kirjoittanut suomenkielisen oppaan nimeltä "Johdatus Mathematica-ohjelmiston käyttöön". Tätä voinee tilata Jyväskylästä.

Lisäksi Heikki Ruskeepää Turun yliopistosta on kirjoittanut teoksen "Mathematica-opas".

Web-osoitteita

CSC:n Matemaattiset ohjelmistot -opas löytyy osoitteesta

  http://www.csc.fi/oppaat/mat.ohj/

Mathematicasta saa lisätietoa myös Wolfram Researchin Web-sivuilta osoitteesta

  http://www.wri.com

Ohjelmistoarkisto MathSource löytyy puolestaan osoitteesta

  http://www.wolfram.com/mathsource/
Lammi Esa Esa.Lammi at csc.fi