Vetenskaplga beräknngar III 58 5.4 Feluppskattnng vd lösnng av ekvatonssystem. V har tdgare påpekat, att pvot -elementen bör vara olka noll, för att man skall kunna tllämpa Gauss elmnerngsmetod. Men det kan också uppstå problem, om något av pvot-elementen är mycket ltet. V skall se på följande exempel: 10 7 0 x 1 3 2.099 6 x 2 = 5 1 5 x 3 7 3.901 6. Den exakta lösnngen tll detta ekvatonssystem är (0, 1, 1) T, men om v gör beräknngarna på en (hypotetsk) maskn som räknar med fem sffrors noggrannhet (avkortnng) enlgt Gauss metod blr resultatet ( 0.35, 1.50, 0.99993) T! Orsaken tll detta dålga resultat är att ett av pvot-elementen var alltför ltet, och detta resulterade att de återstående ekvatonerna blev multplcerade med en stor faktor. Man kan vsa, att Gauss elmnerngsprocess är stabl, fall alla faktorerna tll stt absoluta värde är mndre eller lka med 1. Genom att använda den partella pvoterngsmetoden kan man se tll att detta vllkor alltd är uppfyllt. Metoden nnebär, som v redan sett, att man vd det k:te steget elmnerngsproceduren väljer det största elementet den oreducerade delen av matrsens k:te kolonn som pvotelement. Raden, som nnehåller detta element, bytes därpå ut mot den k:te raden, så att pvot-elementet kommer postonen (k, k). Samma procedur tllämpas även på kolumnvektorn b. På grund av att A-matrsens kolonner nte permuteras, ändras nte heller ordnngsföljden för de obekanta. Om matrsen är nästan sngulär (determnanten mycket lten), så kan de beräknade värdena av de obekanta ha stora fel, fastän restvektorn (avvkelserna) är små. En karaktärstsk egenskap för Gauss elmnerngsmetod med partell pvoterng är just de små avvkelserna. För att få en bättre uppfattnng om felet av vektorstorheter, skall v nföra begreppet vektornorm, analog med funktonsnormerna, som v tdgare studerat. Allmänt brukar man defnera (l p )-normen av en vektor x ett n-dmensonellt vektorrum som x p = ( x 1 p + x 2 p +... + x n p ) 1/p, 1 p <. Om p = 2, har v specellt en eukldsk norm, och om p får v maxmumnormen: x = max 1 n x. En vektornorm uppfyller följande vllkor (analoga med vllkoren för avstånd mellan punkter rummet): x >0 om x 0; x = 0 mplkerar x = 0.
Vetenskaplga beräknngar III 59 αx = α x (om α är en (komplex) skalar). x + y x + y trangelolkheten. Också för matrser kan man defnera en norm med motsvarande egenskaper: A >0 om A 0; A = 0 mplkerar A = 0. αa = α A (om α är en (komplex) skalar). A + B A + B ; AB A B. En matrsnorm och en vektornorm sägs vara konsstenta fall Ax A x gäller för alla A och x. Mot varje vektornorm svarar en konsstent matrsnorm. Man kan tex defnera en matrsnorm utgående från en vektornorm på följande sätt: A = max x 0 Ax x = max x =1 Ax som också kan uttryckas n A = max a j, 1 n j=1 (den naturlga normen), eftersom den är relaterad tll x. Dessa normer är enkla att handskas med, emedan A = A, om A = ( a j ). En annan matrsnorm är spektralnormen, som är baserad på l 2 normen: A 2 = (max. egenvärde ava A) 1/2 Ax 2 = max. x 2 0 x 2 Motsvargheten tll l 2 -normen av en vektor är den eukldska normen (eller Frobenus-normen) 1/2 A E = a j 2,j, som har den fördelen, att den är lätt att beräkna. Jämför även help norm MAT- LAB. V skall nu tllämpa detta på beräknng av felet vd lösnng av ekvatonssystem. Antag, att A och b är kända ekvatonen Ax = b, och att dessa storheter utsätts för små störnngar. Om b perturberas med en störnngsterm δb, fås då A(x + δx) = b + δb,
Vetenskaplga beräknngar III 60 som ger δx = A 1 δb. Om v tllämpar normens egenskaper, följer härav δx A 1 δb. Genom perturbaton av A fås motsvargt (A + δa)(x + δx) = b, varav sn tur följer Aδx + δa(x + δx) = 0. Således gäller δx = A 1 δa(x + δx), och felvektorns norm kan då uppskattas tll δx A 1 δa x + δx, som kan skrvas om formen δx x + δx cond(a) δa A, där cond(a) = A A 1 betecknar kondtonstalet för matrsen A med avseende på den gvna normen. Se också help cond MATLAB. Kondtonstalet är alltd åtmnstone 1. Den tvåradga matrsen ( 1.2969 ) 0.8648 0.2161 0.1441 t.ex. har kondtonstalet 3.27 10 8 avs. på maxmnormen (determnanten är 10 8 ), vlket vsar att kondtonen är mycket dålg. Ett stort kondtonstal nnebär att matrsen är nästan sngulär. Kondtonstalet är ett bättre mått på matrsens kondton än determnanten. Matlab har en funkton cond, som beräknar kondtonstalet avseende på den eukldska normen. Av olkheterna δx A 1 δb och b = Ax A x följer ytterlgare, att δx x cond(a) δb b. Dessa olkheter vsar, att om cond(a) är stort, så kan relatvt små störnngar A och b åstadkomma stora störnngar x, och problemet är då nte välartat.
Vetenskaplga beräknngar III 61 5.5 Iteratva metoder för glesa ekvatonssystem. Om antalet obekanta är mycket stort, kan det vara omöjlgt att lagra hela matrsen A datorns mnne. Ofta är matrsen dock gles, så att det räcker med att lagra endast de element som skljer sg från 0, vlket kan vara betydlgt lättare. För att lösa dylka glesa ekvatonssystem kan man använda sg av teratva metoder. Sådana ekvatonssystem förekommer ofta fysken. Betrakta systemet Ax = b, och antag, att a 0, kan då skrvas formen = 1, 2,..., n. Ekvatonerna x = j a j x j + b a, = 1, 2,..., n. Enlgt en metod, som härrör sg från Jacob 1, så kan man beräkna en sere approxmatoner (x (1), x (2),...,) tll lösnngsvektorn ur formeln x (k+1) = j a j x (k) j + b, = 1, 2,..., n. a Utgångsvektorn är vanlgen x (0) = 0. Om man bldar gränsvärdet av vartdera membrum då k, så ser man att lm k x (k) = x är en lösnng tll den ursprunglga ekvatonen. I Jacobs metod används nte de nya approxmatonerna för de obekanta nnan ett teratonssteg blvt slutfört. I Gauss Sedels metod 2 används de nya approxmatonerna genast: x (k+1) = 1 j=1 a j x (k+1) j n j=+1 a j x (k) j + b, = 1, 2,..., n. a För varje obekant behöver man alltså endast lagra en approxmaton vd varje teraton, vlket sparar utrymme. Gauss Sedels metod är dubbelt snabbare än Jacobs, men detta gäller nte alltd. V skall nu studera konvergensen. Man kan lätt vsa, att Jacobs och Gauss Sedels algortmer kan framställas den kompakta formen x (k+1) = Bx (k) + c, k = 0, 1, 2,..., 1 Über ene neue Auflösungsart der be der Methode der klensten Quadrate vorkommenden lnearen Glechungen, Astron. Nachr. XXXII, 297-306 (1845) 2 Gauss metod beskrevs av Gerlng arbetet: De Ausglechungs Rechnungen der praktschen Geometre oder de Methode der klensten Quadrate mt hrer Anwendungen für geodätsche Aufgaben (1843). Sedel var Jacobs elev, och publcerade metoden 1874: Über en Verfahren, de Glechungen, auf welche de Methode der klensten Quadrate führt, sowe lneäre Glechungen überhaupt, durch succeßve Annäherung aufzulösen, Münch. Abh. II, 81 108 (1874)
Vetenskaplga beräknngar III 62 som gäller oförändrad från teraton tll teraton (statonär teratv metod). Om A uppdelas på följande sätt: A = D(L + I + U), där D = dag(a ), L är en undre trangulär matrs, och U en övre trangulär matrs, så nser v, att Jacobs metod kan uttryckas x (k+1) = (L + U)x (k) + D 1 b, och Gauss Sedels metod x (k+1) = Lx (k+1) Ux (k) + D 1 b. Båda dessa ekvatoner har det önskade utseendet om v väljer B J = (L + U) och B GS = (I + L) 1 U. I MATLAB sätter man x = (I+L)\(-U*x+D^-1*b) för Gauss-Sedel, och löser ekvatonen teratvt. En relaton mellan felen de successva approxmatonerna fås genom att subtrahera x = Bx + c från x (k+1) = Bx (k) + c : x (k+1) x = B(x (k) x) =... = B k+1 (x (0) x). Om v antar att B har egenvärdena λ 1, λ 2,..., λ n, (alltså Bu = λ u ) och att de motsvarande egenvektorerna u, = 1, 2,..., n är lneärt oberoende, så kan det ursprunglga felet x (0) x framställas med hjälp av dessa egenvektorer som basvektorer x (0) x = α 1 u 1 +... + α n u n, x (1) x = B(x (0) x) = α 1 λ 1 u 1 +... + α n λ n u n och v fnner slutlgen att x (k) x = α 1 λ k 1u 1 + α 2 λ k 2u 2 +... + α n λ k nu n. V ser således att teratonsprocessen konvergerar från en godtycklg utgångspunkt endast och endast om λ <1, = 1, 2,..., n. Man kan göra en enkel modfkaton av Gauss Sedels metod som avsevärt förbättrar konvergenshastgheten. Som v lätt nser, kan Gauss Sedels ekvaton skrvas formen x (k+1) där r (k) är resttermen för den :te ekvatonen: r (k) = 1 j=1 a j x (k+1) j n j= a j x (k) j + b. a = x (k) + r (k), Genom att multplcera resttermen med en relaxatonsparameter ω får man en ny metod, den sk successva överrelaxatonsmetoden (SOR): x (k+1) = x (k) + ωr (k).
Vetenskaplga beräknngar III 63 Man strävar efter att välja ett sådant värde av ω, att konvergenshastgheten blr så stor som möjlgt. Iteratonsmatrsen för överrelaxatonsmetoden har formen B ω = (I + ωl) 1 [(1 ω)i ωu]. Metoden konvergerar endast om 0 < ω < 2. Metoder som har 0 < ω < 1 kallas bland underrelaxerade, och metoder med 1 < ω < 2 överrelaxerade (om ω = 1 får v Gauss -Sedels ekvaton). Emedan determnanten för en trangulär matrs är lka med produkten av dess dagonala element får man det(b ω ) = det(i + ωl) 1 det((1 ω)i ωu) = (1 ω) n. Emedan å andra sdan det(b ω ) = λ 1 λ 2... λ n, så gäller max λ 1 ω, varav sn tur följer 1 ω < 1. Konvergensvllkoret gäller alltså. För vssa specella matrser A kan man t.o.m. beräkna det optmala värdet av ω. 5.6 Gauss mnsta kvadrat-metod Den första praktska tllämpnngen av mnsta kvadrat-metoden som blvt känd är Gauss beräknng av småplaneten Ceres bana. Denna småplanet, som var den första som upptäcktes, sågs av Guseppe Pazz första gången nyårsnatten 1801 Palermo. Han följde den under 21 nätter, men tappade sedan bort den, när den kom alltför nära solen. Ingen säker efemerd hade hunnt beräknas, men med hjälp av mnsta kvadrat-metoden kunde Gauss beräkna planetens banelement utgående från endast tre observatoner, så att den kunde återfnnas december av astronomen von Zach. Metoden beskrevs detalj Gauss bok: Theora Motus Corporum Coelestum n sectonbus concs solem ambentum (en teor för rörelsen hos de hmlakroppar, som rör sg kägelsntt runt solen), som utkom år 1809. Han säger där själv, att han använt metoden så tdgt som 1795. Samma metod hade redan tdgare publcerats av Legendre år 1806. Gauss lösnngsmetod baserar sg på användnngen av normalekvatoner. Antag, att v önskar anpassa en lneär modell tll gvna (fyskalska) mätvärden. Vanlgen är antalet mätnngar större än antalet obekanta. Det gäller då att lösa ett s.k. överdetermnerat system, som matrsform kan uttryckas på följande sätt: Problem: A är en gven m n matrs, där m (= antalet observatoner) n (= antalet obekanta), och b är en kolonnvektor med m element. Bestäm vektorn x (som har n element) så, att Ax är den bästa approxmatonen tll b.
Vetenskaplga beräknngar III 64 Emedan frågavarande ekvatonssystem är överdetermnerat, kan det nte lösas exakt, och man kan därför nte entydgt defnera en bästa lösnng. En metod, som är statstskt motverad, och dessutom leder tll relatvt enkla räknngar, är den mnsta kvadratmetoden. Enlgt mnsta kvadratmetoden löses det överdetermnerade systemet Ax = b genom att man söker en vektor x, som mnmerar den eukldska normen (jfr avsntt 4.4) av restvektorn r, dvs man mnmerar r 2 = r T r, r = b Ax. Om b:s element är fyskalska mätvärden med slumpmässga fel, så bör ekvatonerna skalas (dvs multplceras med vkter), så att varanserna av b blr lka stora. Man kan tolka mnsta kvadrat-metoden geometrskt så, att man försöker mnmera summan av kvadraterna på de vertkala avstånden mellan mätpunkterna och de beräknade punkterna. Detta nnebär, att v antar att de oberoende varablerna (x ) är felfra. Om också de har fel, är det lämplgare att försöka mnmera summan av kvadraterna på de eukldska avstånden mellan mätpunkterna och de beräknade punkterna. I detta fall kallas metoden ortogonaldstansregresson. Metoder för att lösa mnsta kvadratproblemet då båda varablerna har fel, har på senare td ofta behandlats ltteraturen. En överskt av forsknngen på detta område har skrvts av Macdonald och Thompson 3. Mnsta kvadratmetodens lösnngskrterum: A må vara en reell m n matrs, och b en kolonnvektor med m element (m > n). Om x satsferar ekvatonen A T (b Ax) = 0, så gäller för alla vektorer y att b Ax 2 b Ay 2. Bevs: Sätt r x = b Ax och r y = b Ay. Då gäller att r y = (b Ax) + (Ax Ay) = r x + A(x y). Genom kvadrerng fås r T y r y = r T x r x + r T x A(x y) + (x y) T A T r x + (x y) T A T A(x y). Emedan A T r x = 0 enlgt antagandet, så gäller r y 2 2 = r x 2 2 + A(x y) 2 2 r x 2 2, vsb. Av ekvatonen A T (b Ax) = 0 följer även för alla vektorer z att (Az) T (b Ax) = 0. Detta nnebär, att restvektorn r x = b Ax är ortogonal mot varje vektor rummet R(A) som spänns av kolonnerna A. Av ekvatonerna A T r x = 0 följer drekt, att (A T A)x = A T b 3 J.R. Macdonald och W.J. Thompson, Am. J. Phys. 60, 66 (1992)
Vetenskaplga beräknngar III 65 (normalekvatonerna). C = A T A är här en symmetrsk n n matrs med elementen c j = a T a j, A = (a 1, a 2,..., a n ). Normalekvatonssystemet består alltså av n lnjära ekvatoner med n obekanta x, = 1, 2,..., n: a T 1 a 1 x 1 +... + a T 1 a n x n = a T 1 b... a T na 1 x 1 +... + a T na n x n = a T nb. Eftersom A T A är symmetrsk, så kan A T A och A T b beräknas med n 2 (n+1)m+nm = 1 2 mn(n + 3) räkneoperatoner. Om AT A nte är sngulär, kan normalekvatonerna lösas t. ex. med Gauss elmnerngsmetod, som approxmatvt kräver n 3 /6 räkneoperatoner. Största delen av räknearbetet åtgår alltså tll att blda normalekvatonerna. Matrsen A T A är cke sngulär om och endast om A:s kolonner är lnjärt oberoende vektorer. Detta bevsas på följande sätt. Om kolonnerna är lnjärt oberoende, så följer därav x 0 Ax 0. Sålunda gäller x T (A T A)x = (Ax) T Ax = Ax 2 2>0, dvs A T A är postvt defnt (se avsn. 5.1). Då är det(a T A)>0 (följer av Sylvesters krterum, dvs alla underdetermnanter som kan bldas av en postvt defnt matrs är postva) och A T A är alltså cke sngulär. Av detta teorem följer, att om A:s kolonner är lnjärt oberoende, så är lösnngen entydg, och x = A I b där A I = (A T A) 1 A T betecknar matrsen A:s pseudo nvers, som uppfyller vllkoret A I A = I. Om A:s kolonner är lnjärt oberoende, så följer av (Az) T r = 0 z att Ax är en ortogonal projekton av b på den rymd som spänns av A:s kolonner, och v kan skrva r = b Ax = b AA I b = (I P A )b, där P A = AA I = A(A T A) 1 A T kallas för den ortogonala projektonsoperatorn. Man kan lätt vsa, att P A är symmetrsk, P 2 A = P A, (I P A ) 2 = I P A, samt att (I P A )P A = 0.