Lineáris egyenletrendszerek megoldásának egy módszere

 

A térképészet és a geodézia számos problémája igényli lineáris egyenletrendszer megoldását.

Ilyen feladat adódik többek között akkor, amikor egy bizonyos vetületű térkép egy pontjának síkkoordinátáit át akarjuk számítani egy másik vetület síkkoordinátáiba. Ez végrehajtható pl. polinomos átszámítási transzformációval, ahol a második vetületbeni  X2,Y2  koordináták közelítő értékeit sorra az első vetületbeni  X1,Y1  koordináták polinomjából számítjuk. Másodfokú polinom alkalmazása esetén:

             

           

A transzformációs polinomok  Ai  és Bi  együtthatóinak meghatározásához szükség van olyan illesztőpontokra (esetünkben 6-ra), amelyeknek mindkét vetületben ismerjük a koordinátáit. Az illesztőpontok koordinátáit sorra behelyettesítve a fenti egyenletekbe, két lineáris egyenletrendszert kapunk (esetünkben egy-egy 6 ismeretlenes, 6 egyenletből álló lineáris egyenletrendszert az Ai-kre és a Bi-kre). Az egyenletrendszerek megoldásából kapott Ai és Bi együtthatók birtokában tetszőleges első vetületbeni X1,Y1  koordinátákból közelítőleg kiszámíthatjuk a második vetületbeni  X2,Y2  koordinátákat.

 

Hasonlóan lineáris egyenletre vezet az a feladat, amelynél az illesztőpontok száma nagyobb az előre rögzített fokszámú transzformációs polinomok együtthatóinak számánál. Ebben az esetben a pontok második vetületbeli koordinátáinak becsült és pontos értékei közti különbségek négyzetösszegének minimalizálása adja a megoldandó lineáris egyenletrendszert.

 

Tekintsük az   x1, x2, x3, … xn  ismeretleneket tartalmazó, n egyenletből álló lineáris egyenletrendszert:

           

 

Ez az egyenletrendszer egyértelműen megoldható, ha az egyenletek baloldalán álló aij  együtthatókból öszeállított  D  determináns nem zérus:

 

           

           

A megoldás ekkor megkapható pl. az ismert Cramer-szabály segítségével.

 

Bizonyos speciális esetekben a lineáris egyenletrendszer egyszerűen megoldható. Vegyük pl. azt az esetet, amikor az együtthatókból összeállított mátrix főátlója alatt csupa 0 elem áll, és a főátlóban nincs 0 elem („felső háromszög alakú” együtthatómátrix). Ekkor az egyenletrendszerünk:

           

A legalsó egyenletből megkapható  xn.  Ezt behelyettesítve a felette lévő egyenletbe, abból ki lehet számítani  xn-1 -et. Alulról felfelé haladva így az összes ismeretlen meghatározható.

 

A Gausstól származó kiküszöböléses eljárás célja az, hogy az egyenletrendszert ekvivalens átalakításokkal a fenti alakra hozza. Ilyen, az egyenletrendszer gyökeit nem befolyásoló átalakítás pl. valamely egyenletnek egy 0-tól különböző számmal való végigszorzása vagy végigosztása, továbbá valamely egyenlet konstans-szorosának egy másik egyenlethez való hozzáadása vagy abból való levonása.

 

Induljunk ki ehhez az

           

egyenletrendszerből. Ha  a11¹0, akkor az első egyenletet osszuk végig a11-gyel:

           

ahol  a1j*  a leosztás után kapott együttható.

 

Most ennek az egyenletnek a konstans-szorosait fogjuk levonni a többi egyenletből, éspedig az  i-edik egyenletből levonjuk az első egyenlet ai1-szeresét, aminek eredményeként az i-edik egyenlet első ismeretlenének együtthatója zérussá válik. Ezt végrehajtva az összes többi egyenletre, az egyenletrendszerünk az alábbi lesz:

           

ahol  aij* (i=2,3,…,n; j=2,3,…,n+1) a műveletek végrehajtása után kapott együttható. Ilyen módon az egyenletrendszerünk első egyenletével „elimináltuk” (kiküszöböltük) az első ismeretlent a többi egyenletből.

 

Az első egyenletet a továbbiak során figyelmen kívül hagyva, marad egy n-1 ismeretlenes, n-1 egyenletből álló egyenletrendszerünk. Ha  a22*¹0, akkor ennek legfelső egyenletét végigosztjuk  a22*-gal:

           

ahol  a2j**  a leosztás után kapott együttható.

Ennek az egyenletnek az  ai2*-szorosát levonjuk az i-edik egyenletből (i=3,…,n), amivel kiküszöböltük az szóbanforgó egyenlet alatti egyenletekből a második ismeretlent:

           

ahol  aij** (i=3,…,n; j=3,…,n+1) a műveletek végrehajtása után kapott együttható.

 

Az eljárást a két első egyenlet figyelmen kívül hagyásával folytatva, a megmaradt  n-2 ismeretlenes egyenletből álló  n-2 ismeretlenes egyenletrendszerből a legfelső segítségével kiküszöböljük a harmadik ismeretlent. Ezt ismételgetjük ciklikusan oly módon, hogy az l-edik eliminációs ciklusban az  l-edik egyenlet segítségével kiküszöböljük az alatta lévő egyenletekből az l-edik ismeretlent. A kiküszöbölés során az aij**×xj  tagok

           

-vé változnak  (i=l+1,…,n, j=l+1,…,n). Ezt az eljárást  l=n–1 -ig folytatjuk, aminek eredményeként az egyenletrendszerünk együtthatómátrixa felső háromszög alakúvá válik, és az ott leírt módon megoldható. Az itt leírt eljárást szokás Gauss-eliminációnak nevezni.

 

Ha a kiindulási  D¹0  feltétel nem teljesül, akkor az azt jelenti, hogy az egyenletrendszerünknek vagy nincs megoldása, vagy végtelen sok megoldása van. Abban az esetben, ha a kiküszöböléses megoldás végrehajtása során az egyik egyenlet baloldalán minden együttható zérussá válik, de a jobboldalon nullától különböző szám áll, akkor az egyenletrendszerünknek nincs megoldása. Ha viszont egy egyenlet azonossággá válik (pl. úgy, hogy a baloldalon valamennyi együttható zérus, és a jobboldalon is nulla áll), akkor az egyenletrendszernek végtelen sok megoldása van.

 

A fentiekben leírt műveletek közül az  all**-lel való osztás csak akkor hajtható végre, ha  all**¹0. Ellenkező esetben az  l-edik ismeretlen eliminálandó együtthatói közül érdemes kiválasztani a legnagyobb abszolút értékűt, és ennek sorát az  l-edik sorral kicserélni, ami után az eljárás folytatható – ez az ún. részleges főelemkiválasztás. (Itt felhasználtuk azt, hogy az egyenletek sorrendje nem befolyásolja az egyenletrendszer gyökeit.)

 

Az  all**-lel való osztás akkor is pontatlan gyököket eredményezhet, ha ugyan  all**¹0, de kicsi abszolút értékű szám. A Gauss-eliminációt ezért célszerű kiegészíteni az ún. teljes főelem-kiválasztással. Ennek lényege, hogy az osztásokat mindig a legnagyobb abszolút értékű együtthatóval végezzük. Tehát az  l-edik eliminációs ciklusban az eljárásban részt vevő együtthatók közül kiválasztjuk a legnagyobb abszolút értékű  aij** együtthatót, majd az ennek sorában álló egyenletet (az i-edik sort) kicseréljük az  l-edik sorban álló egyenlettel, a j-edik ismeretlen  oszlopát pedig az  l-edik ismeretlen oszlopával. (Az alábbi egyenletrendszerben aláhúztuk azt a két felcserélendő tagot, amelyek sorát és oszlopát fel kell cserélni.)

           

 

A sorcsere, mint láttuk, nem befolyásolja az egyenletrendszer gyökeit, azonban az oszlopcsere megváltoztatja a gyökök sorrendjét. Az eljárás végén megkapott gyököket ezért páronként vissza kell cserélgetni, éspedig az oszlopcserék végrehajtásával ellentétes sorrendben.