Softuri utilizate în cercetare Œo scurta introducere în...

8

Click here to load reader

Transcript of Softuri utilizate în cercetare Œo scurta introducere în...

Page 1: Softuri utilizate în cercetare Œo scurta introducere în ...cs.unitbv.ro/~pascu/softuri/Softuri.pdf · Mathematica con‚tine o mare varietate de func‚tii ‚si pachete utile

Softuri utilizate în cercetare�o scurt¼a introducere în Mathematica �

Mihai N. Pascu

1 Octombrie 2016

Cuprins

1 Mathematica - Instalare 2

2 Mathematica - Prima utilizare 3

3 Mathematica - câteva instructiuni/comenzi utile 5

4 Lista de proiecte în cadrul cursului 6

1

Page 2: Softuri utilizate în cercetare Œo scurta introducere în ...cs.unitbv.ro/~pascu/softuri/Softuri.pdf · Mathematica con‚tine o mare varietate de func‚tii ‚si pachete utile

1 Mathematica - Instalare

Mathematica este un software specializat pentru calcule stiinti�ce si tehnice, produs de c¼atre compania Wolfram(fondat¼a de Stephen Wolfram în 1987).Ultima versiune a programului Mathematica (versiunea 11) poate � cump¼arat¼a de pe site-ul produc¼atorului,

http://www.wolfram.com.Pachetul de instalare poate � cump¼arat de pe site, existând varianta trial (15 zile de functionalitate) si varianta

academic¼a mai economic¼a de cump¼arare, la un pret redus (Student Edition).Dup¼a desc¼arcarea softului, se parcurg etapele uzuale de instalare/înregistrare a.produsului.

2

Page 3: Softuri utilizate în cercetare Œo scurta introducere în ...cs.unitbv.ro/~pascu/softuri/Softuri.pdf · Mathematica con‚tine o mare varietate de func‚tii ‚si pachete utile

2 Mathematica - Prima utilizare

Mathematica contine o mare varietate de functii si pachete utile în activitatea de cercetare matematic¼a.În principiu, calculele se efectueaz¼a în linia de comand¼a (aceasta poate contine îns¼a un sir de linii de comand¼a,

separate prin semicolon (;), si apoi prin ap¼asarea Shift+Enter (lansare în executie). Exist¼a si posibilitatea maicomplex¼a, a import¼arii unui anumite �sier ce contine comenzi sau variabile / date.Pentru executie, se deschide programul, în care apare implicit o sesiune în �input mode�. În linia curent¼a se

scriu initializ¼arile / calculele /comenzile dorite, si apoi se apas¼a Shift + Enter. În linia urm¼atoare, �output mode�se a�saz¼a rezultatele calculelor efectuate. Dac¼a se doreste ca anumite rezultate s¼a nu �e a�sate, atunci linia decomanda corespunz¼atoare se încheie cu semicolon (;).Rezultatul initializ¼arii a dou¼a variabile (a si b) cu valorile 2, respectiv 3, si a efectu¼arii adun¼arii a+b este ilustrat

în �gura de mai jos )pentru a trece la linie nou¼a în input mod¼a, se foloseste tasta Enter).

Figura 1: Rezultatul rul¼arii liniei de comand¼a.

Este important de stiut c¼a Mathematic¼a este sensibil¼a la caractere majuscule si minuscule, astfel a si A suntvariabile diferite. De asemenea, este sensibil¼a la cele 3 tipuri de paranteze: paranteze rotunde, paranteze p¼atratesi acolade, �ecare având rolul lor precis de utilizare (parantezele rotunde sunt de regul¼a folosite pentru a indicaordinea operatiilor în calcule, cele p¼atrate sunt de regul¼a folosite în functii, spre exemplu Sin[�], iar acoladele suntutilizate pentru liste).Prezent¼am câteva operatii si functii Mathematica mai uzuale.

1. Constante: Pi (�), E (e), I (i =p�1), 2.37 (2:37), etc.

Precizia dorit¼a a a�s¼arii rezultatelor poate � controlat¼a cu �N[...,n]�, unde n este precizia dorit¼a (num¼arul dezecimale a�sat). O alt¼a variant¼a a acestei instructiuni este �N[%,n]� (% reprezint¼a rezultatul ultimul calculefectuat)

Pentru valori numerice aproximative, se mai poate folosi si �//N�la sfârsitul liniei de comand¼a, sau se poatefolosi punctul zecimal (spre exemplu, �2./3�).

2. Variabile. Se initializeaz¼a prin atribuiri, spre exemplu x=5 (variabila x se initializeaz¼a cu valoarea 5), y=2*5(variabila y se initializeaz¼a cu rezultatul calculului 2 � 5, adic¼a cu 10), z = Pi (variabila z se initializeaz¼a cuvaloarea prede�nit¼a �), etc.

Pentru a anula o anumit¼a valoarea atribuit¼a unei variabile (pentru a o de-initializa, valorile initializate �indpermanente în cadrul unei sesiuni de lucru), se foloseste x=. sau Clear[x].

3

Page 4: Softuri utilizate în cercetare Œo scurta introducere în ...cs.unitbv.ro/~pascu/softuri/Softuri.pdf · Mathematica con‚tine o mare varietate de func‚tii ‚si pachete utile

3. Operatii aritmetice: + (adunare), - (sc¼adere), * (înmultire), ^ (ridicare la putere)

4. Câteva functii matematice uzuale: Sqrt[x] (px), Exp[x] (ex), Log[a,x] (loga x), Sin[x] (sinx), Cos[x]

(cosx), Tan[x] (tanx), ArcSin[x] (arcsinx), ArcCos[x] (arccosx), ArcTan[x] (arctanx), Abs[x] (jxj), Round[x](întregul cel mai apropiat de x), Max[x,y,...] (max fx; y; :::g), Min[x,y,...] (min fx; y; :::g), Random[ ] (num¼ar�aleator�între 0 si 1), etc.

Pentru a g¼asi o anumit¼a functie Mathematica si sintaxa ei complet¼a se poate consulta meniul Help.

5. Liste. Se pot de�ni �manual�, în interiorul acoladelor (exemplu f1; 4; 9; 16; 25g), sau automat cu ajutorulinstructiunii Table (exemplu Table[n^2, {n,1,5]]).

Elementele unei liste unidimensionale a pot � accesate cu Part[a,i] (elementul ai din lista a), sau cu a[[i]].

Tot cu ajutorul instructiunii Part, se poate extrage dintr-o anumit¼a list¼a. Spre exemplu, dac¼a a = f1; 4; 9; 16; 25g,atunci instructiunea Part[a,{1,1,1,2,5}] va produce lista f1; 1; 1; 4; 25g (acelasi rezultat se poate obtine cu in-structiunea a[[{1,1,1,2,5}]].

Ca si în cazul variabilelor, se pot efectua operatii cu listele (dac¼a au aceleasi dimensiuni): adun¼ari, sc¼aderi,înmultiri sau împ¼artiri. În cazul listelor, operatiile se efectueaz¼a �termen cu termen�.

Se pot efectua si operatii între liste si numere reale, cum ar � spre exemplu a^2 (ridicarea la p¼atrat aelementelor listei a), a-5 (sc¼aderea lui 5 din �ecare element al listei a), etc.

6. Caractere speciale. Pentru a introduce anumite caractere speciale (cum ar � �, e; 1;sau " spre exemplu),se tasteaz¼a Esc ... Esc (spre exmplu Esc p Esc pentru �; Esc ee Esc pentru e, Esc inf Esc pentru 1; sau Esce Esc pentru ").

De asemenea, caracterele speciale se pot introduce cu ajutorul paletelor, disponibile din meniul Palletes.

7. Gra�ce. Exist¼a o mare varietate de reprezentare gra�c¼a în Mathematica. Una dintre cele mai uzuale astfelde functii este probabil instructiunea Plot (a se vedea exemplul de mai jos, si meniul Help pentru optiunisuplimentare ale acestei comenzi).

Figura 2: Gra�cul functiei sinx pentru x 2 [0; 2�].

8. Shortcuts. Exist¼a mai multe combinatii de taste care ajut¼a la rapiditate în scriere, cum ar �: Ctrl + /(fractie), Ctrl + 2 (radical), Ctrl + ^(exponent), Ctrl + _ (indice inferior), etc. A se vedea Anexa 1 (saumeniul Help) pentru lista complet¼a

4

Page 5: Softuri utilizate în cercetare Œo scurta introducere în ...cs.unitbv.ro/~pascu/softuri/Softuri.pdf · Mathematica con‚tine o mare varietate de func‚tii ‚si pachete utile

3 Mathematica - câteva instructiuni/comenzi utile

Câteva comenzi/instructiuni utile în elaborarea proiectelor.

� Plot - pentru reprezentarea gra�ca a unei functii

� For - pentru repetarea iterativa a unui ciclu de instructiuni

� While - pentru repetarea iterativa a unui set de instructiuni pân¼a la îndeplinirea unei anumite conditii

� ComplexMap (sau ParametricPlot în versiuni mai noi) pentru reprezentarea gra�c¼a a unei functii de variabil¼acomplex¼a

� Manipulate - pentru controlul interactiv al unui set de instructiuni )gra�ce, calcule, etc). Instructiunea esteutil¼a pentru studierea problemelor ce depind de unul sau mai multi parametrii.

� Integrate - pentru calculul integralelor de�nite sau nede�nite

� NIntegrate - pentru aproximarea numeric¼a a unei integrale de�nite

� Solve - pentru rezolvarea de ecuatii algebrice

� DSolve (sau NDSolve)- pentru rezolvarea de ecuatii diferentiale

� List (a se vedea ghidul guide/ListManipulation) + pentru lucrul cu liste (siruri) de elemente-numere.

� SlideShow - pentru a creea prezentarea proiectului ales în Mathematica (pentru o scurt¼a introducere, accesatiMathematica Documentation Center)

Pentru sintaxa exact¼a si informatii suplimentare referitor la aceste instructiuni, consultati help-ul (Documenta-tion Center) din versiunea dumneavoastr¼a de Mathematica (faceti un search in Help pe cuvintele cheie de mai sus,sau alte instructiuni care v+ar putea interesa). Tot în Documentation Center g¼asiti mai multe explicatii, exemple,optiuni, si instructiuni înrudite cu instructiunea dorit¼a.

5

Page 6: Softuri utilizate în cercetare Œo scurta introducere în ...cs.unitbv.ro/~pascu/softuri/Softuri.pdf · Mathematica con‚tine o mare varietate de func‚tii ‚si pachete utile

4 Lista de proiecte în cadrul cursului

Cursul se va �naliza cu prezentarea unui proiect (ales de dumneavoastr¼a), din lista de proiecte de mai jos.

1. Utilizarea Matlab în studiul celei de a doua functii proprii Neumann a Laplaceianului

Proiectul are ca scop investigarea cu ajutorul programului Matlab a propriet¼atilor celei de a doua valori propriiNeumann a Laplaceianului într-un anumit domeniu.

Mai precis, se poate ar¼ata c¼a pentru un domeniu simplu conex D � R2 cu frontiera @D su�cient de regulat¼a(spre exemplu de clas¼a C1, pentru care normala exterioar¼a n la frontier¼a este bine de�nit¼a), problema�

�'+ �' = 0 în D@'@n = 0 pe @D

(1)

admite o multime num¼arabil¼a valori � pentru care functia corespunz¼atoare ' nu este identic nul¼a în D.Valorile � se numesc valori proprii iar functiile ' correspunz¼atoare lui � se numesc functii proprii Neumann aleLaplaceianului în domeniul D. Ordonând cresc¼ator valorile � obtinute, obtinem sirul 0 = �1 < �2 < �3 < : : :,si ne vom referi la �i ca la cea de-a i-a valoare proprie Neumann a Laplaceianului în D, iar la o functie 'corespunz¼atoare lui �i ca o a i-a functie proprie Neumann a Laplaceianului în domeniul D.

Se stie c¼a functiile proprii Neuman corespunz¼atoare unei valori proprii �i formeaz¼a un spatiu vectorial avânddimensiune cel ,mult egal¼a cu i.

Cum �1 = 0 si si functiile proprii corespunz¼atoare lui �1 sunt constante, este de interes s¼a se studieze cea dea doua valoare proprie �2 si functiile proprii corespunz¼atoare (unul din motive este c¼a, comportamentul petermen lung al solutiei ecuatiei c¼aldurii cu conditii Neumann pe frontiera domeniului D este dat de '2).

O conjectur¼a important¼a studiat¼a de mai multi cercet¼atori, si care este în prezent înc¼a deschis¼a, a�rm¼a c¼aextremul acestor functii se atinge numai pe frontiera domeniului D.

În acest proiect, se vor studia diverse alegeri particulare ale domeniului D (domenii triunghiulare), pentrucare se va încerca studiul propriet¼atilor de extrem si/sau monotonie ale celei de a doua functiei (functiilor)proprii Neumann. Se vor avea în vedere, spre exemplu, studiul curbelor de nivel a lui '2, eventualele directiide monotonie (se pot formula conjecturi), eventualele leg¼aturi cu transform¼arile conforme Schwary-Christo¤ela discului unitate pe domeniul triunghiular considerat (spre exemplu, exist¼a vreo leg¼atur¼a între curbele denivel a lui '2 si curbele de nivel pentru aceste transform¼ari?), sau alte probleme înrudite.

2. Utilizarea Mathematica la studiul operatorilor de aproximare probabilisti

Operatorul clasic de aproximare Bernstein, este de�nit prin

(Bnf) (x) = Ef

�X1 +::: +Xn

n

�; x 2 [0; 1] ; (2)

unde f 2 C ([0; 1]) este o functie dat¼a, iar X1; : : : ; Xn sunt variabile aleatoare Bernoulli independente cuparametrul p = x. Explicit, observând c¼a suma a n variabile aleatoare Bernoulli independente cu parametrulp = x este o variabil¼a aleatoare binomial¼a cu parametrii n si p = x, formula anterioar¼a se poate scrie

(Bnf) (x) =nXk=0

f

�k

n

�Cknx

k (1� x)n�k ; x 2 [0; 1] : (3)

Observ¼am c¼a relatia (3) ce de�neste operatorul Bernstein este un caz particular al unui operator T mai genralde�nit prin

(Tf) (x) = Ef (X) ; x 2 [0; 1] ; (4)

unde f 2 C ([0; 1]) este o functie continu¼a, iar X este o variabil¼a aleatoare cu valori în [0; 1] având mediax 2 [0; 1]. În cazul particular al alegerii lui X ca �ind 1

n înmultit cu o variabil¼a aleatoare binomial¼a cuparametrii n si p = x, avem EX = np

n = p = x, si formula (4) devine formula (3).

Scopul prezentului proiect este s¼a se investigheze operatorul Bernstein generalizat de�nit de (4), pentru diversealegeri convenabile ale variabilei aleatoare X (distributia urnei a lui Polya, sau distributii înrudite acesteia), sis¼a se compare (în medie) cu rezultatele de aproximare clasice obtinute prin operatorul Bernstein clasic de�nitde (3). Se va avea în vedere în special cazul urnei lui Polya pentru care extragerile se fac cu parametru deînlocuire negativ (c < 0).

6

Page 7: Softuri utilizate în cercetare Œo scurta introducere în ...cs.unitbv.ro/~pascu/softuri/Softuri.pdf · Mathematica con‚tine o mare varietate de func‚tii ‚si pachete utile

3. Utilizarea Mathematica pentru studiul aproxim¼arii prin operatori probabilisti

În teoria aproxim¼arii, unul din operatorii clasici de aproximare este operatorul Lagrange, de�nit ca �indoperatorul Ln ce asociaz¼a unei functii f 2 C ([0; 1) polinomul (unic) (Lf) (x) =

Pni=0 cix

i de grad n, cuproprietatea c¼a el coincide cu functia dat¼a f în n+ 1 puncte �xate 0 � x0 < x1 < : : : < xn.Ideea acestui proiect este s¼a se înlocuiasc¼a punctele �xate x0; x1; : : : ; xn cu variabile aleatoare independenteX0; X1; : : : ; Xn independente si identic distribuite pe [0; 1], pentru anumite alegeri convenabile ale functiei dedistributie a acestora, si s¼a se compare (în medie) cu rezultatele de aproximare clasice cunoscute.

4. Utilizarea Mathematica pentru studiul aproxim¼arii probabiliste a anumitor ecuatii diferentiale

În teoria ecuatiilor diferentiale, exist¼a diverse scheme de rezolvare (aproximativ¼a) a ecuatiilor diferentiale.

Spre exemplu, problema initial¼a �y0 (t) = f (t; y (t))

y (0) = y0; t � 0; (5)

se poate rezolva prin diverse methode clasice, cum ar � metoda Euler, sau alte variante îmbun¼at¼atite aleacesteia.

Scopul acestui proiect este s¼a se investigheze metode probabiliste de rezolvare a problemelor initiale pentruanumite ecuatii diferentiale, cum ar (5), prin introducerea unui factor aleator în schema de rezolvare, si apoide comparare cu rezultatele obtinute prin metodele clasice.

5. Utilizarea Mathematica la studiul si aplicatiile proceselor stochastice

În programul Mathematica, se pot implementa (sau sunt implementate deja) diverse procese stochastice:miscare Brownian¼a, miscare Brownian¼a geometric¼a, miscare Brownian¼a cu drift si volatilitate, etc.

Proiectul are ca scop studierea acestor procese, în cazul 1 sau 2-dimensional, si utilizarea programului pentrua obtine anumite propriet¼ati ale acestora si aplicatii la rezolvarea numeric¼a aproximativ¼a a anumitor ecuatiidiferentiale.

Spre exemplu, se poate simula miscarea Brownian¼a 1-dimensional¼a (Bt)t�0 cu punct de plecare B0 2 (0; 1),si ucis¼a la p¼ar¼asirea acestui interval, adic¼a la timpul de oprire

� = inf ft � 0 : Bt =2 (0; 1)g :

Se pot realiza diverse reprezent¼ari a traiectoriilor posibile, si se poate determina spre exemplu valoarea nu-meric¼a (aproximativ¼a) a duratei medii de vit¼a � , adic¼a Ex� , care se poate compara cu valoarea teoretic¼acunsocut¼a. Se pot determina de asemenea probabilit¼atile P (B� = 0) si P (B� = 1), care se pot de asemeneacompara cu valorile teoretice cunoscute. Folosind acestea, se poate determina spre exemplu (aproximativ)solutia problemei Dirichlet pentru ecuatia lui Laplace în cazul 1-dimensional:�

u00 (x) = 0; x 2 (0; 1)u (x) = f (x) ; x 2 f0; 1g ; (6)

unde f : f0; 1g ! R este o functie dat¼a (f (0) = a, f (1) = b). Solutia probabilist¼a este în acest caz

u (x) = Ef (B� ) = f (0)P (B� = 0) + f (1)P (B� = 1) = aP (B� = 0) + bP (B� = 1) ;

care se poate apoi compara cu solutia teoretic¼a a problemei (u (x) = bx+ a (1� x), x 2 (0; 1)).Se poate extinde acest studiu la cazul p¼atratului [0; 1]� [0; 1] � R2, la cazul discului, sau la cazul altor ecuatiidiferentiale (formule de tip Feynman-Kac).

În acest proiect se vor studia diverse reprezent¼ari si caracteristici pentru diverse proiecte stochastice (la alegere)de tipul celui prezentat mai sus (sau a altor caracteristici), si a aplicatiilor acestor procese la rezolvareaanumitor ecuatii diferentiale (la alegere), comparând cu solutiile teoretice exacte (sau cu solutiile numericefurnizate de alte metode).

6. G¼asirea drumului între dou¼a puncte a unui graf prin metode probabiliste

Folosind Mathematica, pentru un graf dat (matrice de adiacent¼a dat¼a), se poate construi un drum aleatorsimilar drumului aleator simplu în Rn: când se a�¼a într-un vârf al grafului, procesul trece într-unul din veciniiadiacenti acestui vârf, cu probabilit¼ati egale (se poate alege si cazul când aceste probabilit¼ati sunt date de alte

7

Page 8: Softuri utilizate în cercetare Œo scurta introducere în ...cs.unitbv.ro/~pascu/softuri/Softuri.pdf · Mathematica con‚tine o mare varietate de func‚tii ‚si pachete utile

reguli, spre exemplu când aceste probabilit¼ati sunt proportionale/invers proportionale cu num¼arul de viziteefectuate în vârfuri, si �forteaz¼a�procesul s¼a mearg¼a pe drumul �cunoscut�/�necunoscut�, respectiv).

Se pot cosnidera arcele având lungimi cunscute (date), si se poate studia diverse probleme, cum ar �: duratamedie pân¼a la g¼asirea drumului între dou¼a puncte, lungimea medie a drumului obtinut (în caz c¼a exist¼a maimulte drumuri posibile), precum si compararea acestor rezultate cu rezultatele teoretice cunoscute (num¼arulde operatii necesar pân¼a la g¼asirea drumului între dou¼a v¼arfuri, lungimea drumului minim). Se pot studia sialte variante/caracteristici ale drumului aleator construit.

În acest proiect se va construi un drum aleator într-un graf dat (matrice de adiacent¼a, lungimi v¼arfuri), se vorconstrui diverse reprezent¼ari/vizualiz¼ari gra�ce ale acestuia, si se vor studia diverse caracteristici numerice,prin compapatie cu cele cunoscute.

7. Modele probabiliste de tip pr¼ad¼ator-prad¼a

Proiectul are ca scop explorarea urm¼atoarei variante probabiliste a mecanismului prin care o entitate (microb,prad¼a, rachet¼a, spion, etc) interactioneaz¼a, sau mai precis este �prins/depistat� de c¼atre o alt¼a entitate(antidot, pr¼ad¼ator, sond¼a, servicii secrete, etc). Presupunem c¼a cele dou¼a entit¼ati evolueaz¼a (într-o prim¼aaproximare, discret¼a, a problemei) prin drumuri aleatoare: a�ate într-un anumit punct, îsi aleg cu probabilit¼atiegale (dar pot � si diferite!), unul din vecinii punctului respectiv, si se mut¼a în acest nou punct, dup¼a care seitereaz¼a procedeul. Se poate considera cazul în care cele dou¼a procese se misc¼a (au domeniul) în Z, sau într-osubmultime din Z, spre exemplu submultimea f�n;�n+ 1; : : : ; n� 1; ng (în acest caz, la atingerea frontierei,se poate considera c¼a procesele se re�ect¼a la capetele �n, sau se poate considera cazul �circular�, în carepunctul �n este identi�cat cu punctul n). Se poate extinde aceast¼a constructie la cazul 2-dimensional analog.În acest proiect, se vor construi cele dou¼a procese, se vor realiya diverse reprezent¼ari/vizualiz¼ari gra�ce aleacestora, si se vor studia diverse caracteristici, cum ar �: timpul (sau timpul mediu) pân¼a la întâlnireaproceselor, punctul (sau punctul mediu) de înt¼alnire a preoceslor, num¼arul de puncte acoperite de cele douaprocese (în medicin¼a asta ar corespunde probabil la �zona infectat¼a/zona tratat¼a�), sau a altor caracteristici.

8