1. Osnove rada s Mathematicom

1.1 Osnove grafičkog sučelja

Mathematica bilježnice i čelije

Mathematica bilježnica (notebook) je datoteka (uobičajena ekstenzija imena datoteke je .nb) koja se sastoji od niza čelija (cell). Čelije sadrže raznovrsne tipove informacija (matematičke izraze, grafiku, tekst) koje je ili unio korisnik ili ih je proizvela Mathematica kao rezultat nekog računa. Svaka čelija je označena uglatom zagradom na desnoj strani bilježnice. Tri vrste čelija koje ćemo najčešće susretati su:

1.  Tekstualna čelija,  koja obično sadrži komentare računa (npr. ovaj tekst)

2.  Input čelija,  koja sadrži izvršne Mathematica komande

3.  Output čelija, koja sadrži rezultate izvršavanja tih komandi

Najlakši način razlikovanja čelija je pomoću tipa slova (fonta). Evo primjera jedne input i jedne output čelije:

2 + 2

Rad s čelijama i izvršavanje komandi

Novu čeliju stvorimo tako da na željeno mjesto ili kliknemo mišem ili dođemo kursorskim tipkama tako da se prikaže horizontalna linija. Počnemo tipkati i automatski se kreira input čelija. Želimo li tekstualnu moramo konvertirati tip čelije tako da istu označimo klikom na njenu zagradu (koja pocrni) i onda u izborniku na vrhu bilježnice biramo Format -> Style -> Text.

Izvršenje svega onog što smo upisali u input čeliju zatražimo pritiskom na ctrl-Enter. (Česta je početnička greška zaboravljanje pritiskanja ctrl tipke. Samo Enter nas stavlja u novi red iste čelije.)

Važno svojstvo Mathematica bilježnice je da svaku čeliju bilježnice možemo i naknadno editirati i onda ponovno izvršiti tako da pritisnemo ctrl-Enter dok je kursor bilo gdje (!) u toj čeliji (ili je ona označena klikom na njenu zagradu). To rad u Mathematici čini sličnijim radu u tabličnom kalkulatoru (spreadsheet) nego standardnom programiranju.

Zadatak: Editiranjem gornje "2+2" čelije izračunajte 2+3.

Čelije se mogu grupirati tako da iznad njih stavimo naslovnu čeliju tipa (sub)title ili sub(section) putem izbornika Format -> Style. Grupa čelija može biti otvorena (sve se vidi) ili zatvorena (vidi se samo naslovna čelija grupe). Čelije se mogu otvarati ili zatvarati dvostrukim klikom na uglatu zagradu koja obuhvaća grupu. To često doprinosi preglednosti rada.

Zadatak: Zatvorite i otvorite ovu grupu čelija (s naslovom "Rad  s čelijama i izvršavanje komandi")

Brisanje čelije se izvodi njenim označavanjem (klik na zagradu) pa tipka Del ili izbornik Edit->Clear

Spremanje i predaja bilježnica

Bilježnicu koju je priredio nastavnik najčešće nije poželjno mijenjati. Stoga je zgodno svaku bilježnicu prije rada spremiti pod novim imenom putem izbornika File->Save as ... . Radi lakšeg snalaženja datoteke s domaćim zadaćama koje se predaju nastavniku treba uniformno nazivati i to ovako:

<prezime bez hrvatskih dijakritičkih znakova>-<broj domaće zadaće>.nb

Primjer: Kostelic-01.nb. Za slanje emailom putem modema velike bilježnice se mogu komprimirati (zip ili rar). Kako je bilježnica ASCII tekstualna datoteka, kompresija je često znatna.

1.2 Elementarno računanje

Mathematica kao kalkulator

Mathematica se može koristiti kao obični kalkulator proizvoljne preciznosti

3*2 + 1

Sqrt[9]

13^23

22!

Množenje je, osim zvjezdicom *, moguće iskazati i razmakom što je ponekad preglednije

3.2 10^4

Ova gore, uobičajena notacija za zapis velikih brojeva ima i alternativni zapis

3.2*^4

Fortranski zapis 3.2E4 nije dopušten.

Rad u Mathematica bilježnici omogućuje i ljepši zapis standardnih matematičkih operacija i simbola. Tako se npr. potenciranje može izvesti na slijedeće načine:

1. "Jednodimenzionalno"

2^3

2. "Dvodimenzionalno", korištenjem ctrl-^ tipke:

(2^3)

3. "Dvodimenzionalno", korištenjem palete File->Palletes->BasicInput  za unos, gdje je moguće bilo odmah kliknuti na prvu tipku na paleti, unijeti "2", kliknuti tipku Tab,  pa unijeti "3" ili, alternativno, unijeti "2", označiti to mišem pa tek onda kliknuti na paletu i unijeti "3".

(2^3)

Palete su zgodne kad je korisnik početnik ili za rijetko korištene funkcije, ali je njihovo korištenje sporo u odnosu na unos samo preko tipkovnice. Za lakše učenje zgodno je primijetiti da kad se kursor nalazi iznad neke tipke na paleti, na dnu palete je prikazano kako izvesti ekivalentan unos putem tipkovnice.

Zadatak: Izračunajte (Sqrt[2 (Sqrt[ (e^π)])]). Konstante π i e  se također mogu naći na paleti BasicInput.

Primijetite da nismo dobili numerički već simbolički rezultat. Mathematica će se uvijek odlučiti za egzatni simbolički rezultat ako takav postoji. Ako nas ipak zanima numeričko približenje možemo koristiti funkciju N :

N[%]

Ovdje smo također iskoristili vrlo korisni simbol %, koji uvijek znači "rezultat izvršenja posljednje komande", gdje treba naglasiti da se to odnosi na posljednje izvršenje u trenutnoj sesiji, a ne na rezultat koji stoji neposredno iznad u bilježnici. Naime, kako je input čelije dozvoljeno izvršavati proizvoljnim redom te dvije stvari se mogu razlikovati. Zbog toga simbol % treba koristiti pažljivo.

({{%, zamjenjuje posljednji rezultat}, {%%, zamjenjuje pretposljednji rezultat}, {%  n, zamjenjuje n-ti rezultat trenutneMathematica  sesije  tj.  Out[n]}})

Funkcija N ima i inačicu N[..., n] koja daje numeričko približenje s n točnih decimala

N[%%, 100]

Kako se u praksi funkcija N često rabi, dobro je znati da se ona može primijeniti i tzv.  postfiksno :

E  // N

Zadatak: Ispišite prvih 500 decimala broja π.

S kompleksnim brojevima radimo jednostavno. Samo treba imati na umu da je kompleksna jedinica ((Sqrt[-1])) reprezentirana velikim slovom "I" ili specijalnim simbolom i kojeg unosimo s palete BasicInput ili s tipkovnice sekvencom Esc-i-i-Esc.

(((2 + 3  I))^4)

Zadatak: Izračunajte  (e^( i π)).

Ugrađene funkcije

U Mathematicu  su ugrađene ("built-in") i brojne poznate matematičke funkcije i operacije.

Log[Sin[π]]

Za upotrebu svih tih funkcija važno je imati na umu dvije stvari:

1. Ime funkcije počinje velikim početnim slovom i često je slično uobičajenom matematičkom imenu funkcije. (Ipak, treba paziti. Npr. Log  je prirodni logaritam (ln = (Subscript[log, e])), a dekadski logaritam ((Subscript[log, 10])) se dobije kao Log[10, <arg>]

2. Argument funkcije je dan u uglatim zagradama. Upotreba zagrada u Mathematici je vrlo stroga:

({{(  ), grupiranje elemenata u izrazima poput   2(3 + 2)-1}, {[  ], ograđuju argumente funkcija  Log[2]}, {{  }, liste {1, 3, a, 9} i listama srodni objekti poput vektora}, {[[  ]]  ili   [[  ]], specificiranje elemenata liste  {a, b}[[2]]}, {  , komentar}})

Kao primjer ugrađene funkcije uzmimo Besselovu funkcija  (Subscript[J, 2])(z) u točki z=0

BesselJ[2, 0]

Postavlja se pitanje: Recimo da Vam zatrebaju Besselove ili kakve druge konkretne matematičke funkcije. Kako  saznati njihov naziv i sintaksu u Mathematici? Za to postoji razrađeni "Help" sustav.

"Help" sustav

Help sustav nudi nekoliko raznih pristupa:

1. Help->Help Browser... sadrži cijelu debelu Mathematica knjigu i još više toga. (Usput, plava imena funkcija u ovom tekstu vode klikom miša na odgovarajuću stranicu "Help" sustava.)

2. Ponekad je brže zatražiti pomoć izravno iz input čelije, koristeći simbol "?" i wildcard "*". Nakon toga jedan klik daje osnovnu informaciju o funkciji, a drugi nas vodi na odgovarajući dio Mathematica knjige.

?Bess*

3. Ako smo funkciju već koristili i samo nam treba podsjetnik kako se točno zove zgodno je započeti upis funkcije: Bess... i onda stisnuti ctrl-K. To nam omogućuje izravno nadopunjavanje naziva klikom miša i pogodno je i kod funkcija kojima znamo ime, ali želimo uštedjeti na tipkanju. Nadalje, nakon upisa ili izbora funkcije i s kursorom odmah iza njenog imena pritisak na ctrl-shift-K daje predložak za upis argumenata funkcije.

BesselJ[n,  z]

Argumenti su označeni simbolima koji olakšavaju prepoznavanje njihovog ispravnog redoslijeda. Ovdje n sugerira prirodni, a z kompleksni broj, po čemu znamo da je na prvom mjestu red, a na drugom argument funkcije (Subscript[J, n])(z).

Zadatak: Pronađite odgovarajuću Mathematica funkciju i izvrijednite pridruženi Laguerrov polinom ((Subscript[L, 3])^2)(1).

Domaći zadatak 1-1: Proučite upotrebu funkcije Sum za zbrajanje matematičkih redova i izračunajte:
(a) 1 + 3 + 5 + 7 + ⋯  +  61
(b) (Overscript[((∑_1)), ∞]) (1/(n^2)) = 
        1 + (1/4) + (1/9) + ⋯

Poruke o grešci

Ako se ogriješimo o matematička ili sintaktička pravila, Mathematica će nam uzvratiti porukom o grešci

(1/0)

sin[2.3]

Ovo drugo strogo gledano nije greška (jer možda mislimo na neku funkciju koja se zove sin(x), a koja nema veze sa sinusom), ali Mathematica nas upozorava da smo možda htjeli sinus koji, kao i sve ugrađene funkcije treba pisati s velikim početnim slovom.