1. fejezet Abel-csoportok 1.1. Algoritmikus kérdések Abel-csoportokban A kurzus során először az Abel-csoportokkal kapcsolatos algoritmikus kérdésekkel foglalkozunk. Abel-csoportokban általában additív jelölést használunk, tehát a csoportműveletet a + szimbólum jelöli. 1.2. Szabad Abel-csoportok A szabad objektumok fontos szerepet játszanak az algebrában, hiszen belőlük faktorképzés segítségével előállítható az összes algebrai struktúra. Például egy tetszőleges csoport felírható egy alkalmas szabad csoport faktorcsoportjaként. Az Abel-csoportok családjában a szabad Abel-csoportok játsszák ezt a szerepet. Definíció 1.2.1 Legyen F egy Abel-csoport, X pedig az F csoport egy részhalmaza. Az X halmazt szabad generátor-rendszernek nevezzük, ha X = F, valamint tetszőleges G Abel-csoport és tetszőleges f : X G leképezés esetén létezik pontosan egy homomorfizmus f : F G, úgy hogy f X = f. Egy G Abelcsoportot szabad Abel-csoportnak mondunk, ha van neki szabad generátorrendszere. 1
2 Abel-csoportok Példa 1.2.2 Tekintsük az egész számok Z csoportját az összeadásra nézve. Nyilván az X = {1} halmaz generálja a csoportot. Legyen G egy tetszőleges Abel-csoport, és tekintsünk egy f : X G leképezést; tegyük fel, hogy f(1) = g. Ha létezik f : Z G homomorfizmus melyre f X = f teljesül, akkor n Z esetén ( ) f(n) = f 1 + + 1 } {{ } n-szer = f(1) + + f(1) } {{ } n-szer = g + + g = ng. } {{ } n-szer Tehát, ha a kívánt homomorfizmus létezik, akkor az egyértelmű. A létezés igazolásához meg kell mutatni, hogy a fenti f leképezés homomorfizmus. Mivel, ng + mg = (n + m)g, így f(n + m) = (n + m)g = ng + mg = f(n) + f(m). Tehát f egy homomorfizmus, továbbá f(1) = 1g = g = f(g). Mivel f választása tetszőleges volt, X egy szabad generátor-rendszer, a Z csoport pedig szabad csoport. Példa 1.2.3 Legyen Z 2 = {0 2, 1 2 }, a 2-vel való osztás maradékainak kételemű csoportja. Ennek generátor-rendszere az X = {1 2 } halmaz. Állítjuk, hogy az X halmaz nem szabad generátor-rendszer. Legyen például Z 3 = {0 3, 1 3, 2 3 } a háromelemű maradékosztály csoport, és legyen f : 1 2 1 3. Ha f a f egy kiterjesztése, akkor f(0 2 ) = 0 3 kell, hogy teljesüljön. Viszont, f(0 2 ) = f(1 2 + 1 2 ) = f(1 2 ) + f(1 2 ) = 1 3 + 1 3 = 2 3. Tehát X nem szabad generátor-rendszer. Hasonló gondolatmenet mutatja, hogy Z 2 -ben nincs szabad generátor-rendszer, így az nem szabad Abel-csoport. Lemma 1.2.4 Legyen F egy Abel-csoport és legyenek X, Y szabad generátorrendszerek F-ben. Ekkor X = Y. BIZONYÍTÁS. Jelölje Z 2 a kételemű Abel-csoportot. A szabad generátorrendszerek definíciója szerint az f : F Z 2 homomorfizmusok száma megegyezik az X Z 2, illetve az Y Z 2 leképezések számával. Ezek száma 2 X, illetve 2 Y. Így, X = Y.
Csoportelméleti algoritmusok 3 Egy szabad Abel-csoportban, a szabad generátor-rendszerek számosságát a csoport rangjának mondjuk. A 1.2.4 lemma szerint a rang egy jól definiált fogalom. Az 1.2.2 példában szereplő csoport rangja 1. Az 1.2.3 példa gondolatmenetét használva nem nehéz látni, hogy véges Abel-csoportok nem lehetnek szabadok. Valójában a végesen generált szabad Abel-csoportok egyszerűen meghatározhatók, a következőképpen. Jól ismert, hogy az egész számok Z halmaza Abel-csoportot alkot az összeadásra nézve. Tekinthetjük ennek a csoportnak az önmagával vett k-szoros Descartes szorzatát, a Z k = Z Z csoportot. Ennek a csoportnak az elemei rendezett k-asok (a 1,...,a k ) ahol az a i elemek egészek. Az (a 1,...,a k ) és a (b 1,..., b k ) elemek összege (a 1 + b 1,...,a k + b k ). Ennek a csoportnak a zéró-eleme a (0,...,0) elem, az (a 1,...,a k ) elem inverze pedig a ( a 1,..., a k ). A csoportok direkt szorzatának definíciója miatt, két csoportbeli elem (a 1,..., a k ) és (b 1,...,b k ) akkor és csakis akkor egyenlő, ha a i = b i teljesül minden i-re. Tétel 1.2.5 Legyen F egy Abel-csoport és legyen X egy véges szabad generátor-rendszer X-ben. Ekkor F izomorf a Z k csoporttal, ahol k = X. BIZONYÍTÁS. Legyen i {1,..., k} és jelölje e i a Z k csoportnak azt az elemét amelynek minden koordinátája 0, kivéve az i-dik koordinátát, ami 1. Legyenek x 1,...,x k az X elemei, és legyen f : x i e i. Mivel X szabad generátorrendszer, a f leképezés kiterjeszthető egy f homomorfizmussá. Állítjuk, hogy f egy bijekció. Mivel az {e 1,...,e k } halmaz generálja a Z k csoportot és benne van az f képében, f szürjektív. Tegyük fel, hogy α 1,...,α k Z esetén az x = α 1 x 1 + + α k x k elem benne van, az f magjában. Ekkor (0,...,0) = f(x) = f(α 1 x 1 + + α k x k ) = α 1 f(x 1 ) + + α k f(x k ) = α 1 e 1 + + α k e k = (α 1,...,α k ). Tehát α 1 = = α k = 0 és így x = 0. Ezért, ker f = 0, ami azt jelenti, hogy f injektív. Tehát f valóban bijekció. Következmény 1.2.6 A fenti {e 1,...,e k } halmaz szabad generátor-rendszere a Z k csoportnak, így a Z k csoport szabad Abel-csoport, melynek rangja k.
4 Abel-csoportok BIZONYÍTÁS. Továbbra is használjuk az előző bizonyítás jelöléseit, és legyen Y = {e 1,...,e k }. Tegyük fel, hogy G egy tetszőleges Abel-csoport, és legyen ḡ : Y G egy tetszőleges leképezés. Mivel X = {x 1,...,x k } szabad generátorrendszere az előző tételben szereplő F csoportnak, a h : x i ḡ(e i ) leképezés kiterjeszthető egy h : F G homomorfizmussá. Definiáljuk az g leképezést a következőképpen: ha x Z k, akkor legyen g(x) = h(f 1 (x)), ahol f az előző bizonyításban definiált izomorfizmus. Mivel, az f és a h homomorfizmus, a g leképezés is az. Továbbá, g(e i ) = h(f 1 (e i )) = h(x i ) = ḡ(e i ). Ezért g kiterjesztése a ḡ leképezésnek és így a kívánt leképezés létezik. Tegyük fel, hogy g 1, g 2 : Z k G homomorfizmusok melyek kiterjesztik a ḡ leképezést. Ekkor az fg 1, fg 2 leképezések kiterjesztik a x i g(e i ) leképezést. Mivel X szabad generátor-rendszer, fg 1 = fg 2, azaz g 1 = g 2. Tehát a ḡ leképezés kiterjesztése egyértelmű, a {e 1,...,e k } halmaz szabad generátor-rendszer, az Z k pedig szabad csoport. van. Természetesen a Z k csoportnak sok más szabad generátor-rendszere is Általában a Z k szabad generátor-rendszereit bázisoknak mondjuk, az {e 1,...,e k } rendszert pedig standard bázisnak nevezzük. Következmény 1.2.7 Egy k elem által generált Abel-csoport előáll mint a Z k csoport faktorcsoportja. BIZONYÍTÁS. Legyen X = {x 1,...,x k } egy k elemű generátor-rendszere a G csoportnak, és definiáljuk az f : Z k G homomorfizmust a e i x i leképezés kiterjesztéseként. Mivel X generálja a G csoportot, f szürjektív, és így, a homomorfizmus tétel szerint, G = Z k /(ker f). Példa 1.2.8 Legyen G = Z 3 Z 5 = a b. Legyen f : Z k G az e 1 a, e 2 b leképezés kiterjesztése. Ekkor f(α 1, α 2 ) = α 1 a + α 2 b, azaz f(α 1, α 2 ) = 0, akkor és csakis akkor, ha 3 α 1 és 5 α 2. Tehát ker f = {(α3, β5) α, β Z} = (3, 0), (0, 5). Így G = Z 2 / (3, 0), (0, 5).
Csoportelméleti algoritmusok 5 A szabad generátor-rendszer definíciója nem teszi lehetővé, hogy egyszerűen ellenőrizzük, hogy egy szabad Abel-csoportbeli halmaz szabad generátor-rendszer-e. A következő lemma, egy könnyebben kezelhető szükséges és elegendő feltételt ad. Lemma 1.2.9 Legyen F egy Abel-csoport, és legyen X = {x 1,...,x k } egy véges részhalmaza F-nek. Ekkor X szabad generátor-rendszer akkor és csakis akkor, ha F minden eleme pontosan egyféleképpen írható α 1,...,α k egész számok segítségével α 1 x 1 + + α k x k alakban. BIZONYÍTÁS. Tegyük fel először, hogy X egy szabad generátor-rendszer. Ebben az esetben az F minden eleme felírható α 1 x 1 + + α k x k alakban. Legyen f : F Z k a 1.2.5 tételben definiált izomorfizmus. Tegyük fel, hogy α 1,...,α k és β 1,...,β k egész számok úgy hogy α 1 x 1 + + α k x k = β 1 x 1 + + β k x k. Mivel f izomorfizmus, (α 1,...,α k ) = f(α 1 x 1 + + α k x k ) = f(β 1 x 1 + + β k x k ) = (β 1,...,β k ). Amiből α 1 = β 1,...,α k = β k következik. Tehát az α 1 x 1 + + α k x k elem felírása egyértelmű. Tegyük most fel, hogy X rendelkezik a tételben megkövetelt tulajdonsággal. Legyen G egy Abel-csoport, és legyen ḡ : X G egy leképezés. Definiáljuk az f : F Z k leképezést: f(α 1 x 1 + + α k x k ) = (α 1,..., α k ). A feltétel szerint, f jól-definiált, és egyszerű számolás mutatja, hogy f homomorfizmus. Mivel f(x i ) = e i, a standard bázis elemek benne vannak az f képében, így f szürjektív. Ha f(α 1 x 1 + + α k x k ) = (0,..., 0), akkor az f definíciója miatt, α 1 = = α k = 0, azaz α 1 x 1 + + α k x k = 0. Tehát, ker f = 0, és így f egy izomorfizmus. Tekintsük az e i standard bázis elemeket Z k -ban és legyen Y = {e 1,...,e k }. Jelölje h : Y G azt a leképezést melyre h(e i ) = ḡ(x i ). Ekkor a h kiterjeszthető egy h : Z k G homomorfizmussá, és definiálhatjuk a g leképezést a következőképpen: x F esetén legyen g(x) = h(f(x)). Mivel h és f homomorfizmusok, a g is az, továbbá g X = ḡ. Ha g 1, g 2 : F G melyekre g 1 X = g 2 X = ḡ, akkor g 1 f 1 és g 2 f 1 olyan leképezések, melyekre g 1 f 1 Y = g 2 f 1 Y. Mivel Y szabad generátor-rendszer, g 1 f 1 = g 2 f 1 következik, tehát g 1 = g 2.
6 Abel-csoportok 1.3. Szabad Abel-csoportok részcsoportjai Egy szabad Abel-csoport minden részcsoportja is szabad Abel-csoport. Mi ezt az eredményt csak végesen generált szabad Abel-csoportok esetén bizonyítjuk. Tétel 1.3.1 Egy k rangú szabad Abel-csoport tetszőleges részcsoportja is egy legfeljebb k rangú szabad Abel-csoport. BIZONYÍTÁS. A 1.2.5 tétel miatt, elegendő belátni, hogy az F = Z k csoport tetszőleges H részcsoportja szabad Abel-csoport melynek rangja legfeljebb k. Legyen i {0,..., k} és jelölje F i azon k-asok halmazát, amelyekben az első i koordináta 0. Ezzel definiáltuk következő F-beli részcsoportláncot: F = F 0 > F 1 > > F k 1 > F k = 0; továbbá i {0,..., k 1} esetén F i /F i+1 = Z. Legyen Hi = H F i. Ekkor, ha i {0,..., k 1}, akkor H i H i+1 = H F i H F i+1 = H F i H F i F i+1 = (H F i ) + F i+1 F i+1, és ezért H i /H i+1 izomorf a F i /F i+1 = Z csoport egy részcsoportjával. A Z egy részcsoportja vagy triviális, vagy pedig izomorf Z-vel, ezért vagy H i /H i+1 = 0 vagy H i /H i+1 = Z. A fentiek szerint a H csoportban definiáltunk egy H 0 = H H 1 H k 1 H k = 0 részcsoportláncot amelynek faktorai vagy triviálisak vagy pedig izomorfak a Z csoporttal. A láncból hagyjuk el az ismétlődéseket, és alkossunk egy H 0 = H > H 1 > > H m 1 > H m = 0 részcsoportláncot amelyben minden faktor izomorf a Z csoporttal. Jegyezzük itt meg, hogy m k. Válasszunk, i {1,..., m} esetén, egy a i H i 1 elemet úgy, hogy a i + H i = H i 1 /H i. Ilyen elem létezik, hiszen H i 1 /H i egy ciklikus csoport. Mivel H i 1 /H i = Z, H i 1 /H i = {k(a i + H i ) k Z} = {ka i + H i k Z},
Csoportelméleti algoritmusok 7 továbbá k 1 a i + H i = k 2 a i + H i akkor és csakis akkor, ha k 1 = k 2. Legyen x H i 1. Az x elem a H i részcsoport pontosan egy mellékosztályában található, ezért egyéretelműen léteznek k Z és y H i melyekkel x = ka i + y teljesül. Azt állítjuk, hogy a {a 1,...,a m } halmaz szabad generátor-rendszer a H csoportban. Legyen x H. Az előző bekezdés állítása szerint létezik pontosan egy α 1 Z és pontosan egy y 1 H 1 úgy hogy x = α 1 a 1 + y 1. Hasonlóan, létezik pontosan egy α 2 Z és pontosan egy y 2 H 2 úgy hogy y 1 = α 2 a 2 + y 2, és így y = α 1 a 1 +α 2 a 2 +y 2. Ezt a sort folytatva, azt találjuk, hogy egyértelműen léteznek α 1,...,α m Z amelyek kielégítik az y = α 1 a 1 + + α m a m egyenletet. Az 1.2.9 lemma szerint a {a 1,...,a m } halmaz szabad generátor-rendszer a H csoportban, és így a H csoport szabad Abel-csoport. Továbbá a H csoport rangja m, ami nem nagyobb mint k. 1.4. Sorműveletek egész mátrixokkal Jelölje M m,k (Z) az m sorból és k oszlopból álló Z feletti mátrixok halmazát. A Z k csoport egy G részcsoportját megadhatjuk egy A M m,k (Z) mátrix segítségével, melynek a sorai generáljak a G csoportot. Szimbólumokkal ezt a tényt úgy fejezzük ki, hogy G = A. A fenti 1.3.1 tétel szerint, feltehetjük, hogy m k. Világos, hogy az A csoport megegyezik az A mátrix soraiból álló egész együtthatós lineáris kombinációk a halmazával. Ebben a szakaszban olyan módszereket ismertetünk, amik az alábbi kérdésekre választ adnak: (i) Ha A M m,k (Z) és B M n,k (Z), akkor vajon igaz-e, hogy A = B. (ii) Ha A és B a fenti mátrixok, akkor igaz-e, hogy Z k / A = Z k / B. (iii) Ha A M m,k (Z) és a Z k, akkor vajon igaz-e, hogy a A. A M m,k (Z)-beli mátrixok körében a következő műveleteket elemi (egész) sorműveleteknek nevezzük: (i) két sor felcserélése; (ii) egy sor szorzása 1-gyel;
8 Abel-csoportok (iii) egy sor valamely egész többszörösének hozzáadása egy másik sorhoz. Példa 1.4.1 Tekintsük az alábbi mátrixot 1 1 3 0 2 2 0 4. 3 1 3 0 Az első és a harmadik sor felcserélése után a 3 1 3 0 2 2 0 4. 1 1 3 0 mátrixot kapjuk. Szorozzuk meg a második sort 1-gyel: 3 1 3 0 2 2 0 4 1 1 3 0. Végül pedig adjuk a második sor 2-szeresét a harmadik sorhoz: 3 1 3 0 2 2 0 4 3 3 3 8 Ha A, B M m,k (Z), akkor az A és B mátrixokat sor-ekvivalensnek mondjuk,. ha a B megkapható az A-ból sorműveletek segítségével. Lemma 1.4.2 A sor-ekvivalencia egy ekvivalencia reláció az M m,k (Z) halmazon. Továbbá, ha A és B sor-ekvivalens mátrixok, akkor A = B. BIZONYÍTÁS. Világos, hogy a reláció reflexív, mert az A mátrixból önmagát kapjuk, ha például egy sorát kétszer megszorozzuk 1-gyel. A reláció nyilván tranzitív is, mert ha az A mátrixból megkapható a B, a B-ből pedig a C sorműveletek segítségével, akkor ezeket a sorműveleteket egymás után elvégezve az A mátrixból a C-t nyerjük. tehát csak a szimmetriát kell belátni. Az ekvivalencia reláció igazolásához Először megmutatjuk, hogy a fenti
Csoportelméleti algoritmusok 9 sorműveletek megfordíthatóak, azaz ha B megkapható A-ból egyetlen sorművelet segítségével, akkor A is megkapható B-ből szintén egyetlen sorművelet segítségével. Az állítás nyilvánvaló, ha a sorművelet két sor felcserélése, vagy pedig egy sor 1-gyel való szorzása. Ha a B-t úgy kaptuk, hogy az A mátrix i-dik sorához hozzáadtuk a j-dik sor α-szorosát, (i j) akkor a B-ből visszanyerjük az A-t, ha a B mátrix i-dik sorához hozzáadjuk az j- dik sor α-szorosát. Tehát ha most feltesszük, hogy A és B sor-ekvivalens mátrixok, akkor a B mátrix megkapható az A-ból elemi sorműveletek egy sorozatát végrehajtva. A fenti okoskodás miatt, ha most a B-ből indulunk ki, és a sorműveletek ellentettjét hajtjuk végre fordított sorrendben, akkor visszakapjuk az A mátrixot. Tehát a reláció szimmetrikus. A második állítás bizonyításához először belátjuk, hogy ha a B mátrix megkapható az A mátrixból egy sorművelet segítségével, akkor B A. Az állítás nyilvánvaló, ha a sorművelet két sor felcserélése vagy pedig egy sor 1-gyel való szorzása. Tegyük fel, hogy B-t úgy kaptuk, hogy az A mátrix i-dik sorához hozzáadtuk a j-dik sor α-szorosát. Ekkor az i-dik sor kivételével, a B mátrix minden sora szerepel az A mátrixban is. Ezek a sorok tehát benne vannak az A részcsoportban. A B mátrix i-dik sora felírható a i + αa j alakban, ahol a i és a j jelöli az A mátrix i-dik és j-dik sorát. Ebből a felírásból látszik, hogy ez a sor is benne van az A sorai által generált A részcsoportban, tehát valóban B A. Ha most feltesszük, hogy B megkapható az A-ból egyetlen sorművelet segítségével, akkor az előző bekezdésben bizonyítottak miatt, B A. Ekkor azonban A is megkapható az B mátrixból egy hasonló sorművelet segítségével, így A B. Tehát A = B következik. Végül, ha A és B ekvivalens mátrixok, akkor B megkapható az A-ból sorműveletek egy sorozatának segítségével. Ezek a sorműveletek azonban nem változtatják meg a sorok által generált részcsoportot. Így A = B teljesül. A 1.4.1 példában szereplő négy mátrix egymással páronként sor-ekvivalens.
10 Abel-csoportok 1.5. A Hermite normál forma Az előző fejezetben láttuk, hogy az elemi sorműveletek nem változtatnak egy M m,k (Z)-beli mátrix sorai által generált részcsoporton. Így ha A M m,k (Z), akkor elemi sorműveletek segítségével szeretnénk egy szép B M m,k (Z) mátrixot kapni melyre A = B teljesül. Lássunk erre egy példát. Példa 1.5.1 Legyen A a következő mátrix: 1 2 1 2 2 0 2 0 1 3 1 2 3 2 2 3 1 2 3 2 3 3 2 2 1. Az első sor megfelelő skalárszorosait hozzáadva a többi sorhoz, elérhetjük, hogy az első oszlopban csak az első sorbeli elem nem-nulla: 1 2 1 2 2 0 2 0 1 3 0 4 4 0 4. 0 5 1 9 8 0 3 5 4 5 Vegyük az első sor ellentettjét, hogy vezéreleme (a sorbeli első nem-nulla elem) pozitív legyen: 1 2 1 2 2 0 2 0 1 3 0 4 4 0 4. 0 5 1 9 8 0 3 5 4 5 A második sor megfelelő skalárszorosait hozzáadva a többi sorhoz, csökkenthetjük a második oszlopban, a második sortól lefelé lévő elemek abszolút
Csoportelméleti algoritmusok 11 értékét: 1 2 1 2 2 0 2 0 1 3 0 0 4 2 2. 0 1 1 12 1 0 1 5 6 1 A negyedik sort használva, lenullázhatjuk a második oszlop második, harmadik, és ötödik sorában lévő elemeit: 1 2 1 2 2 0 0 2 23 1 0 0 4 2 2. 0 1 1 12 1 0 0 4 6 0 Cseréljük fel második és negyedik sorokat: 1 2 1 2 2 0 1 1 12 1 0 0 4 2 2 0 0 2 23 1 0 0 4 6 0. A második sor 2-szeresét az első sorhoz adva elérjük, hogy a második sor vezéreleme felett az első sorban 0 legyen: 1 0 3 26 0 0 1 1 12 1 0 0 4 2 2. 0 0 2 23 1 0 0 4 6 0 A fenti eljáráshoz hasonlóan, a negyedik sor segítségével lenullázzuk a harmadik oszlop harmadik és ötödik sorában lévő elemeit, felcseréljük a negyedik és a harmadik sorokat, majd gondoskodunk róla, hogy a harmadik sor vezéreleme felett csak a vezérelemnél kisebb abszolút értékű elemek legyenek.
12 Abel-csoportok Így a következő mátrixot kapjuk: 1 0 1 3 1 0 1 1 11 2 0 0 2 23 1 0 0 0 44 4 0 0 0 52 2. A negyedik és ötödik sorokat addig adogatjuk egymáshoz, vagy vonogatjuk egymásból, míg az egyikben a negyedik oszlopban lévő elem 0 lesz. Aztán sorcserével elérjük, hogy a negyedik sorban és negyedik oszlopban lévő elem nem-nulla, majd a negyedik sor vezéreleme feletti elemeket redukáljuk: 1 0 1 3 1 0 1 1 3 26 0 0 2 3 69. 0 0 0 4 14 0 0 0 0 30 Végül az ötödik sor segítségével redukáljuk az ötödik oszlopban lévő elemeket: 1 0 1 3 1 0 1 1 3 26 0 0 2 3 9. 0 0 0 4 16 0 0 0 0 30 Az eljárás végeredménye egy felső háromszög mátrix, melyben a vezérelemek nem-negatívak, illetve a vezérelemek felett tőlik kisebb abszolút értékű nemnegatív számok vannak. Definíció 1.5.2 Azt mondjuk, hogy egy A M m,k (Z) mátrix Hermite normál formában (HNF) van ha a következők teljesülnek: (i) Valamely r-re az első r sor nem-nulla, az utolsó m r sor pedig nulla. Azaz a nulla sorok a mátrix alján találhatók.
Csoportelméleti algoritmusok 13 (ii) Ha i r és A i,ji az i-dik sor első nem-nulla eleme, akkor j 1 < j 2 < < j r. Azaz, a nem-nulla sorok vezérelemei (a sorban lévő első nem-nulla elem) egyre beljebb találhatók, és így a mátrix felső háromszög alakú. (iii) Ha i r, akkor A i,ji > 0. Azaz a nem-nulla sorok vezéreleme pozitív. (iv) Ha k < i r akkor 0 A k,ji < A i,ji. Azaz, a egy nem-nulla sor vezéreleme felett kisebb, nem-negatív elemek találhatók. Az 1.5.1 példában az számolás végén kapott mátrix HNF alakú. A példa jól szemlélteti, azt az eljárást, amivel bármely egész értékű mátrix HNF alakra hozható. Az eljárás egy leírását adja a HNF algoritmus, mely egy tetszőleges mátrixot Hermite normál formájúvá konvertál. Az algoritmus leírásában M i jelöli az M mátrix i-dik sorát, M i,j pedig az i-dik sor j-dik elemét. Ha a, b Z, akkor egyértelműen léteznek q és r egész számok melyekre a = qb + r és 0 r < b (euklideszi osztás) és a div b jelöli az osztás q hányadosát. Sajnos a HNF algoritmus nem túlságosan hatékony. Tekintsük például az alábbi mátrixot: 5 1 1 1 4 2 4 3 3 1 1 1 3 4 2. 3 3 4 4 2 2 1 5 1 4 Ennek HNF alakja az algoritmus GAP implementációja segítségével megkapható: 1 0 0 0 210 0 1 0 0 92 0 0 1 0 446 0 0 0 1 1400 0 0 0 0 2073 Míg az input mátrix elemei viszonylag kicsik (legfeljebb 5 abszolút értékűek), és az eredmény maximális abszolút értékű eleme is 2073, addig a közbülső mátrixokban előforduló legmagasabb abszolút értékű elem 2.386.233. Mivel, nagyobb mátrixokban ez a probléma még élesebben jelentkezik, fontos feladat, hogy olyan HNF algoritmusokat tervezzünk, amelyekben a közbülső mátrixok elemei nem nőnek túlzottan nagyra. Ez jelenleg is egy aktív kutatási terület.
14 Abel-csoportok 1. algoritmus: HNF Input: M M m,n (Z) Output: HNF of M set i := 1; j := 1; while i m and j n if M i,j = = M m,j = 0 then else set j := j + 1 while k l {i,...,m} : 0 < M k,j M l,j do set q := M l,j div M k,j set M l := M l qm k end while set k {i,...,m} : M k,j 0 /* k egyértelmű */ if k i then set M i M k end if if M i,j < 0 then set M i := M i end if for l {1,..., i 1} set q := M l,j div M i,j set M l := M l qm i end if set i := i + 1; j := j + 1 end if end while return M Algorithm 1: A HNF kiszámítása
Csoportelméleti algoritmusok 15 Tétel 1.5.3 A HNF program outputja az egy olyan HNF alakú mátrix amely sorekvivalens az M M m,n (Z) input mátrixszal. BIZONYÍTÁS. Mivel a programban csak elemi sorműveleteket hajtottunk végre, a program futása során minden lépés az eredetivel sor-ekvivalens mátrixot eredményez. Tehát a végső mátrix szintén sor-ekvivalens lesz az eredeti M mátrixszal. Ha i {1,..., n}, akkor jelölje M (i) azt a mátrixot melyet az M első i oszlopából kapunk. Teljes indukcióval belátjuk, hogy a következő állítások teljesülnek. (i) A j változó számlálja, hogy a külső while ciklus hányszor futott le. Továbbá, a külső while ciklus j lefutása után M (j) HNF alakú. (ii) A külső while ciklus j lefutása után az M (j) mátrixban a nem-nulla sorok száma i 1, továbbá i j teljesül. A fenti állításokat j szerinti indukcióval bizonyítjuk. Az j = 0 esetben nincs mit belátnunk. Tegyük fel, hogy az állítás igaz a ciklus j 1 elvégzése után, és lássuk be, hogy az j-dik lefutás után is igaz marad. A while utáni if utasítás feltétele pontosan akkor teljesül, ha a j-dik oszlopban az i-dik sortól lefelé, nincs nem-nulla elem. Ekkor, ha M (j 1) HNF alakú, akkor M (j) is az, továbbá, a nem-nulla sorok száma M (j 1) -ben és M (j) -ben megegyezik. Tehát a j változót eggyel megnöveljük, az i változót nem változtatjuk, és a while ciklus végére ugrunk. Így ebben az esetben a fenti (i) (ii) állítások továbbra is fennállnak. Ezt tesszük egészen addig, míg az if utasítás feltétele hamissá nem válik, azaz a j-dik oszlopban az i-dik sortól kezdődően található egy nem-nulla elem. Tegyük fel most, hogy ebben az esetben vagyunk. A belső while ciklus mindaddig fut, míg M k,j 0 legalább két különböző k {i,...,m} esetén. Amennyiben ez a feltétel teljesül, úgy az algoritmus kiválaszt ezen elemek közül két nem-nullát, mondjuk M k,j -t és M l,j -t, úgy hogy a M k,j M l,j teljesüljön. Ezekkel az elemekkel maradékos osztást végzünk: M l,j = qm k,j + r, ahol q és r egész számok és 0 r < M k,j. Ezután kivonjuk az l-dik sorból a k- dik sor q-szorosát. A művelet után az M l,j = r teljesül, így sikerült csökkenteni az M l,j elem abszolút értékét. A belső while ciklus minden iterációja után az M i,j + + M m,j összeg csökken, így a ciklus véges sok lépés után véget ér.
16 Abel-csoportok A fentiek miatt, a belső while ciklus befejezése után M k,j 0 pontosan egy k {i,...,m} esetén. Ha k i akkor felcseréljük az i-dik és k-dik sorokat, majd pedig, ha ez az elem negatív, akkor negáljuk az i-dik sort. Ezután az M (j) mátrix i-dik sorának vezéreleme M i,j, amelyre teljesül, hogy j i, M i,j > 0, és az is, hogy a vezérelem alatt csupa nulla elem található. Tehát a 1.5.2 definíció (i) (ii) feltételeit beláttuk. A (iii) feltétel az algoritmus végén található for ciklus miatt teljesül. Ha ugyanis, valamely l {1,..., i 1} esetén M l,j -re az (iii) feltétel nem teljesül, akkor ismét maradékos osztást végzünk, M l,j = qm i,j + r ahol 0 r < M i,j, és kivonjuk az i-dik sor q-szorosát az l-dik sorból. Ezután az M l,j elem kielégíti a 1.5.2 definíció (iii) feltételét is. Ha a mátrix oszlopainak száma n, akkor a while ciklus n lefutása után M (n) = M HNF alakú lesz. Következmény 1.5.4 Minden egész mátrix sor-ekvivalens egy Hermite normál formában lévő mátrixszal. BIZONYÍTÁS. Az előző tétel szerint, a HNF algoritmus outputja épp megfelelő. Emlékezzünk, hogy a 1.3.1 tétel szerint a Z n csoport minden részcsoportja szabad csoport, így egy A M m,n (Z) mátrix esetén is igaz, hogy A szabad. A HNF segítségével meghatározhatjuk ennek a csoportnak egy bázisát. Tétel 1.5.5 Ha A egy HNF mátrix, akkor A nem-nulla sorai az A csoport egy bázisát alkotják. BIZONYÍTÁS. Tegyük fel, hogy A M m,n (Z) egy HNF mátrix, és legyen v A. A 1.2.9 lemma szerint elegendő belátni, hogy v pontosan egyféleképpen írható fel az A mátrix nem-nulla sorainak egész együtthatós lineáris kombinációjaként. Legyen r az A-beli nem-nulla sorok száma, és i {1,..., r} esetén legyen A i,ji az i-dik sor vezéreleme. Ha feltesszük, hogy v = (v 1,...,v n ) A, akkor v felírható v = α 1 A 1 + + α r A r (1.1) alakban, ahol A 1,...,A r az A mátrix első r sora, α 1,...,α r pedig egész számok. A (1.1) egyenletből r számú v ji elemre az alábbi r egyenletből álló egyenletrend-
Csoportelméleti algoritmusok 17 szert kapjuk: v j1 = α 1 A 1,j1 v j2 = α 1 A 1,j2 + α 2 A 2,j2. v jr = α 1 A 1,jr + α 2 A 2,jr + + α r A r,jr. Tekintsük ezt az egyenletrendszert a Q test felett. Az egyenletrendszer mátrixa négyzet alakú alsó háromszög mátrix, így ennek a mátrixnak a determinánsa nem-zéró. Ezért, ennek az egyenletrendszernek pontosan egy Q k -beli megoldása van: (α 1,..., α r ). Következésképp, a (1.1) felírás egyértelmű, tehát az A nem-nulla sorai az A csoport egy bázisát adják. Ha A M m,k (Z), akkor szeretnénk eldönteni például, hogy egy Z k -beli v elem benne van-e az A csoportban. A 1.5.5 tétel bizonyítása azt sugallja, hogy a Hermite normál forma segítségével ezt a problémát is hatékonyan meg tudjuk oldani. Példa 1.5.6 Legyen A a következő mátrix: 0 0 0 2 2 0 2 1 1 1 2 1 2 0 0 0 3 1 3 3 és legyen v = (2, 1, 2, 4, 4). Kérdés, hogy a v vektor eleme-e az A csoportnak. Egy A mátrixszal ekvivalens HNF mátrix a HNF algoritmus segítségével könnyen kiszámítható: 2 0 0 0 0 0 1 0 0 0 0 0 1 1 1 0 0 0 2 2 Az 1.4.2 lemma szerint feltehetjük, hogy A a fenti HNF mátrix. Legyenek A 1, A 2, A 3, A 4 az A mátrix sorai, és tegyük fel hogy v A, azaz a v vektor felírható v = α 1 A 1 +α 2 A 2 +α 3 A 3 +α 4 A 4 alakban valamely α 1, α 2, α 3, α 4 Z számok segítségével. A fenti lineáris kombináció első koordinátája mindenképp 2α 1.
18 Abel-csoportok Mivel v első koordinátája 2, így α 1 = 1 kell, hogy teljesüljön. Ugyanez a gondolatmenet mutatja, hogy a v második koordinátája α 2, így α 2 = 1, és hasonlóan α 3 = 2. A v vektor negyedik koordinátája α 3 + 2α 4. Emiatt, α 4 = 3. Ezek után könnyű számolás mutatja, hogy valóban v = A 1 A 2 + 2A 3 3A 4, tehát v A. A fenti példa alapján könnyű egy általános algoritmust létrehozni. Az algoritmus leírásában a HNF algoritmusnál használt jelölést alkalmazzuk, a v vektor i-dik komponensét pedig v i jelöli. 2. algoritmus: ISMEMBER Input: A M m,n (Z) HNF mátrix és v Z n Output: (x 1,...,x m ) ha v A ; egyébként false set r := a nem-nulla sorok száma for i {1,...,r} do set A i,j := az i-dik sor vezéreleme if A i,j v j then return false end if set x i := v j /A i,j set v := v x i A i end for if v 0 then return false else return (x 1,...,x r, 0,..., 0) Z n end if Algorithm 2: Tartalmazási algoritmus Tétel 1.5.7 Legyen A M m,n (Z) egy HNF mátrix, legyenek A 1,...,A m az A mátrix sorai, és legyen v Z n. Ha v A, akkor az IsMember algoritmus outputja egy vektor (x 1,...,x m ) amelyre teljesül a v = x 1 A 1 + + x m A m ; (1.2) egyébként az output false.
Csoportelméleti algoritmusok 19 BIZONYÍTÁS. Az r változó jelöli a nem-nulla sorok számát. A for ciklus belsejében A i,j az i-dik sor első nem nulla eleme. Tegyük fel először, hogy v A és így v = x 1 A 1 + + x m A m, ahol x 1,...,x m Z. Az 1.5.5 tétel szerint az A mátrix első r sora az A csoport egy bázisát adja, ezért az x 1,...,x r együtthatók egyértelműen meghatározottak. Továbbá, mivel az utolsó m r sor nulla, az x r+1,...,x m együtthatók tetszőlegesek, tehát feltehetjük, hogy x r+1 = = x m = 0. Legyen, i {0,...,r 1} esetén, v i = x i+1 A i+1 + + x r A r, és legyen v r = 0. Állítjuk, hogy ha for ciklus i-szer sikeresen végigfut (azaz a ciklusbeli return utasítás nem hajtódik végre), az x 1,...,x i együtthatók értéke helyes, az algoritmusbeli v változó értéke pedig v i. Az i = 0 esetben nincs mit belátni. Tegyük fel, hogy az állítás igaz a for ciklus i 1 lefutása után, és igazoljuk, hogy i lefutás után is igaz marad. Legyen A i,j az i-dik sor első nem-nulla eleme. Ekkor a v i 1 vektor első j 1 komponense szükségszerűen 0, v j pedig az A i,j elem x i -szerese kell, hogy legyen. Tehát ha A i,j v j, akkor v A és az output false. Másrészről, ha A i,j v j, akkor x i = v j /A i,j, és így a x i skalárt megtaláltuk. Az ezt követő set parancs miatt, v = v i 1 x i A i = v i. Ha a v vektor nem eleme a A csoportnak akkor két eset lehetséges. Az első esetben a for cikluson belüli if feltétele nem teljesül, és így az output false. Ha ez nem igaz, akkor a for ciklus elvégzése után a v vektor nem lehet nullvektor, mert ebben az esetben a v A teljesülne. Tehát az algoritmus outputja ebben az esetben is false. Korábban láttuk, hogy minden egész mátrix sor-ekvivalens egy HNF mátrixszal. Most igazoljuk, hogy ez a mátrix lényegében egyértelműen meghatározott. Tétel 1.5.8 Ha H a Z n csoport egy részcsoportja, akkor létezik pontosan egy HNF mátrix A melynek nincsenek zéró sorai, és amelyre H = A teljesül. BIZONYÍTÁS. Legyenek A és B HNF mátrixok zéró sorok nélkül melyekre H = A = B teljesül. Az 1.5.5 tétel szerint, az A sorai és a B sorai is bázisát adják az A = B csoportnak, így az 1.2.4 lemma szerint, az A sorainak száma megegyezik a B sorainak számával. Jelöljük ezt a számot m-mel. Az állítást m szerinti indukcióval igazoljuk.
20 Abel-csoportok Ha m = 1, akkor mátrixaink mindössze egy sorból állnak. Mivel, A B, létezik α Z, melyre A = αb teljesül. Hasonlóan, B = βa valamely β Z egész számra. Tehát, A = αb = αβa. Mivel A-nak van nem-nulla eleme, azt kapjuk, hogy αβ = 1, tehát vagy α = β = 1, vagy pedig α = β = 1. Mivel az A és B mátrixok vezérelemei nem-negatívak, α = β = 1 következik. Tehát, ebben az esetben A = B, így az állítást az m = 1 esetben igazoltuk. Tegyük most fel, hogy m > 1. Legyenek a és b az A és B mátrixok első sorainak vezérelemei. Tegyük fel, hogy a a j 1 -dik oszlopban található, a b pedig a j 2 -dik oszlopban. Ekkor, a HNF definíciója miatt, a A csoport minden elemében az első j 1 1 koordináta 0, tehát a b elem oszlopszáma legalább j 1. Tehát j 1 j 2. Az érvelést megfordítva kapjuk, hogy j 2 j 1, azaz j 1 = j 2 következik; jelölje j ezt a számot. Legyen A 1 az a mátrix melyet A-ból kapunk az első sor törlése után; képezzük a B 1 mátrixot hasonlóan. A A 1 csoport a A csoport pontosan azon elemeiből áll, melyekben a j-dik komponens 0. Hasonlóan, a B 1 csoport a B csoport pontosan azon elemeiből áll, melyekben a j-dik komponens 0. Mivel A = B, következik, hogy A 1 = B 1. Jelölje H 1 ezt a csoportot. Mivel az A 1 és B 1 mátrixok HNF alakúak, az indukciós feltevés miatt, A 1 = B 1. Legyen u az A első sora, v pedig a B első sora. Jelölje D a H-beli elemek j-dik komponenseinek a halmazát. A D halmaz a Z egy részcsoportja, melyet a is és b is generál. Ezért a = ±b, de mivel a is és b is pozitív, a = b következik. Tehát u v H 1. Tegyük fel, hogy u v, és legyen c az u v vektor első nem-nulla komponense. Tételezzük fel, hogy c a k-dik oszlopban van. Ekkor az A 1 mátrix egyik sorának vezéreleme d szintén a k-dik oszlopban van, és d c. Azonban a HNF definíciója szerint, a d felett csak d-nél kisebb nem-negatív elemek lehetnek, ezért az u és v mátrixok k-dik komponense kisebb mint d, így a különbségük abszolút érteke is legfeljebb d 1, ami ellentmondás. Tehát u = v, és így A = B. Következmény 1.5.9 Minden egész mátrix sor-ekvivalens pontosan egy HNF mátrixszal. BIZONYÍTÁS. Korábban láttuk, hogy létezik egy ilyen HNF mátrix. Tegyük fel, hogy A és B ilyen mátrixok, és jelölje  és ˆB a nulla sorok elhagyása után