2D1240 Open, vt 06 Numeriska metoder gk II, kurshemsida /2D1240/05-06/open Daniel Appelö, AnnaKarin Järemo, Jan Lindqvist, Jesper Oppelstrup, Tommy Sundström,... 11 F, 7 räkne-ö, 8 dator-ö. Examination (betyg 3-4, motsv. E-B) Tenta 8/3 3h, Lab1 senast x, Lab2 senast y Lab3 redovisas med föredrag Betyg 5 (A) extra uppgift eö kursledare Litteratur: P.Pohl, Grundkurs i numeriska metoder; L.Edsberg, Användarhandledning för MATLAB Edsberg mfl Exempelsamling i numeriska metoder Lab-pek, ex-tentor, schema: kurshemsidan It is hard to understand an ocean because it is too big. It is hard to understand a molecule because it is too small. It is hard to understand nuclear physics because it is too fast. It is hard to understand the greenhouse effect because it is too slow. [Super]Computers break these barriers to understanding. They, in effect, shrink oceans, zoom in on molecules, slow down physics, and fast-forward climates. Clearly a scientist who can see natural phenomena at the right size and the right speed learns more than one who is faced with a blur. Al Gore, 1990, om scientific computing 06-01-08 2D1240 vt 06 JOp 1 06-01-08 2D1240 vt 06 JOp 2 The purpose of computing is insight, not numbers. (R.W.Hamming) There are three kinds of lies: Lies, damn lies, and colorful computer pictures (R.Colella) Vad är numerisk analys? = Teknisk databehandling (Scientific Computing)? = Tillämpad matematik? = Matematisk modellering? = Analys av avrundningsfel? L.N.Trefethen 1992 (lånad bl.a. av Wikipedia): N.A. is the study of algorithms for the problems of continuous mathematics our central mission is to compute quantities that are typically uncomputable, [ ] and to do it with lightning speed 06-01-08 2D1240 vt 06 JOp 3 06-01-08 2D1240 vt 06 JOp 4 1
to compute things that are by definition uncomputable and to do so at lightning speed, L.N.Trefethen (1992) Numerik: en makalös framgångshistoria: Finita element (ingenjörer! 1960 ff) FFT N 2 -> NlogN (Cooley-Tukey 1965) Multi-grid N (3-2/D) -> C N (Brandt 1970 ff ) Linjära program N 3 ->? (Karmarkar 1990 ff) Multi-pol N 2 -> NlogN (Greengard 1990) Singulärvärdesfaktorisering (GOOGLE 2000) De flesta lösningar är approximationer: Räkna ut men hur? 1. Räknare (men hur gör den?) 2. Matematik: 06-01-08 2D1240 vt 06 JOp 5 06-01-08 2D1240 vt 06 JOp 6 Linjarisering och Iteration: Newtons metod 1 1.5 1.417 1.414216 1.4142136 (Puh ) Mmm! 06-01-08 2D1240 vt 06 JOp 7 06-01-08 2D1240 vt 06 JOp 8 2
Att dividera utan hårdvara: t ex Cray-datorer 1976 ff Grundkurs i numeriska metoder 1. Varför numeriska metoder? Vad kan beräknas? Fokusera på lösning av differentialekvationer. 2. Basalt: Approximation, iteration, linjarisering, algoritm 1.5 1.3125 1.3330078 1.3333332 a = 3/4 3. Divide et impera: nedbrytning till välkända elementar-problem (som i alla böcker). Kunna identifiera. 4. Grundlägggande algoritmer; noggrannhetsbedömning 5. MATLAB - färdighet 06-01-08 2D1240 vt 06 JOp 9 06-01-08 2D1240 vt 06 JOp 10 Lära sig Identifiera och formulera problem som kan lösas med numerik; ekvationer Förstå det problem man ska lösa Hur många lösningar? Parameterberoende? Specialfall enkla/svåra? Förstå kapacitet hos och kunna använda moderna verktyg Elementär MATLAB(motsv.)-programmering Numeriskt språkbruk så man förstår manualen Kontrollera att (modellen fysiken ) ekvationerna?(dimensioner, enkla fall, ) programmet! (avlusning) svaret! (parametervariation, felanalys) är rätt Innehåll: Egenskaper hos algoritmer för... Linjära ekvationssystem Ax = b En icke-linjär ekvation f(x) = 0 Begynnelsevärdesproblem dy/dx=f(x,y), y(a)=c Randvärdesproblem Icke-linjära ekvationssystem F(x)=0 Minsta-kvadrat-anpassning Kvadratur Interpolation Kurvor Noggrannhetsbedömning 06-01-08 2D1240 vt 06 JOp 11 06-01-08 2D1240 vt 06 JOp 12 3
Differentialekvationer Flygsimulator, * 1979 - : (2,670,000 Google-hits) Euler-Lagrange-mekanik (Claes Johnson & al, CTU, Body and Soul-projektet) Leonhard Euler * 1707 Bale, CH. - + 1783, St.Petersburg, RU. Berlin 1741-66 1748 Introductio in Analysin Infinitorum, dy/dx= f(x,y), y(a)= c: x 0 =a; y 0 =c; for n = 0,1,..., y n+1 = y n + h. f(x n,y n ); x n+1 = x n + h. 1; end Relativistisk Flygsimulator --? 06-01-08 2D1240 vt 06 JOp 13 06-01-08 2D1240 vt 06 JOp 14 Dynamiskt system: massa-fjäder-dämpare K F(t) m D x Simulering - numerisk lösning av begynnelsevärdesproblem 06-01-08 2D1240 vt 06 JOp 15 Verktyg: MATLAB Helt dominerande program för ingenjörsberäkningar, numerisk analys, visualisering, 1974 Matrix Laboratory C.Moler => Nu: MathWorks > 1000 pers. % fjäder & dämpare; sätt sluttid tend = 100; % lös initialvärdesproblemet (inbyggd lösare) [tout,yout]=ode45(@sprg,linspace(0,tend,1000),[0 0]'); % rita kurvor figure(1); clf plot(tout,yout(:,1),'k','linewidth',2); % definiera ekvationerna function dydt = sprg(t,y) KAPPA=1.0001; DAMP = 0.1; dydt = [y(2);sin(kappa*t)-damp*y(2)-y(1)]; 06-01-08 2D1240 vt 06 JOp 16 4
Differentialekvationer (PP Ch 6) Standardform, begynnelsevärdesproblem (p. 201) Finn y(x) för x nära a (x>a, x<a) då dy/dx = f(x,y), y(a) = c Sats Lösningen entydig om f L-kontinuerlig *) sfa. y *) Det finns ett L så att f(x,y1) f(x,y2) < L y1 y2 för x nära a och y1, y2 nära c. L = max df/dy För system: u vektor (u1, u2, ) du/dx = f(x,u), u(a) = c y c y0 y2 y1 y3 a Eulers metod x 06-01-08 2D1240 vt 06 JOp 17 06-01-08 2D1240 vt 06 JOp 18 Lösningar: Differentialekvationer (PP Ch 6) Differentialekvationer (PP Ch 6) Nu Lokalt och globalt fel Noggrannhetsordning Explicit, enstegs; Runge-Kutta-metoder Steglängdsreglering Senare: Stabilitet, styva problem, implicita metoder Testekvation Stabilitetsområde 06-01-08 2D1240 vt 06 JOp 19 06-01-08 2D1240 vt 06 JOp 20 5
Linjära ekvationssystem (PP Kap Matris-formulering: Ax = b, x,b i R n, A nxn Gauss-elimination (se kurs i alg & geo) Ax=b x1 x2 x3 b x1 x2 x3 b x1 x2 x3 b 0 y y y 0 y y y 0 y y y 0 0 z z GE: n 3 /3 + O(n 2 ) mult. Över-triangulär matris Bakåt: n 2 /2 Bakåt-substitution Pivotering: Radbyte, om pivotelementet är noll / litet. Sats: 1,2 och 3 är ekvivalenta: 1. Gauss-elimination med pivotering kan genomföras, och diagonalelementen i U blir skilda från noll 2. Matrisen är icke-singulär. 3. Systemet har en unik lösning för alla b. Ux=c 06-01-08 2D1240 vt 06 JOp 21 Störningskänslighet PP p 110ff Vad händer när högerledet ändras 1%o? Om Ax b = 0 är lösningen korrekt: är den bra om Ax-b är liten? Konditionstal: 06-01-08 2D1240 vt 06 JOp 22 6