slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Jacek Matulewski Zakład Mechaniki Kwantowej Instytut Fizyki, UMK 14 marca 2011 PowerPoint Presentation
Download Presentation
Jacek Matulewski Zakład Mechaniki Kwantowej Instytut Fizyki, UMK 14 marca 2011

Loading in 2 Seconds...

play fullscreen
1 / 50

Jacek Matulewski Zakład Mechaniki Kwantowej Instytut Fizyki, UMK 14 marca 2011 - PowerPoint PPT Presentation


  • 100 Views
  • Uploaded on

Obliczanie. p. Jacek Matulewski Zakład Mechaniki Kwantowej Instytut Fizyki, UMK 14 marca 2011. Obliczanie. p. Jacek Matulewski Zakład Mechaniki Kwantowej Instytut Fizyki, UMK 14 marca 2011. Liczby. Liczby wyrażają ilość (liczby naturalne)

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Jacek Matulewski Zakład Mechaniki Kwantowej Instytut Fizyki, UMK 14 marca 2011' - ivana-calhoun


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

Obliczanie

p

Jacek Matulewski

Zakład Mechaniki Kwantowej

Instytut Fizyki, UMK

14 marca 2011

slide2

Obliczanie

p

Jacek Matulewski

Zakład Mechaniki Kwantowej

Instytut Fizyki, UMK

14 marca 2011

liczby
Liczby
  • Liczby wyrażają ilość(liczby naturalne)
  • Pitagoras i pitagorejczycy – kult i symbolika liczb
liczby1
Liczby
  • Jeden
  • Monas
  • Bóg
  • Parmenidejski byt
liczby2
Liczby
  • Dwa
  • Relacja „po”
  • Czas
  • Arytmetyka
liczby3
Liczby
  • Trzy
  • Relacja „obok”
  • Przestrzeń
  • Geometria
liczby4
Liczby
  • Pitagorejczycy użyli liczb także do mierzenia wielkości ciągłych(długości boków figur)
  • Długość przekątnejz twierdzenie Pitagorasa
  • Wielka tajemnica…
liczby6
Liczby
  • Liczba p jest liczbą niewymiernątzn. nie można jej zapisać jako ułamka zwykłego (ilorazu dwóch liczb całkowitych)
  • Liczba p jest liczbą przestępnątzn. nie istnieje wielomian o współczynnikach całkowitych, którego p jest pierwiastkiem
  • Pitagorejczycy utrzymywali liczby niewymierne w tajemnicy!
warto liczby p
Wartość liczby p
  • Wartość p: 3,14159 26535 89793 23846 26433 83279 50288 41971 69399 37510 58209 74944 59230 78164 06286 20899 86280 34825 34211 70679 82148 08651 32823 06647 09384 46095 50582 23172 53594 08128 48111 74502 84102 70193 85211 05559 64462 29489 54930 38196 44288 10975 66593 34461 28475 64823 37867 83165 …
przybli enia liczby p
Przybliżenia liczby p
  • Wartość: 3,14159 26535 89793 23846 26433 83279…
  • Przybliżenia:22/7 = 3,14285 71428 57142 85714…355/113 = 3,14159 29203 53982 30088…52163/16604 = 3,1415923873 76535 77451…103993/33102 = 3,14159 26530 11902 60407…3,14626 43699 41972 34232 91350…3,14159..(30 cyfr)
metoda monte carlo
Metoda Monte-Carlo
  • Okrąg: r = 1
  • Pole koła: pr2 = p
  • Pole kwadratu:a2 = 4
  • Stosunek pól: p/4
metoda monte carlo1
Metoda Monte-Carlo
  • Autor: Rudolf Wolf(szwajcarski astronom)
  • Dokładność (N – ilość prób)
  • To raczej słabo!
metoda monte carlo2
Metoda Monte-Carlo
  • Realizacje (kłopot z liczbami losowymi)
    • dziecko rzuca kamyki na plaży (KM i BM)
    • deszcz i donica w akwarium (M. Chmielarz)
    • mąka na stole
metoda monte carlo3
Metoda Monte-Carlo
  • Realizacje (kłopot z liczbami losowymi)
    • dziecko rzuca kamyki na plaży (KM i BM)
    • deszcz i donica w akwarium (M. Chmielarz)
    • mąka na stole
    • symulacja komputerowa
    • http://www.fizyka.umk.pl/~jacek/dydaktyka/pi/(C, C++, C#, Java, Pascal/Delphi, nawet ZX Basic)
metoda monte carlo4
Metoda Monte-Carlo
  • Implementacja

ulong i=0, N=(ulong)1E8;

double x, y;

do

{

i++;

x=random.NextDouble();

y=random.NextDouble();

if(x*x+y*y<1) trafienia++;

} while (i<N);

double pi=4*(double)trafienia/N;

ig a buffona
Igła Buffona
  • Problem sformułowany w 1773 roku przez Georga-Luisa Leclerca
  • Nietrywialny przykład realizacji metody Monte-Carlo
  • Typowe zadanie rach. prawdopodobieństwa(prawdopodobieństwo geometryczne)
ig a buffona1
Igła Buffona
  • Rzucamy N razy igłą na dywan w pasy
  • Igła o długości l jest krótsza niż odległość pasów d (l < d)
  • Zliczamy ile razy igła przetnie którąś z linii
ig a buffona2
Igła Buffona

y – rzut połowy igły na kierunek poziomy

x – odległość środka igły od najbliższej linii

Igła przetnie linię gdy y > x

y

W rzucie igłą mamy dwa losowe parametry o jednorodnym rozkładzie: – położenie środka igły, co się przekłada na

wielkość x, przy czym

– orientację mierzoną kątem ostrym q między igłą i pionem,

Rzut połowy igły:

Igła przetnie linię gdy

q

x

ig a buffona3
Igła Buffona

Losujemy dwa parametry (x, q) – punkt w przestrzeni 2D o rozmiarach

Prawdopodobieństwo przecięcia linii:

obszar pod krzywą

pole całego prostokąta

Prawdopodobieństwo = częstość losowania

metoda eulera
Metoda Eulera
  • Autor: Leonhard Euler(szwajcarski matematyk)
  • Dokładność 1/N(N – ilość prób)
  • Znacznie lepiej niż w metodzie Wolfa
metoda eulera2
Metoda Eulera
  • Sumowanie szeregu
  • Suma to p2/6

Można z grubsza przyjąć, że ilość cyfr znaczących oszacowania wartości prówna jest rzędowi zsumowanych wyrazów. Zatem dla 105 wyrazów otrzymamy pięć cyfr znaczących.

metoda eulera3
Metoda Eulera
  • Implementacja

ulong i=0, N=(ulong)1E8;

double S=0;

do

{

i++;

S+=(1.0/(1.0*i*i));

} while (i<N);

double pi=Math.Sqrt(6*S);

metoda eulera4
Metoda Eulera
  • Wartości częściowych sum
metody obliczania p
Metody obliczania p
  • Inne szeregi: http://mathworld.wolfram.com/PiFormulas.html
    • szereg Madhava’ego, Gregory’ego, Reihe’a i Leibniza (1671):
    • szereg Abrahama Sharpa (1717):
metody obliczania p1
Metody obliczania p
  • Inne szeregi: http://mathworld.wolfram.com/PiFormulas.html
metody obliczania p2
Metody obliczania p
  • Inne szeregi: http://mathworld.wolfram.com/PiFormulas.html
    • Szereg Wallisa
    • Iloczyn Wallisa (1655)
metoda iteracyjna salamina brenta
Metoda iteracyjna Salamina-Brenta
  • Metody używane w XX wieku: D.H. Bailey, J.M. Borwein, P.B. Borwein, S. PlouffeThe Quest for Pi (1996)
    • Algorytm iteracyjny Salamina i Brenta (1976)Ustalamy: , , Dla k=1,2,3,… obliczamy

pk zbiega do p kwadratowo,czyli każda iteracja podwajailość prawidłowych cyfr.

Jeden z algorytmów używanych do bicia rekordów

ilości policzonych cyfr p (obliczenia komputerowe)

metody iteracyjne braci borwein
Metody iteracyjne braci Borwein
  • Algorytm braci Borwein (1985):ciąg zbiegający do pkubicznie
  • Algorytm dwukwadratowy braci Borweinużywany przez Yasumasa Kanadę (Tokio)
  • Znaleźli wzór na ciągi dowolnego rzędu(co nie znaczy, że są szybsze od 4-go rzędu)
  • Dodatkowo mnożenia w wysokiej precyzji przyspieszane są dzięki użyciu algorytmu FFT (1965)
metody iteracyjne braci borwein1
Metody iteracyjne braci Borwein
  • Yasumasa Kanada w swoim biurze
metody iteracyjne braci borwein2
Metody iteracyjne braci Borwein

Źródło: D.H. Bailey, J.M. Borwein, P.B. Borwein, S. PlouffeThe Quest for Pi (1996)

warto liczby p1
Wartość liczby p
  • Wartość p: 3,243F6 A8885 A308D 31319 8A2E0 37073 44A40 93822 299F3 1D008 2EFA9 8EC4E 6C894 52821 E638D 1377BE5466CF34E90C6CC0AC29B7C97C50DD3F84D5B5B54709179216D5D98979FB1BD1310BA698DFB5AC2FFD72DBD01ADFB7B8E1AFED6A267E96BA7C9045F12C7F9924A19947B3916CF708 …
algorytmy kurkowe
Algorytmy kurkowe(?)
  • Niepewna nazwa: ang. spigotalgoritm(spigot = kran przy beczce, szpunt)
  • Algorytm, który pozwala na liczenie kolejnych cyfr stałej matematycznej nie używając ich już po policzeniu (w przeciwieństwie do wcześniej przedstawionych algorytmów rekurencyjnych)
  • Takie algorytmy istnieją dla: p, e, , itp.
  • Algorytmy te można zaimplementować bez liczb rzeczywistych (tylko liczby całkowite)
algorytmy kurkowe1
Algorytmy kurkowe(?)
  • Do policzenia 5000 cyfr liczby p potrzeba tylko 600 000 000 operacji na liczbach całkowitych!
  • Koszt obliczenia n-tej cyfry nie zależy od n.
  • Algorytm kurkowy dla liczby p toalgorytm Baileya-Borweina-Plouffe’a(BBP; 1995, 1997, 2003) bazujący na wzorze:
  • Pozwala na znalezienie konkretnej serii cyfr p!
algorytm bbp
Algorytm BBP

David Bailey

Peter Borwein

Simon Plouffe

algorytm bbp1
Algorytm BBP
  • Przygotowania:
algorytm bbp2
Algorytm BBP
  • Aby obliczyć n-tą cyfrę liczby lw reprezentacji dziesiętnej można użyć triku:
  • Aby zaokrąglić liczbę l do n cyfr po przecinku:

l*10^n – trunc(l*10^n)

10000*p – (int)(10000*p) = 0,9265358979

l*10^n % 1

trunc(l*10^n) / 10^n

(int)(10000*p) / 10000 = 3,1415

algorytm bbp3
Algorytm BBP
  • Aby obliczyć n-tą cyfrę liczby lw reprezentacji heksydecymalnej należy:
  • Aby zaokrąglić liczbę l do n cyfr po przecinku:

l*16^n – trunc(l*16^n)

65536*p – (int)(65536*p) = 0,6A8885A308D31319

l*16^n % 1

trunc(l*16^n) / 16^n

(int)(65536*p) / 65536 = 3,243F

algorytm bbp4
Algorytm BBP
  • Aby obliczyć n-tą cyfrę liczby lw reprezentacji heksydecymalnej należy:
  • Aby zaokrąglić liczbę l do n cyfr po przecinku:

l*10^n – trunc(l*10^n)

10000*p – (int)(10000*p) = 0,6A8885A308D31319

l*10^n % 1

trunc(l*10^n) / 10^n

(int)(10000*p) / 10000 = 3,243F

algorytm bbp5
Algorytm BBP
  • Cyfry sum S(j) począwszy od n-tej

Bardzo szybko

zbieżny szereg

(sprawdzamy tylko, czy nie zmienia się ostatnia cyfra serii)

część ułamkowa

Wartość p od n-tej cyfry HEX

Obliczanie potęg za pomocą algorytmu szybkiego potęgowania dla l. całkowit.(exponentiation by squaring)

motywacja
Motywacja

Po co tak dokładnie liczyć przybliżenia p?

motywacja1
Motywacja

Po co tak dokładnie liczyć przybliżenia p?

koniec
Koniec
  • Wartość p: 3,14159 26535 89793 23846 26433 83279 50288 41971 69399 37510 58209 74944 59230 78164 06286 20899 86280 34825 34211 70679 82148 08651 32823 06647 09384 46095 50582 23172 53594 08128 48111 74502 84102 70193 85211 05559 64462 29489 54930 38196 44288 10975 66593 34461 28475 64823 37867 83165 …