1 Diszkrét matematika II, 5 előadás Lineáris egyenletrendszerek Dr Takách Géza NyME FMK Informatikai Intézet takach@infnymehu http://infnymehu/ takach/ 2007 március 8 Egyenletrendszerek Középiskolás módszerek: Helyettesítő módszer: Egy változót kifejezünk az egyik egyenletből, majd a kapott kifejezést behelyettesítjük a másik egyenletbe Egyenlő együtthatók módszere: Az egyenleteket beszorozzuk egy megfelelő számmal/kifejezéssel, majd a kapott egyenleteket egymásból kivonva vagy összeadva egy változó, vagy akár egy komplikált kifejezés kiesik A kető lényegében ugyanaz, most formálisan a másodikat fogjuk követni Általában azonban szervezettebben kell végeznünk a számolást, mint középiskolában Ezt két példával indokoljuk Egyenlő együtthatók módszere: A két egyenlet különbsége: x lg x 2 + y 2 2 = 0 y lg x 2 + y 2 x2 y = 0 lg x 2 + y 2 3 = 0 lg x 2 + y 2 x3 y = 0 x 3 y 3 = 0 azaz Ebből x = 0 vagy y = 0 vagy x = y vagy x = y x 3 y 3 = 0, (x + y)(x y) = 0 Mind a négy esetben visszahelyettesítünk valamelyik eredeti egyenletbe Az első három esetben nem kapunk megoldást, mert a lg függvény csak pozitív számokra értelmezett A negyedik esetben azaz x lg x2 2x 2 x3 = 0, x = ± lg 1 2 x + 3y = 5 2x 3y = 10 5x 12y = 13
2 Az első két egyenlet összege: Ezt behelyettesítve a harmadik egyenletbe: 3x = 15, azaz x = 5 25 12y = 3, azaz y = 1 DE: Az x = 5, y = 1 nem megoldása az egyenletrendszernek, mert sem az első, sem a második egyenletbe nem illik bele A megoldási menetből látszik, hogy más gyöke nem lehet az egyenletrendszernek Tehát nincs megoldás (ELLENŐRZÉS SEGÍTETT!) x + 2y + 3z = 1 4x + 5y + 6z = 2 7x + 8y + 9z = 3 Az első egyenlet 4- illetve 7-szeresét kivonjuk a második illetve harmadik egyenletből: Az első egyenlet 2-szeresét vonjuk ki a második egyenletből: 3y 6z = 2 6y 12z = 4 0 = 0 Ez vajon mit jelent? Minden számhármas megoldása az egyenletrendszernek? (Azonosság?) Vagy más módszerrel kellene megoldani? VÉGTELEN SOK LEHETSÉGES GYÖK = ELLENŐRZÉS SEM SEGÍT! A probléma feloldása: ekvivalens átalakítások Egyenletrendszer megoldása Definíció Legyen adva egy háromismeretlenes egyenletrendszer az x, y, z ismeretlenekkel Az egyenletrendszer megoldása egy olyan (a, b, c) számhármas, hogy x helyére a-t, y helyére b-t, z helyére c-t írva, valamennyi egyenletben egyenlőség teljesül Legyen adva egy n-ismeretlenes egyenletrendszer az x 1, x 2,, x n ismeretlenekkel Az egyenletrendszer megoldása egy olyan a 1, a 2,, a n szám-n-es, hogy x i helyére a i -t írva, valamennyi egyenletben egyenlőség teljesül A fenti egyenletrendszereknél olyan átalakításokat használtunk, ahol a kapott egyenletek következményei az eredeti egyenleteknek, vagyis az eredeti egyenletek megoldásai megoldásai a kapott egyenleteknek is (MIÉRT?) Olyan egyenletrendszerekkel szeretnénk dolgozni, amelyek ekvivalensek egymással, vagyis ugyanazok a megoldásaik Elemei ekvivalens átalakítások Kiindulás: egy k egyenletből álló, n-ismeretlenes egyenletrendszer Minden lépésben egy új egyenletrendszert kapunk, amelyek az eredetivel ekvivalensek ELEMI EKVIVALENS ÁTALAKÍTÁSOK: E1 Valamelyik egyenletet egy nullától különböző számmal beszorozzuk E2 Valamelyik egyenlethez egy másik egyenlet számszorosát hozzáadjuk (kivonjuk) E3 Két egyenletet felcserélünk E4 A 0 = 0 alakú egyenleket elhagyjuk
3 Miért ekvivalens átalakítások? Mert az átalakítással kapott egyenletrendszer következménye az előzőnek, és viszont Az E1, E2 és E3 esetén az átalakítás megfordítása is ugyanolyan típusú átalakítás! Lineáris egyenletrendszerek Definíció Egy k egyenletből álló n ismeretlenes lineáris egyenletrendszer általános alakja α 11 x 1 + α 12 x 2 + + α 1n x n = β 1 α 21 x 1 + α 22 x 2 + + α 2n x n = β 2 α k1 x 1 + α k2 x 2 + + α kn x n = β k Az együtthatók első indexe a sort (egyenletet) jelenti, a második az oszlopot (változót) Ha n = k és az egyenletrendszernek pontosan egy megoldása van, akkor szabályos lineáris egyenletrendszerről beszélünk Jordan-elimináció szabályos egyenletrendszerekre Az elemi átalakítások segítségével a következőképpen oldhatunk meg egy egyenlterendszert: Az egyenletek sorrendjének felcserélésével elérem, hogy az első egyenletben az első ismeretlen együtthatója nullától különbözzék, majd az első egyenlet alkalmas számszorosait kivonom/hozzáadom a többi egyenlethez, s ezzel kiejtem az első ismeretlent a többi egyenletből Ezután második,, n-edik egyenletek sorrendjének felcserélésével elérem, hogy a második egyenletben a második ismeretlen együtthatója nullától különbözzék (ha nem sikerül, akkor az egyenletrendszer nem szabályos), majd a második egyenlet alkalmas számszorosait kivonom/hozzáadom a többi egyenlethez, s ezzel kiejtem a második ismeretlent a többi egyenletből (az elsőből is!) És így tovább, n lépés után az egyenletrendszer minden egyenletében csak egyetlen ismeretlen szerepel, a megoldás könnyen adódik Az algoritmus közben bármely lépés előtt vagy után szabad egy (vagy több) egyenletet beszorozni/elosztani egy nullától különböző számmal Ez a Jordan-elimináció (elimináció=kiküszöbölés) képpen tekintsük az 2x + 3y + z = 10 3x + 5y + 2z = 16 egyenletrendszert Az első egyenlet kétszeresét kivonom a második egyenletből, a háromszorosát a harmadikból: y + 5z = 8 y + 5z = 8 A második egyenlet kétszeresét hozzáadom az elsőhöz, az egyszeresét kivonom a harmadikból: x + 5z = 4 2z = 2
4 A harmadik egyenletet elosztom kettővel, majd az így kapott harmadik egyenlet (z = 1) ötszörösét ill háromszorosát vonjuk ki az első ill második egyenletből: x = 1 y = 3 z = 1 Ebből már egyszerűen adódik az egyenletrendszer megoldása: vagy vektor alakban (x, y, z) = (1, 3, 1) x = 1, y = 3, z = 1, Természetesen az első lépés után beszorozhattuk volna a második egyenletet 1-gyel, hogy y együtthatója 1 legyen, de enélkül sem volt bonyolult a számolás A harmadik ismeretlen (z) kiküszöbölése előtt azonban célszerű volt végigosztani a harmadik egyenletet kettővel, mert különben a harmadik egyenlet 5 2 -szeresét, ill 3 2-szeresét kellett volna levonni a másik két egyenletből Gauss-elimináció A Gauss-eliminációnál az i-edik egyenletet számszorosait csak az i + 1,, n-edik egyenletekből vonom ki Azaz csak lefelé nullázok Igy n 1 lépés után az egyenletrendszer "háromszög alakú" Eddig tart az eliminációs rész A visszahelyetesítés során az n-edik ismeretlen azonnal adódik Ezt beírom az n 1-edik egyenletbe, s adódik az n 1-edik ismeretlen, és így tovább Tehát a Gauss-eliminációnál maga az elimináció kevesebb számolást igényel, viszont utána szükség van még visszahelyettesítésre Az előző egyenletrendszermegoldása Gauss-eliminációval a következő: az első lépés ugyanaz, mint a Jordan-eliminációnál A második lépésben azonban az első egyenlet változatlan marad: Ezzel kész is van az eliminációs rész, jön a visszahelyettesítés + 2z = 2 A harmadik egyenletből z = 1, ezt beírva a második egyenletbe Végül x és y értékét beírjuk az első egyenletbe: y + 3 ( 1) = 8, azaz y = 3 x + 2 3 ( 1) = 8 azaz x = 1 Mátrixok Egyenletrendszerek gazdaságosabb írásmódja (vö számítógépes implementáció): mátrixok (kétdimenziós tömbök) Definíció Egy k sorból és n oszlopból álló, számokat tartalmazó, téglalap alakú táblázatot k n-es mátrixnak nevezünk Az α ij együtthatókból képzett k n-es mátrixot a lineáris egyenletrendszer együtthatómátrixának nevezzük A jobboldali konstansokkal kibővített k (n + 1)-es mátrixot pedig az egyenletrendszer kibővített mátrixának nevezzük Egyenletrendszer: α 11 x 1 + α 12 x 2 + + α 1n x n = β 1 α 21 x 1 + α 22 x 2 + + α 2n x n = β 2 α k1 x 1 + α k2 x 2 + + α kn x n = β k
5 Együtthatómátrix: Kibővített mátrix: α 11 α 12 α 1n α 21 α 22 α 2n α k1 α k2 α kn α 11 α 12 α 1n β 1 α 21 α 22 α 2n β 2 α k1 α k2 α kn β k Elemi ekvivalens átalakítások a kibővített mátrixon M1 Valamelyik sort egy nullától különböző számmal beszorozzuk M2 Valamelyik sorhoz egy másik sor számszorosát hozzáadjuk (kivonjuk) M3 Két sort felcserélünk M4 A csupa 0-ból álló sorokat elhagyjuk Azt az elemet, amelynek segítségével oszlopának többi elemét kinullázzuk, generálóelemnek nevezzük Az előző feladat megoldása mátrixos írásmóddal (Jordan-eliminációval) a következő: 1 2 1 8 1 2 1 8 1 0 5 4 1 0 0 1 2 3 1 10 0 1 3 6 0 1 3 6 0 1 0 3 3 5 2 16 0 1 5 8 0 0 2 2 0 0 1 1 Itt az egyszerűség kedvéért a generálóelem sorát mindig végigosztottuk a generálóelemmel Számolás az elemek szintjén A mátrixos írásmódnál a Jordan-elimináció egy lépése a mátrixelemek szintjén a következő: 1 kiválasztom a generálóelemet, g-t (esetleges sorcsere/oszlopcsere) 2 generálóelem 1 3 generálóelem oszopa 0 4 generálóelem sorát osztom a generálóelemmel 5 további elemek: téglalap szabály: g a b t t = t ab g Természetesen a mátrixos írásmód mögött ott van az egyenletrendszer, ha akarjuk, bármelyik lépésben visszatérhetünk az egyenletrendszerhez (ami elvivalens az eredeti egyenletrendszerrel) Nem szabályos lineáris egyenletrendszerek megoldása Nem szabályos egyenletrendszerről beszélünk, ha az egyenletek és ismeretlenek száma nem egyezik meg, vagy ha nem pontosan egy megoldás van Az egyenletrendszer megoldása során itt is a Gauss-elimináció vagy a Jordan-elimináció) szabályai szerint nullázok először az első főátló-elemmel lefelé, majd a második főátlóelemmel, és így tovább Ha az egyik főátlóelem nulla, akkor ha van alatta nemnulla elem, sorcserét csinálok Ha nincs alatta, de mellete van nemnulla elem, akkor oszlopcserét csinálok (vigyázva az ismeretlenek nyilvántartására) Ha a sor vagy oszlopcsere sikerült, akkor folytatom az eliminációt, ha nem, tehát ha az adott sorban minden együttható nulla, akkor két eset lehetséges:
6 Ha a bal oldalon nulla áll, azaz az egyenlet 0x + 0y + = 0 alakú, akkor ezt az egyenletet (sort) törlöm, mert automatikusan teljesül Ezután folytatom az eliminációt Ha a bal oldalon nem nulla áll, azaz az egyenlet 0x + 0y + = c 0 alakú, akkor az egyenlet-rendszernek nincs megoldása, mert az adott egyenlet (sor) ellentmondó Az algoritmus véget ért Ha ellentmondás nélkül végig tudom csinálni az eliminációt, akkor az egyenletrendszert lépcsős alakra hoztam Ha éppen annyi egyenlet van, mint ahány ismeretlen (vagyis Gauss-elimináció esetén a kapott egyenletrendszer háromszög alakú), akkor egyetlen megoldás van Ha több az ismeretlen, mint az egyenlet (vagyis Gauss-elimináció esetén a kapott egyenletrendszer trapéz alakú), akkor végtelen sok megoldás van Ezeket a következőképpen kapom meg: A téglalap alakú részt átviszem a jobb oldalra, az ebben szereplő ismeretlenek a szabad ismeretlenek; ezeknek tetszőleges értékek adhatóak A bal oldalon maradó átlós ill háromszög alakú részben szereplő ismeretlenek a kötött ismeretlenek Ezek a szabad ismeretlenek segítségével egyértelműen kifejezhetőek képpen tekintsük az egyenletrendszert A megoldás mátrixos alakban: x + 2y + 3v + 4z = 1 5x + 6y + 7v + 8z = 9 9x + 10y + 11v + 12z = 17 1 2 3 4 1 1 2 3 4 1 1 0 1 2 3 5 6 7 8 9 0 4 8 12 4 0 1 2 3 1 9 10 11 12 17 0 8 16 24 8 0 0 0 0 0 A kapott utolsó egyenlet 0x+0y +0v +0z = 0, ami automatikusan teljesül, vagyis az egyenletet kihúzzuk Az elimináció véget ért, két szabad ismeretlen (v és z) maradt, ezeket átvisszük a jobb oldalra, s kapjuk az egyenletrendszer általános megoldását: v, z R tetszőleges, x = 3 + v + 2z, y = 1 2v 3z Tehát végtelen sok megoldás van Egy konkrét megoldás: v = 8, z = 1, x = 3 + 8 + 2 1 = 13, y = 1 2 8 3 1 = 20 Változtassuk meg most a harmadik egyenlet jobb oldalán álló 17-et 20-szá Ekkor az elimináció a következőképpen alakul: 1 2 3 4 1 1 2 3 4 1 1 0 1 2 3 5 6 7 8 9 0 4 8 12 4 0 1 2 3 1 9 10 11 12 20 0 8 16 24 11 0 0 0 0 3 A kapott utolsó egyenlet 0x + 0y + 0v + 0z = 3, ami ellentmondás, tehát az egyenletrendszernek nincs megoldása Az elimináció során ellentmondásra juthatunk ill több egyenlet is kieshet, vagyis a kezdeti egyenletrendszer egyenleteinek számának (m) és ismeretleinek számának (n) viszonyából nem szabad elhamarkodott következtetést levonni Például: Igaz-e, hogy n > m esetén végtelen sok megoldás van? NEM: lehet, hogy az egyenletrendszer ellentmondó Az elimináció során nem muszáj a sor és oszlopcserét ténylegesen elvégezni, lényeg, hogy a nemnulla generálóelemeket jól válasszuk, tehát régebbi generálóelem sorában és oszlopában már ne válasszunk A végén pedig azon oszlopokat viszem át a jobb oldalra, amelyekből nem választottam generálóelemet Lépcsős alak ÁBRA! Vezéregyesek REDUKÁLT LÉPCSŐS ALAK: ha felfelé is nullázunk Például: 1 2 3 5 6 7 0 0 1 2 3 4 0 0 0 1 2 3 Megoldás létezése és egyértelműsége Az általános megoldás leolvasása a (redukált) lépcsős alakból: 1 2 0 0 1 2 0 0 1 0 1 2 0 0 0 1 2 3
7 Megoldhatóság feltétele: ne legyen tilos sor, vagyis olyan sor, ahol minden ismeretlen együtthatója nulla, a jobb oldal viszont nem nulla A megoldás egyértelműségének feltétele: (ne legyen tilos sor és) ugyanannyi legyen a vezéregyesek száma, mint az ismeretlenek száma, azaz minden oszlopban legyen vezéregyes Ekkor (az esetleges csupa nulla sorok elhagyása után) a mátrix négyzetes lesz, ugyanannyi sora lesz, mint ahány oszlopa Ha a megoldás nem egyértelmű, akkor a vezéregyeseket nem tartalmazó oszlopoknak megfelelő változók a szabad változók, értékük tetszőlegesen választható A vezéregyeseknek megfelelő változók a kötött változók, értéküket a szabad változók egyértelműen meghatározzák Az előző példabeli redukált lépcsős alak: 1 2 0 0 1 2 0 0 1 0 1 2 0 0 0 1 2 3 a megfelelő egyenletrendszer x 1 + 2x 2 x 5 = 2 x 3 x 5 = 2 x 4 + 2x 5 = 3 Itt x 2 és x 5 lesznek a szabad változók, értékük tetszőleges A többi ismeretlen: x 1 = 2 2x 2 + x 5 x 3 = 2 + x 5 x 4 = 3 2x 2 Homogén lineáris egyenletrendszer Definíció Egy lineáris egyenletrendszert homogénnek nevezünk, ha a jobb oldali konstansok mindegyike nulla x 1 + x 2 + 2x 3 = 0 4x 1 + 4x 2 + 5x 3 = 0 7x 1 + 7x 2 + 8x 3 = 0 Mivel egy homogén lineáris egyenletrendszer megoldásakor nem léphet fel tilos sor, ezért mindig van megoldás: a triviális x 1 = x 2 = = x n = 0 Ettől különböző megoldás akkor van, ha vannak szabad ismeretlenek Ellenőrző kérdések 1 Miben különbözik a Gauss- és a Jordan ellimináció? 2 Sorolja fel az elemi ekvivalens átalakításokat egyenletrendszerr ill mátrixra! 3 Mi a lineáris egyenletrendszer megoldhatóságának feltétele? 4 Mi a lineáris egyenletrendszer egyértelmű megoldhatóságának feltétele? 5 Hány megoldása lehet egy kineáris egyenletrendszernek, és hány egy homogén lineáris egyenletrendszernek?