Krister Svanberg, april 1 1 Positivt definita och positivt semidefinita matriser Inom ickelinjär optimering, speciellt kvadratisk optimering, är det viktigt att på ett effektivt sätt kunna avgöra huruvida en given matris är positivt definit eller ej Detta kapitel handlar om just detta, samt om en del relaterade ting Vi inleder med lite fakta om några speciella typer av matriser 11 Diagonalmatriser och triangulära matriser En matris säges vara kvadratisk om den har lika många rader som kolonner En kvadratisk matris H säges vara symmetrisk om H T = H, dvs om elementen i H uppfyller h = h ji för alla i och j En kvadratisk matris D säges vara diagonal om alla element som inte ligger i diagonalen är nollor, dvs om d = för alla i och j sådana att i j Diagonalelementen i en diagonalmatris D kallas ofta d i (i stället för det mer korrekta d ii ) En diagonalmatris D är alltid symmetrisk, och den är icke-singulär om och endast om samtliga diagonalelement d i är En kvadratisk matris L säges vara vänstertriangulär om elementen i matrisen uppfyller att l = för alla i och j sådana att i < j, dvs om samtliga matriselement nordost om huvuddiagonalen är nollor Den engelska termen är lower triangular En vänstertriangulär matris L är icke-singulär om och endast om samtliga diagonalelement l ii är En kvadratisk matris U säges vara högertriangulär om elementen i matrisen uppfyller att u = för alla i och j sådana att i > j, dvs om samtliga matriselement sydväst om huvuddiagonalen är nollor Den engelska termen är upper triangular En högertriangulär matris U är icke-singulär om och endast om samtliga diagonalelement u ii är En diagonalmatris D, en vänstertriangulär matris L och en högertriangulär matris U ser alltså ut på följande vis: d l 1 u 11 u 1 u 1 u 1 d l 1 l u u u D =, L =, U = d l 1 l l u u d l 1 l l l u En viktig egenskap hos diagonala och triangulära matriser är att det är enkelt att lösa ekvationssystem där dessa är inblandade Om man exempelvis ska lösa ett ekvationssystem Lx = b, med L enligt ovan, så får man lösningen x genom att i tur och ordning beräkna x 1 = b 1 l 11, x = b l 1 x 1 l, x = b l 1 x 1 l x l, x = b l 1 x 1 l x l x l Likaså om man ska lösa ett ekvationssystem Ux = b, med U enligt ovan, så får man lösningen x genom att i tur och ordning beräkna x = b u, x = b u x u, x = b u x u x u, x 1 = b 1 u 1 x u 1 x u 1 x u 11 1
Det allra lättaste är förstås att lösa ett ekvationssystem Dx = b, med D enligt ovan Då får man lösningen x ur x 1 = b 1 d 1, x = b d, x = b d, x = b d 1 Definition av positivt definit och positivt semidefinit matris Låt H IR n n vara en given symmetrisk matris och låt x IR n Då är x T Hx = n n h x i x j (11) i=1 j=1 Om x 1,, x n uppfattas som variabler medan matriselementen h är konstanter, så definierar (11) en kvadratisk form i x IR n En symmetrisk matris H IR n n säges vara positivt semidefinit om x T Hx för alla x IR n (1) En symmetrisk matris H IR n n säges vara positivt definit om x T Hx > för alla x IR n {} (1) Här betyder x IR n {} att vektorn x IR n inte är nollvektorn (Att man utesluter nollvektorn beror förstås på att om x = så är x T Hx =, oberoende av H Man kan alltså inte kräva att x T Hx > för alla x IR n, ty då skulle ingen matris H vara positivt definit!) Observera att om H är positivt definit så är H per definition även positivt semidefinit [ ] ( ) 1 x1 Exempel 1 Antag att H = Med x = är då 5 x T Hx = x 1 + x 1x + x x 1 + 5x = x 1 + x 1x + 5x = (x 1 + x ) + x, som alltid är, med likhet om och endast om x 1 + x = och x =, dvs om och endast om x 1 = x = Matrisen H är alltså positivt definit, och därmed även positivt semidefinit [ ] ( ) 1 x1 Exempel Antag att H = Med x = är då x T Hx = x 1 + x 1x + x x 1 + x = x 1 + x 1x + x = (x 1 + x ), som alltid är Men x T Hx = för (exempelvis) x = (, 1) T Matrisen H är alltså positivt semidefinit men inte positivt definit [ ] ( ) 1 x1 Exempel Antag att H = Med x = är då x T Hx = x 1 + x 1x + x x 1 + x = x 1 + x 1x + x = (x 1 + x ) x, som är < för (exempelvis) x = (, 1) T Matrisen H är alltså inte positivt semidefinit, och därmed inte heller positivt definit x x x
1 Några egenskaper hos positivt definita matriser 1) Om H är symmetrisk och positivt definit så är H icke-singulär Bevis: Om H är singulär så finns ett x sådant att Hx =, och då är även x T Hx =, vilket strider mot att H är positivt definit ) Om H är symmetrisk och positivt definit så är varje diagonalelement h ii > Bevis: Om exempelvis h 11 så är, med x = (1,,, ) T, x T Hx = h 11 ) En diagonalmatris D är positivt definit om och endast om alla d i är > Bevis: x T Dx = i d ix i som är > för alla x om och endast om alla d i > ) Om H IR n n är symmetrisk och positivt definit, medan B IR n k har linjärt oberoende kolonner, så är även G = B T HB IR k k symmetrisk och positivt definit Bevis: G T = (B T HB) T = B T H T B = B T HB = G visar att G är symmetrisk För ett godtyckligt x IR k är x T Gx = x T B T HBx = (Bx) T H(Bx), med likhet endast om Bx =, dvs endast om x =, vilket visar att G är positivt definit [ ] H11 O T 5) Antag att H IR n n är en symmetrisk blockmatris på formen H =, O H där matriserna H 11 IR n 1 n 1 och H IR n n båda är symmetriska, medan O IR n n 1 och O T IR n 1 n betecknar nollmatriser Då är H positivt definit om och endast om H 11 och H båda är positivt definita Bevis: Antag först att ( H 11 ) och H båda är positivt definita och tag ett godtyckligt x IR n x1 Då kan x skrivas x = IR n, där x 1 IR n 1 och x IR n (ty n = n 1 +n ) x Om x så är minst en av x 1 och x, varvid x T Hx = x T 1 H 11x 1 + x T H x >, vilket visar att H är positivt definit Antag nu att H 11 inte är positivt definit ( ) Då finns ett x 1 sådant att x T 1 H x1 11x 1 Med x = IR n blir då x T Hx = x T 1 H 11x 1, vilket visar att H inte är positivt definit Antag slutligen att H inte är positivt definit ( ) Då finns ett x sådant att x T H x Med x = IR n blir då x T Hx = x T H x, vilket visar att H inte är positivt definit x 6) En symmetrisk matris H är positivt definit om och endast om samtliga dess egenvärden är > (Bevisas ej här)
1 Några egenskaper hos positivt semidefinita matriser Vi använder här förkortningen PSD för positivt semidefinit 1) Om H är symmetrisk och PSD så är varje diagonalelement h ii Bevis: Om exempelvis h 11 < så är, med x = (1,,, ) T, x T Hx = h 11 < ) Om H är symmetrisk och PSD och ett diagonalelement uppfyller h ii =, så är h = h ji = för alla j Bevis: Om exempelvis h 11 = och h 1 = h 1 så är, med x = (x 1, 1,,, ) T, x T Hx = h + h 1 x 1, som är < för lämpligt valt värde på x 1 ) En diagonalmatris D är PSD om och endast om alla diagonalelement d i är Bevis: x T Dx = i d ix i som är för alla x om och endast om alla d i ) Antag att H IR n n är symmetrisk och PSD, och att B IR n k Då är G = B T HB IR k k symmetrisk och PSD Bevis: G T = (B T HB) T = B T H T B = B T HB = G visar att G är symmetrisk För varje x IR k är x T Gx = x T B T HBx = (Bx) T H(Bx), vilket visar att G är PSD [ ] H11 O T 5) Antag att H IR n n är en symmetrisk blockmatris på formen H =, O H där matriserna H 11 IR n 1 n 1 och H IR n n båda är symmetriska, medan O IR n n 1 och O T IR n 1 n betecknar nollmatriser Då är H positivt semidefinit om och endast om H 11 och H båda är positivt semidefinita Bevis: Antag att H 11 och ( H) båda är PSD och tag ett godtyckligt x IR n x1 Då kan x skrivas x = IR n, där x 1 IR n 1 och x IR n (ty n = n 1 +n ) x Därmed är x T Hx = x T 1 H 11x 1 + x T H x, vilket visar att H är PSD Antag nu ( att H ) 11 inte är PSD Då finns ett x 1 sådant att x T 1 H 11x 1 < x1 Med x = IR n blir då x T Hx = x T 1 H 11x 1 <, vilket visar att H inte är PSD Antag slutligen ( ) att H inte är PSD Då finns ett x sådant att x T H x < Med x = IR n blir då x T Hx = x T H x <, vilket visar att H inte är PSD x 6) En symmetrisk matris H är positivt semidefinit om och endast om samtliga dess egenvärden är (Bevisas ej här)
15 Matriserna A T A och AA T Låt A IR m n vara en given matris, och sätt H = A T A IR n n och G = AA T IR m m Då är både H och G symmetriska, ty H T = (A T A) T = A T (A T ) T = A T A = H och G T = (AA T ) T = (A T ) T A T = AA T = G Vidare är både H och G positivt semidefinita, ty om x är en godtycklig vektor i IR n och y är en godtycklig vektor i IR m så blir x T Hx = x T A T Ax = (Ax) T (Ax) = Ax, och y T Gy = y T AA T y = (A T y) T (A T y) = A T y Antag att A har linjärt oberoende kolonner Då är Ax för varje x IR n {} Det betyder att för varje x IR n {} är x T Hx = x T A T Ax = (Ax) T (Ax) = Ax >, vilket visar att A T A är positivt definit om kolonnerna i A är linjärt oberoende Antag att A har linjärt oberoende rader Då är A T y för varje y IR m {} Det betyder att för varje y IR m {} är y T Gy = y T AA T y = (A T y) T (A T y) = A T y >, vilket visar att AA T är positivt definit om raderna i A är linjärt oberoende Följande samband kommer ofta till användning: N (A T A) = N (A), N (AA T ) = N (A T ), R(A T A) = R(A T ), R(AA T ) = R(A) (1) Dessa visas på följande sätt: x N (A) Ax = A T Ax = x N (A T A) x N (A T A) A T Ax = x T A T Ax = Ax = Ax = x N (A) y N (A T ) A T y = AA T y = y N (AA T ) y N (AA T ) AA T y = y T AA T y = A T y = A T y = y N (A T ) x R(A T ) x N (A) x N (A T A) x R(A T A) y R(A) y N (A T ) y N (AA T ) y R(AA T ) 5
16 LDL T -faktorisering av positivt definita matriser Om man vill avgöra huruvida en given symmetrisk matris är positivt definit eller ej så bör man använda så kallad LDL T -faktorisering, som bygger på följande sats Sats: En symmetrisk matris H IR n n är positivt definit om och endast om det finns en vänstertriangulär matris L IR n n med alla l ii = 1 och en diagonalmatris D IR n n med alla d i > sådana att H = LDL T Vi ska i detta avsnitt ge ett konstruktivt bevis av denna sats genom att beskriva en algoritm för LDL T -faktorisering av positivt definita matriser I hela detta avsnitt används förkortningen PD = symmetrisk och positivt definit Först konstaterar vi att om L och D är enligt ovan så följer av egenskaperna i avsnitt 1 att LDL T är PD, eftersom en diagonalmatris med alla diagonalelement > är PD, och en triangulär matris med alla diagonalelement har såväl linjärt oberoende kolonner som linjärt oberoende rader I resten av detta avsnitt ska vi förutsätta att H är PD, och visa hur man då kan bestämma L och D med egenskaper enligt ovan, sådana att H = LDL T För att göra framställningen mindre teknisk (och förhoppningsvis lättare att följa) nöjer vi oss med att beskriva metodiken för specialfallet att H är en given symmetrisk matris Generaliseringen till en godtycklig symmetrisk n n matris torde sedan vara uppenbar Vårt mål är alltså att genomföra faktoriseringen H = LDL T, där h 11 h 1 h 1 h 1 h 1 h h h H = h 1 h h h h 1 h h h D = d d d d L = l 1 1 l 1 l 1 l 1 l l 1 Av orsaker som snart kommer att framgå döper vi först om elementen i H till Vi har alltså att H = 11 1 1 1 1 1 1 där = ji för alla i och j Att H är positivt definit medför speciellt att elementet 11 > Därför kan man dra multipler av första raden i H från de övriga raderna, så att samtliga element nedanför diagonalelementet 11 i första kolonnen blir nollor Detta motsvarar att matrisen H multipliceras från vänster med matrisen E 1 nedan Första raden i H påverkas inte av dessa radoperationer, så den första raden i matrisen E 1 H är identisk med den första raden i H Övriga rader påverkas däremot, så dess element får 6
heta h () Man har då att l 1 1 E 1 = l 1 1 l 1 1 och E 1 H = 11 1 1 1 h () h () h () h () h () h () h () h () h () där l i1 = h(1) i1 och h () = l i1 1j = h(1) i1 h(1) 1j 11 för i =,, och j =,, 11 Därefter kan man dra multipler av första kolonnen i E 1 H från de övriga kolonnerna, så att samtliga element till höger om diagonalelementet 11 i första raden blir nollor Detta motsvarar att matrisen E 1 H multipliceras från höger med matrisen E T 1 (Att det är samma matris E 1 som dyker upp en gång till, fast nu transponerad, beror på att matrisen H är symmetrisk så att 1j = h(1) j1 för j =,, Därför är det samma multipler som används vid kolonnoperationerna som vid radoperationerna) Elementen h () påverkas inte av dessa operationer eftersom första kolonnen i E 1 H enbart har nollor nedanför 11 Då är alltså 1 E 1 HE T h () 1 = h () h () h () h () h () h () h () h () h () h () h () Att H är PD medför att E 1 HE T 1 är PD, vilket medför att matrisen h () h () h () är h () h () h () PD, vilket medför att h () > Då kan man dra multipler av andra raden i E 1 HE T 1 från de två sista raderna, så att samtliga element nedanför diagonalelementet h () i andra kolonnen blir nollor Detta motsvarar att matrisen E 1 HE T 1 multipliceras från vänster med matrisen E nedan De två första raderna i E 1 HE T 1 påverkas inte av dessa radoperationer, Övriga rader påverkas däremot, så dess element får heta h () Man har då att E = l 1 l 1 och E E 1 HE T 1 = 1 h () h () h () h () h () h () h () där l i = h() i h () och h () = h () l i h () j = h () 7 h() i h() j h () för i =, och j =,
Därefter kan man dra multipler av andra kolonnen i E E 1 HE T 1 från de två sista kolonnerna, så att samtliga element till höger om diagonalelementet h () i andra raden blir nollor Detta motsvarar att matrisen E E 1 HE T 1 multipliceras från höger med matrisen ET Elementen h () påverkas inte av dessa operationer Då är alltså 1 E E 1 HE T 1 E T h () = h () h () h () h () h() h () Att H är PD medför att E E 1 HE T 1 ET PD, vilket medför att h () > är PD, vilket medför att matrisen h () h () Då kan man dra en multipel av tredje raden i E E 1 HE T 1 ET från fjärde raden, så att elementet nedanför diagonalelementet h () blir en nolla Detta motsvarar att matrisen E E 1 HE T 1 ET multipliceras från vänster med matrisen E nedan De tre första raderna i påverkas inte av denna radoperation, Fjärde raden påverkas däremot, så dess element får heta h () Man har då att 1 E = och E E E 1 HE T 1 E T h () = 1 h () h () l 1 h () där l = h() h () och h () = h() l h () = h () h() h() h () Slutligen kan man dra en multipel av tredje kolonnen i E E E 1 HE T 1 ET från den fjärde kolonnen, så att elementet till höger om diagonalelementet h () blir en nolla Detta motsvarar att matrisen E E E 1 HE T 1 ET multipliceras från höger med matrisen ET Elementet h () påverkas inte av denna operation Då är alltså 1 E E E 1 HE T 1 E T E T h () = h () (15) h () är Att H är PD medför att E E E 1 HE T 1 ET ET är PD, vilket i sin tur medför att h() > 8
Låt diagonalmatrisen i (15) heta D, dvs D = E E E 1 HE T 1 E T E T (16) Eftersom varje radoperationsmatris E k är icke-singulär, så är (16) ekvivalent med att H = E 1 1 E 1 E 1 D (ET ) 1 (E T ) 1 (E T 1 ) 1 (17) Trevligt nog är det enkelt att beräkna såväl inversmatriserna E 1 k Man får nämligen att E 1 1 = l 1 1 l 1 1 l 1 1, E 1 = l 1 l 1, E 1 = som produkten E 1 1 E 1 E 1, 1 l 1 samt l 1 1 = l 1 1 l 1 1 l 1 1 l l 1 l 1 1 l 1 l 1 l 1 l l 1 Produkten E 1 1 E 1 E 1 är alltså en nedåt vänstertriangulär matris med ettor på diagonalen Denna matris kallar vi för L, dvs Då är L T = (E 1 1 E 1 E 1 )T = (E 1 och därför övergår (17) till L = E 1 1 E 1 E 1 (18) )T (E 1 )T (E 1 LDL T -faktoriseringen av H är därmed klar 1 )T = (E T ) 1 (E T ) 1 (E T 1 ) 1, H = LDL T (19) 9
17 Ett exempel på LDL T -faktorisering Vi ska avgöra om följande matris H är positivt definit, eller positivt semidefinit, eller ingetdera, genom att LDL T -faktorisera den 1 1 1 H = 1 1 1 Addera först 1 gånger rad 1 till rad och addera sedan 1 gånger kolonn 1 till kolonn Det ger 1 1 E 1 = 1 och E 1HE T 1 = 1 1 1 1 1 Addera nu gånger rad till rad och addera sedan gånger kolonn till kolonn Det ger E = 1 och E E 1 HE T 1 E T = 1, 1 1 Addera nu gånger rad till rad och addera sedan gånger kolonn till kolonn Det ger E = 1 och E E E 1 HE T 1 E T E T = 5 1 Därmed är LDL T -faktoriseringen klar, och man har att 1 1 H = LDL T 1 1 1 = 1 1 5 1 Eftersom alla diagonalelement i D är > kan man dra slutsatsen att H är positivt definit 1
18 LDL T -faktorisering och kvadratkomplettering Det finns ett nära samband mellan LDL T -faktorisering och gammal hederlig kvadratkomplettering Vi ska här illustrera detta samband på exemplet i föregående avsnitt Låt x IR och bilda den kvadratiska formen x T Hx = x 1 x 1 x + x x x + x x x + x (11) Med hjälp av LDL T -faktoriseringen erhålls att Därmed är x T Hx = x T LDL T x = (L T x) T D(L T x), 1 1 L T 1 x = 1 1 x 1 1 x x T Hx = (L T x) T D(L T x x) = x x x x T x 1 x x x där x 1 1 x = x x x x 5 x x 1 1 x x x x x, x dvs x T Hx = (L T x) T D(L T x) = (x 1 1 x ) + (x x ) + (x x ) + 5 x (111) Med hjälp av LDL T -faktorisering har alltså den kvadratiska formen x T Hx i (11) överförts till en summa av kvadrater Ett alternativt sätt att utföra detta är med kvadratkomplettering Här följer en beskrivning av hur detta går till för ovanstående exempel Först elimineras blandade termer som innehåller faktorn x 1 med hjälp av omskrivningen x 1 x 1x = (x 1 x 1x ) = ((x 1 1 x ) 1 x ) Detta ger att x T Hx = (x 1 1 x ) + x x x + x x x + x Sedan elimineras blandade termer som innehåller faktorn x med hjälp av omskrivningen x x x = (x x x ) = ((x x ) 9 x ) Detta ger att x T Hx = (x 1 1 x ) + (x x ) + x x x + x Slutligen elimineras blandade termer som innehåller faktorn x med hjälp av omskrivningen x x x = (x x x ) = ((x x ) 9 16 x ) Detta ger att x T Hx = (x 1 1 x ) + (x x ) + (x x ) + 5 x, (11) vilket är exakt detsamma som (111) 11
19 LDL T -faktorisering av positivt semidefinita matriser I avsnitt 16 beskrevs hur man med hjälp av LDL T -faktorisering kan avgöra huruvida en given symmetrisk matris är positivt definit eller ej En naturlig följdfråga är då om man på ett motsvarande sätt kan avgöra huruvuda en given symmetrisk matris är positivt semidefinit eller ej Svaret är att det kan man göra med hjälp av en modifierad LDL T -faktorisering, där man tillåter diagonalelement h (i) ii att vara = Sats: En symmetrisk matris H IR n n är positivt semidefinit om och endast om det finns en vänstertriangulär matris L IR n n med alla l ii = 1 och en diagonalmatris D IR n n med alla d i sådana att H = LDL T Vi ska i detta avsnitt ge ett konstruktivt bevis av denna sats genom att beskriva en algoritm för LDL T -faktorisering av positivt semidefinita matriser I hela detta avsnitt används förkortningen PSD = symmetrisk och positivt semidefinit Först konstaterar vi att om L och D är enligt ovan så följer av egenskaperna i avsnitt 1 att LDL T är PSD Antag fortsättningsvis att H är PSD, och antag för enkelhets skull att n = Då kan man försöka använda metodiken i avsnitt 16 för att LDL T -faktorisera matrisen H Det som kan inträffa om H inte är positivt definit är att något diagonalelement h (i) ii blir Men eftersom H är PSD så kan inte h (i) ii <, enligt egenskaperna i avsnitt 1 Alltså är det värsta som kan hända att något eller några h (i) ii = Antag exempelvis att h () h () = h() = h() = h() E 1 HE T 1 = = Eftersom H förutsatts vara PSD så följer då att =, enligt egenskaperna i avsnitt 1 Man har då kommit till följande läge, jämför avsnitt 16 1 h () h () h () h () h () h () h () h () h () = Då låter man helt enkelt E =, varvid E E 1 HE T 1 E T = 1 1 med h () = och h() = h () för i =, och j =, 1 h () h () h () h () 1 h () h () h () h () h () Detta uttryck kan jämföras med motsvarande uttryck i avsnitt 16 Skillnaden är att där var h () >, medan här är h() = Dessutom är matrisen E nu en enhetsmatris, vilket den typiskt inte var i avsnitt 16 (om inte l och l båda råkade bli = ) 1,
Sedan fortsätter processen som i avsnitt 16 När man är färdig har man kommit till läget 1 E E E 1 HE T 1 E T E T h () = h () = D, (11) h () där samtliga h (i) ii Ur detta erhålls att H = LDL T, med D enligt ovan och L = E 1 1 E 1 E 1 som i likhet med i avsnitt 16 är på formen l 1 1 L = (11) l 1 l 1 l 1 l l 1 1
11 Ett nytt exempel på LDL T -faktorisering Vi ska avgöra om följande matris H är positivt definit, eller positivt semidefinit, eller ingetdera, genom att LDL T -faktorisera den 1 1 1 1 H = 1 1 1 1 Addera först 1 gånger rad 1 till rad och addera sedan 1 gånger kolonn 1 till kolonn Det ger 1 1 E 1 = 1 och E 1HE T 1 1 1 = 1 1 1 1 1 Addera nu 1 gånger rad till rad och addera sedan 1 gånger kolonn till kolonn Det ger E = 1 1 och E E 1 HE T 1 E T = 1 1, 1 1 1 Addera nu 1 gånger rad till rad och addera sedan 1 gånger kolonn till kolonn Det ger E = 1 och E E E 1 HE T 1 E T E T = 1 1 1 Därmed är LDL T -faktoriseringen klar, och man har att H = LDL T 1 1 = 1 1 1 1 1 1 1 1 1 1 1 Eftersom alla diagonalelement i D är kan man dra slutsatsen att H är positivt semidefinit, men inte positivt definit eftersom ett diagonalelement i D är = 1