Kort sammanfattning av Beräkningsvetenskap I Erik Lindblad H04 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 11 1 12 2 1n n 1 a x a x... a x b... 21 1 22 2 2 n n 2 a x a x... a x b m1 1 m2 2 mn n m Detta kan skrivas i matrisform Ax b där A är en m n matris med koefficienterna för de okända variablerna,,,..., innehåller de sökta okända variablerna och,,..., x x1 x2 x n innehåller ekvationernas högerled. b b1 b2 b m 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 1-normen A max a 1 å ij och maxnormen A n maxå a. 1-normen blir den maximala absoluta kolonnsumman och i j1 max-normen den maximala absoluta radsumman. ij Konditionstal för matris: Konditionstalet för en matris A beräknas utifrån en given 1 cond A A A cond A A A 1. För ett ekvationssystem Ax b norm:, 1 1 1 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 1 1. A existerar. det A 0 2. Bra att kunna 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 1 1 löser ett linjärt ekvationssystem eftersom h C y Û Ch CC y Iy y. Lös systemet Ax=b med LU-faktorisering Utan radpivotering. 1. LUx=b 2. Ly=b 3. Ux=y Med radpivotering. 1. PAx=Pb 2. LUx=Pb 3. Ly=Pb 4. Ux=y j m i1 1. Lös Ax b med hjälp av LU-faktorisering. 1 2 1 3 A 2 1 1, b 5. 1 0 1 7
2. Lös Ax b med hjälp av LU-faktorisering och partiell pivotering. 1 2 2 3 A 4 4 2, b 6 4 6 4 10 3. Ange 1-norm, max-norm, 1-konditionstal och max-konditionstal för matrisen 1 2 3 4 5 6 7 8 A 9 10 11 12 13 14 15 16 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: 1. Oändliga summor ersätts med ändliga summor. 2. 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., p, L, U där är basen, p är precisionen och L och U anger minsta respektive största värde på exponenten. Varje e tal som kan representeras i systemet ges då av d. ddddd där varje d är en siffra mellan 0 och 1och L e U. Ett flyttalssystem karaktäriseras av de fyra parametrarna 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 A Ax A b. Bra att kunna MK-lösningar används bl a till att jämna ut mätfel vid experiment och att hitta trender i mätdata. 1. Approximera följande mätvärden i minsta kvadrat-mening med ett polynom av grad 2. t 10 15 20 Y 11.60 11.85 12.25 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 1. För att beräkna koefficienterna i detta polynom görs en ansats. De explicita formlerna för ansatserna av ett polynom av grad n-1 med monomialrespektive Newtonbas är: 2 3 n 1 p n 1 a 1 a2x 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 1 1 2 1 3 1 2 4 1 2 3 n k k1 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. Bra att kunna 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 1,..., t n, medan monomialbasvektorerna ser lika ut oberoende av problemet. n1 Õ
Om man har ett högt gradtal är monomialbasen dålig eftersom basvektorerna blir mer och mer lika, tex t 25 och t 26. 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-1. 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. 1. Interpolera med monomialbas och Newtonbas mätpunkterna t 3 4 2 y 1 2-1 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 13 x 2 4 3 6 5x 7sin x 8 1 2 5 x1x2 log tan sin x2 cos x1 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 en ickelinjär ekvation som lösningen av en funktion f x 0, Kunna skriva om en given ekvation till en form lämplig för lösning med exempelvis Newtons metod. 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 f xk derivata för att få en snabbare konvergens. Iterationsschemat skrivs x k 1 x k f x. Bisektionsmetoden: Denna metod börjar med ett intervall där En fixpunktsformel skrivs x g x matar in. Ett problem f x 0 kan ersättas med en fixpunktsiteration där g x x samma x-värden som ger f x 0. En fixpunktsfunktion är konvergent om g x där ˆx är exakta lösningen., dvs. det är en funktion som ger tillbaka det man k för ˆ 1,
Bra att kunna 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 xk 1 och x k att f xk f x vara väldigt liten. Det gör att xk1 xk x x då k, dvs. en f x f x fixpunktsfunktion med g x f x x f x. 2 1. Formulera Newtons metod for det skalära problemet x 2 och utför två iterationer med startgissningen x0 1. 2. Förklara varför man kan få olika rötter beroende på startgissningen för xsin x 1 ekvationen k Numerisk integrering Mer om numerisk integration kommer inom kort. Vill man lösa integraler kan man göra det med följande metoder som ingår i kursen. 1. Mittpunktsformeln 2. rapetsformeln 3. Simpsons metod Mittpunktsformeln och trapetsmetoden är av andra ordningen, de kommer att räkna ut en integral exakt om integranden är ett förstagradspolynom. Simpsons metod är av fjärde ordningen och beräknar ett tredjegradspolynom exakt. Richardsons extrapolation ingår även i kursen.