Proč nepoužívat Numerical Recipes (algoritmy pro vlastní čísla a
Transkript
Proč nepoužívat Numerical Recipes (algoritmy pro vlastní čísla a vlastní vektory) Martin Stachoň Numerical Recipes O William H. Press, Saul A. Teukolsky, William T. Vetterling, Brian P. Flannery O 1986-2007 O “Kuchařka” numerických metod O Lineární algebra, interpolace, integrace, náhodná čísla, FFT, statistika, diferenciální rovnice…. O Pascal, Fortran 77, 90, C++ … Numerical Recipes Numerical Recipes O Neformální, čitelný text, bez vět a důkazů O Zaměřeno na praktické techniky, včetně implementace v daném jazyce O Nejprodávanější kniha v oblasti vědeckého programování, 3000+ citací Proč ne NR? O Copyright O Implementace algoritmů nejsou efektivní (neobsahují “ruční” optimalizace) O Ne všechny algoritmy jsou aktuální, občas chyby Copyright O If you are the individual owner of a copy of this book, we hereby authorize you to type into your computer, for your own personal and noncommercial use, Copyright O Many people, including the Numerical Recipes authors, believe that there ought to be good sources of non-copyrighted numerical software available. Indeed, there are such sources. However, Numerical Recipes is not one of them! When people want to create freely redistributable programs, we urge them to use these other, freeware, program libraries. Licence NR O Licenci NR porušíte pokud : O Nevlastníte knihu O Algoritmus zkopírujete na svůj druhý počítač O Necháte někoho, kdo nevlastní knihu, přepsat za vás algoritmy z knihy do PC O Používáte dva monitory (single screen license) O Cena licence pro VŠB : cca 75000 Kč/rok O Máte dobré právníky? Efektivita implementace O Whaley, R. Clint; Petitet, Antoine; and Dongarra, Jack J.; "Automated empirical optimization of software and the ATLAS project," Parallel Computing 27, 3-35 (2001). O Rozdělením maticových operací do bloků (vs. tříkrát vnořené cykly) lze lépe využít paměť cache a urychlit maticové operace ~10x Alternativy k NR O BLAS+LAPACK/ATLAS O GNU Scientific Library (C/C++) O Trilinos Algoritmy pro vl. čísla, vl. vektory O Výpočet vlastních čísel a vlastních vektorů komplexní Hermitovské matice (aij = aji*) O Subrutina DEVCHF v MULTIDYN zabírá většinu procesorového času O O O O O O || || || || || || 36.1% | 5196.1 | 285.9 | 5.2% |devchf$math_ 26.7% | 3841.7 | 258.3 | 6.3% |_CABS 11.1% | 1596.1 | 130.9 | 7.6% |calculate_hh$hamilton_ 7.3% | 1049.4 | 101.6 | 8.8% |_COSS_VW 5.9% | 856.9 | 83.1 | 8.8% |get_topical_vec$eldyn_ 4.4% | 635.5 | 86.5 | 12.0% |deriv_h$nucdyn_ O You have probably gathered by now that the solution of eigensystems is a fairly complicated business. It is. It is one of the few subjects covered in this book for which we do not recommend that you avoid canned routines. Algoritmy O Jacobi O Tridiagonalizace+QR O Dividide and Conquer O Relative Robust Representation Jacobiho algoritmus O Carl Gustav Jacob Jacobi, 1846 O Použito v MULTIDIS O Transformace matice na podobnou diagonální matici QDQT O Q – ortogonální matice rovinné rotace, která vynuluje jeden prvek matice O Jednou vynulovaný prvek se může znova stát nenulový O Přesnost, nejpomalejší Tridiagonalizace O Ortogonální transformace na podobnou tridiagonální matici O Konečný počet kroků O Transformace O Givensovy (stejné jako u Jacobiho metody) O Householderovy – matice zrcadlení, poloviční počet operací QR algoritmus O Nalezení vl. čísel a vl. vektorů pomocí QR rozkladu O A = RQ, U = I O Ak+1 = RkQk, Uk+1 = UkQk O Ak konverguje k horní trojúhelníkové matici s vl. čísly na diagonále, Uk vlastní vektory Divide and conquer O Nová metoda, 90. léta O Rychlejší než QR O Rekurzivní rozdělení matice na diagonální bloky + doplněk O Diagonalizace bloků (např. pomocí QR) O Řešení původní úlohy – sekulární rovnice (Newtonova metoda) O Problémy s konvergencí v MULTIDIS Relatively Robust Representation O Nejnovější metoda, O(n2) O Nejrychlejší O Vl. čísla pomocí DQDS O Vl. Vektory pomocí LDLT reprezentací O "A new O(n^2) algorithm for the symmetric tridiagonal eigenvalue/eigenvector problem", by Inderjit Dhillon, Computer Science Division Technical Report No. UCB/CSD-97-971, UC Berkeley, May 1997. Měření - diagonalizace Obrázek 1: Porovnánı́ výpočet n´ıch čas˚u jednot livých met od. V ýpočet vlast n´ıch č´ısel i vekt or˚u. Na horizont áln´ı ose je zanesena logarit micky počet at om˚u n, na vert ikáln´ı logarit micky čas výpočt u. Diagonalizace matice 6000 x 6000 Metoda Čas (s) Urychlení Jacobi NR 61321 (17h) QR LAPACK 1413 43x Divide and Conquer LAPACK 998 61x MRRR LAPACK 898 (15min) 68x Obrázek 1: Porovnán´ı výpočet n´ıch čas˚u jednot livých met od. Výpočet vlast n´ıch čı́sel i vekt or˚u. Na horizont álnı́ ose je zanesena logarit micky počet at om˚u n, na vert ikáln´ı logarit micky čas výpočt u. Měření – vl. čísla Obrázek 2: Porovnánı́ výpočet nı́ch čas˚u jednot livých met od. Výpočet pouze vlast n´ıch č´ısel. Na horizont áln´ı ose je zanesena logarit micky počet at om˚u n, na vert ikáln´ı logarit micky čas výpočt u. Měření - MULTIDIS 10000 time LAPACK time Numerical Recipes 9000 8000 7000 Time 6000 5000 4000 3000 2000 1000 0 3 6 10 13 NN 16 19 Výhled do budoucna O Vyzkoušet další metody O Využít speciálních vlastností Hamiltoniánu Reference O http://www.nr.com/ oficiální stránka O http://en.wikipedia.org/wiki/Numerical_Rec ipes O http://mingus.as.arizona.edu/~bjw/softwar e/boycottnr.html Boycott Numerical Recipes O http://www.uwyo.edu/buerkle/misc/wnotnr. html Why not use Numerical Recipes
Podobné dokumenty
Výstavba GPS-Informačního a sledovacího střediska AČR mjr. Ing
s potěšením vám předkládáme další vydání Vojenského geografického obzoru, který je pokračováním
ENBRA - ceník 2-2014 v3.indd
Termostatické hlavice - připojení M30x1,5 - kapalinové čidlo
UNI-LH základní provedení, rozsah 0-28°C
UNI-LHB pro veřejné prostory, rozsah 7-28°C
UNI-LH dálkové čidlo, kapilára 2 m
UNI-LH dálkové č...
Trakční vozidla
Trakční vozidla
Tramvaje
T1 Tatra, SSSM, odporová regulace, zrychlovač, první typ koncepce PCC, 13,3 m, 600 V, 160 kW (4x40),
Komponenty pro tlak, průtok a pneumatiku
Viskozita je odpor kapalin vůči tečení, kvůli jejich vlastnímu tření. Viskozita má zásadní vliv na průtočnou kapacitu ventilu. Průtok je značně snížen, když
ventilem musí projít kapalina o vysoké v...
GSM Lift Watch compact
Neprobáhlo rychle “prihlasovacı…zablikanı c ervene LED
Modul nenı prihlasen do sıtá:
• vadna SIM karta (nebo spatná vlozena do suplıc ku)
• stara 5V SIM karta (modul podporuje karty pro 3V a mená)
...
Z-ANO - České vysoké učení technické v Praze
fuschin) při jeho pozorování světelným mikroskopem
Bacilly jsou gram-pozitivní aerobní nebo fakultativně anaerobní, velké, tyčinkovité
bakterie [46]. Některé druhy mají na jednom konci buňky svazek...
STEDNÍ PRMYSLOVÁ ŠKOLA ELEKTROTECHNIKY
programové vybavení, fyzika, matematika a další. Komplexnost práce je také jeden z dĤvodĤ
proþ jsem si toto téma vybral. Hlavním dĤvodem ale zĤstává možnost vyzkoušet si v praxi
programování mikrop...