Gausselimination

Från testwiki
Hoppa till navigering Hoppa till sök

Gausselimination eller radreduktion, är inom linjär algebra en effektiv algoritm för lösning av linjära ekvationssystem, finna matrisrangen för en matris eller för att beräkna inversen till en matris. Namnet kommer från den tyske matematikern Carl Friedrich Gauss (1777–1855).

Gausselimination är lämplig att använda för lösning av ekvationssystem på formen

 A𝐱=𝐛

där A är en kvadratisk matris och x och b är kolonnvektorer.

Elimineringen sker genom att med elementära radoperationer nollställa elementen under diagonalen i varje kolonn.

Översikt av metoden

Ett linjärt ekvationssystem

Ax=b

med n ekvationer och n obekanta

x=(x1,x2,...,xn)T

och högerledet

b=(b1,b2,...,bn)T

har formen

a1,1x1+a1,2x2++a1,nxn=b1a2,1x1+a2,2x2++a2,nxn=b2an,1x1+an,2x2++an,nxn=bn

Ekvationslösningen omfattar två steg. Först nollställs elementen under diagonalen i matris A. Därefter beräknas de obekanta genom till exempel bakåtsubstituering.

Gausseliminering innebär division med diagonalens element, pivotelementen, som därmed måste vara nollskilda och helst ej vara nära noll. Det är därför vanligt att med till exempel radomkastning placera det tal i diagonalen som har det största absolutbeloppet i den kolonn som skall nollställas räknat från och med diagonalelementet. Om inget nollskilt element kan hittas avbryts elimineringen då lösningar till ekvationssystemet saknas.

Nedanstående ger ett exempel på en teknik med radomkastning för att undvika division med tal lika med eller nära noll.

Steg 1: Triangulering

Antag att elementen under diagonalen i kolumn k skall nollställas.

a1,1a1,2a1,ka1,nb10a2,2a2,ka2,nb200ak,kbk00ak+1,kbk+100an,kan,nbn

Först söks bland elementen

ak,k,...,an,k

det element, pivotelementet, som har det största absolutbeloppet. Om pivotelementets radnummer är skilt från k, kastas rad k och pivotelementets rad om.

Därefter multipliceras en kopia av varje nollskilt element i diagonalens rad med multiplikatorn

a(j,k)a(k,k)

där a(k, k) är diagonalens element och a(j, k) med j > k är det element i kolonnen som skall nollställas och respektive produkt subtraheras från motsvarande element i den rad där nollställning skall ske.

Detta upprepas för de återstående kolonnelementen.

Steg 2: Bakåtsubstitution

När matrisen är triangulerad utförs bakåtsubstitueringen med början i den sista raden

a1,1x1a1,2x2a1,nxnb10a2,2x2a2,nxnb200an,nxnbn

där xn beräknas som

xn=bnan,n

Värdet av xn sätts därefter in i föregående rad och xn-1 beräknas som

xn1=bn1an1,nxnan1,n1

Detta upprepas tills alla xj beräknats.

Exempel

Lös ekvationssystemet

x1+2x2+x3=8x1+x2+x3=64x1x2+2x3=8

Nollställning i kolumn 1 av rad 2 och 3. Rad 3 är pivotraden och rad 1 och rad 3 kastas om:

1218111641284128111612184128054124094126

Nollställning i kolumn 2 av rad 3. Rad 3 är pivotraden och rad 2 och rad 3 kastas om:

412805412409412641280941260541244128094126002923

Bakåtsubstituering:

x3=2329=3
x2=612394=2
x1=8(1)2234=1

Gauss-Jordan-elimination

Efter Gausselimination erhålls en övertriangulär matris som med liknande teknik som vid Gausselimination kan överföras till en diagonalmatris vilket kallas Gauss-Jordan-elimination.

a11a12a13b10a22a23b200a33b3a1100b10a220b200a33b3

Tillämpning av Gauss-Jordan för beräkning av invers

Om Gauss-Jordan-elimination tillämpas på en kvadratisk matris, kan den användas för att beräkna matrisens invers. Detta kan göras genom att till höger lägga till en enhetsmatris av samma dimensioner som matrisen. Exempel:

Låt matrisen A vara

A=[210121012]

och bilda genom tillägg av enhetsmatrisen

[AI]=[210100121010012001]

Genom elementära radoperationer kan A överföras till en diagonalmatris:

[IA1]=[10034121401012112001141234]

Matrisens invers är den högra halvan av [IA1]:

A1=[34121412112141234]

Källor


Mall:Linjär-algebra