Kort sammanfattning av Beräkningsvetenskap I Erik Lindblad H4 Varning!!! Detta är inte en komplett genomgång av materialet i kursen Beräkningsvetenskap I. Genom att lära sig materialet nedan har man skaffat sig en mycket bra grund att bygga vidare från, men detta garanterar inte ett bra resultat på tentan. entan kan handla om områden som tas upp i kursplanen men som inte tas upp nedan. Vidare är det inte kompletta genomgångar av materialet utan är endast avsett som en checklista för att underlätta instuderingen av kursen. Varning!!! Linjära ekvationssystem Ett linjärt ekvationssystem med m ekvationer i n okända variabler skrivs a x + a x +... + a x = b n n a x + a x +... + a x = b... n n a x + a x +... + a x = b m m mn n m Detta kan skrivas i matrisform Ax = b där A är en m nmatris med koefficienterna för de okända variablerna, (,,..., (,,..., b b b b m x = x x x n innehåller de sökta okända variablerna och = innehåller ekvationernas högerled. (. LU-faktorisering: Att lösa ekvationssystemet med A.s invers eller med Gausseliminering är kostsamt. En snabbare metod är LU-faktorisering där A faktoriseras i en nedertriangular matris L och en övertriangulär matris U. Istället för att lösa den ursprungliga ekvationen löses två triangulära ekvationer vilket i slutändan är snabbare. Vidare kan man återanvända LU-faktoriseringen och räkna ut lösningen till flera högerled med liten extra arbetsinsats. LU-faktorisering med partiell pivotering: Ibland måste raderna i A permuteras (dvs. skifta plats under LU-faktoriseringens gång. Även i fall där faktoriseringen är möjlig utan pivotering är det fördelaktigt att utföra pivoteringen eftersom det leder till stabilare problem. Pivoteringen innebär att man letar igenom den kolonn som ska nollställas efter det största elementet. Denna rad används sedan för att nollställa de övriga.
Matrisnormer: För en m n matris A definieras -normen A = max a ij och maxnormen A n = max a. -normen blir den maximala absoluta kolonnsumman och i j= ij max-normen den maximala absoluta radsumman. Konditionstal för matris: Konditionstalet för en matris A beräknas utifrån en given norm: cond ( A = A A, cond ( A = A A. För ett ekvationssystem Ax = b kan konditionstalet för A användas för att uppskatta felet i den beräknade lösningen utifrån felet i ingående data enligt: felet i utdata = felet i indata konditionstalet för A. Singularitet för matriser: En n n matris A är icke-singulär om. A existerar.. det ( A 3. rang ( A = n 4. z Az för z, dvs. A avbildar ingen nollskild vektor på nollvektorn. Fullständig pivotering innebär att man letar igenom hela matrisen efter det största värdet och sedan permuterar både rader och kolonner så att detta element kan användas för att nollställa de övriga raderna. Då matrisinversen ingår i formler som ska lösas i en dator innebär det att man i praktiken löser ett linjärt ekvationssystem eftersom h= C y Ch= CC y = Iy = y. j m i=. Lös Ax = b med hjälp av LU-faktorisering. 3 A=, b= 5. 7. Lös Ax = b med hjälp av LU-faktorisering och partiell pivotering. 3 A= 4 4, b= 6 4 6 4 3. Ange -norm, max-norm, -konditionstal och max-konditionstal för matrisen 3 4 5 6 7 8 A = 9 3 4 5 6
Felanalys och flyttalssystem En dator representerar tal med ändlig precision vilket gör att alla inmatningar, utmatningar och operationer kommer att innehålla avrundningsfel. Detta måste man ta hänsyn till då man räknar med en dator. Om x är det exakta värdet och ˆx är den beräknade, approximativa lösningen ges x xˆ absoluta felet av x xˆ och det relativa felet av. x Relativt fel i utdata Ett problems konditionstal ges av cond =. Ett sort konditionstal Relativt fel i indata anger att lösningen är känslig för störningar i indata. Konditionstalet beror på problemet i sig och är oberoende av algoritmval. runkeringsfel är skillnaden mellan korrekta resultatet och resultatet av en algoritm som räknar med exakt aritmetik. Exempel på saker som ger upphov till trunkeringsfel är:. Oändliga summor ersätts med ändliga summor.. Derivator ersätts med finita differenser. 3. Iterativa processer avbryts vid ett givet gränsvärde istället för vid verklig konvergens. Avrundningsfel är skillnaden mellan resultatet beräknat med en algoritm som använder exakt aritmetik och en som använder ändlig aritmetik, tex. flyttalsaritmetik. Om resultatet av en räkneoperation är för litet eller för stort för att kunna representeras i det använda flyttalssystemet sker underflow respektive overflow. Ett flyttalssystem karaktäriseras av de fyra parametrarna ( β, p, LU, där β är basen, p är precisionen och L och U anger minsta respektive största värde på exponenten. e Varje tal som kan representeras i systemet ges då av d. ddddd β där varje d är en siffra mellan och β och L e U. Minsta kvadrat-lösning (MK-lösning Då man har ett överbestämt ekvationssystem, dvs. fler ekvationer än okända är det inte säkert att det finns en lösning som exakt löser samtliga ekvationer samtidigt. Då kan man istället beräkna en minsta kvadrat-lösning som löser ekvationerna i genomsnitt så bra som möjligt, dvs. man försöker att minimera skillnaden mellan MK-lösningen och den önskade exakta lösningen. Kunna sätta upp ett överbestämt ekvationssystem utifrån ett givet problem, tex. en serie mätdata som ska approximeras med ett polynom av grad n. Kunna lösa ett överbestämt ekvationssystem Ax = b m.h.a. normalekvationerna AAx= Ab. MK-lösningar används bl a till att jämna ut mätfel vid experiment och att hitta trender i mätdata.
. Approximera följande mätvärden i minsta kvadrat-mening med ett polynom av grad. t 5 Y.6.85.5 Interpolation Interpolation innebär att ta fram en kurva som går igenom samtliga punkter i en datamängd t, y. Detta kan göras med ett antal olika metoder. ( Interpolation kan användas vid exempelvis: - Plotta jämna kurvor genom givna mätdata. - Fylla i saknad data i en tabell - Derivera eller integrera tabelldata - Ersätta en komplicerad funktion med en enklare Interpolation av n st punkter kan göras med ett polynom av grad n. För att beräkna koefficienterna i detta polynom görs en ansats p n = ah där hi är den i:te basvektorn n i i i= i den bas man valt att använda. Baser som vi räknat med är: Basnamn Formel 4 första basvektorerna Monomialbasen j 3 φ ( t = t t t t Newtonbasen π j j ( t = ( t t i= k ( ( ( ( ( ( t t t t t t t t t t t t 3 De explicita formlerna för ansatserna av ett polynom av grad n- med monomialrespektive Newtonbas är: 3 n p = n a + ax + a3x + a4 x +... + anx ( ( ( ( ( (... ( p = a + a t t + a t t t t + a t t t t t t + + a t t n 3 4 3 n k k = Om antalet punkter som ska interpoleras är stort är det inte lämpligt att använda ett enda polynom för att interpolera punkterna. En metod som är bättre är att ha olika polynom mellan varje punktpar. Ett exempel på detta är styckevis linjär interpolation där en rät linje läggs mellan punkterna. Nackdelen med denna metod är att man får skarpa hörn i varje mätpunkt. En bättre metod är cubic splines där man har ett tredjegradspolynom på varje intervall. Första- och andraderivatorna matchas i mätpunkterna så man får en slät och fin kurva. Fördelen med Newtonbasen är att den ger ett nedertriangulärt ekvationssystem vilket går mycket snabbare att lösa än ett almänt. Basvektorerna i Newtonbasen beror på mätvärdena t,..., t n, medan monomialbasvektorerna ser lika ut oberoende av problemet. Om man har ett högt gradtal är monomialbasen dålig eftersom basvektorerna blir mer och mer lika, tex t 5 och t 6. n
Det finns många andra baser som ger olika fördelar och nackdelar. Man väljer bas beroende på karaktären hos problemet som ska lösas. n st punkter interpoleras av exakt ett polynom av grad n-. Om högre gradtal tillåts finns oändligt antal lösningar. Jämför med hur många linjer man kan dra igenom två respektive en punkt.. Interpolera med monomialbas och Newtonbas mätpunkterna t 3 4 y - Ickelinjära ekvationer Ickelinjära ekvationer är ekvationer där det ingår exempelvis trigonometriska funktioner, produkter och potenser av de okända variablerna: sin ( x = 3 x = 4 3 6 5x + 7sin( x = 8 5 xxlog ( tan ( sin ( x = cos ( x Dessa ekvationer kan i allmänhet inte lösas i ett ändligt antal steg, som för linjära ekvationer. Istället använder man iterativa metoder, där man börjar vid en startgissning och förbättrar lösningen gradvis, steg för steg. Generellt formuleras ett ickelinjärt ekvationssystem som lösningen av en objektsfunktion ( f x =, Kunna skriva om ett givet system av ekvationer till en form lämplig för lösning med exempelvis Newtons metod. Bisektionsmetoden: Denna metod börjar med ett intervall där f ( x har olika tecken. Sedan testas funktionens tecken mitt i intervallet. Den halva av det ursprungliga intervallet där tecknen är lika tas bort och processen repeteras med den andra halvan som startintervall. På detta sätt halverar man hela tiden intervallet där roten till ekvationen kan ligga. Newtons metod: Kallas också Newton-Raphsons metod. Denna metod utnyttjar F:s derivata för att få en snabbare konvergens. Iterationsschemat skrivs f ( xk x = k x + k. För system skrivs metoden xk+ xk J ( xk f ( xk f ( xk =. Eftersom man inte vill räkna ut inversen av jacobianen J, implementeras detta genom att skriva iterationsschemat x = k x + + k s där k s k ges av ekvationssystemet J( xk sk = f ( xk. En fixpunktsformel skrivs x g( x matar in. Ett problem f ( x = kan ersättas med en fixpunktsiteration där g( x =, dvs. det är en funktion som ger tillbaka det man samma x-värden som ger f ( x =. En fixpunktsfunktion är konvergent om ( x g ˆ <, där ˆx är exakta lösningen. = xför
Bisektionsmetoden är linjärt konvergent, dvs. man erhåller ungefär en korrekt decimal till per iteration. Dess stora fördel är att om man har ett intervall där funktionsvärdet i ändpunkterna har skilda tecken så konvergerar den alltid. Newtons metod är kvadratiskt konvergent, dvs. man erhåller ungefär dubbelt antal korrekta decimaler i lösningen. Newtons metods nackdel är att den känslig för vad man använder som startgissning. Man kan kombinera bisektionsmetodens säkerhet med Newtonmetodens snabbhet för att få en metod som är både snabb och säker. Då x k ligger nära lösningen i Newtons metod kommer skillnaden mellan x k + och x k f ( xk f ( x att vara väldigt liten. Det gör att x = k x k x x f ( xk = + då k, dvs. f ( x f ( x en fixpunktsfunktion med g( x = x f x. (. Formulera Newtons metod for det skalära problemet x = och utför två iterationer med startgissningen x =. x + x =. Formulera Newtons metod för systemet och utför en iteration med xx = startgissningen x = (, 3. Förklara varför man kan få olika rötter beroende på startgissningen för xsin x = ekvationen ( Ordinära differentialekvationer Differentialekvationer är ekvationer som innehåller en funktion y( t samt dess derivator och den fria variabeln t. Ex: y = 4y + sin( y + t y = λ y En ODE sägs vara av ordning k om den högsta derivatan som ingår är k-derivatan. Lösningen till dessa ekvationer är alla funktioner y( t som då den deriveras och sätts in i den givna ekvationen gör att likheten gäller. Alla ODE som har en lösning har oändligt många lösningar varför något slags villkor måste anges för att specificera vilken lösningskurva som avses. Detta kan göras antingen med initialvillkor eller gränsvärdesvillkor. Urval av moment som ingår Att kunna omformulera en högre ordningens ekvation till ett system av första ordningens ODE. En första ordningens ODE med initialvillkor (skalär eller vektorvärd löses med hjälp av metoder som utgår från detta initialvärde, y, och approximerar stegvis fram en lösningskurva.
En ODE där stora förändringar sker under kort tid kallas för styva ekvationer. Dessa kräver små tidssteg vid lösning för att undvika att lösningen exploderar. Implicita metoder, dvs. metoder som utnyttjar information från nästa tidsnivå, är mycket effektiva på styva ekvationer. Exempel på metoder som kan användas för att lösa ODE:er numeriskt är Euler, Heun och klassisk Runge-Kutta. Varje metod har ett stabilitetsvillkor som anger hur tidssteget h kan väljas för att ge en stabil lösning. Noggrannhetsordningen hos en metod anger hur mycket bättre lösningen blir då tidssteget h minskas. Om man räknar fram en lösning med steglängden h och en annan med h ges noggrannhetsordningen r av e log e r = h log h där e är absoluta felet för h och e är absoluta felet för h. Stabilitetsvillkoret för Eulers metod är + hλ där h är tidssteget och λ är största egenvärdet till problemets jacobian. För reella λ är detta ekvivalent med hλ. Eulers metod har noggrannhetsordning, dvs om man halverar steglängden erhålls en = ggr noggrannare lösning. Heuns metod har noggrannhetsordning, dvs om man halverar steglängden erhålls en = 4 ggr noggrannare lösning. Klassisk Runge-Kutta noggrannhetsordning 4, dvs om man halverar steglängden 4 erhålls en = 6ggr noggrannare lösning.. Skriv y = y + tysom ett system av första ordningens ODE. y = t+ y. Beräkna lösningskurvan till från t y = = till t = med Euler, Heun och klassisk Runge-Kutta. Använd steglängderna h = och h =.5. ODE med randvillkor Urval av moment som ingår För dessa problem anges var lösningskurvan ska börja och sluta: u = f ( t, u u( t = α u( tn+ = β där t n + anger sluttidpunkten. Indexet n+ kommer av att vi delar upp sträckan mellan t och med n stycken punkter, kallade interna punkter. Genom att beräkna de approximativa t n +
lösningarna y u( t i där i =,..., nfås lösningskurvan. Detta görs genom att ersätta i derivatorva i ODE:n med finita differenser, tex: yi+ yi u ( ti h yi+ yi + yi u ( ti h Detta ger upphov till ett ekvationsssystem, linjärt eller ickelinjärt, med n okända.. Approximera u ( u ( u = 6t t = med finita differenser, med 3 stycken interna punkter. =. Sätt upp koefficientmatrisen för ODE:n u ( u ( finita differenser. u 4u 5u = t t = då den löses med =
Numerisk integrering b Detta avsnitt behandlar tekniker att beräkna integraler av typen ( ( Urval av moment som ingår I f = f x dx. a+ b Mittpunktsformeln: M ( f = ( b a f b a rapetsregeln: ( f = ( f ( a + f ( b Simpsons regel: ( b a ( 4 a + S f f a f b = f ( b 6 + Gausskvadratur är optimerade på ett visst intervall och ger där optimal noggrannhet för ett givet antal noder. För två noder är Gausskvadraturen G = f + f 3 3 Gauss-kvadraturer är ofta härledda för ett givet intervall. Om den integral man vill lösa har ett annat intervall måste detta skalas så att metoden kan appliceras. Om man b vill lösa I ( g = g( t dtmed en Gauss-kvadratur som är tabulerad för f ( a ( b x+ aβ bα variabelbytet t = β α β b a ( b x+ aβ bα g dx β α β α α. Beräkna ( regel.. Beräkna ( intervallet [,] x och integralen I ( g ersätts med a β x dx görs I f = e dx med mittpunktsformeln, trapetsregeln och Simpsons x I f = e dxmed Gauss-kvadraturen G som är definierad på α