V matematiki je Gaussova eliminacija (imenovana tudi redukcija vrstic) metoda za reševanje sistemov linearnih enačb, preverjanje obstoja in števila rešitev ter za izračun drugih povezanih količin. Ime nosi po Carlu Friedrichu Gaussu, slavnem nemškem matematiku, ki je o metodi pisal in jo populariziral, čeprav so podobne postopke poznali že prej. Različica, ki matriko pripelje do popolnoma reducirane oblike, se pogosto imenuje Gauss–Jordanova eliminacija.
Za izvedbo Gaussove eliminacije se iz koeficienti članov in konstant sistema oblikuje razširjena matrika (levi del vsebuje koeficiente spremenljivk, desni stolpec pa konstante). Nato matriko poenostavljamo z osnovnimi vrstičnimi operacijami, dokler ne dobimo preproste oblike, iz katere rešitve preberemo z bodisi nazadnim vstavljanjem bodisi neposredno.
Tip 1: Zamenjava ene vrstice z drugo.
Tip 2: Pomnoževanje vrstice z neničelnim številom.
Tip 3: Dodajanje večkratnika ene vrstice k drugi (ali odštevanje).
Cilj postopka in oblike matrik
Cilj Gaussove eliminacije je dobiti matriko v vrstično‑ešalonski obliki (angl. row echelon form). To pomeni, da velja:
- Vse ničelne vrstice (če obstajajo) so na dnu.
- Prvi neničelni element vsake neničelne vrstice (t. i. pivot) je desno od pivota v vrstici nad njo.
- Vsi elementi pod pivotom v njegovem stolpcu so ničle.
Še strožja je reducirana vrstično‑ešalonska oblika (angl. reduced row echelon form): matrika je v vrstično‑ešalonski obliki, vsak pivot je enak 1 in v pivotnem stolpcu so vsi ostali elementi (nad in pod pivotom) enaki 0. V tej obliki lahko rešitve preberemo neposredno. Gaussova eliminacija, ki nadaljuje eliminiranje tudi nad pivoti (torej do popolnoma reducirane oblike), se pogosto poimenuje Gauss–Jordanova eliminacija.
Postopek reševanja korak za korakom
- Oblikuj razširjeno matriko sistema.
- Za vsak stolpec od leve proti desni izberi pivot (če je na pivotnem mestu 0, uporabi zamenjavo vrstic; v praksi pogosto izbereš največji po absolutni vrednosti – delna izbira pivota).
- Po želji normiraj pivot na 1 (pomnoži vrstico z ustreznim številom).
- Z vrstičnimi operacijami odpravi vse elemente pod pivotom (pri Gauss–Jordanovi tudi nad pivotom).
- Ko dosežeš vrstično‑ešalonsko obliko, izračunaj rešitve z nazadnim vstavljanjem; v reducirani obliki rešitve prebereš neposredno.
Vrste rešitev
- Edinstvena rešitev: vsak stolpec koeficientov spremenljivk ima pivot (ni prostih spremenljivk).
- Neskončno mnogo rešitev: vsaj en stolpec brez pivota (proste spremenljivke); rešitve opišemo parametrično.
- Brez rešitve (neskladni sistem): pojavi se vrstica oblike [0 0 … 0 | b] z b ≠ 0.
Kratek primer
Reši sistem: x + y + z = 6, 2x + 3y + z = 11, −x + y + 2z = 7.
Razširjena matrika: [1 1 1 | 6; 2 3 1 | 11; −1 1 2 | 7]
- R2 ← R2 − 2·R1 → [0 1 −1 | −1]
- R3 ← R3 + R1 → [0 2 3 | 13]
- R3 ← R3 − 2·R2 → [0 0 5 | 15]
Iz zadnje vrstice dobimo z = 3; iz druge y − z = −1, torej y = 2; iz prve x + 2 + 3 = 6, torej x = 1. Rešitev je (x, y, z) = (1, 2, 3).
Praktični vidiki in napotki
- Pivotiranje: če je pivot majhen ali 0, zamenjaj vrstice (delno pivotiranje) ali po potrebi tudi stolpce (polno pivotiranje). To izboljša numerično stabilnost in prepreči deljenje z zelo majhnimi števili.
- Računska zahtevnost: za kvadratno matriko n × n je časovna zahtevnost približno O(n³), poraba pomnilnika pa O(n²).
- Posebni primeri: če je det(A) = 0, matrika ni obrnljiva; lahko se pojavi neskončno rešitev ali nobena. Če det(A) ≠ 0, ima sistem edinstveno rešitev.
- Strošek natančnosti: pri realno‑številskih računih zaokroževanje lahko vnese napake; pivotiranje in skaliranje stolpcev lahko te napake zmanjša.
Povezave z drugimi pojmi
- Determinanta: produkt pivotov (upoštevajoč spremembe predznaka pri zamenjavah vrstic) daje determinanto.
- LU‑razcep: sistem lahko rešimo hitreje za več različnih desnih strani b s pomočjo razcepa A = L·U, ki je tesno povezan z Gaussovo eliminacijo.
- Inverzna matrika: z Gauss–Jordanovim postopkom lahko iz [A | I] dobimo [I | A⁻¹], če A je obrnljiva.
V praksi je koristno zapisovati vse uporabljene vrstične operacije, saj to olajša preverjanje pravilnosti in sledenje napakam. Pri večjih ali numerično občutljivih problemih je priporočena uporaba delnega ali polnega pivotiranja ter računalniških knjižnic, ki implementirajo stabilne različice algoritma.