Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
2
Pakiety Matematyczne dla Informatyków
3
Obliczenia numeryczne i symboliczne
Obliczenia numeryczne- prosta algebra n.p. zapasy, plany zaopatrzenia dla wojsk Ekstrapolacja- zjawiska astronomiczne, rozwiązania równań różniczkowych- Kartezjusz, Euler Dopasowywanie modeli ogólnych do danych numerycznych (Kopernik, Kepler, Airy (1820)) Mechanizm z Antikythiry, ok. 150 r. p.n.e.
4
Komputery jako maszyny obliczeniowe
Cyfrowe -maszyna różnicowa Babbage’a (1833) -Bomba kryptologiczna (1938 Rejewski, 1940 Turing) -Colossus 1940 -Eniac (trajektorie balistyczne prognozy pogody von Neumanna, 5kHz) -Lorenz 1963-odkrycie Chaosu -Komercjalizacja komputerów (UNIVAC I $ , Układy scalone 1958), Sinclair, Apple, Commodore, …
5
Komputery jako maszyny obliczeniowe
Analogowe -Dumaresq (1902-komputer nawigacyjny) -AKAT Łukaszewicz, Bochenek, Karpiński Zasada działania: Problem: rozwiązać równanie różniczkowe odpowiadające procesowi fizycznemu (n.p. stanowi równowagi hydrodynamicznej). Równanie jest wyrażone przez pierwiastek wielomianu funkcji i jej pochodnych. Równanie reprezentowane jest przez układ elektroniczny Przykłady elementów i operacji -cewki-różniczkowanie] -kondensatory-całkowanie -tranzystory mnożenie
6
Obliczenia symboliczne
Żmudne, często niewykonalne (n.p. całki, równania różniczkowe) Oszczędzające czas-szeregi… Abstrakcyjne-bez podanych wartości początkowych Ogólne- te same zasady dla różnych obiektów matematycznych. Komputery potrafią: Liczyć Interpretować dane Przeszukiwać bazy danych Nadają się do obliczeń symbolicznych
7
Wczesne programy obliczeniowe
Schoonship (1963) Reduce (1968 Tony Hearn) Macsyma, Maxima (1968) FORM SMP (Wolfram 1979) Axiom Derive (1988) Mathematica (1988) Symbol x,y; Local myexpr = (x+y)^3; Id y = x; Print; .end
8
Struktura Programu ~5.5 GB Jądro Interface Pakiety
9
Cechy programu Zalety Wady Intuicyjna obsługa Droga licencja
Szeroka gama zastosowań Duża objętość Mnogość specjalistycznych pakietów Duże pliki wyjściowe (notatniki) Bogata biblioteka wewnętrzna Duże zużycie pamięci Programowalność Język wysokiego poziomu-powolne obliczenia Wsparcie dla nowoczesnych środowisk programistycznych Możliwość licencji sieciowej
10
Zastosowanie Sprawdzanie obliczeń Obliczenia prototypowe
Upraszczanie formuł używanych w innych programach Opracowywanie procedur dla innych programów Analiza danych specjalistycznych Wizualizacja danych Przygotowywanie prezentacji dydaktycznych Grafika i Animacje (również 3D)
12
Mathematica 10-interfejs
13
Format danych w Mathematice
Typy danych: -Komórki wejściowe i wyjściowe -Nagłówki -ciągi znaków -wyrażenia -liczby całkowite -stałe niewymierne -ułamki -liczby rzeczywiste -liczby zespolone strumienie -grafika -grafika 3D -obiekty dynamiczne (dźwięk, animacja} -tablice Cała komunikacja Mathematici z użytkownikiem jest oparta na wyrażeniach. Wyrażeniem są nawet notatniki. Pozwala to na edycję notatników nawet bez dostępu do programu. Dzięki temu komunikacja z programem jest jednoznaczna i dostępna nawet w trybie tekstowym
14
Prosta algebra Nagłówki Przywołanie funkcji: Wprost:f[x] Przed wyrażeniem Po wyrażeniu //f[#]& Przełączanie katalogów Import i eksport danych
15
Podstawienie wartości
Set[#1,#2],#1=#2-podstawienie natychmiastowe SetDelayed[#1,#2],#1:=#2 podstawienie przy każdorazowym wywołaniu (dla Funkcji) Clear[#] usuwa wartość z pamięci With[{#1},#2] –podstawia tymczasowo definicje z listy #1 do wyrażenia #2 #1/.#2, ReplaceAll[#1,#2]-podobnie jak with, ale używamy Rule[#] #1//.#2 ReplaceRepeated[#1,#2]-podstawienia dokonywane w kolejności Assuming[#1,#2]-traktowanie wyrażenia #2 przy założeniach #1 (potrzebna jest dodatkowa komenda)
16
Otrzymywanie wyników Proste wyrażenie bez podstawień Set With
Wyświetla się: Nie wyświetla się Proste wyrażenie bez podstawień Set With Replace, With, Block W pętlach po komendzie Print,… Wyrażenia zakończone średnikiem SetDelayed W pętlach
17
Liczby zespolone Im r q Re Re[#]-część rzeczywista Im[#]-część urojona
Conjugate[#]-sprzężenie. Abs[#]-moduł Arg[#]-faza ReIm[#]-zamiana liczby na dwuelementową listę AbsArg[#]- ---//--- FromPolarCoordinates[#] ToPolarCoordinates[#]
18
Równania kwadratowe W ciele liczb zespolonych liczba pierwiastków wielomianu odpowiada jego stopniowi Wilelomiany o współczynnikach rzeczywisych mają pierwiastki parami sprzężone
19
Tablice Uporząkowane ciągi dowolnych obiektów
Długość listy może być dowolnie zmieniana Elementy list mogą być bezpośrednio zmieniane Listy mogą być dodawane Listy list o różnych rozmiarach i o różnych głębokościach Możliwe puste listy Jednoelementowa lista nie jest równoważna swojemu elementowi Role: listy, ciągi danych, wektory, tensory, zbiory
20
Podstawowe komendy Table[…,{i,imin,imax}] Range[#] PowerRange[#]
Sort[#] NestList Map[f,#] KroneckerProduct-iloczyn zewnętrzny dwóch tablic Outer[#1,…]-podobnie, ale #1 może być dowolną funkcją
21
Jako listy Part[#,m],#[[m]]-pobierz m-ty element listy # Part[#,-m] #[[-m]]-licz od końca #[[m,n]]-dla tablic wielowymiarowych #[[m;;n;;l]]-elementy od m-tego do n-tego Take[#,m]-pobierz m pierwszych elementów Take[#,-m]-pobierz m pierwszych od końca elementów Take[#,{m,n}]-pobierz elementy od m-tego do n-tego First, Rest, Most, Last
22
Drop[#,m]-odrzuca pierwsze m elementów Drop[#,-m]- ---//--- ostatnie m elementów Drop[#,{m}] ---//--- m-ty element Append[#,x]-zwraca listę z dodanym elementem na końcu AppendTo[#,x]-dodaje x do listy # (nie zwraca jej) Prepend PrependTo Select[#,m]-Wybiera z listy elementy, które spełniają warunek m Length[#]-podaje długość listy Dimensions[#]-wymiary listy wielowymiarowej (foremnej) Sort-porządkuje listę-liczby, ciągi znaków, zmienne, listy Join łączy listy
23
Listy jako listy-uzupełnienie
Reverse[#]-odwrócenie kolejności RotateLeft[#,m]-przesunięcie wyrazów w lewo o m pozycji, pozostałe są dodawane na początku listy. Permutations[#]-daje listę wszystkich Permutacji danej listy (używać ostrożnie!)
24
Jeszcze o tablicach i mapach
Table[i,{j}] Table[f[i],{i,(imin,)imax }] Flatten Partition[…,…] Array-lista kolejnych wartości funkcji Map[f,l(,n)]-mapa funkcji f ma listę l (na poziomie n) MapAt[]-mapowanie konkretnego NestList
25
Jako zbiory Dane w zbiorach mają niepowtarzalne wartości i są uporządkowane DeleteDuplicates usuwa powtórzone wielkości, Union łączy zbiory Complement podaje elementy pierwszego zbioru, które nie występują w pozostałych Intersection-podaje przekrój zbiorów Subsets wypisuje podzbiory
26
Przestrzenie wektorowe
Zbiory wektorów i liczb W ciele liczb mamy działania addytywne i multiplikatywne (łączne, z elementem neutralnym i odwrotnym*, rozdzielne) Wektory możemy dodawać do siebie i mnożyć przez skalary Istnieje iloczyn skalarny, przekształcający dwa wektory w skalar Iloczyn skalarny wektora z samym sobą daje kwadrat normy. Do ogólniejszych transformacji pomiędzy wektorami służą macierze
27
Jako wektory Conjugate[w].v=
Sum[Conjugate[w[[i]]]v[[i]],{i,1,Min[Length[v],Length[w]] Dwa sposoby mnożenia wektorów i tensorów v.U.w U.w.v Bazy ortogonalne -zbiór prostopadłych wektorów o normie 1 -Norma danego wektora nie zależy od wyboru bazy -bazy powiązane są ze sobą transformacjami Unitarnymi Dot-iloczyn skalarny Norm-Norma wektorowa Normalize-normalizacja wektora Projection Orthogonalize-budowa bazy
28
Tablice –listy list -Dowolna głębokość
-Dowolny wymiar w każdej głębokości -Mogą gromadzić dowolne obiekty -Macierze-szczególna rola w fizyce i matematyce Układy równań liniowych Obroty Mechanika brył Ogólna teoria względności Pole elektryczne i magnetyczne Mechanika kwantowa
29
Budowa macierzy i tensorów
Skalar: Element macierzy: Rozkład Schmidta Rozkład Singularny Macierzy U,V-macierze unitarne przekształcające jedne wektory w inne o tej samej długości D-macierz diagonalna mająca niezerowe elementy tylko d[[i,i]]
30
Rozkład Schmidta dla tensorów wyższej rangi
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.