15 svar
749 visningar
heymel 663
Postad: 24 apr 2017 18:45

lu faktorisering

om jag har matrisen A

0 0 1 -1 

2 2 1 1 

1 0 1 0

1 -1 2  1 och ska hitta dens L och U matrisen.

då byter jag plats på rad 1 med 4, samt 2 med 3 och får :

1 0 1 0 

1 -1 2 1

0 0 1 -1

2 2 1 1

 

drar bort -1 resp -2 från rad ett och lägger till på rad 2 resp fyra:

1 0 1 0 

0 -1 1 1

0 0 1 -1

0 2 -1 1

drar bort 2 från rad 2 till rad 4 och får: 

1 0 1 0 

0 -1 1 1 

0 0 1 -1

0 0 1 3

drar bort -1 från rad 3 till rad 4:

 

1 0 1 0 

0 -1  1 1

0 0 1 -1 

0 0 0 4 

 

som då är vårt U, då får vi att 

då får jag ju att U matrisen är (I-E_43)(I+E_42)(1-2E41)(1-E_21) = U

& då ska ju L matrix bli samma men med teckenbyte: alltså :  (I+E_43)(I-E_42)(1+2E41)(1+E_21) men då blir den matrix:

1 1 0 2

0 1 0 -1

0 0 1 1 

0 0 0 0 ???? men de kan ju inte stämma

kan ju inte bli 0 i sista raden i sista kolonnen, dvs i pivot, 

Med vänlig hälsning, 

Guggle 1364
Postad: 24 apr 2017 23:04 Redigerad: 25 apr 2017 00:48

Heyhey Heymel,

 

Relationen Mk=I-mekT M_k=I-me^T_k gäller bara när du vill addera en multipel av en rad till en annan rad. Den bakvända relationen Mk-1=I+mekt=Lk M_k^{-1}=I+me^t_k=L_k med teckenbyte gäller därför bara när du gör denna operation.

I ditt första steg byter du plats på några rader med transformationsmatrisen M1, det ger en annan invers (L_1):

M1=0010000110000100  M1-1=L1=0010000110000100 M_1=\begin{bmatrix} 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \\ 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \end{bmatrix} \quad M^{-1}_1=L1=\begin{bmatrix} 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \\ 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \end{bmatrix}

Från ovanstående steg gäller alltså:

L=L2L3L4=1000110000102-211  U=M4M3M2B=10100-111001-10004 L=L_2L_3L_4=\begin{bmatrix} 1 & 0 & 0 & 0 \\ 1 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 2 & -2 & 1 & 1 \end{bmatrix} \quad U=M_4M_3M_2B=\begin{bmatrix} 1 & 0 & 1 & 0 \\ 0 & -1 & 1 & 1 \\ 0 & 0 & 1 & -1 \\ 0 & 0 & 0 & 4 \end{bmatrix}

Där B=M1A B=M_1A   är matrisen där du redan bytt plats enligt ordningsföljden (3 4 1 2) som du gör i ditt första steg:

B=LU=10101-121001-12211 B=LU=\begin{bmatrix} 1 & 0 & 1 & 0 \\ 1 & -1 & 2 & 1 \\ 0 & 0 & 1 & -1 \\ 2 & 2 & 1 & 1 \end{bmatrix}

Detta är inte samma sak som att LU-faktorisera A.  Kanske vill din lärare / uppgiften att du ska förstå partial pivotering (dvs permutationen M1A=LU M_1A=LU , kallas LUP-faktorisering).

heymel 663
Postad: 25 apr 2017 07:18
Guggle skrev :

Heyhey Heymel,

 

Relationen Mk=I-mekT M_k=I-me^T_k gäller bara när du vill addera en multipel av en rad till en annan rad. Den bakvända relationen Mk-1=I+mekt=Lk M_k^{-1}=I+me^t_k=L_k med teckenbyte gäller därför bara när du gör denna operation.

I ditt första steg byter du plats på några rader med transformationsmatrisen M1, det ger en annan invers (L_1):

M1=0010000110000100  M1-1=L1=0010000110000100 M_1=\begin{bmatrix} 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \\ 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \end{bmatrix} \quad M^{-1}_1=L1=\begin{bmatrix} 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \\ 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \end{bmatrix}

Från ovanstående steg gäller alltså:

L=L2L3L4=1000110000102-211  U=M4M3M2B=10100-111001-10004 L=L_2L_3L_4=\begin{bmatrix} 1 & 0 & 0 & 0 \\ 1 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 2 & -2 & 1 & 1 \end{bmatrix} \quad U=M_4M_3M_2B=\begin{bmatrix} 1 & 0 & 1 & 0 \\ 0 & -1 & 1 & 1 \\ 0 & 0 & 1 & -1 \\ 0 & 0 & 0 & 4 \end{bmatrix}

Där B=M1A B=M_1A   är matrisen där du redan bytt plats enligt ordningsföljden (3 4 1 2) som du gör i ditt första steg:

B=LU=10101-121001-12211 B=LU=\begin{bmatrix} 1 & 0 & 1 & 0 \\ 1 & -1 & 2 & 1 \\ 0 & 0 & 1 & -1 \\ 2 & 2 & 1 & 1 \end{bmatrix}

Detta är inte samma sak som att LU-faktorisera A.  Kanske vill din lärare / uppgiften att du ska förstå partial pivotering (dvs permutationen M1A=LU M_1A=LU , kallas LUP-faktorisering).

ja det stämmer att det är PA=LU faktorisering vi ska göra :) 

 


Men får man inte byta rader på matrisen A då, för då påverkas L och U matrisen?. Antar att M1 här vara min permutationsmatris?

 


Vad står L2L3L4 för?

Mk likaså? 

 


”tt plats enligt ordningsföljden (3 4 1 2)” ska det där vara rader?

Guggle 1364
Postad: 25 apr 2017 18:55 Redigerad: 25 apr 2017 20:10

Jag tolkar det som att du vill lära dig  PA=LU med pivotering:

För att uppnå en numeriskt stabil implementation av Gausselimination vill man hålla pivotelementen under kontroll för att begränsa den numeriska feltillväxten. Ett enkelt sätt att göra detta är att använda "partial pivoting" eller pivotering där man i varje steg väljer det största värdet på eller under diagonalen som pivotelement. Detta begränsar |mn|<1 |m_n|<1 .

Det betyder att man under varje steg först 1. permuterar med Pn P_n och sedan 2. eliminerar med Mn M_n .

I ditt givna A ser vi att rad 2 innehåller det största pivotelementet. P1 P_1 ska alltså byta plats på rad 1 och 2.

Guggle 1364
Postad: 25 apr 2017 19:49 Redigerad: 25 apr 2017 19:52

Sedan eliminerar vi subdiagonala bidrag i första kolonnen med M1 M_1 :

Guggle 1364
Postad: 25 apr 2017 19:50 Redigerad: 25 apr 2017 19:53

Notera att inversen av M1 M_1 dvs L1 L_1 bara är M1 M_1 med ombytta tecken på elementen som inte ligger på diagonalen

Nu är vi färdiga med kolonn 1 och går till kolonn 2. Vi gör på exakt samma sätt. Först permuterar vi ( P2 P_2 ), sedan eliminerar vi M2 M_2

rad 4 innehåller det största pivotelementet, alltså ska permutationen P2 P_2 byta plats på rad 4 och rad 2.

Vad M2 M_2 blir lämnas som övning.

Slutligen går vi till kolonn 3. Vi gör på exakt samma sätt. Först permuterar vi ( P3 P_3 ) sedan eliminerar vi M3 M_3

P3 P_3 och M3 M_3 lämnas som övning.

Guggle 1364
Postad: 25 apr 2017 19:51 Redigerad: 25 apr 2017 19:56

slutligen är

L=M-1=(M3P3M2P2M1P1)-1=P1TL1P2TL2P3TL3 L=M^{-1}=(M_3P_3M_2P_2M_1P_1)^{-1}=P^{T}_1L_1P^{T}_2L_2P^{T}_3L_3

där A=LU A=LU

Vill man hellre ha L på "äkta" triangulär form kan man alltså bilda

PA=LU PA=LU där vi multiplicerar tillbaka P=P3P2P1 P=P_3P_2P_1 på L och låter  i vårt fall blir det:

Guggle 1364
Postad: 25 apr 2017 20:00 Redigerad: 25 apr 2017 20:04

Med Mk M_k avses en elementär eliminationsmatris eller om man så vill en Gausstransformation. Jag tror att du redan använt (en version) av Mk M_k i din egen uträkning ovan. Vi noterar att inversen av Mk-1=Lk M_k^{-1}=L_k ges av att byta tecken på multiplikatorerna, detta verkar du också redan känna till.

Jag tror att det är lättare att förstå vad L och M är genom att studera exemplet ovan, men här kommer en mer "matematisk" definintion:

 

Mk M_k är en triangulär matris med 1:or utmed diagonalen och ett tillskott i kolonn k av faktorer mi m_i sådana att resultatet av MkA M_k A eliminerar element I A A under diagonalen i kolonn k.

Mk=I-mekT M_k=I-me^{T}_k där m=[0,,0,mk+1,,mn]T m=[0,\ldots,0,m_{k+1},\ldots, m_n]^{T} och ek e_k är kolonn k i enhetsmatrisen.

Ber om ursäkt för de många posterna och konstiga typsetting men det är fortfarande lite buggigt att posta här.

heymel 663
Postad: 26 apr 2017 15:53 Redigerad: 26 apr 2017 15:57
Guggle skrev :

Sedan eliminerar vi subdiagonala bidrag i första kolonnen med M1 M_1 :

Nu, hehe några dagar senare har jag läst igenom det här, men det verkar som att det där verkar mkt mer krångligare än de typ som vi lärt oss? då var det bara typ att göra så som jag ish la upp från början.? 

Guggle 1364
Postad: 26 apr 2017 16:37 Redigerad: 26 apr 2017 16:46

Jag visade en stegvis gausselimination med pivotering för att erhålla en LU-faktorisering.

Det betyder att man i varje steg först permuterar och sedan eliminerar. Det är lite mer avancerat än "vanlig" LU=PA. Det skulle underlätta om du postade uppgiftstext eller förklarade vilken kurs du går så jag kan anpassa nivån, just nu förutsätter jag att du läser numerisk analys och går andra eller tredje året på teknisk högskola.

 

M=M3M2M1 M=M_3M_2M_1 är matrisprodukten av varje enskilt eliminationssteg.

 

Om vi tar det från början har du matrisen A.  Sedan multiplicerar du den med matrisen P1 P_1 .

P1 P_1 byter i sin tur bara plats på rad 1 och rad två i din ursprungliga matris.

P1A P_1A är en ny matris.

Slutligen lägger du till -0.5 av rad1 i P1A P_1A till rad 3 i P1A P_1A och -0.5 av rad 1 till rad 4 i P1A P_1A . Detta kan du göra genom att multiplicera M1 M_1 med P1A P_1A och därmed får du en tredje matris  M1P1A M_1P_1A .

Matrisen

Lägger alltså till -0.5 av rad 1 till rad 3 och -0.5 av rad 1 till rad 4 när man multiplicerar den med en annan matris.

Vi multiplicerar den med matrisen P1A P_1A och får:

Guggle 1364
Postad: 26 apr 2017 16:54 Redigerad: 26 apr 2017 17:27

Den permutation du använde från början byter plats enligt

Alltså ordningsföljd (rader) 3 4 1 2 i den ursprunliga matrisen. Detta kan vara ett "P" i en enkel PA=LU. U får du genom vanlig "eliminering" på matrisen PA. I mitt första inlägg B=LU (se mitt första inlägg i tråden). L är bara inversen av din eliminering (se mitt första inlägg i tråden).

heymel 663
Postad: 26 apr 2017 20:51

Naa det är linjär algebra 2 faktiskt :) 

och de stod inget i uppg att man ska göra det med pivotering. Men ja, man ska ju ändå få pivot element oavsett tänker jag? eller?

 


för när jag gauss eliminerade a´ detta: https://www.pixeltopic.com/image/fqcvnkbekclrkz/ (för måste pivoten vara 1 i diagonalen?) i första matrisen så har jag ju bytt rader så då kommer min p matris at vara 

 


0 0 0 1

0 0 1 0

0 1 0 0

1 0 0 0

 


?

 


sedan så kommer jag i de sista matrisen att få 

 


U = (I-E_{43}) (I+E_{42}) (I-E_{41}) (I-2E_{21})

 


och så ska L vara inversen på M? Alltså kommer vi bara att byta tecken på allt till: 

 


U^(-1) = L  = (I+E_{43}) (I-E_{42}) (I+E_{41}) (I+2E_{21})

kolomn&rad, så alltså rad 4 och kolonn 2 ska vi placera dit en 1a.

 


Så kommer den här se ut i en matris:

1 2 0 0 

0 1 0 0

0 0 1 0

0 -1 1 1

 


och det är ju 0:or där vid under diagnoalen, och det vill jag ju inte ha? eller? då undrar jag om jag ens har gauss eliminerat rätt? 

för sedan ska jag ju bara ta min P matris, som jag har gjort, A matris som är given, och mitt U matris (som jag antar är rätt) och L för att få PA=LU, men jag måste ha gjort något fel vid U och L?

för man ska ju gauss eliminera tills man har fått sitt U matris, sedan bara ta inversen på den? för att få L, men det blir så konstigt med tanke på nollorna när jag ställer upp den i matrisen? Eller det kanske inte gör något?

 


Någonting, på mitt sätt ^^^, känns fel.

Guggle 1364
Postad: 27 apr 2017 05:56 Redigerad: 27 apr 2017 06:15
heymel skrev :
i första matrisen så har jag ju bytt rader så då kommer min p matris at vara 


0 0 0 1

0 0 1 0

0 1 0 0

1 0 0 0


?

 Nej, permutationsmatrisen P, om du vill ha ordningsföljden du själv visar på bilden, är:

Kontrollera att P*A verkligen ger dig de byten av rader (permutation) du själv valt.


sedan så kommer jag i de sista matrisen att få 


U = (I-E_{43}) (I+E_{42}) (I-E_{41}) (I-2E_{21})

Du har nog slarvat lite. Om det ska följa dina egna operationer på bilden och i beskrivning blir det

M=(I-E_{43}) (I+2E_{42}) (I-2E_{41}) (I-E_{21})

Ser du skillnaden?


och så ska L vara inversen på M? Alltså kommer vi bara att byta tecken på allt till: 


 L  = (I+E_{43}) (I-E_{42}) (I+E_{41}) (I+2E_{21})

Nej, du måste reversera ordningsföljden på matriserna också, enligt regeln (AB)^-1 = B^-1A^-1

L=(I+E_{21})(I+2E_{41}) (I-2E_{42})(I+E_{43})

L blir då:

Nu kan du kontrollera att PA=LU, med givet A, P enligt ovan och det U=MPA du själv eliminerat fram på bilden.

heymel 663
Postad: 27 apr 2017 07:44
Guggle skrev :
heymel skrev :
i första matrisen så har jag ju bytt rader så då kommer min p matris at vara 


0 0 0 1

0 0 1 0

0 1 0 0

1 0 0 0


?

 Nej, permutationsmatrisen P, om du vill ha ordningsföljden du själv visar på bilden, är:

Kontrollera att P*A verkligen ger dig de byten av rader (permutation) du själv valt.


sedan så kommer jag i de sista matrisen att få 


U = (I-E_{43}) (I+E_{42}) (I-E_{41}) (I-2E_{21})

Du har nog slarvat lite. Om det ska följa dina egna operationer på bilden och i beskrivning blir det

M=(I-E_{43}) (I+2E_{42}) (I-2E_{41}) (I-E_{21})

Ser du skillnaden?


och så ska L vara inversen på M? Alltså kommer vi bara att byta tecken på allt till: 


 L  = (I+E_{43}) (I-E_{42}) (I+E_{41}) (I+2E_{21})

Nej, du måste reversera ordningsföljden på matriserna också, enligt regeln (AB)^-1 = B^-1A^-1

L=(I+E_{21})(I+2E_{41}) (I-2E_{42})(I+E_{43})

L blir då:

Nu kan du kontrollera att PA=LU, med givet A, P enligt ovan och det U=MPA du själv eliminerat fram på bilden.

Jaa okej!!! jag trodde inte L behövde ändra ordningen, jag trodde de bara ändrade tecken! Ska försöka nu igen :) hehe , annars återkommer jag. ^^^

heymel 663
Postad: 27 apr 2017 07:46
Guggle skrev :
heymel skrev :
i första matrisen så har jag ju bytt rader så då kommer min p matris at vara 


0 0 0 1

0 0 1 0

0 1 0 0

1 0 0 0


?

 Nej, permutationsmatrisen P, om du vill ha ordningsföljden du själv visar på bilden, är:

Kontrollera att P*A verkligen ger dig de byten av rader (permutation) du själv valt.


sedan så kommer jag i de sista matrisen att få 


U = (I-E_{43}) (I+E_{42}) (I-E_{41}) (I-2E_{21})

Du har nog slarvat lite. Om det ska följa dina egna operationer på bilden och i beskrivning blir det

M=(I-E_{43}) (I+2E_{42}) (I-2E_{41}) (I-E_{21})

Ser du skillnaden?


och så ska L vara inversen på M? Alltså kommer vi bara att byta tecken på allt till: 


 L  = (I+E_{43}) (I-E_{42}) (I+E_{41}) (I+2E_{21})

Nej, du måste reversera ordningsföljden på matriserna också, enligt regeln (AB)^-1 = B^-1A^-1

L=(I+E_{21})(I+2E_{41}) (I-2E_{42})(I+E_{43})

L blir då:

Nu kan du kontrollera att PA=LU, med givet A, P enligt ovan och det U=MPA du själv eliminerat fram på bilden.

Men en fråga redan nu, om jag i min A matris, byter rad 1 mot rad 4, och 2 mot 3. 

Då ska ju 

1 0 0 0  ---> rad 4 stå här ---> 0 0 0 1 
0 1 0 0 ----> rad 3 stå här --> 0 0 1 0 
0 0 1 0  ---> rad 2 stå här --> 0 1 0 0 
0 0 0 1  ---> rad 1 stå här --> 1 0 0 0

 

:o

Guggle 1364
Postad: 27 apr 2017 12:25 Redigerad: 27 apr 2017 12:36
heymel skrev :

Men en fråga redan nu, om jag i min A matris, byter rad 1 mot rad 4, och 2 mot 3. 

Då ska ju 

1 0 0 0  ---> rad 4 stå här ---> 0 0 0 1 
0 1 0 0 ----> rad 3 stå här --> 0 0 1 0 
0 0 1 0  ---> rad 2 stå här --> 0 1 0 0 
0 0 0 1  ---> rad 1 stå här --> 1 0 0 0

Men på ditt papper sätter du rad 3 överst, sedan rad 4, sedan 1 och sedan 2. Alltså ordningsföljd 3,4,1,2. Inte 4 3 2 1. Låt mig visa PA för de två ordningsföljderna:

Jämför med

Ser du skillnaden? Det är det första exemplet du själv har använt på ditt papper.

Svara Avbryt
Close