Narzędzia Obliczeniowe Fizyki

Zawartość:

Organizacja

MATHEMATICA

Na zajęciach będziemy korzystać z programu Mathematica. Bardzo proszę, przed zapoznać się z instrukcją instalacji. zdobyć licencję i zainstalować program na swoich komputerach. Na zajęciach można pracować z własnym laptopem albo z komputerem w pracowni.

Uwaga: wszędzie gdzie to konieczne należy wpisywać uniwersytecki adres e-mail. Licencją objęty jest uniwersytet a e-mail stanowi metodę weryfikacji, że jesteście państwo studentami uczelni. Informacja o aktywacji studenckich kont pocztowych dostępna jest tutaj:

https://pomocit.uj.edu.pl/poczta_studenci

w zakładce “Aktywacja kont pocztowych dla studentów i doktorantów”.

OCENA

Na ocenę końcową składać się będą:

Wykład (prof Jacek Golak)

Wykłady profesora Jacka Golaka bedą dostępne na stronie:

http://users.uj.edu.pl/~golak/

Zestawy zadań

Projekty studenckie

Zestaw dla grupy 1

MATERIAŁY DODATKOWE
A
(mnożenie i porównywanie macierzy , reprezentacja liczb zespolonych)

Proszę sprawdzić czy liczbę zespoloną \(x + i y\) (\(x\), \(y\) to liczby rzeczywiste) można reprezentować w postaci macierzowej: \[ x A + y B \] gdzie macierze: \[ A = \left( \begin{array}{cc} 1 & 0 \\ 0 & 1 \\ \end{array} \right) \] \[ B = \left( \begin{array}{cc} 0 & -1 \\ 1 & 0 \\ \end{array} \right) \]

Wskazówka: proszę sprawdzić czy liczby zespolone zapisane w ten sposób spełniają aksjomaty.

B
(Solve, MatrixExp , reprezentacja liczb zespolonych)

Korzystając z reprezentacji liczb zespolonych z zadania A proszę sprawdzić czy zachodzi (\(\phi\) to liczba rzeczywista): \[ \exp{i \phi} = \cos{\phi} + i \sin{\phi} \]

Wskazówka: Pierwszym argumentem Solve może być równanie macierzowe.

C
(currying, zaawansowane szablony funkcji, reprezentacja liczb zespolonych)

Zajmiemy się obiektami typu

cn[x , y]

gdzie \(x , y\) są liczbami rzeczywistymi. Dla wyrażeń tego typu zdefiniowane są operacje

plus[cn[x1_ , y1_]][cn[x2_ , y2_]] := cn[x1 + x2 , y1 + y2]
times[cn[x1_ , y1_]][cn[x2_ , y2_]] := cn[x1 x2 - y1 y2 , x1 y2 + y1 x2]
re[cn[x_ , y_]] := x

oraz

im[cn[x_ , y_]] := y

które będziemy nazywać dodawaniem, mnożeniem, braniem części rzeczywistej oraz braniem części urojonej.

Łatwo się domyślić, że obiekty tego typu mogą reprezentować liczby zespolone. Proszę to sprawdzić i zdefiniować funkcję

power

która dla liczby całkowitej \(n\) oraz obiektu typu jak wyżej z = cn[a, b]

power[n][z]

zwraca potęgę \(z^{n}\). Wskazówka: można skorzystać z funkcji

Nest

Wiedząc, że \[ Re(e^{i \phi}) = cos(\phi) \] oraz \[ Im(e^{i \phi}) = sin(\phi) \] proszę policzyć \(cos(1)\) oraz \(sin(1)\) z wykorzystaniem rozwinięcia eksponenty w szereg \[ e^{z} = exp(z) = \sum_{k = 0}^{\infty} \frac{z^{n}}{n!} \] Proszę szereg obciąć po \(100\) wyrazach i skorzystać z własnej implementacji podnoszenia do potęgi. Wynik proszę porównać z

N[Cos[1]]

oraz

N[Sin[1]]

Wskazówka: re oraz im można wrzucić pod sumę.

D
(DSolve, równania różniczkowe)

Korzystając z równań Cauchiego-Riemana (bez paniki, objaśnię na zajęciach i podam przykład) oraz

DSolve

proszę policzyć funkcję \[ sin(x + i y) \] gdzie \(x , y\) są liczbami rzeczywistymi przy założeniu, że jest ona analityczna (z założenia tego wynika, między innymi, że posiada ona pochodne) i znamy jej wartości dla \(sin(x + i 0) = sin(x)\).

Wynik proszę porównać z rozwinięciem \(sin(x + i y)\) za pomocą

ComplexExpand

dla kilku wartości \(x\) oraz \(y\). Dodatkowo z wykorzystaniem

ContourPlot

proszę narysować wykres części rzeczywistej oraz urojonej \(sin(x + i y)\).

Wskazówka: oprócz równania różniczkowego cząstkowego w liście równań powinny pojawić się warunki brzegowe.