Lipécz György* EGYSZERŰSÍTETT ALGORITMUS AZ ELEMI BÁZISCSERE ELVÉGZÉSÉRE AVAGY A SZÁMÍTÓGÉP-HASZNÁLAT LEHETŐSÉGE A LINEÁRIS ALGEBRA ÉS AZ OPERÁCIÓKUTATÁS ALAPJAINAK OKTATÁSÁBAN " Simplicitassigillum veri" A lineáris algebra és az operációkutatás egyik, mind gyakorlati, mind elméleti szempontból alapvető eljárása a szimplex algoritmus és ezen belül az elemi bázistranszformáció. A szimplex módszert kifejezetten a programozhatóság céljából fejlesztették ki, s bár a tankönyvek szokásos tárgyalásmódja jól kiemeli az eljárás matematikai lényegét, mégis, a jól megjegyezhető mechanikusan elvégezhető eljárás könnyen eltereli a figyelmet a matematikai lényegről. A módszer azonban meglehetősen számolásigényes. Egy n x rc-es mátrix invertálása n 1 * vektorkomponens kiszámítását jelenti, (egy 4x4-es mátrix esetében, pl. ez 64 komponens), és - ha a mátrix egyáltalán invertálható - ez több mint kétszerannyi elemi művelet elvégzését igényli. Az illusztratív számpéldákban persze egyjegyű számokkal lehet dolgozni, köztük több O-val, így az invertáláshoz szükséges szimplex táblák viszonylag gyorsan, számológép használata nélkül előállíthatók. De a legkedvezőbb esetben is mechanikus, unalmas és könnyen eltéveszthető számítássorozatról van szó. Az elemi báziscsere alábbi módosított és végső soron egyszerűsített kifejtése az algoritmust nem bontja elemeire, hanem mátrixműveletek használatával teszi lehetővé, hogy a gondolatmenet egyszerűbb és átláthatóbb legyen, a báziscsere matematikai lényegét még szemléletesebbé is teszi. Minimális számítógépes jártassággal a sok számolás a gépre hárítható. Egyetlenegy műveletről: az elemi báziscseréről van csak szó. Mivel azonban ez számtalan lineáris algebrai és lineáris programozási probléma megoldásában játszik központi szerepet, ezért a bemutatandó módszer az oktatás lehetőségeit a matematikai lényeg változatlansága mellett jelentősen bővíti. 1.Az elemi báziscsere mátrixának meghatározása az invertálásra való utalás nélkül Gondolatmenetünket az egyszerűség kedvéért 3 dimenziós esetre szűkítjük, az általánosítás azonban formálisan és kézenfekvő módon elvégezhető. * Lipécz György főiskolai tanár, tanszékvezető, Általános Vállalkozási Főiskola Köszönettel tartozom Horváth József közgazdász-matematikusnak, a BKÁE oktatójának és Kovács Edithnek, az ÁVF oktatójának, mivel tanulmányom gondolatmenete azon beszélgetések során formálódott ki, amelyeket velük folytattam a lineáris algebra és az operációkutatás oktatásáról.
13 = Legyen adva az e 1? e 2, bázisban egy a és egy b vektor, a = ö,e, + # 2 e2 + í 7 3 b = b l e l +b 2 e 2 + & 3 A feladatunk egy elemi báziscsere végrehajtása: vonjuk be az a vektort a bázisba, pl. az e 2 helyére, (feltesszük, nem egyenlő -val) és írjuk föl az új bázisban a b vektort. Mielőtt belekezdünk, felhívjuk a figyelmet, hogy nem szükséges úgy tekinteni, mintha ez a báziscsere első lépése volna. Az E egységmátrix által megadott bázis egy báziscsere-sorozat akárhányadik lépéseként előállított aktuális bázisnak is tekinthető, ahol persze a bázis vektorai a bázisban egységvektorokként jelennek meg. Az aktuális bázis vektorait nyugodtan elkeresztelhetjük e 2, vektoroknak, és tekinthetjük kanonikus bázisnak" is. Az alább leírt eljárás tehát általánosan érvényes bármely bázisra vonatkozóan egy elemi báziscsere lefolytatására. Gondolatmenetünk a tankönyvekével megegyezően kezdődik: fejezzük ki az e 2 vektort az a fentebbi felírásából: 1 1 1 e 2 =-a } e, + a-a, Ez tehát az e 2 felírva az új [e 1? a, ] bázisban. Jelöljük ezt e 2 " va^- 1 " -a x J_ 1 A b vektor új koordinátáit úgy kapjuk, hogy e 2 helyébe az e ( 2 a) -t írjuk. b (a) =b l e l +b 2 e? +b,
Ezzel meg is érkeztünk, mivel a jobboldal felírható egy mátrix-szorzatként: 'b, b (a, =[e, ef e,] b 3 Az [ej C 3 ] mátrixot jelöljük C-vel és nevezzük az elemi báziscsere mátrixának. A b és a b (a) vektor között a C mátrix teremt kapcsolatot: b< a) = C b Az C = [ej e ( 2 a) ] mátrix elemei: a 1 c = 1 Elvégébe a műveletet: ÍZ, a, b <a) =l 1 Természetesen ugyanazt kaptuk, mint a hagyományos generáló elemes algoritmussal, ahol a generáló elem az, csak egyszerűbb, áttekinthetőbb, számítógéppel elvégezhető algoritmus segítségével.
Ífl2 =E===I^======= = ===g=====i Továbbá, a kézi számolás lehetősége is ugyanúgy fennáll, és a munka ugyanannyi, de - a báziscsere alapelveinek ismertetése után - elegendő a mátrix-szorzás ismert műveletére hivatkozni. Összefoglalva: Ha az aktuális bázis &-adik vektorát akarjuk kicserélni az a vektorral, (a k ^ ) és ebben a bázisban meg akarjuk határozni egy b vektor új koordinátáit, akkor veszünk egy egységmátrixot, és a k-adik oszlopát kicseréljük az e^a) -val. Ezzel megkaptuk az elemi báziscsere C mátrixát. Ennek segítségével bármely - az előbbi bázisban felírt - vektornak az új koordinátáit a C-vel való szorzással kapjuk meg. Egy szimplex táblázatban szereplő valamennyi vektornak az új koordinátáit tehát egyetlen mátrixszorzással elő lehet állítani, ami egy táblázatkezelő program birtokában nagyon egyszerű művelet. Jelöljük az egész szimplex táblázatot S-sel, akkor az új táblázat: s (a) = c s 2. Elemi báziscsere invertálással Ugyanerre az eredményre egy másik úton is eljuthatunk, igénybe véve az inverz mátrix fogalmát. A báziscsere eljárása többek között mátrixok invertálására használható, ezért úgy tűnhet, a gondolatmenet önmagába fordul. De nem így van, mert számunkra az inverz mátrixnak a fogalma is elegendő, és az alkalmazandó gondolatmenetben olyan speciális mátrix szerepel, amelynek az inverze - ha létezik - elemi úton is egyszerűen előállítható. ~1 " A kiinduló bázisunk (az aktuális bázis) most is az [e, e 2 ], azaz: 1 1 A bázisba bevonandó vektor is az a (a k ^ ). Az új bázis pedig: [e, a ], jelöljük E 2 -vel, 1 a, azaz: E, = a 3 1 Az E 2 mátrix a báziscsere tényét szemléletesen és egyszerűen mutatja.
A b vektor az új bázisban: b (a). A b vektor az új bázis vektorainak lineáris kombinációjaként állítható elő, tehát E 2 b (a) = b Amennyiben a b (a) vektort akarjuk előállítani, akkor A inverzével kell szorozni: b (a) = E" 1 b Az E 2! mátrixot az elemi báziscsere mátrixának nevezhetjük. Ezt jelöltük az előbb C-vel. Határozzuk meg az inverz mátrixot. Egyszerű a feladat, mert, mint látni fogjuk, az inverz az eredetitől csak. oszlopban fog különbözni, és ez éppen az e ( 2 vektor lesz. Az előző gondolatmenettől függetlenül haladva, írjuk föl az inverz definíciójának megfelelően, hogy: a) [e, a ejc^i [e a e ] c 2 = e 2 [e, a ]c, = Ebből rögtön látható, hogy a c, = e, és c, = e_ v Tehát, hogy csak az [e, a ejc 2 =e 2 egyenletet kell megoldani. C\2 "" c 22-1 a 3 1
Ez az alábbi három egyszerű egyenletet jelenti: C \2 C 22 A \ = C22 ü l + C 32 = A megoldásra kijön a korábbi eredmény. (Egy ilyen C ii a i = 1 típusú egyenlet egyébként a dimenziószámtól függetlenül mindig adódik az egyenletrendszerben, és a többi egyenlet baloldala mindig kéttagú összeg lesz, ez biztosítja, hogy az inverz elemi úton is gyorsan előállítható.) -a, C 2 = '22 '32 Az elemi báziscsere mátrixa így (e { c 2 ), azaz: Az elemi báziscsere mátrixa tehát: C = 1 a x a, 1 a, 1 a. 1 Összefoglalva: Ha az aktuális bázis &-adik vektorát akarjuk kicserélni az a vektorral (a k ^ ), és ebben a bázisban meg akarjuk határozni egy b vektor új koordinátáit, akkor eljárhatunk a következőképpen is: Vegyünk egy egységmátrixot, A k-adik oszlopát cseréljük ki az a-val, a módosított mátrixot jelöljük E K -val. Határozzuk meg az E K inverzét, amivel megkapjuk az elemi báziscsere C mátrixát.
^ ^ ^ ^ ^ =I=ZZ==ZIZEEEEEEEE^B5 3. Az elemi báziscsere mátrixának értelmezéséről Az elemi báziscsere C mátrixa nem más, mint a korábbi bázis egységvektorainak az új bázisbeli alakja. Más szóval, az új bázis vektoraiból álló mátrix inverze. Ezt fentebb. pontban formálisan levezettük, de megfogalmazhattuk volna már akkor, amikor az e 2 vektort az [e, a e,] bázisban (a) 1 1 1 e 2 = -a, e x H a-a 3 Cl 2 Cl 2 Cl 2 alakban felírtuk, és beillesztettük az e l és vektorok közé. Az ej és komponensei az új bázisban változatlanok maradnak, mivel maguk is tagjai az új bázisnak. íly módon a C = [e, e ( 2 új bázisbeli felírása. a) ] mátrix mindhárom vektora úgy tekinthető, mint a régi bázisvektorok Általánosan is: ha nemcsak egy új vektort vontunk be az eredeti E () bázisba, hanem az A összes vektorát, tehát már az A mátrix oszlopvektorai alkotják az új bázist, akkor a b (A) vektornak az új bázisbeli alakja meghatározható úgy, hogy továbbra is az eredeti bázisvektorok lineáris kombinációjaként írjuk föl, viszont az eredeti bázisvektorokat már az új bázisvektorok lineáris kombinációjaként fejezzük ki. Azaz: b (A) =b ] e l (A) (A) (A) *(A) + b 2 e 2 Mindezek alapján magának az inverz mátrixnak a fogalmát is építhetnénk a báziscsere fogalmára, írjuk föl az aktuális bázis vektorait - ha ez lehetséges - az A négyzetes mátrix vektorai által alkotott bázisban, és az így kapott vektorok mátrixát nevezzük el inverz mátrixnak. Ha pedig már elfogadtuk, hogy az E () bázisról az A bázisra történő áttérés megoldható úgy, hogy az E bázis vektorait felírjuk az A bázisban, akkor ebből már következik, hogy AA 1 = E Hiszen a A -1 = C mátrix c vektora nem más, mint e), azaz, egy E -beli egységvektor az A bázisban. Az A e A) szorzat tehát az E bázis i-edik egységvektorát adja meg. Az eredményül kapott mátrix tehát az egységmátrix. (A) A tényezőket fölcserélve szintén az egységmátrixot kapjuk: A" 1 A = E Ez szorzat ugyanis az a.-nek az A bázisbeli alakját adja, ami egységvektor. A fenti gondolatmenetben ugyanannak az E egységmátrixnak eltérő lesz az interpretációja aszerint, hogy az A vektort az inverzével milyen sorrendben szorozzuk össze. Az szorzat az E bázisbeli egységvektorokat jelenti az E bázisban, míg a A - 1 A szorzat az A bázis bázisvektorait adja az A bázisban, amik szintén egységvektorok.
T6 Az elemi báziscsere mátrixszorzatként való előállítása tehát egyrészt lehetővé teszi az oktatásban ül. a tanulásban a számítógép felhasználását, másrészt a figyelmet a mechanikus eljárásoktól a vektorterek alapvető tulajdonságai felé tereli. Az elemi báziscserét az általános bázistranszformáció egyszerű eseteként lehet bemutatni, és a lineáris egyenletrendszerek elméletét a vektorterek szintjén következetesen, néhány egyszerű alapelv és tétel segítségével mélyebben, mégis egyszerűbben lehet tárgyalni.