Uppsala universitet Institutionen för informationsteknologi Beräkningsvetenskap Stefan Engblom, tel. 471 27 54, Per Lötstedt, tel. 471 29 72 Tentamen i Beräkningsvetenskap II, 5.0 hp, 2016-03-16 Skrivtid: 14 00 17 00 (OBS! Tre timmars skrivtid!) Hjälpmedel: Bifogat formelblad, miniräknare. Det är också tillåtet att använda Mathematics Handbook eller Physics Handbook. För fullt uppfyllda mål och kriterier på uppgifterna krävs fullständiga räkningar och utförliga resonemang samt motivering till alla svar. Skriv svaren på varje fråga på separata papper. Kursmål (förkortade), hur de täcks i uppgifterna och betyg på varje mål och uppgift. Fråga nr Nyckelbegrepp Algoritmer Analys Argumentation Betyg 1a X G/U 1b X X G/U 2a X G/U 2b X G/U 3a X G/U 3b X G/U 4a X G/U 4b X G/U 5 X X X {U,4,5} 6 X X X {U,4,5} Betygskriterier: 3 1st G på samtliga kursmål {Nyckelbegrepp, Algoritmer, Analys, Argumentation} (A-delen). 4 Som betyg 3 och 5st G totalt (A-delen), samt betyg 4 på någon av uppgifterna i B-delen. 5 Som betyg 3 och 6st G totalt (A-delen), samt betyg 5 på någon av uppgifterna i B-delen. 1
Del A 1. (a) Beräkna lösningen u vid t = 0.3 till differentialekvationen u = 1 3 t + 12tu t 0, u(0) = 3, med Euler framåt och tidssteget h = 0.1. (b) Vid tiden t = 0.4 blir lösningen med olika tidssteg h h 0.1 0.05 0.025 u(0.4) 7.7286 7.8422 7.8706 Vilken metod har använts - Euler framåt eller Heuns metod? Motivera. 2. (a) Låt f vara en täthetsfunktion så att: { 1 1 f(x) = x : 0 x 2 2 0 : för övrigt Beräkna den kumulativa fördelningsfunktionen F (t) = t f(x)dx. (b) I MATLAB kan man anropa funktionen rand och generera ett slumptal u ur en likformig fördelning på intervallet [0, 1]. Lös ekvationen F (t) = u och beskriv hur man kan generera ett slumptal t med fördelningen f med inverse transform sampling. 3. I en Monte Carlo metod används för varje slumpat utfall en numerisk ODE-lösare med andra ordningens noggrannhet på ett fixt intervall [0, T ]. Man samplar alltså N numeriska lösningar, var och en med numerisk steglängd h. Det totala felet består då av ett Monte Carlo fel e MC plus ett oberoende fel från ODE-lösaren e ODE. (a) För att kunna välja mellan olika metoder är det viktigt att kunna uppskatta beräkningskostnaden. Hur många gånger dyrare är det att använda parametrarna (h/4, 4N) än (h, N)? (b) Antag att man för ett visst val av parametrar (h, N) uppskattat det totala felet till ρ och vidare uppskattat att e ODE = 9 e MC. Man vill nu välja nya parametrar så att det nya felet blir ρ/10 och dessutom så att e ODE = e MC. Bestäm de nya parametrarna. 2
4. En ODE för tre variabler y 1, y 2, och y 3 ska lösas i intervallet [1, 100]. ODEn är y = Ay + b, y(1) = y 0, där A = A 11 A 12 A 13 A 21 A 22 A 23 A 31 A 32 A 33, b = b 1 b 2 b 3, y = y 1 y 2 y 3. A 22 är mycket större än de andra elementen i matrisen, b 3 är mycket större än de andra elementen i vektorn b och y 1 (1) är mycket mindre än de andra elementen i y. (a) Vad har ODE systemet för egenskap och varför är det så? Karakterisera lösningen till systemet. (b) En explicit metod används för den numeriska lösningen. Hur kommer den att uppföra sig? Om en implicit metod används hur kommer den förmodligen att uppföra sig? 5. Givet är data i följande tabell: t 0 1.00 2.00 3.00 4.00 5.00 s 0 1.64 7.44 16.60 30.07 45.90 (a) För betyg 4: Anpassa ett andragradspolynom p enligt s = p(t) till dessa data. Ange de ekvationer som ska lösas (men dessa måste inte lösas!). Man undviker oftast att lösa normalekvationerna direkt. Varför inte då och hur gör man istället? (b) För betyg 5: Dr. B. Ulrik upptäcker till sin fasa att ett konsekvent mätfel smugit sig in! De data som anges i tabellen är inte s i, i = 1... 6, utan s i ɛ exp( t i ), där t i är tiden. Anpassa ett andragradspolynom p som i (a) men bestäm också ɛ samtidigt. Ange de ekvationer som ska lösas (men dessa måste inte lösas!). För ett överbestämt system Ax = b löser man sällan normalekvationerna direkt. Varför inte då? Antag att man har en faktorisering A = QR, där Q är ortonormal, Q T Q = I, och R är triangulär. Ange hur MK-lösningen då kan tas fram. 6. Följande ODE ska lösas numeriskt för t 0: y 1 = y 1 + 2y 2 1 y 2 = y 1 3y 2 + 1 Begynnelsevärdena är y 1 (0) = 1, y 2 (0) = 2. 3
(a) För betyg 4: Systemet löses med Heuns metod. i. Visa med hjälp av Taylorutveckling att Heuns metod är av andra ordningen. ii. Beräkna stabilitetsområdet för Heuns metod. iii. Med tidssteget h = 0.65 blir lösningen enligt tabellen nedan. t 0 0.6500 1.3000 1.9500 2.6000 3.2500 y 1 /1000 0.0010-0.0006-0.0028-0.0063-0.0129-0.0260 y 2 /1000 0.0020 0.0027 0.0046 0.0087 0.0173 0.0349 Är denna lösning rimlig? Förklara varför lösningen beter sig så här. Hur kan lösningen förbättras? (b) För betyg 5: Systemet löses med trapetsmetoden. i. Visa med hjälp av Taylorutveckling att trapetsmetoden är av andra ordningen. ii. Beräkna stabilitetsområdet för trapetsmetoden. iii. Med tre olika tidssteg h = 0.1, 0.2, 0.4, blir lösningen enligt tabellen nedan. Är dessa lösningar rimliga? t y 2, h = 0.1 y 2, h = 0.2 y 2, h = 0.4 0 2.0000 2.0000 2.0000 0.1000 1.6590 0.2000 1.4177 1.4043 0.3000 1.2449 0.4000 1.1192 1.1067 1.0435 0.5000 1.0260 0.6000 0.9552 0.9466 0.7000 0.9001 0.8000 0.8558 0.8504 0.8280 iv. Visa med hjälp av tabellen att ordningen för trapetsmetoden är 2. 4
Uppsala universitet Institutionen för informationsteknologi Avd. för beräkningsvetenskap Blandade formler i Beräkningsvetenskap I och II 1. Flyttal och avrundningsfel Ett flyttal f l(x) representeras enligt fl(x) = ˆm β e, ˆm = ±(d 0.d 1 d 2,..., d p 1 ), 0 d i < β, d 0 0, L e U, där β betecknar bas och p precision. Ett flyttalssystem defineras F P (β, p, L, U). Maskinepsilon (avrundningsenheten) ɛ M = 1 2 β1 p och kan defineras som det minsta tal ɛ sådant att fl(1 + ɛ) > 1. 2. Linjära och ickelinjära ekvationer Newton-Raphsons metod: x k+1 = x k f(x k) f (x k ) För system: x k+1 = x k [F ] 1 F (x k ), där x k och F (x k ) är vektorer och F är Jacobianen. Fixpunktsiteration för x = g(x): x k+1 = g(x k ) Konvergenskvot, konvergenshastighet x k+1 x lim = C, k x k x r där C är en konstant, och r anger konvergenshastigheten (r = 1 betyder t ex linjär konvergens). Allmän feluppskattning x k x f(x k) min f (x) Konditionstalet cond(a) = A A 1 mäter känsligheten för störningar hos ekvationssystemet Ax = b. Det gäller att x x cond(a) b b, där x = x ˆx och b = b ˆb. Normer (vektor- respektive matrisnorm) x 2 = x 1 2 +... + x n 2 x 1 = i x i x = max i { x i } A 1 = max j ( i a ij ) A = max i ( j a ij )
3. Approximation Newtons interpolationspolynom p(x) då vi har n punkter (x 1, y 1 ),... (x n, y n ) bygger på ansatsen p(x) = a 0 + a 1 (x x 1 ) + a 2 (x x 1 )(x x 2 ) +... + a n 1 (x x 1 ) (x x n 1 ) Minstakvadratapproximationen till punktmängden (x 1, y 1 ), (x 2, y 2 ),... (x m, y m ) med ett n:egradspolynom p(x) = a 0 1+a 1 x+...+a n x n kan formuleras som ett överbestämt ekvationssystem Ax = b, där A är m n, m > n. Minstakvadratlösningen kan fås ur normalekvationerna A T Ax = A T b 4. Ordinära differentialekvationer Eulers metod (explicit Euler): y k+1 = y k + hf(x k, y k ), n.o. 1 Implicit Euler (Euler bakåt): y k+1 = y k + hf(x k+1, y k+1 ), n.o. 1 Trapetsmetoden: y k+1 = y k + h 2 (f(x k, y k ) + f(x k+1, y k+1 )), n.o. = 2 Heuns metod (tillhör gruppen Runge-Kuttametoder): K 1 = f(x k, y k ) K 2 = f(x k+1, y k + hk 1 ) y k+1 = y k + h 2 (K 1 + K 2 ) n.o. = 2 Klassisk Runge-Kutta: K 1 = f(x k, y k ) K 2 = f(x k + h, y 2 k + hk 2 1) K 3 = f(x k + h, y 2 k + hk 2 2) K 4 = f(x k+1, y k + hk 3 ) y k+1 = y k + h(k 6 1 + 2K 2 + 2K 3 + K 4 ) n.o. = 4 5. Numerisk integration Trapetsformeln Beräkning på ett delintervall med steglängd h k = x k+1 x k xk+1 x k f(x) dx = h k 2 [f(x k) + f(x k+1 )]
Sammansatt formel på helt intervall [a b], då ekvidistant steglängd h = h k : b a f(x) dx h 2 [f(x 0) + 2f(x 1 ) +... + 2f(x N 1 ) + f(x N )] Diskretiseringsfelet R på helt intervall [a b], dvs b f(x) dx = T (h) + R är a R = (b a) h 2 f (ξ). 12 Funktionsfelet (övre gräns): (b a) ɛ, där ɛ är en övre gräns för absoluta felet i varje funktionsberäkning. Simpsons formel Beräkning på ett dubbelintervall med steglängd h xk+2 x k f(x) dx = h 3 [f(x k) + 4f(x k+1 ) + f(x k+2 )] Sammansatt formel på helt intervall [a b], då ekvidistant steglängd h = h k : b a f(x) dx h 3 [f(x 0) + 4f(x 1 ) + 2f(x 2 ) + 4f(x 3 ) +... + 2f(x N 2 ) + 4f(x N 1 ) + f(x N )] Diskretiseringsfelet R på helt intervall [a b], dvs b f(x) dx = S(h) + R är a (b a) R = 180 h4 f (ξ). Funktionsfelet: Samma som för trapetsformeln, se ovan. 6. Richardsonextrapolation Om F 1 (h) och F 1 (2h) är två beräkningar (t ex ett steg i en beräkning av en integral eller en ODE) med en metod av noggrannhetsordning p med steglängd h respektive dubbel steglängd 2h så är R(h) = F 1(h) F 1 (2h) 2 p 1 en uppskattning av den ledande termen i trunkeringsfelet i F 1 (h). Kan även användas för att förbättra noggrannheten i F 1 (h) genom F (h) = F 1 (h) + F 1(h) F 1 (2h). 2 p 1
7. Numerisk derivering För numerisk derivering används s k differensformler f (x) f(x+h) f(x h) 2h f (x) f(x+h) f(x) h f (x) f(x) f(x h) h f (x) f(x+h) 2f(x)+f(x h) h 2 8. Monte Carlometoder, centraldifferens, framåtdifferens, bakåtdifferens Den övergripande strukturen för Monte Carlosimuleringar är Indata N (antal försök) for i = 1:N Utför en stokastisk simulering resultat(i) = resultatet av simuleringen end slutresultat genom någon statistisk beräkning, t ex medelvärdet mean(resultat) Noggrannhetsordning för Monte carlometoder är O( 1 N ), där N är antal samplingar. Kumultativ fördelningsfunktion: F (x) = x f X(y)dy Normalfördelning f X (x) = 1 σ (x µ) 2 2π e 2σ 2. Aritmetiskt medelvärde baserat på N realisationer x i av slumpvariablen X: µ = 1 N N i=1 x i. 9. Taylorutveckling Taylorutveckling av y(x k + h) kring x k : y(x k + h) = y(x k ) + hy (x k ) + h2 2! y (x k ) + h3 3! y (x k ) + O(h 4 )