Institutionen för informationsteknologi INSTRUKTIONER Kontrollera att du fått rätt tentamensuppgifter! Detta blad skall alltid inlämnas ifyllt även om ingen uppgift behandlats. Varje uppgiftslösning skall påbörjas på ett nytt blad. Skriv tentamenskod på varje blad. Skriv inte på baksidan av bladen och använd inte penna med röd färg. Lägg lösningarna i uppgiftsordning, med uppgift 1 först, innan du lämnar in dem. FÖRSÄTTSBLAD TILL TENTAMEN Kursens namn (inkl. grupp) Din tentamenskod Termin och år då du först registrerades på kursen 1 Klockslag för inlämning DATUM: Utbildningsprogram (eller liknande) Bordsnummer Betyg på tentamen 1 Tentamen rättas INTE ifall det saknas registrering på kursen. 2 Slutresultatet (poäng inklusive bonuspoäng och betyg) kommer att visas i studentportalen efter att resultatet har rapporterats till Uppdok.
Uppsala universitet Institutionen för informationsteknologi Beräkningsvetenskap Stefan Engblom, tel. 471 27 54 Tentamen i Beräkningsvetenskap II, 5.0 hp, 2018-05-30 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 möjliga betyg. Fråga nr Nyckelbegrepp Algoritmer Analys Argumentation Betyg 1a X G/U 1b X G/U 1c X G/U 2a X G/U 2b X G/U 2c X G/U 3a X G/U 3b X G/U 3c X G/U 3d X G/U 4a X G/U 4b X G/U 5 {U,4,5} 6 {U,4,5} Betygskriterier: 3 1st G på samtliga kursmål {Nyckelbegrepp, Algoritmer, Analys, Argumentation} (A-delen). 4 Som betyg 3 och 6st G totalt (A-delen), samt betyg 4 på någon av uppgifterna i B-delen. 5 Som betyg 3 och 8st G totalt (A-delen), samt betyg 5 på någon av uppgifterna i B-delen. 2
Del A 1. (a) Explain the differences between stiff and non-stiff differential equations. (b) You have the following ODE: y (t) = 1 y(t) y(0) = 0. (1) Please solve (1) using the Euler Backward method until t = 0.3, with time step h = 0.1. (c) Is the Euler Backward method any better than the Euler forward method with respect to the local truncation error and the global error? Explain. 2. (a) A PhD student has come up with a new numerical method for ODEs. The right hand side of the differential equation is denoted as f(t, y) and its initial condition by y(0) = y 0. Given a history of steps y 0,..., y n the next step y n+1 is computed using K1 = hf(t n, y n ) (2) K2 = hf(t n + 1 3 h, y n + 1 K1) (3) 3 y n+1 = y n + 2 3 K1 + 1 K2 (4) 3 where h is the step size. We need your help to figure out if this new algorithm is any good. Please answer the following questions: (a) Is the proposed solver explicit or implicit? Explain. (b) Given the initial condition y 0 = 1, the step size h = 3 and the differential 5 equation f(t, y) = g(y) = λy, (5) where λ R, perform the first step of the method; that is compute y 1. (Hint: You can re-use this in part (c) if you first solve this problem for an arbitrary y n+1.) (c) For which values of λ is the method stable when using the step length h = 3 5? 3. In a Monte Carlo method, an ODE solver is used for each random outcome with second order accuracy at a fixed interval [a, b]. During the calculation, it samples N numerical solutions, each with numerical step length h. 3
(a) Explain the difference between a deterministic and a stochastic method. (b) In order to choose between different methods it is important to be able to evaluate the cost. Argue that it is generally more expensive computationally to improve on the Monte Carlo error than to make the error from the ODE solver smaller. (c) In an engineering task, you are required to formulate a Monte Carlo method to calculate the integral of a complicated function. Write a Matlab function to calculate the value of b a x 3 sin(x) cos(x 2 )dx (6) using the Monte Carlo method. Input to the function is a, b and N, the number of sample points in the interval of integration. (d) The value of the integral calculated with N = 3, 000 Monte Carlo random numbers is 56.01269. A careful calculation of the integral gives 56.01034. If we want the relative error to be 10 4 in the Monte Carlo calculation, how many random numbers do we need in total? 4. In an experiment, the data listed in Table 1 are observed for x and y. The trend of the data suggests an exponential curve y = ax b to be a good option to fit them. Table 1: Observed data for problem 4. x 20 000 70 000 100 000 y 0.0061 0.0043 0.0041 (a) Use the least squares method to estimate parameters a and b in y = ax b. (b) In the least squares problems, we need to solve systems of the form A T Az = A T F. An issue would be that the condition number of the matrix A T A is large. Discuss some methods for reducing this problem. 4
Del B 5. I figuren nedan presenteras några av de vanligaste metodernas stabilitetsområden. Följande information är här användbar. Antag att M är en 2 2 matris som kan skrivas, [ ] 0 1 M =. Egenvärdena till matrisen M ges av: λ d c 1, 2 = c 2 ± c 2 d. 2 Ett begynnelsevärdesproblem vars amplitud inte tillväxer (då den drivande funktionen g(t) sätts till noll) kallas för ett stabilt begynnelsevärdesproblem. Vi utgår från följande begynnelsevärdesproblem, y + a y + b y = g(t), t 0, y = 1, y = 0, t = 0, (7) där g(t) är en känd funktion, a ett reellt tal och b ett komplext tal. a) Ange eventuella villkor för att (7) ska betraktas som ett stabilt begynnelsevärdesproblem (stabil ODE). Ledning: Använd dig av den inledande informationen på föregånde sida. 5
b) Låt a = 5, b = 2. Välj ut en lämplig explicit metod att lösa (7) (här räcker det med att tala om och motivera valet och ange metodens noggrannhets ordning (NO), ingen algoritm erfordras) och bestäm det största möjliga tidssteget för numerisk stabilitet (i detta specifika fall). Ledning: Använd dig av den inledande informationen på föregånde sida. c) Låt a = 1 och b = 20000. Vilken klass av begynnelsevärdesproblem (ODE) motsvarar (7) för detta parameterval och vilken klass av numeriska metoder för ODE används (eller förespråkas) vanligen för denna klass av ODE. Approximera (7) (inga beräkningar krävs här) med en metod som har noggrannhets ordning 1 (n.o. 1), som är stabil för tidssteg h > 0.01 (i detta specifika fall). Motivera om det är noggrannhetskrav eller stabilitetskrav som begränsar valet av tidssteg för det givna problemet och den valda metoden. e) Någon har implementerat deluppgift b) i Matlab, men är osäker på vilken noggrannhets ordning (NO) som metoden har. Någon kör Matlab-koden fram till tiden t = 10, för fyra olika tidssteg (h = 0.0001, h = 0.001, h = 0.01 och h = 0.02). Resultatet visas i nedanstående tabell, h 0.0001 0.001 0.01 0.02 y(10) 0.017384 0.017386 0.017610 0.018343. Uppskatta (verifiera) den numeriska metodens noggrannhet (noggrannhets ordning), med hjälp av tabellen. (Man kan här inte förvänta sig ett exakt heltal, men det bör bli korrekt då du avrundar till närmsta heltal). Motivera ditt tillvägagångssätt och redovisa tydligt dina beräkningar och resultat på inlämnad lösning. Ange namnet på metoden som använts i Matlab-koden. För betyg 5 krävs rätt på minst 3 av deluppgifterna (av totalt 4). För betyg 4 krävs rätt på 2 av deluppgifterna (av totalt 4). 6. Dr. B. Ulrik är forskare och handhar en apparat som producerar data (x i, F i ), se tabellen nedan. x 0.8147 1.7205 1.8475 2.7609 3.3932 F 0.4787 0.7479 0.7723 0.8901 0.9340 Tolkningen är här att F i = F X (x i ) är en kumulativ fördelningsfunktion för en stokastisk variabel X, exponentialfördelad med (okänd) parameter λ, X Exp(λ). 6
För betyg 4: Hur bestämmer du λ i minsta kvadratmening givet dessa data? Vad får du för värde? För betyg 5: Antag istället att F i = F X (x i ) (1 + ε) för något konsekvent relativt mätfel ε. Hur bestämmer du λ och ε i minsta kvadratmening givet dessa data? Vad får du för värden? 7
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 )