Numeryczne obliczanie całek Fermiego-Diraca kwadraturą Tanh-Sinh.

Podobne dokumenty
Metody numeryczne. materiały do wykładu dla studentów. 7. Całkowanie numeryczne

x y

II. RÓŻNICZKOWANIE I CAŁKOWANIE NUMERYCZNE Janusz Adamowski

Całkowanie numeryczne przy użyciu kwadratur

Metody numeryczne. Instytut Sterowania i Systemów Informatycznych Wydział Elektrotechniki, Informatyki i Telekomunikacji Uniwersytet Zielonogórski

Redukcja wariancji w metodach Monte-Carlo

Egzamin z Metod Numerycznych ZSI, Egzamin, Gr. A

Egzamin z Metod Numerycznych ZSI, Grupa: A

Bardzo łatwa lista powtórkowa

Całkowanie numeryczne

n=0 (n + r)a n x n+r 1 (n + r)(n + r 1)a n x n+r 2. Wykorzystując te obliczenia otrzymujemy, że lewa strona równania (1) jest równa

Zał nr 4 do ZW. Dla grupy kursów zaznaczyć kurs końcowy. Liczba punktów ECTS charakterze praktycznym (P)

numeryczne rozwiązywanie równań całkowych r i

y i b) metoda różnic skończonych nadal problem nieliniowy 2 go rzędu z warunkiem Dirichleta

Opis korelacji elektronowej w dużych układach molekularnych. Implementacja metodologii LT-AO-MP2

Wykład z okazji dnia liczby π

Uogolnione modele liniowe

Obliczenia Naukowe. Wykład 12: Zagadnienia na egzamin. Bartek Wilczyński

Jak trudne jest numeryczne całkowanie (O złożoności zadań ciągłych)

Wykład 14. Termodynamika gazu fotnonowego

METODY NUMERYCZNE. Wykład 4. Numeryczne rozwiązywanie równań nieliniowych z jedną niewiadomą. prof. dr hab.inż. Katarzyna Zakrzewska

Metody numeryczne Numerical methods. Elektrotechnika I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny)

KARTA KURSU (realizowanego w module specjalności) Metody numeryczne

Metody numeryczne. Janusz Szwabiński. Metody numeryczne I (C) 2004 Janusz Szwabiński p.1/50

Obliczenia Symboliczne

Maciej Grzesiak Instytut Matematyki Politechniki Poznańskiej. Całki nieoznaczone

Całkowanie metodą Monte Carlo

Rachunek różniczkowy i całkowy 2016/17

Całki nieoznaczone. 1 Własności. 2 Wzory podstawowe. Adam Gregosiewicz 27 maja a) Jeżeli F (x) = f(x), to f(x)dx = F (x) + C,

Wykorzystanie programów komputerowych do obliczeń matematycznych

Metody numeryczne. Sformułowanie zagadnienia interpolacji

Wstęp do metod numerycznych Rozwiazywanie równań algebraicznych. P. F. Góra

Parametry systemów klucza publicznego

WYDZIAŁ INFORMATYKI I ZARZĄDZANIA, studia niestacjonarne ANALIZA MATEMATYCZNA1, lista zadań 1

Regresja symboliczna

automatyka i robotyka II stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

Interesujące fazy ewolucji masywnej gwiazdy:

Wstęp do metod numerycznych Zadania numeryczne 2016/17 1

Kubatury Gaussa (całka podwójna po trójkącie)

Nie do końca zaawansowane elementy programowania w pakiecie R. Tomasz Suchocki

Wykład 2. Transformata Fouriera

Metody Numeryczne w Budowie Samolotów/Śmigłowców Wykład I

Interpolacja, aproksymacja całkowanie. Interpolacja Krzywa przechodzi przez punkty kontrolne

Zastosowania pochodnych

Rozdział 2: Metoda największej wiarygodności i nieliniowa metoda najmniejszych kwadratów

1 Symulacja procesów cieplnych 1. 2 Algorytm MES 2. 3 Implementacja rozwiązania 2. 4 Całkowanie numeryczne w MES 3. k z (t) t ) k y (t) t )

Obliczanie całek. Instytut Fizyki Akademia Pomorska w Słupsku

Rozkład Gaussa i test χ2

Wprowadzenie do metod numerycznych Wykład 9 Różniczkowanie numeryczne

Szeregi funkcyjne. Szeregi potęgowe i trygonometryczne. Katedra Matematyki Wydział Informatyki Politechnika Białostocka

WSKAZÓWKI DO WYKONANIA SPRAWOZDANIA Z WYRÓWNAWCZYCH ZAJĘĆ LABORATORYJNYCH

Prędkość fazowa i grupowa fali elektromagnetycznej w falowodzie

Metoda Monte Carlo. Jerzy Mycielski. grudzien Jerzy Mycielski () Metoda Monte Carlo grudzien / 10

Testowanie hipotez statystycznych. Wprowadzenie

Inżynierskie metody analizy numerycznej i planowanie eksperymentu / Ireneusz Czajka, Andrzej Gołaś. Kraków, Spis treści

14a. Analiza zmiennych dyskretnych: ciągi liczbowe

Całkowanie numeryczne

Wielomiany podstawowe wiadomości

1 Wykład 4. Proste Prawa wielkich liczb, CTG i metody Monte Carlo

Wykład VI. Badanie przebiegu funkcji. 2. A - przedział otwarty, f D 2 (A) 3. Ekstrema lokalne: 4. Punkty przegięcia. Uwaga!

Algebra Symboliczna. Wykład I. Andrzej Odrzywolek. Instytut Fizyki, Zakład Teorii Względności i Astrofizyki

PRZEWODNIK PO PRZEDMIOCIE

Czym jest całka? Całkowanie numeryczne

Rozdział XV CAŁKI KRZYWOLINIOWE. CAŁKA STIELTJESA

ANALIZA MATEMATYCZNA

METODY NUMERYCZNE. Wykład 4. Numeryczne rozwiązywanie równań nieliniowych z jedną niewiadomą. Rozwiązywanie równań nieliniowych z jedną niewiadomą

ELEMENTY ANALIZY NUMERYCZNEJ ELEMENTY ANALIZY NUMERYCZNEJ. Egzamin pisemny zestaw 1 26 czerwca 2017 roku

Elementy metod numerycznych

Funkcje analityczne. Wykład 1. Co to są i do czego służą funkcje analityczne? Funkcje analityczne (rok akademicki 2016/2017)

Rachunek prawdopodobieństwa projekt Ilustracja metody Monte Carlo obliczania całek oznaczonych

Interpolacja i modelowanie krzywych 2D i 3D

Matematyka I i II - opis przedmiotu

Obliczenia iteracyjne

1 Całki nieoznaczone: całkowanie jako operacja (prawie) odwrotna do różniczkowania

Zaawansowane metody numeryczne

Całka nieoznaczona, podstawowe wiadomości

Metody numeryczne Numerical methods. Elektrotechnika I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny)

Zajęcia nr 1: Zagadnienia do opanowania:

PROMIENIOWANIE CIAŁA DOSKONALE CZARNEGO

Interpolacja. Marcin Orchel. Drugi przypadek szczególny to interpolacja trygonometryczna

Laboratorium II: Modelowanie procesów fizycznych Skrypt do ćwiczeń

BŁĘDY OBLICZEŃ NUMERYCZNYCH

Metody Obliczeniowe w Nauce i Technice

Treści programowe. Matematyka 1. Efekty kształcenia. Literatura. Warunki zaliczenia. Ogólne własności funkcji. Definicja 1. Funkcje elementarne.

Wprowadzenie Metoda bisekcji Metoda regula falsi Metoda siecznych Metoda stycznych RÓWNANIA NIELINIOWE

8 Całka stochastyczna względem semimartyngałów

Metody numeryczne Numerical methods. Energetyka I stopień (I stopień / II stopień) Ogólnoakademicki (ogólnoakademicki / praktyczny)

CAŁKI NIEOZNACZONE C R}.

Testowanie hipotez statystycznych

REGRESJA LINIOWA Z UOGÓLNIONĄ MACIERZĄ KOWARIANCJI SKŁADNIKA LOSOWEGO. Aleksander Nosarzewski Ekonometria bayesowska, prowadzący: dr Andrzej Torój

STATYSTYKA MATEMATYCZNA WYKŁAD października 2009

Met Me ody numer yczne Wykład ykład Dr inż. Mic hał ha Łanc Łan zon Instyt Ins ut Elektr Elektr echn iki echn i Elektrot Elektr echn olo echn

Całkowanie numeryczne

Całki niewłaściwe. Całki w granicach nieskończonych

Wykład Ćwiczenia Laboratorium Projekt Seminarium 15 30

ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH

Funkcje. Część druga. Zbigniew Koza. Wydział Fizyki i Astronomii

Zagadnienia - równania nieliniowe

Testowanie hipotez statystycznych.

Podstawy opracowania wyników pomiarów z elementami analizy niepewności statystycznych

Transkrypt:

Numeryczne obliczanie całek Fermiego-Diraca kwadraturą Tanh-Sinh. Andrzej Odrzywołek Zakład Teorii Względności i Astrofizyki, Instytut Fizyki UJ 20 listopada 2013

Streszczenie Znajomość uogólnionych funkcji Fermiego-Diraca pozwala na eleganckie operowanie wielkościami fizycznymi pojawiającymi się w termodynamicznym opisie gazu elektronowego. Powszechnie stosowaną metodą całkowania numerycznego są kwadratury Gaussa, skuteczne dla dodatnich indeksów całkowitych i połówkowych. W sytuacji, gdy funkcja podcałkowa nie może być przybliżana wielomianami, ale jest analityczna, lepszą metodą okazuje się zamiana zmiennych typu x=exp(exp(t)), zaproponowana w połowie lat 70-tych (Takahasi & Mori 1974), w połączeniu ze wzorem Eulera-Maclaurina (metodą trapezów). Na wykładzie przedstawię motywację astrofizyczną, podstawy teoretyczne i testy metody oraz trudności implementacji, będące przyczyną wciąż małej popularności tego godnego uwagi algorytmu.

Postawienie problemu Uogólniona całka Fermiego-Diraca ( typ G ) G ± n (α, β) = 1 α 3+2n α x 2n+1 x 2 α 2 1 + exp(x ± β) dx, α = m e kt, β = µ e kt Uogólniona całka Fermiego-Diraca ( typ F ) F k (η, θ) = 0 t k 1 + t 2α 1 + exp (t η) θ = 1/α, η = α ± β

Przykłady zastosowania Częstość plazmowa Nietrywialny przykład: dla n = 3 funkcja G nie jest redukowalna fo funkcji F, ponadto zachowanie funkcji podcałkowej jest typu 1/x. ( α ω 0 = m e G 1 4π 1 3 G 3 + G 1 + 1 ) 3 G 3 + Inne ważne przykłady Funkcje M nm ± zdefiniowane w Misiaszek et. al, Phys. Rev. D 74, 043006 (2006), pozwalające wyrazić momenty widma energetycznego neutrin z anihilacji par e + e ν ν. równanie stanu gazu elektronowego w symulacjach astrofizycznych...

Relacja funkcji typu F i G Dotychczasowy sposób obliczania funkcji G G ± n (α, β) = 2 α 2n+1 i=0 ( ) 2n + 1 α i F i 2n+3/2 i ( α β, 1/α) (1) Powyższy wzór pozwala zamienie używać niektórych funkcji o indeksach połówkowych i całkowitych.

Istota trudności obliczania całek F-D Rozkład Fermiego-Diraca Μ f 1 1 1 2 f 1 2 1 4 E Μ kt Μ f exp E kt E 1 Dwa reżimy : wielomianowy z wagą 1 lub e x wymuszają rozbicie przedziału całkowania na co najmniej dwa i zastosowanie różnych algorytmów: Gaussa i Gaussa-Laguerra. 2 obecność x omijamy podstawiając x = t 2 3 algorytm tego typu doskonale działa dla dodatnich indeksów połówkowych, ale zawodzi dla 1 < k < 1/2 (n < 1/2)

Alternatywa dla klasycznych kwadratur typu Gaussa Skalowanie kwadratury (rendering 1D) Dla każdej pojedynczej wartości η możemy wyznaczyć kwadraturę typu Gaussa: 0 W 2n 1 (x) n 1 + e x η dx = w i (η)f [x i (η)]. Dokonując interpolacji, otrzymujemy algorytm działający dla dowolnego η [Odrzywolek, CPC, 182 (2011) 2533 ]. Inne sposoby tablicowanie i interpolacja i=1 rozwinięcia asymtotyczne, szeregi sieci neuronowe i regresja symboliczna

Skąd wiemy ile NAPRAWDĘ wynoszą wartości całek F-D? Metody weryfikacji 1 całkowanie adaptywnym algorytmem w arytmetyce dowolnej precyzji, często w Mathematice 2 przypadki specjalne (np: µ = 0), oraz graniczne 3 oszacowania całki z góry i z dołu 4 code-to-code verification 5 relacje rekurencyjne pomiędzy pochodnymi (Gonga et. al. Computer Physics Communications, 136 (2001) 294 309 ) Praktyka pokazuje, że sposób (1) jest niezwykle czasochłonny, chyba że zastosujemy metodę "DoubleExponential".

Algorytm Tanh-Sinh Zamiana zmiennych Takahashi & Mori (1974) znaleźli optymalną zamianę zmiennych: 1 1 0 0 ( ) π f (x) dx x = tgh 2 sinh t ( ) π f (x) dx x = exp 2 sinh t f (x)e x dx x = exp ( t e t) Teraz funkcja podcałkowa oraz jej wszystkie pochodne dążą do zera dla t ± podwójnie eksponencjalnie ( e et ). (2a) (2b) (2c)

Α Β F. podcalkowa 1.5 1.0 0.5 4 Dla powyższej funkcji stosujemy wzór Eulera-Maclaurina: f (t)dt = N w k f (hk) + k= N

Oszacowanie błędu (reszty we wzorze E.-M.) Reszta wzoru Eulera-Maclaurina p = h 2n B [ ] 2n f (2n 1) ( hn) f (2n 1) (hn) + R (2n)! n=1 gdzie p - dowolnie duża liczba, oraz: WNIOSEK R = 2N h 2p+3 B 2p+2f (2p+2) (ζ), ζ ( Nh, Nh). (2p + 2)! Jeżeli na końcach przedziału (dla x ± ) wszystkie pochodne dążą do zera, a wewnątrz przedziału funkcja jest dostatecznie gładka to błąd całkowania numerycznego w podany sposób maleje szybciej niż jakakolwiek potęga kroku całkowania h.

Skuteczność algorytmu 1 dwa błędy: dyskretyzacji (h) i obcięcia (N) 2 w praktyce liczba cyfr znaczących podwaja się przy zmniejszeniu h dwukrotnie 3 działa dla większości funkcji analitycznych, z dowolnymi osobliwościami na końcach przedziału 4 algorytm to de facto metoda trapezów; typowe ćwiczenie dla studentów I roku Jeżeli jest tak dobrze, to skąd brak poularności? algorytm relatywnie nowy, opublikowany w mało znanym czasopiśmie PM. RIMS, Kyoto Univ. 9 (1974), 721-741 w Numerical Recipes, pojawia się dopiero w ostatnim wydaniu, 3 edycja, 2007 ( wypychając rozdział o kwadrarturze Gaussa) exp (e x ) dla typu double przekracza zakres dla x 6.5 dla f. analitycznej z odpowiednio rozłożonymi miejscami zerowymi algorytm jest całkowicie błędny

Szczegóły implementacji Naiwny kod double x = exp ( t-exp (-t) ); dx = x*( 1.0+ exp (-t) ); fermi = pow (x,k) * sqrt (1.0+0.5* theta *x )/(1.0 + exp (x-eta ))* dx; Dobry kod double x = exp ( t-exp (-t) ); dx = 1.0+ exp (-t); fermi = exp ( (k +1.0)*( t-exp (-t) ) * sqrt (1.0 + 0.5* theta *x )/(1.0 + exp (x-eta ))* dx;

Porównanie implementacji (10 5 wywołań, random input) Implemtacja dfermi.f (F77) libfermidirac (C) Kod 1000 linii 100 linii Algorytm Gauss + splitting Tanh-Sinh Dokładność Szacowana z góry Testowana w locie Strategia Krok ustalony Rekursja Autor F. X. Timmes A. O. k = 2 Fermi F 2.9 s 6.9 s k = 2/3 2.9 s 7.9 s k = 2 1.9 s 6.7 s Fermi G n = 0.5 8.8 s 2.5 s n = 1.5 14.9 s 3.9 s

Podsumowanie kwadratura Tanh-Sinh okazała się najskuteczniejszą z wypróbowanych metod obliczania całek Fermiego-Diraca jedynie metoda Gaussa z podziałem przedziału całkowania ma podobną wydajność numeryczną jest jedyną metodą pozwalającą na obliczanie wartości dla dowolnych indeksów (k 1 oraz n < 0) działa dla typów F i G łatwa w implementacji, ale wymaga starannego kodowania i zrozumienia rachunku liczb zmiennoprzecinkowych algorytm powinien być demonstrowany studentom, zaraz po metodzie trapezów

Dziękuję za uwagę!

Referencje 1 Hidetosi TAKAHASI and Masatake MORI, Double Exponential Formulas for Numerical Integration, PM. RIMS, Kyoto Univ. 9 (1974), 721-741. 2 Numerical Recipes in C++, Sect. 4.5 Quadrature by Variable Transformation, p. 173-179; Sect. 6.10 Generalized Fermi-Dirac Integrals. 3 Mathematica 8 manual, Example Implementation of Double Exponential Quadrature 4 M. Mori, Discovery of the Double Exponential Transformation and Its Developments, Publ. RIMS, Kyoto Univ. 41 (2005) 897-935.

Slajdy dodatkowe

Całka konturowa b a f (x) dx = C ln ( ) z a f (z) dz z b