• No results found

5.7 Ortogonaliseringsmetoder

N/A
N/A
Protected

Academic year: 2022

Share "5.7 Ortogonaliseringsmetoder"

Copied!
8
0
0

Loading.... (view fulltext now)

Full text

(1)

5.7 Ortogonaliseringsmetoder

Om man har problem med systemets kondition (vilket ofta ¨ar fallet), l¨onar det sig att undvika normalekvationerna vid l¨osning av minsta kvadratproblemet. En h¨artill l¨amplig metod ¨ar den s k QR–metoden eller ortogonaliseringsmetoden (jfr qr–kommandot i Matlab).

QR–teoremet: A m˚a vara en given m × n matris med m ≥ n och linj¨art oberoende kolonner. D˚a existerar det en entydig m × n matris Q, som har egenskapen QTQ = D, D = diag(d1, . . . , dn), dk>0, k = 1, 2, . . . , n,

och en entydig ¨ovre triangul¨ar matris R, med diagonalelementen rkk = 1, som har egenskapen

A = QR.

L˚at oss se hur QR–metoden kan till¨ampas p˚a minsta kvadratmetoden: Av ekva- tionen AT(b − Ax) = 0 f¨oljer att

RTQT(b − Ax) = 0.

Eftersom R ¨ar icke-singul¨ar och QTA = QTQR = DR, s˚a kan ovanst˚aende ekvation ocks˚a uttryckas RT(QTb − DRx) = 0 eller

Rx = y y = D−1QTb.

Om man s˚aledes k¨anner Q och R, s˚a kan man finna l¨osningen till minsta kvadrat- metoden genom att l¨osa ett triangul¨art ekvationssystem.

Den modifierade Gram-Schmidt–metoden f¨or ber¨akning av Q, R och y: Vi ber¨aknar en r¨acka matriser A = A(1), A(2), . . . , A(n+1) = Q, d¨ar A(k) har formen

A(k)= (q1, q2, . . . , qk−1, a(k)k , . . . , a(k)n ).

De k − 1 f¨orsta kolonnerna i A(k) ¨ar lika med de k − 1 f¨orsta kolonnerna i Q, och a(k)k , . . . , a(k)n ¨ar vektorer, som har ortogonaliserats mot q1, . . . , qk−1 (dvs a(k)Ti qj = 0, i = k, . . . , n; j = 1, . . . , k − 1).

I det k:te steget ortogonaliseras a(k)j , j = k +1, . . . , n mot qk med f¨oljande procedur:

( qk = a(k)k , dk= qTkqk, rkk = 1 a(k+1)j = a(k)j − rkjqk; rkj = qTka(k)j /dk, j = k + 1, . . . , n.

Som vi ser, blir qkTa(k+1)j = qTka(k)j − rkjqkTqk = qkTa(k)jqkTa

(k) j

qkTqk qkTqk = 0. Vid varje steg kommer vi allts˚a att ber¨akna den k:te kolonnen av Q, samt den k:te raden av R (rkj = 0, om k>j).

(2)

Vektorn b transformeras p˚a analogt s¨att: b = b(1), b(2), . . . , b(n+1), d¨ar b(k+1) = b(k)− ykqk, yk = qkTb(k)

dk .

Som vi ser blir ¨aven qkTb(k+1) = qkTb(k)qqkTTb(k)

kqk qkTqk = 0. H¨ar kommer b(n+1) att vara den del av b som ¨ar ortogonal mot R(A) (det underrum, som sp¨annes av A:s kolonner), och den kommer d¨arf¨or att bli lika stor som restvektorn r.

Efter n steg (k = 1, 2, . . . , n) f˚as slutligen

Q = (q1, q2. . . , qn) R = (rkj), y = (y1, y2, . . . , yn)T

och d˚a blir QTQ = diag(dk), A = QR, b = Qy + r. Slutligen l¨oses x ur ekvationen Rx = y. Vid ber¨akningen av R och y kr¨avs det approximativt

2m

n

X

k=1

(n − k + 1) = 2m · n(n + 1)

2 = mn(n + 1)

r¨akneoperationer, men f¨or att l¨osa Rx = y endast n(n + 1)/2 r¨akneoperationer.

Gram–Schmidt–metoden kr¨aver s˚alunda omkring dubbelt mera arbete ¨an vad som beh¨ovs f¨or att st¨alla upp normalekvationerna.

Tidigare har vi antagit, att A:s kolonner ¨ar linj¨art oberoende. Av relationen Q = AR−1, d¨ar S = R−1¨ar en h¨ogertriangul¨ar matris med diagonalelementen 1, framg˚ar att qk kan uttryckas som en linj¨ar kombination av a1, a2. . . , ak. Antag nu, att a1, a2, . . . , ak−1 ¨ar linj¨art oberoende, men att ak beror linj¨art av a1, a2, . . . , ak−1

och d¨arf¨or ¨aven av q1, q2, . . . , qk−1. Vi finner d˚a att a(k)k = 0, och ortogonaliserings- proceduren kan inte forts¨attas.

Maximalantalet linj¨art oberoende kolonner (eller rader) i en matris brukar kallas matrisens rang. Om rangen f¨or A>k − 1, s˚a m˚aste det existera en vektor a(k)j 6= 0 om k ≤ j ≤ n. D˚a kan vi l˚ata den k:te och j:te kolonnen byta plats, och forts¨atta ortogonaliseringsprocessen ¨anda tills alla de ˚aterst˚aende kolonnerna beror linj¨art av de ber¨aknade q-vektorerna.

D¨arav f¨oljer att vi kan f¨orb¨attra Gram-Schmidt–metoden genom kolonnpivotering.

I k:te steget v¨aljs s som det minsta heltal f¨or vilket g¨aller ka(k)s k2 = max

k≤j≤nka(k)j k2,

varp˚a kolonnerna k och s kastas om.

Ett annat s¨att att utf¨ora en ortogonalisering ¨ar att anv¨anda Householder–trans- formationer (denna metod utnyttjas i MATLAB-rutinen qr). De baserar sig p˚a element¨ara ortogonala matriser som ¨ar n–dimensionella enhetsmatriser modifier- ade av enkla rotationsmatriser, s˚asom t.ex.

 cos θ sin θ

− sin θ cos θ



,

(3)

som representerar en rotation i planet omfattande vinkeln θ. Ett enkelt exempel p˚a en dylik matris ¨ar

1 0 . . . 0

0 1 . . . 0

... ... cos θ sin θ 1

1

0 0 − sin θ cos θ

,

som ocks˚a representerar en plan rotation, men i ett n–dimensionellt rum.

Ett s¨att att konstruera s˚adana matriser ¨ar att anv¨anda matriser av formen P = I − 2uuT/uTu, d¨ar u 6= 0 ¨ar en godtycklig vektor. P˚a grund av sin konstruktion ¨ar Householders matris P symmetrisk (P = PT) och ortogonal, emedan

PTP = P2 = I − 4uuT

uTu+ 4uuT uTu

uuT uTu

= I − 4uuT

uTu + 4u(uTu)uT

(uTu)2 = I − 4uuT

uTu + 4uuT uTu = I, dvs P2 = I eller allts˚a P−1 = P = PT.

Hur skall Householder–transformationen konstrueras, s˚a att vi kan ¨overf¨ora ma- trisen i triangul¨ar form? L˚at oss beteckna den f¨orsta kolonnen i matrisen A med a, och anta att P nollst¨aller alla komponenter i a med undantag av den f¨orsta:

P a = α(1, 0, . . . , 0)T = αe1

Genom att anv¨anda den allm¨anna formen av P f˚ar vi d˚a P a = I − 2uuT

uTu

!

a = a − 2uTa uTu

!

u = αe1. Om denna ekvation skrivs i formen

2uTa uTu

!

u = a − αe1,

s˚a ser vi, att u ¨ar en multipel av a − αe1. Om u multipliceras med en godtycklig konstant som skiljer sig fr˚an noll, s˚a f¨or¨andras inte Householders matris, och vi kan d¨arf¨or v¨alja u = a−αe1. Eftersom en ortogonal transformation skall bevara normen (eftersom det ¨ar fr˚aga om en rotation), s˚a ¨ar α = ±kak2, och vi f˚ar u = a ∓ kak2e1. Vi skall nu visa hur dylika matriser kan anv¨andas f¨or att ¨overf¨ora en matris i triangul¨ar form. Antag, att A ¨ar en 5 × 3 matris:

A =

x x x

x x x

x x x

x x x

x x x

(4)

Om vi betecknar den f¨orsta kolonnen i A med a, s˚a f˚ar vi

P A =

kak x x

0 x x

0 x x

0 x x

0 x x

Observera, att P har f¨or¨andrat elementen som betecknas med x.

I det f¨oljande steget v¨aljer vi de fyra l¨agsta elementen i den andra kolonnen av P A och bildar en ny vektor a0 med fyra element p˚a vilken vi till¨ampar en Householder–

transformation P0. Vi f˚ar d˚a

P1P A =

1 0 0 P0



kak x x

0 x x

0 x x

0 x x

0 x x

=

kak x x

0 ka0k x

0 0 x

0 0 x

0 0 x

.

Matrisen blir fullst¨andigt reducerad till en triangul¨ar matris, om vi bildar en ny vektor a00 av de tre nedersta elementen i matrisen P1P A, och konstruerar en ny Householder–transformation P00 som nollst¨aller denna vektor utom det ¨oversta elementet:

P2P1P A =

1 0 0

0 1 0

0 0 P00

kak x x

0 ka0k x

0 0 x

0 0 x

0 0 x

=

kak x x

0 ka0k x 0 0 ka00k

0 0 0

0 0 0

.

Eftersom b˚ade P0 och P00 ¨ar ortogonala matriser, s˚a ¨ar ocks˚a P1 och P2 ortogonala, liksom ¨aven P2P1P . S˚aledes har A blivit transformerad till en (¨ovre) triangul¨ar matris genom att den multiplicerats med en ortogonal matris. Vi f˚ar allts˚a A = QR, d¨ar Q = P P1P2 och R = P2P1P A. Uppenbarligen g˚ar metoden att generalisera till godtyckligt stora matriser.

Hur kan detta till¨ampas p˚a ett minsta kvadrat-problem Ax = b? Antag att A ¨ar en m × n matris som kan faktoriseras A = QR = Q

R1 0



, d¨ar R1 ¨ar en m × m matris. D˚a f˚ar vi QTb = c ≡

c1 c2



, d¨ar c1 ¨ar en kolonnvektor med m element och c2 en kolonnvektor med n − m element. Normen bevaras vid multiplikation med en ortogonal matris, varav f¨oljer

kAx − bk22 = kQT(Ax − b)k22 = kRx − ck22 =

R1x − c1

−c2



2 2

= kR1x − c1k22+ kc2k22. Vi finner s˚aledes l¨osningen till minsta kvadratproblemet genom att l¨osa ekvationen R1x = c1, och det minsta v¨ardet av kvadraternas summa blir kc2k22.

(5)

Det finns ocks˚a fall d˚a l¨osningen inte ¨ar unik (degenererat minsta kvadrat–problem).

Detta inneb¨ar vanligen att modellfunktionerna inte ¨ar linj¨art oberoende, vilket inneb¨ar att kolonnerna i matrisen A ¨ar linj¨art beroende. Ett dylikt problem har m˚anga l¨osningar ist¨allet f¨or en enda. I detta fall anv¨ands ofta kolonnpivotering (se ovan) vid ortogonaliseringen, varvid A uttrycks som A = QRP , d¨ar P ¨ar en permutationsmatris, som h˚aller reda p˚a kolonnbyten som gjorts. Matrisen R har d˚a formen

R =

R1 R2

0 0



,

d¨ar R1 ¨ar en ¨ovre triangul¨ar matris och R2 6= 0 ¨ar en rektangul¨ar matris. Antalet rader olika noll i R ¨ar lika med matrisens rang (allts˚a antalet linj¨art oberoende kolonner).

Faktoriseringen leder till ett reducerat minsta kvadrat-problem kAx − bk2 = kRP x − QTbk2.

Om vi nu inf¨or beteckningarna y = P x och c = QTb, som uppdelas p˚a motsvarande s¨att som R i tv˚a delar: y = (y1, y2)T samt c = (c1, c2)T, s˚a f˚ar vi

kAx − bk22 =

R1 R2

0 0

 y1 y2



c1 c2



2

2

= kR1y1+ R2y2 − c1k22+ k − c2k22.

Den andra termen −c2 p˚averkas inte av parametrarna y, medan den f¨orsta termen kan minimeras p˚a ett godtyckligt antal s¨att. Komponenterna av y2 kan v¨aljas godtyckligt, sedan kan y1 l¨osas ur ekvationssystemet

R1y1 = c1− R2y2.

Systemet ¨ar h¨ogertriangul¨art och kan l¨osas genom bak˚atsubstitution. Vanligen s¨atter man y2 = 0.

(6)

5.8 Singul¨ arv¨ ardesuppdelningen

Antag, att A ¨ar en m × n-matris (m 6= n) med reella element. Det existerar d˚a en m × m ortogonal matris U , en n × n ortogonal matris V , och en m × n diagonal matris D, vars diagonalelement d1 ≥ d2 ≥ . . . ds≥ 0 (s = min(m, n)), s˚a att A = U DVT.

Matrisen U bildas av de ortonormerade egenvektorer, som motsvarar egenv¨ardena av matrisen AAT, och matrisen V best˚ar av de ortonormerade egenvektorerna av ATA. Diagonalelementen av matrisen D ¨ar de icke-negativa kvadratr¨otterna av egenv¨ardena av ATA, som ¨aven brukar kallas singul¨ara v¨arden. Vi skall avst˚a fr˚an att bevisa riktigheten av detta.

Man kan ocks˚a visa, att matrisens rang ¨ar lika med antalet singul¨ara v¨arden, som skiljer sig fr˚an noll. Om A ¨ar singul¨ar s˚a ¨ar ˚atminstone dn = 0. Om matrisen ¨ar

”n¨astan singul¨ar”, s˚a betyder det, att n˚agra av de singul¨ara v¨ardena ¨ar mycket sm˚a.

F¨orh˚allandet d1/dnkan uppfattas som ett m˚att p˚a konditionen f¨or matrisen A. Om man v¨aljer Q = U samt R = DVT, s˚a ser man att singul¨arv¨ardesuppdelningen leder till en ortogonal faktorisering.

L¨osningen till ekvationssystemet Ax = b kan d˚a skrivas x = V D+UTb, som kan ber¨aknas i tv˚a steg:

 y = QTb = UTb x = A+b = V D+y,

d¨ar D+¨ar en diagonal matris med diagonalelementen 1/dk om dk>0, och 0 i annat fall.

Dessa ekvationer g¨aller oberoende av antalet singul¨arv¨arden dk6= 0. F¨or det fall att matrisens rang ¨ar ok¨and, kan denna metod vara nyttig att anv¨anda. F¨or v¨alartade matriser ¨ar den emellertid mer kostsam och n˚agot mindre noggrann.

Som vi l¨att inser, g¨aller f¨oljande ekvationer:

ATA = V DTDVT, AAT = U DDTUT.

S˚aledes ¨ar kvadraterna p˚a de singul¨ara v¨ardena egenv¨arden f¨or matriserna ATA och AAT, och man skulle d¨arf¨or v¨anta sig att singul¨arv¨ardesuppdelningen enkelt skulle kunna utf¨oras genom diagonalisering av de symmetriska matriserna ATA och AAT. Men detta leder emellertid inte till en stabil metod att utf¨ora singul¨arv¨ardesupp- delningen.

Singul¨arv¨ardesuppdelningen, som uppt¨acktes redan p˚a 1870–talet av Beltrami och Jordan, inf¨ordes som en praktisk metod vid ekvationsl¨osning av Gene Golub1 p˚a 1970–talet.

1G.H. Golub och C. Reinsch: Singular Value Decomposition and Least Squares Solutions, Numer. Math. 14, 403-420 (1970)

(7)

Singul¨arv¨ardesuppdelningen ¨ar mycket l¨amplig att anv¨anda, n¨ar det g¨aller att studera en matris med d˚alig kondition. Om matrisen A ¨ar kvadratisk, s˚a ¨ar alla matriserna U , V och D kvadratiska matriser, och man finner, att inversen av matrisen A kan uttryckas

A−1 = V diag(1/dj)UT,

d¨ar diag(1/dj) betecknar en diagonalmatris, vars element best˚ar av de reciproka v¨ardena av matrisen D:s element.

Detta uttryck ¨ar korrekt, s˚avida inte n˚agot av D:s element ¨ar mycket litet. Detta kan intr¨affa, om matrisen har d˚alig kondition. I detta fall blir konditionstalet d1/dn

mycket stort. Om A ¨ar singul¨ar, blir (˚atminstone) ett av dess singul¨ara v¨arden noll.

I detta fall kan man konstruera en ”invers” matris genom att ers¨atta 1/dj med noll d˚a dj = 0.

Detta ¨ar ett specialfall av en pseudoinvers. En dylik invers kan definieras f¨or en godtycklig m × n-matris A som en matris X, som uppfyller Penrose’s villkor:

AXA = A, XAX = X, (AX)T = AX, (XA)T = XA.

Man kan l¨att visa, att om A+¨ar en pseudoinvers, och A har singul¨arv¨ardesuppdel- ningen

A = U DVT,

s˚a kan dess pseudoinvers uttryckas som A+= V D+UT,

d¨ar D+= diag(d+i ), och d+i =

1/di om di>0, 0 om di = 0.

Det ¨ar l¨att att visa, att de n¨amnda fyra villkoren ¨ar uppfyllda, och att A+ inte heller beror av valet av U och V .

Singul¨arv¨ardesuppdelningen kan anv¨andas i minsta kvadratmetoden p˚a f¨oljande s¨att. F¨or normen av resttermen finner vi f¨oljande uttryck (observera, att U ¨ar ortogonal):

kAx − bk2 = kU DVTx − bk2

= kUT(U DVTx − b)k2 = kDVTx − UTbk2.

(8)

Genom att beteckna UTb med c och VTx med z, f˚ar man

kAx − bk22 = kDz − ck22 = (d1z1− c1)2+ . . . + (dnzn− cn)2+ c2n+1+ . . . + c2m. Om inga singul¨arv¨arden ¨ar noll, s˚a kan man alltid v¨alja zi (dvs xi) s˚a, att normen minimeras:

kAx − bk22 = c2n+1+ . . . + c2m.

I detta fall existerar det en entydig l¨osning. Om dn= 0, kan man v¨alja vilket v¨arde som helst av zn, och man f˚ar alltid

kAx − bk22 = c2n+ c2n+1+ . . . + c2m,

som inte ger en entydig l¨osning. Om di = 0 f¨or n˚agot i brukar man vanligen ocks˚a v¨alja zi = 0. Sm˚a singul¨ara v¨arden visar att systemet har d˚alig kondition.

Om konditionen ¨ar d˚alig, s˚a ¨ar det of¨orm˚anligt att l¨osa normalekvationerna, och singul¨arv¨ardesuppdelningen ¨ar d˚a att f¨oredra. Om A ¨ar en m×n matris med rangen r > 0, och singul¨arv¨ardena d1 ≥ d2 ≥ . . . ≥ dr > 0, s˚a ¨ar konditionstalet f¨or A:

cond(A) = kAk2kA+k2 = d1/dr. Eftersom ATA = V DTDVT, s˚a ¨ar singul¨arv¨arde- na f¨or ATA kvadraterna p˚a singul¨arv¨ardena f¨or A, och cond(ATA) = (cond(A))2. L¨oser man minsta kvadratproblemet med singul¨arv¨ardesuppdelning, visar sig felet best¨ammas av cond(A), ist¨allet f¨or cond(ATA), som g¨aller f¨or l¨osningen av ett system av normalekvationer.

I MATLAB kan singul¨arv¨ardesuppdelningen utf¨oras med den inbyggda funktionen svd, som alstrar de tre matriserna U , D och V . Nedan visas som exempel sin- gul¨arv¨ardesuppdelningen av en 2 × 3 matris. Som vi ser, ¨ar matrisens rang 2. Vi kan ocks˚a ber¨akna matrisens pseudoinvers med funktionen pinv.

>> A = [1 1; 1 2 ; 1 3];

>> [U, S, V] = svd(A);

U =

0.3231 -0.8538 0.4082 0.5475 -0.1832 -0.8165 0.7719 0.4873 0.4082 S =

4.0791 0

0 0.6005

0 0

V =

0.4027 -0.9153 0.9153 0.4027

>> pseudo=pinv(A) pseudo =

1.3333 0.3333 -0.6667 -0.5000 0.0000 0.5000

>> pseudo2 = V* pinv(S) * U’

pseudo2 =

1.3333 0.3333 -0.6667 -0.5000 0.0000 0.5000

References

Related documents

Koncernens rapport över finansiell ställning Koncernens kassaflödesanalys Sammanställning över förändringen av eget kapital i koncernen..

Dnes proto očekáváme, že forint se bude pohybovat okolo stávajících hodnot a investoři budou vyčkávat před zítřejším zasedání ECB... Důvodem nebyla tentokrát

EMU, USA, UK, JPY – pokud není uvedeno jinak, data sezónně očištěna; Střední Evropa – data sezónně neočištěna, pokud není uvedeno jinak. Informace obsažené v

Oslabování dolaru dnes ráno dramaticky akcelerovalo, když neoficiální zdroje v Č ín ě nazna č ily, že by bylo žádoucí diverzifikovat skladbu rezerv..

Konec domácí seance bude pak ve znamení snahy č eského trhu na posledních chvíli zareagovat na výsledek amerických payrolls.. nelze tento dokument ani jeho č

Evropské akciové trhy budou pod tlakem a na pen ě žních trzích bude vysychat likvidita a kreditní spready poletí dále vzh ů ru.. Pochybujeme p ř itom, že

1. Telemakos är tillbaka i palatset. Han vill berätta för sin mamma Penelope om Odysseus men får inte. Varför tror du att Odysseus inte vill att Telemakos säger att han är

Eventuellt iordningställande av allmänna anläggningar (främst eventuellt befintliga vägar som idag ej ingår i Skällentorp Ga:1 eller Skällentorp Ga:2) till en sådan stan- dard