Koodausteoria, Kesä 2014 Topi Törmä Matemaattisten tieteiden laitos
3. Lineaariset koodit Topi Törmä Matemaattisten tieteiden laitos 2 / 22
3.1 Lineaarisen koodin määrittely Olkoon F äärellinen kunta. Joukko F n on vektoriavaruus kunnan F suhteen, jonka kannaksi voidaan valita esimerkiksi vektorit E 1 = 10... 0, E 2 = 010... 0,..., E n = 0... 01. Lineaarialgebrasta tiedetään, että epätyhjä joukko U F n on avaruuden F n aliavaruus, jos x + y U kaikilla x, y U ja ax U kaikilla a F ja x U. Topi Törmä Matemaattisten tieteiden laitos 3 / 22
3.1 Lineaarisen koodin määrittely Olkoon F äärellinen kunta. Joukko F n on vektoriavaruus kunnan F suhteen, jonka kannaksi voidaan valita esimerkiksi vektorit E 1 = 10... 0, E 2 = 010... 0,..., E n = 0... 01. Lineaarialgebrasta tiedetään, että epätyhjä joukko U F n on avaruuden F n aliavaruus, jos x + y U kaikilla x, y U ja ax U kaikilla a F ja x U. Määritelmä 3.1.1. Koodausjärjestelmää (M, F, n, γ) sanotaan lineaariseksi, jos M on vektoriavaruus F k (luonnollisesti k n) ja γ on injektiivinen lineaarinen kuvaus M F n. Topi Törmä Matemaattisten tieteiden laitos 3 / 22
Tällöin C = γ(m) on selvästi avaruuden F n k-ulotteinen aliavaruus, joten on luonnollista asettaa seuraava määritelmä. Topi Törmä Matemaattisten tieteiden laitos 4 / 22
Tällöin C = γ(m) on selvästi avaruuden F n k-ulotteinen aliavaruus, joten on luonnollista asettaa seuraava määritelmä. Määritelmä 3.1.2. Lineaariseksi koodiksi kutsutaan avaruuden F n aliavaruutta. Aliavaruuden ollessa k-ulotteinen ja koodin minimietäisyyden ollessa d koodia kutsutaan [n, k, d]-koodiksi tai lyhyemmin [n, k]-koodiksi. Topi Törmä Matemaattisten tieteiden laitos 4 / 22
Jos C on [n, k]-koodi ja {g 1,..., g k } sen kanta, niin koodin C sanat ovat muotoa missä a 1 g 1 + a 2 g 2 + + a k g k = (a 1... a k )G, g 1 g 2 G =. g k k n Koodauskuvaus γ voidaan siis valita niin, että viestivektori m F k kerrotaan matriisilla G, eli valitaan γ(m) = mg. Tällöin C = {c c = mg, m F k }.. Topi Törmä Matemaattisten tieteiden laitos 5 / 22
Määritelmä 3.1.3. Edellä mainittua koodin kantavektoreista muodostettua k n-matriisia G sanotaan [n, k]-koodin C generoijamatriisiksi. Topi Törmä Matemaattisten tieteiden laitos 6 / 22
Määritelmä 3.1.3. Edellä mainittua koodin kantavektoreista muodostettua k n-matriisia G sanotaan [n, k]-koodin C generoijamatriisiksi. Huomautus 3.1.4. Koska kanta ei ole yksikäsitteinen, ei myöskään G ole sitä. Sen sijaan aina rank G = k, sillä matriisin vaakarivit ovat aliavaruuden kantavektoreina lineaarisesti riippumattomia. Topi Törmä Matemaattisten tieteiden laitos 6 / 22
Määritelmä 3.1.3. Edellä mainittua koodin kantavektoreista muodostettua k n-matriisia G sanotaan [n, k]-koodin C generoijamatriisiksi. Huomautus 3.1.4. Koska kanta ei ole yksikäsitteinen, ei myöskään G ole sitä. Sen sijaan aina rank G = k, sillä matriisin vaakarivit ovat aliavaruuden kantavektoreina lineaarisesti riippumattomia. Esimerkki Toistokoodi on [n, 1]-koodi, jolle G = [ 1 1... 1 ]. Topi Törmä Matemaattisten tieteiden laitos 6 / 22
Valitsemalla matriisiksi G muotoa [ I k P ] oleva matriisi, missä I k on k-rivinen yksikkömatriisi ja P on k (n k)-matriisi, saadaan koodisana c = mg muotoon, jossa k ensimmäistä komponenttia muodostavat viestisanan m ja muut n k komponenttia ovat tarkistussymboleja: }...........{{............}}.....{{......} k informaatio n k tarkistus Tätä muotoa olevaa koodausta sanotaan systemaattiseksi koodaukseksi. Systemaattisesta koodauksesta puhutaan myös silloin, kun viestivektori on luettavista suoraan koodisanasta, mutta ei välttämättä sen alusta. Topi Törmä Matemaattisten tieteiden laitos 7 / 22
Jos koodi C 1 saadaan koodista C permutoimalla koodin C koodisanojen komponentteja, niin koodeja C 1 ja C sanotaan ekvivalenteiksi, merkitään C 1 C. Lisäksi lineaarialgebrasta tiedetään, että elementaariset vaakarivimuunnokset eivät muuta matriisin vaakarivien virittämää aliavaruutta. Topi Törmä Matemaattisten tieteiden laitos 8 / 22
Jos koodi C 1 saadaan koodista C permutoimalla koodin C koodisanojen komponentteja, niin koodeja C 1 ja C sanotaan ekvivalenteiksi, merkitään C 1 C. Lisäksi lineaarialgebrasta tiedetään, että elementaariset vaakarivimuunnokset eivät muuta matriisin vaakarivien virittämää aliavaruutta. Elementaarisilla vaakarivimuunnoksilla koodin C generoijamatriisi G saadaan muotoon G = [x 1 x 2... x n ], missä pystyvektorit x i1,..., x k ovat luonnollisen kannan kantavektorit. Permutoimalla matriisin G sarakkeita saadaan matriisi, jonka generoiman koodin koodaus on systemaattista ja jonka generoima koodi on ekvivalenttinen koodin C kanssa. Näin ollen jokaista koodia vastaa sellainen ekvivalenttinen koodi, jossa koodaus on systemaattista. Topi Törmä Matemaattisten tieteiden laitos 8 / 22
Lause 3.1.6. Jos C on lineaarinen koodi, niin d min C = min{wt(x) x C, x 0}. Topi Törmä Matemaattisten tieteiden laitos 9 / 22
3.2 Tarkistusmatriisi Määritelmä 3.2.1. Lineaarisen [n, k]-koodin C tarkistusmatriisiksi kutsutaan (n k) n-matriisia H, jolle C = {x F n xh T = 0}. Topi Törmä Matemaattisten tieteiden laitos 10 / 22
3.2 Tarkistusmatriisi Määritelmä 3.2.1. Lineaarisen [n, k]-koodin C tarkistusmatriisiksi kutsutaan (n k) n-matriisia H, jolle C = {x F n xh T = 0}. Huomautus 3.2.2 Tarkistusmatriisi on olemassa. Topi Törmä Matemaattisten tieteiden laitos 10 / 22
3.2 Tarkistusmatriisi Määritelmä 3.2.1. Lineaarisen [n, k]-koodin C tarkistusmatriisiksi kutsutaan (n k) n-matriisia H, jolle C = {x F n xh T = 0}. Huomautus 3.2.2 Tarkistusmatriisi on olemassa. Topi Törmä Matemaattisten tieteiden laitos 10 / 22
Tarkistusmatriisin olemassaolo Olkoon C [n, k]-koodi kunnan F suhteen ja olkoon {g 1, g 2,..., g k } F n sen kanta, jolloin koodin C generoijamatriisi on g 1 g 2 G =. F k n. g k Topi Törmä Matemaattisten tieteiden laitos 11 / 22
Jos H = h 1 h 2. h n k F (n k) n, missä h i F n kaikilla i = 1,..., n k, on koodin C tarkistusmatriisi, niin on oltava xh T = 0 x C g i H T = 0 i = 1,..., k g i h T j = 0 i = 1,..., k, j = 1,..., n k Gh T j = 0 j = 1,..., n k. Topi Törmä Matemaattisten tieteiden laitos 12 / 22
Jos H = h 1 h 2. h n k F (n k) n, missä h i F n kaikilla i = 1,..., n k, on koodin C tarkistusmatriisi, niin on oltava xh T = 0 x C g i H T = 0 i = 1,..., k g i h T j = 0 i = 1,..., k, j = 1,..., n k Gh T j = 0 j = 1,..., n k. Näin ollen h T j Ker G = {x F (n) Gx = 0} kaikilla j = 1,..., n k. Topi Törmä Matemaattisten tieteiden laitos 12 / 22
Nyt rank-nullity-lauseen (Kertausmonisteen Lause 15) nojalla dim Ker G = null G = n rank G = n k. Topi Törmä Matemaattisten tieteiden laitos 13 / 22
Nyt rank-nullity-lauseen (Kertausmonisteen Lause 15) nojalla dim Ker G = null G = n rank G = n k. Vektoreiksi h T j voidaan näin ollen valita aliavaruuden Ker G kantavektorit, jolloin rank H = n k ja g i H T = 0 kaikilla i = 1,..., k. Jälkimmäinen ehto voidaan kirjoittaa muodossa GH T = 0. Topi Törmä Matemaattisten tieteiden laitos 13 / 22
Nyt rank-nullity-lauseen (Kertausmonisteen Lause 15) nojalla dim Ker G = null G = n rank G = n k. Vektoreiksi h T j voidaan näin ollen valita aliavaruuden Ker G kantavektorit, jolloin rank H = n k ja g i H T = 0 kaikilla i = 1,..., k. Jälkimmäinen ehto voidaan kirjoittaa muodossa GH T = 0. Osoitetaan vielä, että näin muodostettu matriisi H todella on koodin C tarkistusmatriisi. Topi Törmä Matemaattisten tieteiden laitos 13 / 22
Nyt rank-nullity-lauseen (Kertausmonisteen Lause 15) nojalla dim Ker G = null G = n rank G = n k. Vektoreiksi h T j voidaan näin ollen valita aliavaruuden Ker G kantavektorit, jolloin rank H = n k ja g i H T = 0 kaikilla i = 1,..., k. Jälkimmäinen ehto voidaan kirjoittaa muodossa GH T = 0. Osoitetaan vielä, että näin muodostettu matriisi H todella on koodin C tarkistusmatriisi. Koska C = {mg m F k }, niin mgh T = 0 kaikilla m F k eli xh T = 0 kaikilla x C. Topi Törmä Matemaattisten tieteiden laitos 13 / 22
Nyt rank-nullity-lauseen (Kertausmonisteen Lause 15) nojalla dim Ker G = null G = n rank G = n k. Vektoreiksi h T j voidaan näin ollen valita aliavaruuden Ker G kantavektorit, jolloin rank H = n k ja g i H T = 0 kaikilla i = 1,..., k. Jälkimmäinen ehto voidaan kirjoittaa muodossa GH T = 0. Osoitetaan vielä, että näin muodostettu matriisi H todella on koodin C tarkistusmatriisi. Koska C = {mg m F k }, niin mgh T = 0 kaikilla m F k eli xh T = 0 kaikilla x C. Näin ollen C {x F n xh T = 0} = {x F n Hx T = 0} = Ker H. Topi Törmä Matemaattisten tieteiden laitos 13 / 22
Rank-nullity-lauseen nojalla dim Ker H = n rank H = n (n k) = k, joten koska C Ker H ja myös dim C = k, niin C = Ker H = {x F n xh T = 0}. Topi Törmä Matemaattisten tieteiden laitos 14 / 22
Toisaalta, jos H F (n k) n, GH T = 0 ja rank H = n k, niin C Ker H T, sillä C = {mg m F k } ja mgh T = 0 kaikilla m F k. Topi Törmä Matemaattisten tieteiden laitos 15 / 22
Toisaalta, jos H F (n k) n, GH T = 0 ja rank H = n k, niin C Ker H T, sillä C = {mg m F k } ja mgh T = 0 kaikilla m F k. Lisäksi dim Ker H T = n rank H T = n rank H = n (n k) = k = dim C, joten C = Ker H T = {x F n xh T = 0}. Topi Törmä Matemaattisten tieteiden laitos 15 / 22
Toisaalta, jos H F (n k) n, GH T = 0 ja rank H = n k, niin C Ker H T, sillä C = {mg m F k } ja mgh T = 0 kaikilla m F k. Lisäksi dim Ker H T = n rank H T = n rank H = n (n k) = k = dim C, joten C = Ker H T = {x F n xh T = 0}. Siispä tarkistusmatriisiksi käy mikä tahansa matriisi H F (n k) n, jolle GH T = 0 ja rank H = n k. Topi Törmä Matemaattisten tieteiden laitos 15 / 22
Lause 3.2.3. Olkoon C [n, k]-koodi ja olkoon sen generoijamatriisi systemaattisessa muodossa G = [ I k P ]. Silloin matriisi H = [ P T ] I n k on koodin C tarkistusmatriisi. Topi Törmä Matemaattisten tieteiden laitos 16 / 22
Sisätulo avaruudessa F n Jos a = a 1 a 2... a n F n ja b = b 1 b 2... b n F n, niin a b = a 1 b 1 + a 2 b 2 + + a n b n. Topi Törmä Matemaattisten tieteiden laitos 17 / 22
Sisätulo avaruudessa F n Jos a = a 1 a 2... a n F n ja b = b 1 b 2... b n F n, niin a b = a 1 b 1 + a 2 b 2 + + a n b n. Määritelmä 3.2.5. [n, k]-koodin C duaalikoodiksi C sanotaan koodia C = {y F n x y = 0 kaikilla x C}. Topi Törmä Matemaattisten tieteiden laitos 17 / 22
Sisätulo avaruudessa F n Jos a = a 1 a 2... a n F n ja b = b 1 b 2... b n F n, niin a b = a 1 b 1 + a 2 b 2 + + a n b n. Määritelmä 3.2.5. [n, k]-koodin C duaalikoodiksi C sanotaan koodia C = {y F n x y = 0 kaikilla x C}. Lause 3.2.6. [n, k]-koodin C duaalikoodi C on [n, n k]-koodi. Topi Törmä Matemaattisten tieteiden laitos 17 / 22
Lause 3.2.7. Koodin C tarkistusmatriisi on duaalikoodin C generoijamatriisi ja päinvastoin. Topi Törmä Matemaattisten tieteiden laitos 18 / 22
Lause 3.2.7. Koodin C tarkistusmatriisi on duaalikoodin C generoijamatriisi ja päinvastoin. Todistus: Olkoon G F k n koodin C generoijamatriisi. Lauseen 3.2.6 todistuksesta nähdään, että C = {y F n yg T = 0}, joten tarkistusmatriisin määritelmän nojalla G on koodin C tarkistusmatriisi. Topi Törmä Matemaattisten tieteiden laitos 18 / 22
Lause 3.2.7. Koodin C tarkistusmatriisi on duaalikoodin C generoijamatriisi ja päinvastoin. Todistus: Olkoon G F k n koodin C generoijamatriisi. Lauseen 3.2.6 todistuksesta nähdään, että C = {y F n yg T = 0}, joten tarkistusmatriisin määritelmän nojalla G on koodin C tarkistusmatriisi. Jos H on koodin C tarkistusmatriisi, niin xh T = 0 kaikilla x C. Olkoon y F n k. Tällöin yh F n ja yh x = yhx T = y(xh T ) T = 0 kaikilla x C, joten Im H = {yh y F n k } C. Topi Törmä Matemaattisten tieteiden laitos 18 / 22
Lause 3.2.7. Koodin C tarkistusmatriisi on duaalikoodin C generoijamatriisi ja päinvastoin. Todistus: Olkoon G F k n koodin C generoijamatriisi. Lauseen 3.2.6 todistuksesta nähdään, että C = {y F n yg T = 0}, joten tarkistusmatriisin määritelmän nojalla G on koodin C tarkistusmatriisi. Jos H on koodin C tarkistusmatriisi, niin xh T = 0 kaikilla x C. Olkoon y F n k. Tällöin yh F n ja yh x = yhx T = y(xh T ) T = 0 kaikilla x C, joten Im H = {yh y F n k } C. Lisäksi dim Im H = rank H = n k = dim C, joten {yh y F n k } = C. Siispä H on koodin C generoijamatriisi. Topi Törmä Matemaattisten tieteiden laitos 18 / 22
Lause 3.2.8. Jos C on [n, k]-koodi ja H sen tarkistusmatriisi, niin d min C = d täsmälleen silloin, kun jokainen matriisin H (d 1):n sarakkeen joukko on lineaarisesti vapaa ja löytyy sellainen matriisin H d:n sarakkeen joukko, joka on lineaarisesti sidottu. Topi Törmä Matemaattisten tieteiden laitos 19 / 22
Lause 3.2.8. Jos C on [n, k]-koodi ja H sen tarkistusmatriisi, niin d min C = d täsmälleen silloin, kun jokainen matriisin H (d 1):n sarakkeen joukko on lineaarisesti vapaa ja löytyy sellainen matriisin H d:n sarakkeen joukko, joka on lineaarisesti sidottu. Todistus: Olkoon c = (c 1,..., c n ) C koodisana, jonka paino on e. Olkoot sanan c nollasta eroavat koordinaatit c i1,..., c ie ja olkoot h 1,..., h n matriisin H sarakkeet. Tällöin ch T = 0 c h T 1. h T n = c i1 h T i 1 + + c ie h T i e = 0 matriisin H e saraketta h i1,..., h ie ovat lineaarisesti sidottuja. (1) Topi Törmä Matemaattisten tieteiden laitos 19 / 22
Nyt d min C = min{wt(x) x C \ {0}}. Jos d min C = d, niin on olemassa sellainen x C, että wt(x) = d. Näin ollen ekvivalenssien (1) nojalla matriisilla H on d lineaarisesti sidottua saraketta. Topi Törmä Matemaattisten tieteiden laitos 20 / 22
Nyt d min C = min{wt(x) x C \ {0}}. Jos d min C = d, niin on olemassa sellainen x C, että wt(x) = d. Näin ollen ekvivalenssien (1) nojalla matriisilla H on d lineaarisesti sidottua saraketta. Toisaalta koska d min C = min{wt(x) x C \ {0}}, niin ei ole olemassa sellaista y C \ {0}, että wt(y) d 1. Näin ollen ekvivalenssien (1) nojalla matriisilla H ei voi olla lineaarisesti sidottua (d 1) sarakkeen joukkoa. Topi Törmä Matemaattisten tieteiden laitos 20 / 22
Seuraus 3.2.9. Lineaarisen [n, k]-koodin minimietäisyys on korkeintaan n k + 1. Topi Törmä Matemaattisten tieteiden laitos 21 / 22
Seuraus 3.2.9. Lineaarisen [n, k]-koodin minimietäisyys on korkeintaan n k + 1. Määritelmä 3.2.10. Lineaarista [n, k]-koodia, jonka minimietäisyys on n k + 1, sanotaan maksimietäisyyskoodiksi eli MDS-koodiksi. Topi Törmä Matemaattisten tieteiden laitos 21 / 22