[go: nahoru, domu]

Hoppa till innehållet

Gausselimination

Från Wikipedia

Gausselimination är 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 och är vanlig inom linjär algebra. Namnet kommer från den framstående tyske matematikern Carl Friedrich Gauss (1777-1855).

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

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

med n ekvationer och n obekanta

och högerledet

har formen

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å ett feltillstånd inträffat.

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.

Först söks bland elementen

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

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

där xn beräknas som

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

Detta upprepas tills alla xj beräknats.

Exempel

Lös ekvationssystemet

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

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

Bakåtsubstiturering:

Noggrannhet

Vid numerisk lösning av ett ekvationssystem genom Gausseliminering blir felen lätt stora om

  1. Pivotelementen har små absolutbelopp
  2. Multiplikatorerna har stora absolutbelopp

Genom radbyten kan pivotelementen ges så stora absolutbelopp som möjligt. Detta ger multiplikatorer som till beloppet är maximalt 1 och som resulterar i att beräkningsfelen inte blir onödigt stora.

Gauss-Jordaneliminiation

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

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

Om Gauss–Jordan eliminering 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.

Givet matrisen

och efter tillägg av enhetsmatrisen

Genom elementära radoperationer kan A trianguleras:

Matrisens invers är den högra halvan av :