Proč nepoužívat Numerical Recipes (algoritmy pro vlastní čísla a

Transkript

Proč nepoužívat Numerical Recipes (algoritmy pro vlastní čísla a
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

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

Více

ENBRA - ceník 2-2014 v3.indd

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é č...

Více

Trakční vozidla

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),

Více

Komponenty pro tlak, průtok a pneumatiku

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...

Více

GSM Lift Watch compact

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á) ...

Více

Náročné inženýrské problémy a superpočítání

Náročné inženýrské problémy a superpočítání Code Aster - rozhraní pro paralelní řešič FLLOP

Více

Z-ANO - České vysoké učení technické v Praze

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...

Více

STEDNÍ PRMYSLOVÁ ŠKOLA ELEKTROTECHNIKY

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...

Více