Paweª Jamer Promotor: dr in». Agata Pilitowska. Reszty kwadratowe i ich zastosowanie przy konstrukcji wybranych kodów.

Podobne dokumenty
Ciaªa i wielomiany. 1 Denicja ciaªa. Ciaªa i wielomiany 1

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

WST P DO TEORII INFORMACJI I KODOWANIA. Grzegorz Szkibiel. Wiosna 2013/14

istnienie elementu neutralnego dodawania (zera): 0 K a K a + 0 = a, istnienie elementu neutralnego mno»enia (jedynki): 1 K a K a 1 = a,

Relacj binarn okre±lon w zbiorze X nazywamy podzbiór ϱ X X.

Wybrane poj cia i twierdzenia z wykªadu z teorii liczb

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

Metody dowodzenia twierdze«

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

ELEMENTARNA TEORIA LICZB. 1. Podzielno±

Macierze i Wyznaczniki

Metodydowodzenia twierdzeń

WST P DO TEORII INFORMACJI I KODOWANIA. Grzegorz Szkibiel. Wiosna 2013/14

JAO - J zyki, Automaty i Obliczenia - Wykªad 1. JAO - J zyki, Automaty i Obliczenia - Wykªad 1

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

2. L(a u) = al( u) dla dowolnych u U i a R. Uwaga 1. Warunki 1., 2. mo»na zast pi jednym warunkiem: L(a u + b v) = al( u) + bl( v)

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

A = n. 2. Ka»dy podzbiór zbioru sko«czonego jest zbiorem sko«czonym. Dowody tych twierdze«(elementarne, lecz nieco nu» ce) pominiemy.

Macierze i Wyznaczniki

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

PRZYPOMNIENIE Ka»d przestrze«wektorow V, o wymiarze dim V = n < nad ciaªem F mo»na jednoznacznie odwzorowa na przestrze«f n n-ek uporz dkowanych:

Zbiory i odwzorowania

Elementy geometrii w przestrzeni R 3

Maªgorzata Murat. Modele matematyczne.

XVII Warmi«sko-Mazurskie Zawody Matematyczne

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

Materiaªy do Repetytorium z matematyki

Indeksowane rodziny zbiorów

Macierze. 1 Podstawowe denicje. 2 Rodzaje macierzy. Denicja

Funkcje, wielomiany. Informacje pomocnicze

det A := a 11, ( 1) 1+j a 1j det A 1j, a 11 a 12 a 21 a 22 Wn. 1 (Wyznacznik macierzy stopnia 2:). = a 11a 22 a 33 +a 12 a 23 a 31 +a 13 a 21 a 32

Matematyka dyskretna

Wykªad 4. Funkcje wielu zmiennych.

Twierdzenie Wedderburna Witold Tomaszewski

Przekroje Dedekinda 1

Zdzisªaw Dzedzej, Katedra Analizy Nieliniowej pok. 611 Kontakt:

Wykªad 7. Ekstrema lokalne funkcji dwóch zmiennych.

Ukªady równa«liniowych

ANALIZA MATEMATYCZNA Z ALGEBR

1 Metody iteracyjne rozwi zywania równania f(x)=0

1 0 Je»eli wybierzemy baz A = ((1, 1), (2, 1)) to M(f) A A =. 0 2 Daje to znacznie lepszy opis endomorzmu f.

Wielomiany o wspóªczynnikach rzeczywistych

2 Liczby rzeczywiste - cz. 2

Twierdzenie Wainera. Marek Czarnecki. Warszawa, 3 lipca Wydziaª Filozoi i Socjologii Uniwersytet Warszawski

x y x y x y x + y x y

Wektory w przestrzeni

Matematyka wykªad 1. Macierze (1) Andrzej Torój. 17 wrze±nia Wy»sza Szkoªa Zarz dzania i Prawa im. H. Chodkowskiej

Interpolacja funkcjami sklejanymi

Macierz A: macierz problemów liniowych (IIII); Macierz rozszerzona problemów liniowych (IIII): a 11 a 1m b 1 B = a n1 a nm b n

Przeksztaªcenia liniowe

i, lub, nie Cegieªki buduj ce wspóªczesne procesory. Piotr Fulma«ski 5 kwietnia 2017

Liniowe zadania najmniejszych kwadratów

X WARMI SKO-MAZURSKIE ZAWODY MATEMATYCZNE 18 maja 2012 (szkoªy ponadgimnazjalne)

1 Poj cia pomocnicze. Przykªad 1. A A d

Podstawy matematyki dla informatyków

AM II /2019 (gr. 2 i 3) zadania przygotowawcze do I kolokwium

O pewnym zadaniu olimpijskim

Semestr letni 2014/15

gdzie wektory α i tworz baz ortonormaln przestrzeni E n

ANALIZA NUMERYCZNA. Grzegorz Szkibiel. Wiosna 2014/15

1 Przypomnienie wiadomo±ci ze szkoªy ±redniej. Rozwi zywanie prostych równa«i nierówno±ci

Oba zbiory s uporz dkowane liniowo. Badamy funkcj w pobli»u kresów dziedziny. Pewne punkty szczególne (np. zmiana denicji funkcji).

r = x x2 2 + x2 3.

Geometria Algebraiczna

Liczenie podziaªów liczby: algorytm Eulera

Elementy geometrii analitycznej w przestrzeni

Macierze. Dziaªania na macierzach. 1. Niech b d dane macierze , D = , C = , B = 4 12 A = , F = , G = , H = E = a) Obliczy A + B, 2A 3B,

Zagadnienia na wej±ciówki z matematyki Technologia Chemiczna

Maszyny Turinga i problemy nierozstrzygalne. Maszyny Turinga i problemy nierozstrzygalne

Zad. 1 Zad. 2 Zad. 3 Zad. 4 Zad. 5 SUMA. W obu podpunktach zakªadamy,»e kolejno± ta«ców jest wa»na.

Informacje pomocnicze

1 WPROWADZENIE 1. Agata Pilitowska. parzysta. 3. Znaleźć odległość kodu kontroli parzystości nad ciałem GF (q).

Logika dla matematyków i informatyków Wykªad 1

Teoria grup I. Wykªad 8. 1 Elementarna teoria reprezentacji, cz. III. 2. Reprezentacje o tych samych charakterach s równowa»ne.

Niezbyt formalny i niezbyt intuicyjny wst p do algebry abstrakcyjnej

1 Bª dy i arytmetyka zmiennopozycyjna

Wyra»enia logicznie równowa»ne

Matematyka dyskretna dla informatyków

Zadania z z matematyki dla studentów gospodarki przestrzennej UŠ. Marek Majewski Aktualizacja: 31 pa¹dziernika 2006

1 WPROWADZENIE 1. Agata Pilitowska. parzysta. 3. Znaleźć odległość kodu kontroli parzystości nad ciałem GF (q).

Ekstremalnie fajne równania

Funkcja kwadratowa, wielomiany oraz funkcje wymierne

Zadania z PM II A. Strojnowski str. 1. Zadania przygotowawcze z Podstaw Matematyki seria 2

Statystyka matematyczna - ZSTA LMO

1 Granice funkcji wielu zmiennych.

2 Podstawowe obiekty kombinatoryczne

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

Matematyka dyskretna dla informatyków

Funkcje wielu zmiennych

Notatki do wykªadu Algebra

Podzbiory Symbol Newtona Zasada szuadkowa Dirichleta Zasada wª czania i wyª czania. Ilo± najkrótszych dróg. Kombinatoryka. Magdalena Lema«ska

Równania ró»niczkowe I rz du (RRIR) Twierdzenie Picarda. Anna D browska. WFTiMS. 23 marca 2010

Matematyka dyskretna dla informatyków

Arkusz maturalny. Šukasz Dawidowski. 25 kwietnia 2016r. Powtórki maturalne

Matematyczne podstawy kognitywistyki

Aproksymacja funkcji metod najmniejszych kwadratów

Bash i algorytmy. Elwira Wachowicz. 20 lutego

Listy Inne przykªady Rozwi zywanie problemów. Listy w Mathematice. Marcin Karcz. Wydziaª Matematyki, Fizyki i Informatyki.

W poprzednim odcinku... Podstawy matematyki dla informatyków. Relacje równowa»no±ci. Zbiór (typ) ilorazowy. Klasy abstrakcji

Transkrypt:

Paweª Jamer Promotor: dr in». Agata Pilitowska Reszty kwadratowe i ich zastosowanie przy konstrukcji wybranych kodów. 08.1.009

1

Spis tre±ci Rozdziaª 1. Wprowadzenie................... 3 1.1. Streszczenie...................... 3 1.. Wst p......................... 4 Rozdziaª. Algebra...................... 6.1. Algebry abstrakcyjne.................. 6.. Kongruencje...................... 7.3. Pier±cienie Euklidesa i ciaªa sko«czone........ 8.4. Macierze i przestrzenie wektorowe........... 9 Rozdziaª 3. Teoria liczb................... 11 3.1. Reszty kwadratowe................... 11 3.. Symbol Legendre'a................... 14 3.3. Macierz Jacobsthala.................. 14 3.4. t konfiguracje..................... 15 Rozdziaª 4. Kody koryguj ce bª dy............... 19 4.1. Kody nieliniowe.................... 19 4.. Kody liniowe...................... 1 4.3. Ograniczenia na rozmiar kodu.............. 4 Rozdziaª 5. Wybrane kody oparte o reszty kwadratowe...... 7 5.1. Macierze i kody Hadamarda............... 7 5.1.1. Macierze Hadamarda................ 7 5.1.. Konstruowanie macierzy Hadamarda......... 31 5.1.3. Kody Hadamarda.................. 3 5.1.4. Twierdzenie Levenshteina............. 33 5.. Macierze i kody konferencyjne............. 35 5..1. Macierze konferencyjne.............. 35 5... Konstrukcje macierzy konferencyjnych...... 38 5..3. Kody konferencyjne................ 39 5.3. Kody Golay'a...................... 40 5.3.1. Rozszerzony kod Golay'a G 4........... 40 5.3.. Rozkªad wag................... 4 5.3.3. t konfiguracje a rozszerzony kod Golay'a G 4.. 43 5.3.4. Doskonaªy kod Golay'a G 3............ 45 Rozdziaª 6. Dodatek A: implementacja kodu G 3......... 47 6.1. Dekodowanie...................... 47 6.. Opis biblioteki.................... 48 6.3. Listing kodu...................... 50 Bibliografia......................... 5

Rozdziaª 1 Wprowadzenie 1.1. Streszczenie Szybki rozwój zastosowa«techniki komputerowej, jaki obserwowa mo»na w ostatnich latach, prowadzi do znajdowania wielu nowych zastosowa«dla takich dziaªów matematyki jak teoria liczb, algebra liniowa czy algebra abstrakcyjna. Przykªadem tego trendu w informatyce jest powstaªa w ubiegªym wieku i nadal rozwijana matematyczna teoria kodów koryguj cych bª dy, oparta w znacznej mierze na osi gni ciach tych wªa±nie dziedzin. Niniejsza praca ma na celu przybli»enie czytelnikowi niektórych wyników wspomnianej teorii, opartych w swoich konstrukcjach na stricte teorio liczbowym obiekcie, jaki stanowi reszty kwadratowe. Rozdziaª drugi pracy stanowi b dzie przypomnienie przydatnych informacji z algebry liniowej oraz abstrakcyjnej. W szczególno±ci wprowadzone zostan tutaj kongruencje, stanowi ce baz do wyprowadzenia relacji przystawania modulo n oraz reszt kwadratowych. Pojawi si poj cie ciaªa sko«czonego (obiektu odgrywaj cego znacz c rol w teorii kodów korekcyjnych) oraz przedstawiony zostanie jego zwi zek z pier±cieniem Z n. Pojawi si równie» denicje przestrzeni wektorowej oraz iloczynu skalarnego, poj u»ytecznych przy badaniu natury omawianych w pracy kodów. W rozdziale trzecim znajd si u»yteczne dla naszych rozwa»a«zagadnienia z zakresu teorii liczb. W szczególno±ci wprowadzone i szerzej omówione zostan reszty kwadratowe. Pojawi si symbol Legendre'a, jako element po±redni mi dzy resztami kwadratowymi, a macierzami Jacobsthala. W ko«cu wprowadzona zostanie sama macierz Jacobsthala, wyj tkowo przydatna przy pó¹niejszej konstrukcji ró»nych kodów. Rozdziaª zako«czy si omówieniem t konguracji pod k tem wykorzystania ich przy analizowaniu kodów Golay'a G 3 i G 4. Rozdziaª czwarty stanowi b dzie wprowadzenie w ogóln teori kodów koryguj cych bª dy. Pojawi si tutaj poj cia zwi zane z kodami liniowymi oraz nieliniowymi. W szczególno±ci te umo»liwiaj ce badanie tych kodów (odlegªo± Hamminga, waga czy rozkªad wag), okre±lanie ich u»yteczno±ci (twierdzenie 4.6) oraz wygodne opisywanie (macierze generuj ca i kontroli parzysto±ci). Przedstawione zostan tutaj równie» ograniczenia na rozmiar kodów, w tym w szczególno±ci bardzo ciekawe ograniczenie Plotkina, jak równie» du»o prostsze, jednak u»yteczne, ograniczenie Hamminga. W rozdziale pi tym odejdziemy od omawiania ogólnej teorii kodów korekcyjnych i zajmiemy si wybranymi ju» rodzinami tych kodów. Pojawi si tutaj kody Hadamarda budowane w oparciu o macierze Hadamarda. Przedstawiony zostanie szereg wªasno±ci tych macierzy, opisane ograniczenia narzucone na ich rozmiary oraz metody konstrukcji zaproponowane przez Sylvestra i Paley'a. Pojawi si sposoby wykorzystania tych macierzy do budowania ró»nego typu kodów Hadamarda. Zwie«czeniem tej cz ±ci rozdziaªu b dzie twierdzenie Levenshteina, opisuj ce w jaki sposób wykorzysta kody Hadamarda, do uzyskania górnego ograniczenia w nierówno±ci Plotkina. Nast pnie, wedªug podobnego schematu, omówione zostan kody konferencyjne budowane na podstawie macierzy konferencyjnych. Macierze te oraz kody oka» si pod wieloma wzgl dami zbli»one do macierzy i kodów Hadamarda, jednak z uwagi na pewne istotne

Rozdziaª 1. Wprowadzenie 4 ró»nice w ich wªa±ciwo±ciach zasªuguj na oddzielne omówienie. Rozdziaª zako«czy si wprowadzeniem jednych z najciekawszych kodów koryguj cych bª dy, kodów Golay'a. Zdeniowany za pomoc macierzy generuj cej i omówiony zostanie kod G 4. Pojawi si tu w szczególno±ci jego podstawowe wªasno±ci, informacje o rozkªadzie wag sªów kodowych i zwi zkach z t konguracjami. Pokrótce omówiony zostanie tak»e tworzony w oparciu o kod G 4, nale» cy do rodziny kodów doskonaªych, kod G 3. Praca zawiera równie» dodatek, który przedstawia jeden ze sposobów praktycznego wykorzystania cz ±ci z przedstawionej wiedzy. Zostaªa w nim opisana prosta metoda kodowania i dekodowania informacji za pomoc kodów liniowych, a nast pnie pokazana rzeczywista implementacja tej metody w postaci biblioteki j zyka C++ wykorzystuj cej kod G 3 do kodowania i dekodowania informacji. Na pªycie doª czonej do pracy znale¹ mo»na równie» program demonstruj cy dziaªanie samej biblioteki, poprzez symulowanie przesyªania obrazka za pomoc ª cza na którym wyst puj zakªócenia o okre±lonej przez u»ytkownika sile. 1.. Wst p Wraz z dynamicznym rozwojem techniki komputerowej oraz systemów teleinformatycznych pojawiªa si potrzeba zabezpieczenia przesyªanych informacji przed bª dami maj cymi miejsce podczas ich transmisji. Naprzeciw tym potrzebom wyszªa matematyczna teoria kodów korekcyjnych, która najogólniej mówi c opiera si na rozszerzaniu przesyªanych wiadomo±ci o informacje nadmiarowe nie maj ce wpªywu na tre± przekazu. Informacje te maj na celu umo»liwienie odbiorcy werykacj poprawno±ci otrzymanej wiadomo±ci oraz naprawienie niektórych z pojawiaj cych si bª dów, a tym samym poprawienie jako±ci transmisji. Pocz tki rozwoju tej matematycznej teorii datuje si na pó¹ne lata 40-te ubiegªego stulecia, kiedy to pojawiªy si pierwsze prace Golay'a, Hamminga i Shannon'a dotycz ce tematyki. Od tego czasu nast powaª szybki rozwój teorii, w wyniku którego dysponujemy dzisiaj zarówno prostymi rodzinami kodów, metodami kodowania i dekodowania wiadomo±ci, ogólnymi sposobami opisywania i badania wªasno±ci kodów, jak równie» zaawansowanymi, wyszukanymi wynikami, takimi jak posiadaj ca bardzo dobre wªasno±ci teoretyczne i praktyczne rodzina kodów Golay'a. Uzyskane w ramach teorii wyniki umo»liwiaj nam rozwi zywanie wielu praktycznych problemów in»ynierskich zwi zanych z przesyªaniem danych i ochron ich przed degradacj, jak np. zabezpieczanie informacji zawartych na no±nikach magnetycznych i optycznych, czy poprawianie jako±ci komunikacji prowadzonej przez NASA z bezzaªogowymi sondami. Niniejsza praca ma na celu przedstawienie pewnych wybranych rodzin kodów korekcyjnych, w których konstrukcji wykorzystana zostaªa teoria reszt kwadratowych. Nale»y tutaj jednak zauwa»y,»e chocia» wszystkie omawiane kody s w pewien sposób powi zane z resztami kwadratowymi, to tylko kody Golay'a nale» do rodziny kodów nazywanych w teorii kodów korekcyjnych kodami reszt kwadratowych. Omawiana tutaj tematyka podzielona zostaªa na trzy gªówne cz ±ci. Pierwsz z nich tworz rozdziaªy i 3. W których przedstawione zostan podstawowe poj cia przydatne w zrozumieniu gªównego tematu pracy. Rozdziaª drugi stanowi b dzie przypomnienie wiadomo±ci o algebrach abstrakcyjnych. Pojawi si tu równie» podstawowe informacje dotycz ce teorii kongruencji, pier±cieni Euklidesa oraz ciaª sko«czonych. W szczególno±ci wprowadzone zostan pier±cienie Z n i relacja przystawania modulo n, z których korzysta b dziemy niejednokrotnie w kolejnych rozdziaªach pracy. Rozdziaª ten jest równie» miejscem, w którym przypomniane zostan poj cia algebry liniowej takie jak przestrze«wektorowa czy iloczyn skalarny. Rozdziaª trzeci z kolei stanowi bezpo±rednie

Rozdziaª 1. Wprowadzenie 5 ju» wprowadzenie w gªówn tematyk pracy. Omówiona zostanie tutaj teoria reszt kwadratowych, a nast pnie symbol Legendre'a i macierz Jacobsthala, która oka»e si pó¹niej niezwykle u»yteczna przy konstruowaniu praktycznie wszystkich omawianych przez nas kodów. Rozdziaª zako«czy si wprowadzeniem w tematyk t konguracji z których skorzystamy podczas analizowania rozkªadu ró»nych sªów kodowych w kodach Golay'a G 3 i G 4. Rozdziaª 4 zawiera b dzie ogólne informacje dotycz ce teorii kodów koryguj - cych bª dy. Rozpocznie si od przedstawienia podstawowych denicji oraz wªasno±ci kodów nieliniowych, metod ich opisu oraz sposobów badania u»yteczno±ci. Nast pnie szerzej omówione zostan kody liniowe, które z uwagi na ªatwo± opisu i ciekawe wªasno±ci mog i cz sto s wykorzystywane w zastosowaniach praktycznych. Przedstawione zostan mi dzy innymi sposoby reprezentacji kodu za pomoc macierzy generuj cej i macierzy kontroli parzysto±ci oraz poj cia zwi zane z dualno±ci kodów, przydatne przy pó¹niejszym omawianiu kodów Golay'a. Znajdzie si tu równie» opis prostych ogranicze«na rozmiar kodów. W szczególno±ci ograniczenie Plotkina, w którym, jak pó¹niej poka»emy, dzi ki zastosowaniu kodów Hadamarda mo»emy osi gn górn granic. W ko«cu w rozdziale 5 nast pi omówienie wybranych rodzin kodów budowanych w oparciu o reszty kwadratowe. Pojawi si tutaj kody Hadamarda i konferencyjne, konstruowane mi dzy innymi z wykorzystaniem wprowadzonej wcze±niej macierzy Jacobsthala. Pokazane zostanie,»e za pomoc kodów Hadamarda zbudowa mo»na kod osi gaj cy górne ograniczenie w nierówno±ci Plotkina. Pojawi si tu równie» teoria zwi zana z jedn z najwa»niejszych znanych nam obecnie rodzin kodów, mianowicie kodami Golay'a. W tym wypadku omówionym nieco szerzej kodem Golay'a G 4 oraz tworzonym na jego podstawie kodem Golay'a G 3, nale» cym do rodziny tzw. kodów doskonaªych. Efektem pisania niniejszej pracy jest równie» powstanie biblioteki j zyka C++ implementuj cej prosty algorytm kodowania i dekodowania informacji za pomoc kodu Golay'a G 3. Krótkie omówienie zastosowanego algorytmu dekoduj cego, samej biblioteki oraz listing jej kodu znale¹ mo»na w dodatku A. Z kolei na pªycie doª czonej do pracy, poza plikami ¹ródªowymi samej biblioteki, znajduje si równie» prosty program demonstruj cy jej dziaªanie. Symuluje on przesyªanie obrazu przez kanaª transmisyjny o ustalonym przez u»ytkownika prawdopodobie«stwie pojawienia si bª du. Raz bez zastosowania jakiegokolwiek kodowania, a drugi raz z wykorzystaniem kodu Golay'a G 3.

Rozdziaª Algebra.1. Algebry abstrakcyjne Denicja (operacja n argumentowa) Niech dany b dzie niepusty zbiór A oraz pewna liczba naturalna n. Ka»de przeksztaªcenie f : A n A nazywamy n argumentow (n arn ) operacj (lub dziaªaniem) okre±lon na zbiorze A. Uwaga.1 Operacjami 0 argumentowymi b dziemy okre±la wyró»nione elementy zbioru A. Operacje argumentowe cz sto nazywa b dziemy operacjami binarnymi. Denicja (algebra abstrakcyjna) Par uporz dkowan (A, F ), gdzie A jest niepustym zbiorem, natomiast F rodzin operacji w A nazywamy algebr abstrakcyjn (lub dokªadniej F algebr abstrakcyjn albo F algebr ). Zbiór A nazywamy no±nikiem algebry, natomiast F zbiorem operacji podstawowych. Denicja (typ algebry) Funkcj a : F N przyporz dkowuj c ka»dej operacji f F liczb a (f) jej argumentów nazywa b dziemy typem algebry. Oznaczenie Je±li F = {f 1,..., f k } oraz ( i = 1,..., k) a (f i ) = n i, to cz sto zamiast (A, F ) pisa b dziemy (A, f 1, f,..., f k ) oraz mówi,»e ci g (n 1, n,..., n k ) jest typem algebry (A, f 1, f,..., f k ). Je±li nie b dzie prowadziªo to do nieporozumie«, zapis (A, F ) zast powa b dziemy czasami równie» przez A, zaznaczaj c jaka algebra ze zbiorem tym zostaªa zwi zana. Denicja (póªgrupa) Póªgrup nazywamy algebr (G, ) z jednym binarnym dziaªaniem speªniaj - cym warunek ª czno±ci ( x, y, z G) (x y) z = x (y z). Denicja (grupa) Algebr ( G,, 1, 1 ) typu (, 1, 0) nazywamy grup, je±li speªnione s nast puj ce warunki 1. (x y) z = x (y z), (ª czno± ). x x 1 = x 1 x = 1, (istnienie elementu odwrotnego) 3. x 1 = 1 x = x, (istnienie elementu neutralnego) dla dowolnych x, y, z G. Grupy, w których mno»enie speªnia dodatkowo warunek przemienno±ci ( x, y G) x y = y x, nazywamy grupami przemiennymi (lub abelowymi). Uwaga. Mo»na pokaza,»e element neutralny wyznaczony jest jednoznacznie. Podobnie jednoznacznie wyznaczony jest element odwrotny do danego elementu.

Rozdziaª. Algebra 7 Denicja (pier±cie«) Pier±cieniem nazywamy algebr (P, +,, 0, ) tak,»e (P, +,, 0) jest grup przemienn, (P, ) póªgrup oraz zachodzi rozdzielno± mno»enia wzgl dem dodawania ( x, y, z P ) x (y + z) = x y + x z (y + z) x = y x + z x. Denicja (pier±cie«przemienny) Pier±cie«(P, +,, 0, ) nazywamy przemiennym, je±li mno»enie jest w nim przemienne. Denicja (pier±cie«z 1) Pier±cie«(P, +,, 0,, 1) w którym mno»enie posiada element neutralny nazywamy pier±cieniem z 1. Przykªad.3 Pier±cie«liczb caªkowitych (Z, +,, 0,, 1) z naturalnie zdeniowanymi dziaªaniami jest pier±cieniem z jedynk. Denicja (pier±cie«zerowy) Pier±cieniem zerowym nazwiemy pier±cie«(p, +,, 0, ) w którym P jest zbiorem 1 elementowym. Denicja (dzielnik zera) Niech P b dzie pier±cieniem przemiennym oraz x P. Powiemy,»e x jest dzielnikiem zera, je±li ( 0 y P ) x y = 0. Denicja (pier±cie«caªkowity) Pier±cie«(P, +,, 0,, 1) niezerowy przemienny z 1 oraz bez dzielników zera (poza zerem) nazwiemy pier±cieniem caªkowitym. Denicja (pier±cie«z dzieleniem) Pier±cie«z 1 (P, +,, 0,, 1) w którym wszystkie elementy niezerowe tworz grup wzgl dem mno»enia i 0 1 nazywamy pier±cieniem z dzieleniem (lub quasiciaªem). Denicja (ciaªo) Przemienny pier±cie«z dzieleniem (P, +,, 0,, 1) nazywamy ciaªem... Kongruencje Denicja (kongruencja) Niech (A, F ) b dzie dowoln algebr. Relacj równowa»no±ci θ okre±lon na zbiorze A nazywamy kongruencj (A, F ), je±li dla ka»dej k argumentowej operacji f F i dla dowolnych a 1,..., a k, b 1,..., b k A zachodzi a 1 θb 1,..., a k θb k f (a 1,..., a k ) θf (b 1,..., b k ). Twierdzenie.4 Niech θ b dzie kongruencj algebry (A, F ). Wówczas algebra ( A /θ, F ), dla której operacje ze zbioru F okre±lamy wzorem f ([a 1 θ, [a θ,..., [a k θ ) = [f (a 1,..., a k ) θ, gdzie a (f) = k, [x θ - klasa abstrakcji elementu x wzgl dem relacji równowa»no±ci θ, jest algebr tego samego typu co (A, F ). Denicja (algebra ilorazowa) Niech θ b dzie kongruencj algebry (A, F ). Algebr ( A /θ, F ) nazywamy algebr ilorazow algebry (A, F ) przez kongruencj θ.

Rozdziaª. Algebra 8 Przykªad.5 Powiemy,»e liczby caªkowite a i b przystaj modulo n (co symbolicznie oznaczamy a b (modn) lub a n b) je±li reszty z ich dzielenia przez n s sobie równe. Šatwo sprawdzi,»e tak okre±lona relacja jest relacj równowa»no±ci w pier±cieniu z jedynk Z. Speªnia ona równie» warunek a 1 n b 1,..., a k n b k f (a 1,..., a k ) n f (b 1,..., b k ) dla wszystkich dziaªa«z Z, a zatem jest relacj kongruencji tego pier±cienia. Przyjmijmy Z n = Z / n oraz [a n + n [b n = [a + b n, n [a n = [ a n, [a n n [b n = [a b n. Wówczas na mocy twierdzenia.4 algebra ilorazowa ( Zn, + n, n, [0 n, n, [1 n ) algebry Z równie» jest pier±cieniem. Oznaczenie W dalszej cz ±ci pracy, dla uproszczenia zapisu, cz sto zamiast na klasach abstrakcji operowa b dziemy na ich reprezentantach. Pomija b dziemy równie» pisanie symbolu n w dolnym indeksie dziaªa«+ n, n i n, gdy» zazwyczaj jasno wynika z kontekstu kiedy mamy dziaªania te na my±li. Np. operuj c na pier±cieniu Z zamiast [1 + [1 = [0 napiszemy po prostu 1 + 1 = 0..3. Pier±cienie Euklidesa i ciaªa sko«czone Denicja (pier±cie«euklidesa) Pier±cieniem Euklidesa nazywamy pier±cie«caªkowity R, w którym dla ka»dego niezerowego elementu a istnieje taka nieujemna liczba caªkowita d (a),»e 1. ( 0 a, b R) d (a) d (ab),. ( a, b R, b 0) ( q, r R) a = qb + r, gdzie r = 0 lub d (r) < d (b). Przykªady.6 Do pier±cieni Euklidesa zaliczy mo»emy np. 1. Zbiór liczb caªkowitych Z z d (a) = a.. Zbiór F [x wielomianów jednej zmiennej o wspóªczynnikach w ciele F z d (f (x)) = deg (f (x)). Denicja (pierwiastek wielomianu) Element a nazywamy pierwiastkiem wielomianu f (x), je±li f (a) = 0. Twierdzenie.7 Wielomian stopnia n nad ciaªem F mo»e mie co najwy»ej n pierwiastków w F. Denicja (podzielno± ) Niech R b dzie pier±cieniem caªkowitym, a, b R. Mówimy,»e b dzieli a (lub a jest dzielnikiem b) i piszemy b a, je±li ( q R) a = qb. Uwaga.8 W tym miejscu, posªuguj c si relacj podzielno±ci, mo»emy w peªni sformalizowa denicj relacji przystawania modulo n N w pier±cieniu caªkowitym R pisz c a b (modn) n a b, gdzie a, b R. Denicja (najwi kszy wspólny dzielnik) Niech R b dzie pier±cieniem caªkowitym, a, b R. Powiemy,»e g R jest najwi kszym wspólnym dzielnikiem a i b oraz napiszemy g = (a, b), je±li

Rozdziaª. Algebra 9 1. g a g b,. ( c R) c a c b c g. Lemat.9 Niech R b dzie pier±cieniem caªkowitym, a, b, c R. Wówczas je±li c ab i (a, c) = 1, to c b. Wniosek.10 Niech R b dzie pier±cieniem caªkowitym, a, b, c R, n N. Je±li ac bc (modn) i (c, n) = 1, to a b (modn). Denicja (element odwracalny) Niech R b dzie pier±cieniem przemiennym z 1. Element u R nazywamy odwracalnym, je±li ( v R) uv = 1. Element pier±cienia R, który nie jest odwracalny, b dziemy nazywa nieodwracalnym. Denicja (relacja stowarzyszenia) Niech R b dzie pier±cieniem przemiennym z 1. Elementy a, b R nazwiemy stowarzyszonymi, je±li a b i b a. Denicja (element nierozkªadalny) Nieodwracalny element p pier±cienia Euklidesa R nazywamy nierozkªadalnym, je±li z p = ab wynika,»e a lub b jest odwracalny w R. Twierdzenie.11 (o jednoznacznym rozkªadzie) Ka»dy niezerowy element pier±cienia Euklidesa jest albo odwracalny albo jest iloczynem sko«czonej liczby elementów nierozkªadalnych. Czynniki takiego iloczynu wyznaczone s jednoznacznie z dokªadno±ci do ich kolejno±ci i z dokªadno±ci do relacji stowarzyszenia. Twierdzenie.1 Pier±cie«Z p jest ciaªem wtedy i tylko wtedy, gdy p jest liczb pierwsz. Denicja (ciaªo sko«czone) Ciaªem sko«czonym (lub ciaªem Galois) nazywamy ciaªo o sko«czonej liczbie elementów. Twierdzenie.13 Ka»de ciaªo sko«czone zawiera p m elementów, gdzie p jest liczb pierwsz, natomiast m dodatni liczb caªkowit. Uwaga.14 Mo»na wykaza,»e z dokªadno±ci do izomorzmu istnieje dokªadnie jedno ciaªo sko«czone posiadaj ce p m elementów. Ponadto je±li m = 1, to ciaªem tym jest ciaªo Z p..4. Macierze i przestrzenie wektorowe Denicja (przestrze«wektorowa) Przestrzeni wektorow nad ciaªem (F, +,, 0,, 1) nazywa b dziemy algebr (V, +,, 0, F ), gdzie (V, +,, 0) jest grup przemienn i dla ka»dego a F okre±lona jest 1 argumentowa operacja V V ; v av speªniaj ca dla wszystkich v, w V oraz a, b F nast puj ce warunki: 1. a (v + w) = av + aw,. (a + b) v = av + bv, 3. a (bv) = (ab) v, 4. 1v = v.

Rozdziaª. Algebra 10 Denicja (podprzestrze«) Podprzestrzeni przestrzeni wektorowej V nad ciaªem F nazywa b dziemy takie W V,»e dla dowolnych u, v W oraz a F zachodzi 1. u + v W,. au W. Denicja (baza) Niech V b dzie przestrzeni wektorow nad ciaªem F. Ukªad B = (v 1,..., v n ) wektorów z przestrzeni V nazwiemy baz tej przestrzeni je±li 1. jest liniowo niezale»ny,. L (B) = { n k=1 a kv k : a 1,..., a n F } = V. Niech od teraz K oznacza ciaªo liczb rzeczywistych lub zespolonych. Denicja (norma) Norm na przestrzeni wektorowej V nazywa b dziemy funkcj : V K tak,»e 1. u = 0 u = 0,. au = a u, 3. u + v u + v, gdzie u, v V, a K. Denicja (iloczyn skalarny) Iloczynem skalarnym na przestrzeni wektorowej V nazywa b dziemy funkcj, : V V K tak,»e 1. au, v = a u, v,. u + v, w = u, w + v, w, 3. u, v = v, u, 4. u, u 0, u, u = 0 u = 0, gdzie u, v, w V, a K oraz ( z = x + iy C) z = x + iy = x iy. Przykªad.15 Dla wektorów u, v R n, u = [ u 1 u u n, v = [ v1 v v n, norm okre±li mo»emy wzorem u = natomiast iloczyn skalarny wzorem u, v = ( n i=1 u i ) 1, n u i v i. Z tak zdeniowanego iloczynu skalarnego b dziemy cz sto korzysta w naszych dalszych rozwa»aniach. Denicja (ortogonalno± ) Niech V b dzie pewn przestrzeni wektorow, natomiast, iloczynem skalarnym okre±lonym na tej przestrzeni. Powiemy,»e wektory u, v V s ortogonalne i napiszemy u v, je±li u, v = 0. i=1

Rozdziaª 3 Teoria liczb 3.1. Reszty kwadratowe W niniejszym podrozdziale, o ile nie zostanie powiedziane inaczej, symbolem p oznacza b dziemy zawsze liczb pierwsz nieparzyst, a r liczb caªkowit tak,»e (r, p) = 1. Twierdzenie 3.1 (maªe twierdzenie Fermata) Niech a Z, p liczba pierwsza i niech zachodzi (a, p) = 1, wówczas a p 1 1 (modp). Zauwa»my,»e reszty modulo p liczb a, a,..., (p 1) a, to liczby 1,,..., p 1, by mo»e w innej kolejno±ci, a wi c a a... (p 1) a 1... (p 1) (modp), a p 1 (p 1)! (p 1)! (modp). Poniewa» (p, (p 1)!) = 1, wi c stosuj c wniosek.10 do powy»szej kongruencji dostajemy tez. Denicja (reszta kwadratowa) Liczb r b dziemy nazywali reszt kwadratow modulo p je»eli ( x Z) x r (modp). Denicja (niereszta kwadratowa) Je±li r nie jest reszt kwadratow modulo p, to nazywamy j niereszt kwadratow. Uwaga 3. Zwró my uwag,»e z warunku (r, p) = 1 wynika, i» zero nie jest ani reszt, ani niereszt kwadratow. Przykªad 3.3 Resztami kwadratowymi modulo 7 s 1 poniewa» 1 1 (mod7), poniewa» 3 (mod7), 4 poniewa» 4 (mod7), 3, 5 oraz 6 to z kolei niereszty kwadratowe. Zero nie jest oczywi±cie ani reszt, ani niereszt. Twierdzenie 3.4 Kongruencja x r (modp) nie ma rozwi za«lub ma dwa rozwi zania modulo p ró»ni ce si znakiem.

Rozdziaª 3. Teoria liczb 1 Zaªó»my,»e r 1, r s dwoma rozwi zaniami kongruencji x r (modp). Wówczas r1 r (modp) p r1 r p (r 1 r ) (r 1 + r ). Pami taj c,»e p jest liczb pierwsz nieparzyst otrzymujemy p r 1 r p r 1 + r r 1 ±r (modp). Twierdzenie 3.5 Do znalezienia wszystkich reszt kwadratowych modulo p wystarcza rozwa»y kwadraty liczb 1,,..., p 1. Ponadto rozwa»enie ka»dej z powy»szych liczb da nam inn reszt kwadratow. Ka»dy x Z taki,»e (x, p) = 1 przystaje modulo p do jednej spo±ród liczb 1,,..., p 1, a zatem rozwa»enie ich kwadratów da nam na pewno peªen ukªad reszt kwadratowych modulo p. Zauwa»aj c,»e (p x) p px + x x (modp) mo»emy ograniczy zakres rozwa»anych liczb do 1,,..., p 1. Przypu± my,»e w±ród nich nadal znajduj si dwie ró»ne a i b, których kwadraty prowadz do uzyskania tej samej reszty kwadratowej modulo p. Wówczas z przechodnio±ci relacji przystawania modulo p a b (modp) p a b = (a b) (a + b), co w rozwa»anym zakresie warto±ci mo»liwe jest tylko wtedy, gdy a = b. Tym samym dowiedli±my prawdziwo±ci twierdzenia. Wniosek 3.6 Liczba reszt kwadratowych modulo p równa jest liczbie niereszt kwadratowych i wynosi p 1. Przykªad 3.7 Zgodnie z powy»szym twierdzeniem do znalezienia reszt kwadratowych modulo 11 wystarczy rozwa»y kwadraty liczb 1,, 3, 4 oraz 5 : 1 1 (mod11), 4 (mod11), 3 9 (mod11), 4 5 (mod11), 5 3 (mod11). Resztami kwadratowymi modulo 11 s wi c 1, 3, 4, 5 oraz 9. Twierdzenie 3.8 (kryterium Eulera) r jest reszt kwadratow modulo p r p 1 1 (modp). ( ) Niech r b dzie reszt kwadratow modulo p. Istnieje x Z takie,»e x r (modp). Podnosz c obie strony kongruencji do pot gi p 1 otrzymujemy x p 1 r p 1 (modp).

Rozdziaª 3. Teoria liczb 13 Skoro (r, p) = 1, wi c równie» (x, p) = 1. Gdyby nie, to x = kp dla pewnego k Z i mieliby±my r x k p 0 (modp), a zatem (r, p) 1. Z maªego twierdzenia Fermata mamy wi c x p 1 1 (modp), co daje nam r p 1 1 (modp). ( ) Zauwa»my,»e rozwi zania kongruencji x p 1 1 (modp) pokrywaj si z pierwiastkami wielomianu g (x) = x p 1 1 w Z p. Zgodnie z twierdzeniem.7 w ciele Z p wielomian g (x) mo»e mie co najwy»ej p 1 pierwiastków. Na mocy twierdzenia 3.5 liczby 1,..., ( ) p 1 tworz peªny ukªad reszt kwadratowych modulo p. St d, korzystaj c z pierwszej cz ±ci dowodu, s one wszystkimi pierwiastkami wielomianu g (x), co ko«czy dowód. Wniosek 3.9 r jest niereszt kwadratow modulo p r p 1 1 (modp). Dla dowolnego r takiego,»e (r, p) = 1 z maªego twierdzenia Fermata mamy Wynika st d,»e r p 1 1 r p 1 1 (modp). ) ) (r p 1 1 (r p 1 + 1 0 (modp). Zatem r p 1 ±1 (modp). Jednak r p 1 1 (modp) wtedy i tylko wtedy, gdy r jest reszt kwadratow. Czyli r b dzie niereszt wtedy i tylko wtedy, gdy r p 1 1 (modp). Twierdzenie 3.10 1. Iloczyn dwóch reszt lub niereszt kwadratowych jest reszt kwadratow.. Iloczyn reszty i niereszty kwadratowej jest niereszt kwadratow. 3. Je±li p = 4k + 1, k N, to 1 jest reszt kwadratow modulo p. 4. Je±li p = 4k + 3, k N, to 1 jest niereszt kwadratow modulo p. Niech r 1, r b d takie,»e (r 1, p) = 1 i (r, p) = 1. Wówczas na mocy kryterium Eulera i wynikaj cego z niego wniosku 3.9 (r 1 r ) p 1 r p 1 1 r p 1 { 1 gdy r1, r - reszty lub niereszty kw. 1 gdy r 1 - reszta kw., r - niereszta kw. (modp), a wi c speªnione s punkty 1 oraz twierdzenia. 3. ( 1) p 1 ( 1) 4k+1 1 ( 1) k 1 (modp), wi c 1 jest reszt kwadratow na mocy kryterium Eulera. 4. ( 1) p 1 ( 1) 4k+3 1 ( 1) k+1 1 (modp), wi c 1 jest niereszt kwadratow na mocy wniosku 3.9 (z kryterium Eulera).

Rozdziaª 3. Teoria liczb 14 3.. Symbol Legendre'a Denicja (symbol Legendre'a) Symbolem Legendre'a nazywamy funkcj χ p : Z { 1, 0, 1} tak,»e 0, p i χ p (i) = 1, i - reszta kwadratowa modulo p 1, i - niereszta kwadratowa modulo p. Twierdzenie 3.11 Dla ka»dego c 0 (modp) : p 1 χ p (b) χ p (b + c) = 1. b=0 Z wªasno±ci reszt kwadratowych dostajemy,»e ( x, y {0, 1,..., p 1}) χ p (xy) = χ p (x) χ p (y). Gdy b = 0 mamy χ p (b) = 0. Zauwa»my ponadto,»e ka»demu b {1,..., p 1} w sposób jednoznaczny odpowiada z {0,,..., p 1} (bez 1) takie,»e Mamy wi c z b + c b (modp). p 1 χ p (b) χ p (b + c) = b=0 = = p 1 χ p (b) χ p (bz) b=1 p 1 χ p (b) χ p (z) b=1 p 1 z = 0 z 1 χ p (z) = 0 χ p (1) = 1. 3.3. Macierz Jacobsthala Denicja (macierz Jacobsthala) Macierz Jacobsthala wymiaru p nazywa b dziemy macierz postaci Q p = (χ p (j i)) i,j=0,...,p 1.

Rozdziaª 3. Teoria liczb 15 Przykªad 3.1 Niech p = 7, wówczas reszty kwadratowe modulo p to 1, oraz 4, a wi c macierz Jacobsthala b dzie miaªa posta χ 7 (0) χ 7 (1) χ 7 () χ 7 (3) χ 7 (4) χ 7 (5) χ 7 (6) Q 7 = χ 7 ( 1) χ 7 (0) χ 7 (1) χ 7 () χ 7 (3) χ 7 (4) χ 7 (5) χ 7 ( ) χ 7 ( 1) χ 7 (0) χ 7 (1) χ 7 () χ 7 (3) χ 7 (4) χ 7 ( 3) χ 7 ( ) χ 7 ( 1) χ 7 (0) χ 7 (1) χ 7 () χ 7 (3) χ 7 ( 4) χ 7 ( 3) χ 7 ( ) χ 7 ( 1) χ 7 (0) χ 7 (1) χ 7 () χ 7 ( 5) χ 7 ( 4) χ 7 ( 3) χ 7 ( ) χ 7 ( 1) χ 7 (0) χ 7 (1) = χ 7 ( 6) χ 7 ( 5) χ 7 ( 4) χ 7 ( 3) χ 7 ( ) χ 7 ( 1) χ 7 (0) χ 7 (0) χ 7 (1) χ 7 () χ 7 (3) χ 7 (4) χ 7 (5) χ 7 (6) χ 7 (6) χ 7 (0) χ 7 (1) χ 7 () χ 7 (3) χ 7 (4) χ 7 (5) χ 7 (5) χ 7 (6) χ 7 (0) χ 7 (1) χ 7 () χ 7 (3) χ 7 (4) χ 7 (4) χ 7 (5) χ 7 (6) χ 7 (0) χ 7 (1) χ 7 () χ 7 (3) χ 7 (3) χ 7 (4) χ 7 (5) χ 7 (6) χ 7 (0) χ 7 (1) χ 7 () χ 7 () χ 7 (3) χ 7 (4) χ 7 (5) χ 7 (6) χ 7 (0) χ 7 (1) χ 7 (1) χ 7 () χ 7 (3) χ 7 (4) χ 7 (5) χ 7 (6) χ 7 (0) 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 = 1 1 1 0 1 1 1. 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 Wªasno±ci 3.13 Niech Q p b dzie macierz Jacobsthala wymiaru p, natomiast J p macierz samych jedynek, wówczas: 1. je±li p = 4k + 1, k N, to Q p jest macierz symetryczn (Q p = Q T p ),. je±li p = 4k+3, k N, to Q p jest macierz sko±no-symetryczn (Q T p = Q p ), 3. Q p Q T p = pi p J p, 4. Q p J p = J p Q p = 0, 0 - macierz samych zer. 1. Na mocy twierdzenia 3.10 wiemy,»e dla p = 4k +1 mamy χ p ( 1) = 1. Wi c χ p (j i) = χ p (( 1) (i j)) = χ p ( 1) χ p (i j) = χ p (i j), a zatem Q p = Q T p.. Dowód przebiega analogicznie jak wy»ej z tym,»e tym razem χ p ( 1) = 1, co daje Q T p = Q p. 3. Niech P = (p ij ) = Q p Q T p. Wówczas: p ii = p 1 k=0 χ p (k i) = p 1. Niech i j, b = k i, c = i j : p ij = p 1 k=0 χ p (k i) χ p (k j) = p 1 b=0 χ p (b) χ p (b + c) = 1. 4. Wiemy,»e reszt kwadratowych i niereszt kwadratowych dla ustalonego p jest dokªadnie tyle samo. Wynika st d,»e Q p J p = J p Q p = 0. 3.4. t konguracje. Denicja (t konguracja) Niech X b dzie zbiorem v elementowym, którego elementy nazywa b dziemy punktami. t konguracja t (v, k, λ) jest rodzin k elementowych podzbiorów

Rozdziaª 3. Teoria liczb 16 zbioru X (nazywanych blokami) takich,»e ka»dy t elementowy podzbiór X jest zawarty dokªadnie w λ blokach. Interpretacja Na t (v, k, λ) konguracj mo»emy spojrze bardziej obrazowo jako na zbiór grup spoªecznych wybranych spo±ród v osób tak,»e ka»da grupa skªada si z k osób dobranych w taki sposób, aby dowolne t osób nale»aªo do dokªadnie λ grup. Przykªad 3.14 Je±li linie na poni»szym rysunku potraktujemy jako bloki, to przedstawia on (7, 3, 1) konguracj. Denicja (system Steinera) Systemem Steinera nazywamy t konguracj, w której λ = 1 i zapisujemy jako S (t, k, v). Uwaga 3.15 (7, 3, 1) konguracja z przykªadu 3.14 jest systemem Steinera S (, 3, 7). Oznaczenie Niech P 1, P,..., P t b d ró»nymi punktami t (v, k, λ) konguracji. Oznaczmy przez λ i liczb bloków zawieraj cych P 1, P,..., P i, 1 i t, a przez λ 0 liczb wszystkich bloków tej konguracji. Twierdzenie 3.16 Niech 1 i t. Liczba λ i jest niezale»na od wyboru punktów P 1, P,..., P i i wynosi ( ) v i λ t i λ i = ( ). k i t i Niech dana b dzie t (v, k, λ) konguracja. Przeprowadzimy dowód przez indukcj po i. Gdy i = t twierdzenie jest prawdziwe z denicji t konguracji, poniewa» ka»de t punktów jest zawartych w λ blokach. Przypu± my,»e dowiedli±my ju» niezale»no±ci liczby λ i+1 od wyboru punktów P 1, P,..., P i+1. Dla wszystkich bloków B zawieraj cych P 1,..., P i oraz wszystkich punktów Q ró»nych od P 1,..., P i deniujemy funkcj { 1 gdy Q B χ (Q, B) = 0 gdy Q / B. Wówczas na mocy hipotezy indukcyjnej mamy

Rozdziaª 3. Teoria liczb 17 χ (Q, B) = λ i+1 (v i) Q = B B χ (Q, B) = λ i (k i), Q co dowodzi,»e λ i jest niezale»na od wyboru punktów P 1,..., P i oraz ( ) ( ) v i 1 v i λ v i λ i = λ i+1 k i = t i 1 ( ) v i λ k i 1 k i = t i ( ). k i t i 1 t i Wniosek 3.17 t (v, k, λ) konguracja jest równie» i (v, k, λ i ) konguracj dla i = 0,..., t. Denicja (liczby przeci bloków): Niech P 1, P,..., P k b d punktami nale» cymi do jednego z bloków t (v, k, λ) konguracji. Rozwa»my bloki zawieraj ce punkty P 1, P,..., P j, ale nie zawieraj ce punktów P j+1, P j+,..., P i, dla 0 < j < i. Gdy j = 0 rozwa»amy bloki które nie zawieraj ani jednego spo±ród punktów P 1, P,..., P i, a gdy j = i rozwa»amy bloki zawieraj ce je wszystkie. Je±li liczba takich bloków jest staªa i niezale»na od wyboru punktów P 1,..., P i, oznaczamy j symbolem λ ij. Liczby λ ij nazywa b dziemy liczbami przeci bloków. Twierdzenie 3.18 λ ij jest dobrze okre±lone dla i t oraz { λ λ ij = i dla i = j, λ i+1,j + λ i+1,j+1 dla i j. Dobra okre±lono± λ ij dla i t wynika natychmiast z twierdzenia 3.16. Faktycznie, zarówno caªkowita liczba bloków, λ 0 = λ 00, jak równie» liczba bloków zawieraj ca P 1, λ 1 = λ 11, nie zale» od wyboru P 1. Wi c liczba bloków nie zawieraj cych P 1, λ 10 = λ 0 λ 1, równie» nie zale»y od wyboru P 1 i jest zawsze staªa. Rozumuj c podobnie mo»emy wykaza dobr okre±lono± dla wszystkich λ ij, i t. Równo± λ ij = λ i+1,j + λ i+1,j+1 zachodzi poniewa» λ ij równa jest liczbie bloków zawieraj cych punkty P 1,..., P j, ale nie zawieraj cych P j+,..., P i+1, a bloki te podzieli mo»emy na λ i+1,j+1 zawieraj cych P j+1 oraz λ i+1,j nie zawieraj cych P j+1. Uwagi 3.19 1. Je±li t konguracja jest systemem Steinera S (t, k, v) wówczas λ tt = λ t+1,t+1 =... = λ kk = 1 i λ ij s dobrze okre±lone dla wszystkich 0 j i k.. Na podstawie powy»szego twierdzenia mo»emy dla ka»dej t (v, k, λ) kon- guracji zbudowa trójk t Pascala z jej liczb przeci bloków: λ 00 = λ 0 λ 10 λ 11 = λ 1 λ 0 λ 1 λ = λ

Rozdziaª 3. Teoria liczb 18 Przykªad 3.0 Systemowi Steinera S (, 3, 7) odpowiada trójk t 7 4 3 1 0 0 1

Rozdziaª 4 Kody koryguj ce bª dy 4.1. Kody nieliniowe Niech F b dzie ciaªem sko«czonym i n, M, d N. Oznaczenie Wektory z przestrzeni F n, zamiast w postaci [ x 1 x x n, cz sto zapisywa b dziemy jako ci g kolejnych symboli x 1 x... x n. Denicja (odlegªo± Hamminga) Niech x, y F n. Liczb pozycji na których wektory te ró»ni si mi dzy sob b dziemy nazywa odlegªo±ci Hamminga i oznacza symbolem dist (x, y). Denicja (waga Hamminga) Niech x F n. Liczb niezerowych elementów wyst puj cych w wektorze x nazywa b dziemy wag Hamminga wektora x i oznacza symbolem wt (x). Przykªad 4.1 Dla wektorów x = 010101, y = 111010 mamy dist (x, y) = 5, wt (x) = 3 oraz wt (y) = 4. Denicja ((n, M, d) kod) (n, M, d) kodem nazywa b dziemy podzbiór M wektorów z n wymiarowej przestrzeni wektorowej F n takich,»e ka»de dwa spo±ród nich le» w odlegªo±ci co najmniej d. Liczb n nazywa b dziemy dªugo±ci kodu, a d jego odlegªo±ci. Denicja (kod binarny) (n, M, d) kod okre±lony nad ciaªem Z nazywa b dziemy kodem binarnym. Denicja (sªowo kodowe) Elementy (n, M, d) kodu nazywa b dziemy sªowami kodowymi. Przykªad 4. Zbiór C = {1111, 0011, 0101, 1110, 0000, 1010} zawiera 6 wektorów dªugo±ci 4, które ró»ni si mi dzy sob na co najmniej jednej pozycji. Tworzy on wi c (4, 6, 1) -kod. Denicja (dopeªnienie) Dopeªnieniem wektora binarnego u dªugo±ci n nazywa b dziemy taki wektor v dªugo±ci n,»e u + v = 1 n. Uwaga 4.3 Dopeªnienie pewnego sªowa kodowego binarnego kodu C nie musi by sªowem kodowym tego kodu. Przykªad 4.4 Rozwa»my kod C = {1111, 0011, 0101, 1110, 0000, 1010}. Dopeªnieniem sªowa kodowego 0101 jest wektor 1010, który jest równie» sªowem kodowym kodu C. Dopeªnieniem sªowa kodowego 1110 jest natomiast wektor 0001 nie nale» cy do kodu C. Denicja (rozkªad wag) Niech C b dzie (n, M, d) kodem, natomiast A i liczb sªów kodowych wagi i w C. Ci g liczb (A 0, A 1,..., A n ) nazywa b dziemy rozkªadem wag kodu C.

Rozdziaª 4. Kody koryguj ce bª dy 0 Przykªad 4.5 Rozkªadem wag kodu C = {1111, 0011, 0101, 1110, 0000, 1010} jest i : 0 3 4 A i : 1 3 1 1. Denicja (sfera) Niech n N. Sfer o ±rodku w wektorze u F n i promieniu r nazwiemy zbiór wektorów S (u, r) = {v F n : dist (u, v) = r}. Denicja (kula) Niech n N. Kul o ±rodku w wektorze u F n i promieniu r nazywamy zbiór wektorów B (u, r) = {v F n : dist (u, v) r}. Przesyªanie sªów kodowych za pomoc pewnego kanaªu informacyjnego wi»e si z mo»liwo±ci pojawienia si w czasie transmisji pewnych bª dów i dotarcia do odbiorcy innej informacji ni» zostaªa wysªana. Gªównym celem rozwoju teorii kodów koryguj cych bª dy jest minimalizacja szansy zaistnienia takich sytuacji przez sprawdzanie poprawno±ci wektorów, które dotarªy do odbiorcy i próby takiego ich poprawienia, by z jak najwi kszym prawdopodobie«stwem odpowiadaªy wysªanym sªowom kodowym. Najprostsz metod sªu» c temu celowi jest wyszukiwanie sªowa kodowego le» cego najbli»ej (w sensie odlegªo±ci Hamminga) wektora otrzymanego przez odbiorc i zast powanie odebranego wektora tym sªowem. Poni»sze twierdzenie pozwala nam stwierdzi jak skuteczna oka»e si ta metoda dla kodu o okre±lonej minimalnej odlegªo±ci sªów kodowych. Twierdzenie 4.6 Kod z minimaln odlegªo±ci mi dzy sªowami kodowymi d mo»e poprawi [ 1 (d 1) bª dów. Ponadto, je±li d jest parzyste, wówczas kod ten mo»e jednocze±nie poprawi 1 (d ) i wykry d bª dy. Uwaga 4.7 Gdyby zamiast dekodowania zastosowa retransmisj sªów kodowego po ka»dorazowym wykryciu bª du. Uzasadnione byªoby stwierdzenie,»e kod z minimaln odlegªo±ci mi dzy sªowami kodowymi d potra wykry d 1 bª dów (w tym sensie,»e zauwa»y nieprawidªowo±ci w otrzymanej informacji). Denicja (kod doskonaªy) (n, M, d) kod C nad ciaªem F nazywamy doskonaªym, je±li kule o promieniu t = [ 1 (d 1) zbudowane wokóª sªów kodowych C s rozª czne i zawieraj wszystkie wektory o dªugo±ci n. Denicja (kody równowa»ne) Kody C 1 i C dªugo±ci n nad ciaªem F nazwiemy równowa»nymi, je±li C 1 = C oraz istnieje permutacja σ zbioru {1,,..., n} i n permutacji π 1,..., π n zbioru F takich,»e c 1 c... c n C 1 σ (π 1 (c 1 ) π (c )... π n (c n )) C. Przykªad 4.8 Kody C 1 = {0000, 0011, 1100, 1111} i C = {0000, 0101, 1010, 1111} s równowa»ne dla permutacji σ = (3) i π i = id Z : Z Z ; a a, i = 1,, 3, 4. Uwaga 4.9 Kody równowa»ne zachowuj odlegªo±ci mi dzy sªowami kodowymi, a wi c na mocy twierdzenia 4.6 i uwagi 4.7 posiadaj takie same zdolno±ci wykrywania i korygowania bª dów.

Rozdziaª 4. Kody koryguj ce bª dy 1 4.. Kody liniowe Denicja (kod liniowy) (n, M, d) kod C F n nazywa b dziemy kodem liniowym, je±li C jest podprzestrzeni przestrzeni F n. Oznaczenie (n, M, d) kod liniowy C (nad ciaªem F ) dla odró»nienia od innych kodów cz sto oznacza b dziemy jako [n, k, d kod lub krócej jako [n, k kod, gdzie k jest wymiarem przestrzeni wektorowej tworzonej przez ten kod. Wtedy M = F k. Przykªad 4.10 Kod powtórzeniowy C 1 = {0000, 1111} jest przykªadem [4, 1, 4 kodu liniowego, którego baz jest jeden wektor 1111. Z kolei kod kontroli parzysto±ci C = {000, 011, 101, 110} jest przykªadem [3,, kodu liniowego o bazie zªo»onej z wektorów 011 i 101. Denicja (macierz generuj ca) Macierz generuj c liniowego kodu C nazywa b dziemy macierz, której wierszami s sªowa kodowe tworz ce baz przestrzeni wektorowej wyznaczanej przez ten kod. Denicja (wektor wiadomo±ci): Niech dany b dzie [n, k kod liniowy C nad ciaªem F. Ka»dy wektor u F k nazywa b dziemy wektorem wiadomo±ci lub krócej wiadomo±ci kodu C. Uwagi 4.11 1. Ka»demu wektorowi wiadomo±ci u mo»na jednoznacznie przyporz dkowa sªowo kodowe ug, gdzie G jest macierz generuj c kod liniowy.. Rozwa»my macierz generuj c G pewnego [n, k, d kodu C. Z denicji G wynika,»e mo»emy sprowadzi j do postaci G = [ I k A, gdzie I k macierz jednostkowa k k, A pewna macierz wymiaru k n k. Dla tak przedstawionej macierzy G ªatwo zauwa»y,»e mi dzy sªowem kodowym x = x 1... x n, a wiadomo±ci u = u 1... u k kodowan przez to sªowo zachodzi relacja x 1 = u 1,..., x k = u k. Zatem [ x1 x x n = [ u 1 u u k [ Ik A, [ x1 x x n = [ x 1 x x k [ Ik A, a wi c [ xk+1 x k+ x n x 1 x k+1 x k+. x n x k+1 x k+ A T x. +. x k x n x 1 = [ x 1 x x k A, = AT = 0 k, [ A T x I n k. = 0 k. x n x 1 x. x k,

Rozdziaª 4. Kody koryguj ce bª dy Uzyskan w ten sposób macierz H = [ A T I n k nazywa b dziemy macierz kontroli parzysto±ci kodu C. Macierz ta dla ka»dego sªowa kodowego x C speªnia warunek Hx T = 0 k oraz nie speªnia go dla»adnego sªowa spoza C. 3. Macierz generuj ca G, jak równie» macierz kontroli parzysto±ci H, pozwalaj jednoznacznie zdeniowa kod liniowy. Przykªad 4.1 Niech [4, kod C posiada macierz generuj c postaci G = [ 1 0 1 1. 0 1 0 1 Na podstawie tej macierzy mo»emy wyznaczy wszystkie sªowa kodowe C jako kombinacje liniowe wierszy macierzy G i wektora wiadomo±ci u : x = ug. wiadomo± sªowo kodowe 00 0000 01 0101 10 1011 11 1110 Powy»szej macierzy generuj cej G odpowiada macierz kontroli parzysto±ci H = [ 1 0 1 0. 1 1 0 1 Zgodnie z uwag 4.11. dla ka»dego x C mamy Hx T = 0. Na przykªad dla x = 1011 [ 1 [ [ 1 0 1 0 0 1 + 0 + 1 + 0 0 1 1 0 1 1 = =. 1 + 0 + 0 + 1 0 1 Denicja (kod dualny) Niech dany b dzie [n, k, d kod C nad ciaªem F. Kodem dualnym do C nazywamy podprzestrze«c wektorów ortogonalnych do wszystkich sªów kodowych C : C = {u : ( v C) u, v = 0}, gdzie u, v = u 1 u... u n, v 1 v... v n = n k=1 u kv k z dodawaniem i mno»eniem wykonywanymi w ciele F. Denicja (kod samo-dualny) Mówimy,»e kod C jest samo-dualny, gdy C = C. Denicja (kod sªabo samo-dualny) Mówimy,»e kod C jest sªabo samo-dualny, gdy C C. Twierdzenie 4.13 Niech u = u 1 u... u n, v = v 1 v... v n b d dwoma wektorami binarnymi. Wówczas 1. u, v = 0 wt (u v) 0 (mod),. u, v = 1 wt (u v) 1 (mod),

Rozdziaª 4. Kody koryguj ce bª dy 3 gdzie u v = (u 1 v 1 ) (u v )... (u n v n ). Niech u = u 1 u... u n, v = v 1 v... v n. Wszystkie implikacje wynikaj z równowa»no±ci modulo nast puj cych wyra»e«: u, v u 1 u... u n, v 1 v... v n u 1 v 1 + u v +... + u n v n wt ((u 1 v 1 ) (u v )... (u n v n )) wt (u v) (mod) Twierdzenie 4.14 Niech dany b dzie [n, k kod C, wówczas kod do niego dualny C jest [n, n k kodem. Wystarczy zauwa»y,»e macierz kontroli parzysto±ci kodu C odpowiada macierzy generuj cej kodu C. Twierdzenie 4.15 Je±li [n, k, d kod C jest sªabo samo-dualny oraz ma wymiar k = 1 n, to jest samo-dualny. Skoro wymiar kodu C to k = 1 n, wi c zgodnie z twierdzeniem 4.14 wymiar kodu C wynosi równie» 1 n. Mamy wi c C C oraz wymiary C i C s równe, a zatem C = C. Twierdzenie 4.16 Je±li C jest binarnym, sªabo samo-dualnym, kodem liniowym wówczas ka»de jego sªowo kodowe ma parzyst wag. Ponadto, je±li wszystkie wiersze macierzy generuj cej G kodu C maj wagi podzielne przez 4, to wag tak ma ka»de sªowo kodowe. Niech C b dzie kodem binarnym sªabo samo-dualnym. Zaªó»my nie wprost,»e istnieje sªowo kodowe u C takie,»e wt (u). Wówczas wt (u u) = wt (u) jest liczb nieparzyst, a zatem na mocy twierdzenia 4.13 u, u = 1 i tym samym C nie mo»e by sªabo samo-dualny. Sprzeczno± dowodzi prawdziwo±ci pierwszej cz ±ci twierdzenia. Niech teraz wszystkie wiersze macierzy generuj cej G = (g ij ) i,j=1,...,n kodu C b d podzielne przez 4. Niech v = a 1 r 1 +... + a n r n, gdzie r 1,..., r n wiersze macierzy G, b dzie dowolnym sªowem kodowym kodu C. Wówczas wt (v) = n v i = i=1 n i=1 j=1 n a j g ji = n j=1 i=1 n a j g ji = n a j wt (r j ). Ostatnie wyra»enie jest podzielne przez 4, jako suma wyrazów podzielnych przez 4, a zatem 4 wt (v) dla dowolnego v C. j=1

Rozdziaª 4. Kody koryguj ce bª dy 4 4.3. Ograniczenia na rozmiar kodu Od tego podrozdziaªu, a» do ko«ca pracy, interesowa nas b d wyª cznie kody binarne. Twierdzenie 4.17 (ograniczenie Plotkina, wersja 1) Dla ka»dego (n, M, d) kodu takiego,»e n < d zachodzi [ M d d n Niech dany b dzie (n, M, d) kod C. Policzmy sum u C dwa sposoby. Z jednej strony ( u, v C) u v dist (u, v) d, a wi c. dist (u, v) M (M 1) d. u C v C v C dist (u, v) na Z drugiej mo»emy utworzy macierz A, której wierszami s wszystkie sªowa kodowe kodu C. Je±li przyjmiemy,»e i ta kolumna A zawiera x i zer, to dist (u, v) = u C v C Rozwa»ymy dwa przypadki. n x i (M x i ). Niech M b dzie liczb parzyst. Wówczas wyra»enie x i (M x i ) osi ga maksimum gdy x i = 1 M. Dlatego i=1 M (M 1) d co po przeksztaªceniu daje = n x i (M x i ) i=1 n i=1 n i=1 = nm M Z nierówno±ci [x [x + 1 mamy M 1 (M M 1 ) M 1 M d d n. [ [ d d n Poniewa» M jest liczb parzyst, wi c [ M d d n d d n. + 1, Niech M b dzie liczb nieparzyst. Wówczas wyra»enie x i (M x i ) osi ga maksimum gdy x i = 1 M ± 1 (z uwagi na symetri x (M x) wzgl dem osi y = 1 M).

Rozdziaª 4. Kody koryguj ce bª dy 5 Rozwa»my x i = 1 M + 1 : M (M 1) d = n x i (M x i ) i=1 n i=1 n i=1 ( 1 M + 1 ) ( M 1 M 1 ) 1 (M + 1) (M 1) = n (M + 1) (M 1). Przeksztaªcaj c dostajemy M n d n = d d n 1, a korzystaj c z nierówno±ci [x [x + 1 M [ [ d 1 d n d d n. Denicja (A (n, d)) Symbolem A (n, d) oznacza b dziemy maksymaln liczb sªów kodowych jakie zawiera mo»e kod dªugo±ci n i odlegªo±ci d. Wªa±ciwo±ci 4.18 1. A (n, r 1) = A (n + 1, r), r N.. A (n, d) A (n 1, d). 1. Niech C b dzie (n, M, r 1) kodem. Do ka»dego sªowa kodowego kodu C o wadze parzystej dodajmy na n + 1 wspóªrz dnej 0, a na koniec ka»dego sªowa kodowego o wadze nieparzystej 1. Zauwa»my,»e dla kodów binarnych zachodzi dist (x, y) = wt (x + y) = wt (x) + wt (y) wt (x y). Co implikuje,»e minimalna odlegªo± mi dzy sªowami kodowymi utworzonego wªa±nie kodu musi by liczb parzyst (na skutek parzysto±ci wag wszystkich sªów kodowych tego kodu). Tym samym odlegªo± ta musiaªa wzrosn z r 1 do r, a uzyskany przez nas kod jest (n + 1, M, r) -kodem. Wi c A (n, r 1) A (n + 1, r). Z drugiej strony usuwaj c ze sªów kodowych (n + 1, M, r) kodu dowoln wspóªrz dn dostajemy (n, M, d r 1) kod, co daje nam A (n, r 1) A (n + 1, r).. Niech dany b dzie (n, A (n, d), d) kod. Utwórzmy zbiór zªo»ony ze sªów kodowych tego kodu zaczynaj cych si od 0 z usuni tym wiod cym zerem oraz zbiór sªów kodowych zaczynaj cych si od 1 z usuni t wiod c jedynk. Uzyskali±my w ten sposób dwa nowe kody o sªowach kodowych dªugo±ci n 1 ró»ni cych si mi dzy sob na co najmniej d pozycjach zawieraj cych w sumie A (n, d) sªów kodowych. Jeden z nich musi wi c zawiera co najmniej 1 A (n, d) sªów kodowych, a zatem zachodzi A (n 1, d) 1 A (n, d).

Rozdziaª 4. Kody koryguj ce bª dy 6 Twierdzenie 4.19 (ograniczenie Plotkina, wersja ) Je±li d jest liczb parzyst, to [ A (n, d) A (d, d) 4d. Je±li d jest liczb nieparzyst, to d d n, dla n < d, [ A (n, d) A (d + 1, d) 4d + 4. d + 1 d + 1 n, dla n < d + 1, Pierwsza nierówno± wynika bezpo±rednio z pierwszej wersji twierdzenia Plotkina. Stosuj c wªa±nie udowodnion [ nierówno± oraz wªasno±ci 4.18 dostajemy d A (d, d) A (d 1, d) d d+1 = 4d. Nierówno± trzecia oraz czwarta wynikaj z dwóch pierwszych i wªasno±ci 4.18, gdy» [ d + 1 A (n, d) = A (n + 1, d + 1) d + 1 n oraz A (d + 1, d) = A ( (d + 1), d + 1) 4d + 4. Twierdzenie 4.0 (ograniczenie Hamminga) (n, M, d) kod binarny C poprawiaj cy t bª dów speªnia nierówno± ( ( ) ( ) ( )) n n n M 1 + + +... + n. 1 t Niech u C, r N. Zauwa»my,»e liczba wektorów nale» cych do sfery S (u, r), a wi c ró»ni cych si na dokªadnie r pozycjach ze sªowem kodowym u jest równa liczbie k elementowych ( ) kombinacji bez powtórze«zbioru n elementowego, czyli n S (u, r) =. Skoro kod C poprawia t bª dów, wi c mo»emy wokóª ka»dego r z jego sªów utworzy rozª czne kule o maksymalnym promieniu t. Tym samym ka»da z M kul zawiera B (u, t) = S (u, 0) + S (u, 1) + S (u, ) +... + S (u, t) ( ) ( ) ( ) n n n = 1 + + +... + 1 t wektorów. Wszystkich wektorów w przestrzeni jest n, zatem ( ( ) ( ) ( n n n M 1 + + +... + 1 t)) n.

Rozdziaª 5 Wybrane kody oparte o reszty kwadratowe 5.1. Macierze i kody Hadamarda 5.1.1. Macierze Hadamarda Denicja (macierz Hadamarda) Macierz Hadamarda wymiaru n nazywa b dziemy macierz kwadratow n n o wyrazach 1 i 1 speªniaj c warunek H n H T n = ni n. Oznaczenie W zapisie macierzy Hadamarda cz sto 1 zast powa b dziemy przez dla skrócenia zapisu. Uwagi 5.1 1. Niech r 1,..., r n b d wierszami macierzy Hadamarda H n. Warunek zapisa mo»emy inaczej jako H n H T n = ni n r i, r j = { 0 dla i j n dla i = j, gdy» H n H T n = ( r i, r j ) i,j=1,...,n. Wynika st d,»e dowolne dwa ró»ne wiersze macierzy Hadamarda s wektorami ortogonalnymi.. Przeksztaªcaj c H n H T n = ni n do postaci ( ) 1 H n n HT n = I n dostajemy,»e 1 n HT n jest prawostronn odwrotno±ci macierzy H n. Mno» c natomiast równo± AH n = I n przez 1 n HT n z prawej strony otrzymujemy A = 1 n HT n, a wi c 1 n HT n jest równie» lewostronn odwrotno±ci H n i tym samym H 1 n = 1 n HT n jest odwrotno±ci macierzy H n.

Rozdziaª 5. Wybrane kody oparte o reszty kwadratowe 8 3. Korzystaj c z mamy I n = H 1 n H n = ( ) 1 n HT n H n Hn T ( ) H T T n = nin, a wi c macierz transponowana macierzy Hadamarda jest równie» macierz Hadamarda. Uwaga ta pozwala przenie± wiele wªasno±ci zachodz cych dla wierszy macierzy Hadamarda, jak np. wªasno± opisan w 1, równie» na jej kolumny. Przykªady 5. Poni»ej przedstawione zostaªy macierze Hadamarda wymiarów 1,, 4 oraz 8. n = 1 : H 1 = [[1, 1 1 n = : H = 1 n = 4 : H 4 = n = 8 : H 8 =, 1 1 1 1 1 1 1 1 1 1, 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1. Uwaga 5.3 Niech a 1,..., a n { 1, 1}, α { n,..., 1, 0, 1,..., n}. Wówczas n a i = α {i : a i = 1} = {i : a i = 1} + α. i=1 Twierdzenie 5.4 Ka»de dwa ró»ne wiersze macierzy Hadamarda ró»ni si na dokªadnie 1 n pozycjach. Niech r i = [ h i1 h i h in, rj = [ h j1 h j h jn b d dwoma dowolnymi, ró»nymi wierszami macierzy Hadamarda H n = (h ij ) i,j=1,...,n. Poniewa» wszystkie wyrazy macierzy H s równe 1 lub 1, wi c zbiór indeksów na których wiersze r i i r j ró»ni si mi dzy sob to {k : h ik h jk = 1}. Z uwagi 5.1.1 wynika,»e r i, r j = n h ik h jk = 0, k=1 gdzie ( k {1,..., n}) h ik h jk { 1, 1}. Zastosowanie uwagi 5.3 daje nam {k : h ik h jk = 1} = {k : h ik h jk = 1} = 1 n. Uwaga 5.5 Z powy»szego twierdzenia wynika,»e wszystkie macierze Hadamarda maj wymiar parzysty. W dalszej cz ±ci rozdziaªu wyka»emy,»e wymiar tych macierzy musi speªnia jeszcze ostrzejsze warunki.

Rozdziaª 5. Wybrane kody oparte o reszty kwadratowe 9 Twierdzenie 5.6 Macierz powstaªa przez pomno»enie dowolnego wiersza (lub kolumny) macierzy Hadamarda przez 1 jest macierz Hadamarda. Niech H n b dzie pewn macierz Hadamarda wymiaru n. Ustalmy dowolne k {1,..., n}. Niech r 1,..., r n b d kolejnymi wierszami macierzy H n, natomiast r 1,..., r n wierszami macierzy H n powstaªej w wyniku pomno»enia k-tego wiersza H n przez 1. Oczywi±cie ( i k) r i = r i oraz r k = r k. Skoro H n jest macierz Hadamarda, wi c zgodnie z uwag 5.1.1 jej wiersze speªniaj warunek r i, r j = { 0 dla i j n dla i = j. ( ) Jako,»e ( i k) r i = r i, wi c powy»szy warunek speªniony jest równie» dla r 1,..., r k 1, r k+1, r n. Pozostaje tylko pokaza,»e b dzie on nadal speªniony po doª czeniu do powy»szego ukªadu wektorów wektora r k. Niech i k mamy wówczas r i, r k = r i, r k = r i, r k = 0, r k, r i = r k, r i = r k, r i = 0, r k, r k = r k, r k = r k, r k = n, a wi c warunek ( ) jest speªniony dla caªego ukªadu r 1,..., r n. Tym samym zgodnie z uwag 5.1.1 macierz H n musi by macierz Hadamarda. Uwaga 5.1.3 pozwala nam sprowadzi sytuacj z mno»eniem kolumn przez 1 do ju» rozwa»onej. Denicja (macierz Hadamarda w postaci normalnej) Macierz Hadamarda, w której pierwszy wiersz i pierwsza kolumna zawieraj tylko 1 nazywamy macierz Hadamarda w postaci normalnej. Uwaga 5.7 Ka»d macierz Hadamarda mo»emy sprowadzi do postaci normalnej poprzez mno»enie jej kolumn oraz wierszy przez 1. Przykªad 5.8 1 1 Sprowad¹my macierz H 4 = 1 1 1 1 1 1 do postaci normalnej. 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 r1 1 1 1 1 1 1 c 1 1 1 1 1 1 c4 1 1 1 1. 1 1 1 1 1 1 1 Twierdzenie 5.9 Je±li istnieje macierz Hadamarda H wymiaru n, to n równe jest 1, lub wielokrotno±ci 4. Bez straty ogólno±ci mo»emy przyj,»e H jest macierz Hadamarda w postaci normalnej. Dla n = 1 : H 1 = [1.

Rozdziaª 5. Wybrane kody oparte o reszty kwadratowe 30 Dla n = : H = [ 1 1 1 Przypu± my,»e n 3 i pierwsze trzy wiersze H n s postaci. 1 1... 1 1 1... 1 1 1... 1 1 1... 1 1 1... 1 1 1... 1...... 1 } 1... {{ 1 }}... {{ 1 }} 1... {{ 1 }}... {{ } i j k l Mo»emy tak przyj, gdy» permutacja kolumn macierzy Hadamarda nie zmienia warto±ci iloczynów skalarnych mi dzy jej wierszami, a zatem macierz powstaªa z macierzy Hadamarda przez dowoln permutacj jej kolumn jest macierz Hadamarda. Wystarczy wi c aby±my przepermutowali kolumny tak, by drugi wiersz odpowiadaª przedstawionemu powy»ej, a nast pnie nie zmieniaj c postaci drugiego wiersza przepermutowali kolumny w taki sposób, aby uzyska trzeci z wy»ej przedstawionych. Korzystaj c z ortogonalno±ci wierszy w macierzach Hadamarda dostajemy ukªad równa«i + j k l = 0 i j + k l = 0 i j k + l = 0 z którego wynika,»e i = j = k = l, a wi c n = i + j + k + l = 4i. Uwaga 5.10 Przypuszcza si,»e powy»szy warunek speªniony jest równie» w drug stron, tzn. dla ka»dego n b d cego wielokrotno±ci 4 istnieje macierz Hadamarda, nie zostaªo to jednak dotychczas udowodnione. Twierdzenie 5.11 Niech X = (x ij ) i,j=1,...,n b dzie macierz rzeczywist speªniaj c warunek Wówczas ( i, j) x ij 1. det (X) n n. Ponadto równo± zachodzi wtedy i tylko wtedy, gdy X jest macierz Hadamarda. Niech r 1, r,..., r n b d kolejnymi wierszami macierzy X. Z warunku x ij 1 dostajemy n ( i) r i = j=1 x ij 1 n 1. det (X) jest równy obj to±ci równolegªo±cianu o kraw dziach wyznaczanych przez r 1, r,..., r n, a wi c det (X) n r i i=1 n i=1 n 1 = n n. Równo± zachodzi wtedy i tylko wtedy, gdy ( i j) r i r j oraz n ( i) r i = j=1 x ij 1 = n 1,

Rozdziaª 5. Wybrane kody oparte o reszty kwadratowe 31 czyli ( i, j) x ij = 1. Jedynymi rzeczywistymi macierzami speªniaj cymi powy»- sze warunki s macierze Hadamarda. 5.1.. Konstruowanie macierzy Hadamarda Twierdzenie 5.1 (Sylvestra) Je±li H n jest macierz Hadamarda wymiaru n, to [ Hn H H n = n H n H n jest macierz Hadamarda wymiaru n. Macierz H n zawiera tylko wyrazy równe 1 lub 1, gdy» tylko takie wyrazy zawieraj macierze H n i H n. Pozostaje pokaza,»e H n H T n = ni n : [ [ T Hn H n Hn H n = H n H n H n H n = = [ [ Hn H n H T n Hn T H n H n Hn T Hn T [ Hn Hn T + H n Hn T H n Hn T H n Hn T H n Hn T H n Hn T [ nin 0. 0 ni n H n H T n + H n H T n Uwaga 5.13 Zaczynaj c od macierzy H 1 = [1 i stosuj c powy»sze twierdzenie do kolejnych uzyskiwanych macierzy mo»emy wyznaczy macierz Hadamarda wymiaru k dla dowolnego k N. Macierze skonstruowane przy zastosowaniu tej metody przedstawione zostaªy w przykªadzie 5.. Twierdzenie 5.14 (Paley'a): Niech n = p + 1 (p liczba pierwsza nieparzysta) oraz 4 n i niech Q p b dzie macierz Jacobsthala wymiaru p. Wówczas macierz H n = jest macierz Hadamarda wymiaru n. [ 1 1p 1 T p Q p I p Macierz Jacobsthala Q p ma wyrazy równe 1 lub 1 wsz dzie poza gªówn przek tn. Wynika st d,»e macierz Q p I p jest macierz o wyrazach 1 i 1, a zatem równie» H n jest tak wªa±nie macierz. Pozostaje wi c pokaza,»e zachodzi H n Hn T = ni n. H n Hn T = = = = [ [ T 1 1p 1 1p 1 T p Q p I p 1 T p Q p I p [ [ 1 1p 1 1p 1 T p Q p I p 1 T p (Q p I p ) T [ [ 1 1p 1 1p 1 T p Q p I p 1 T p Q T p I p [ p + 1 0p 0 T p J p + (Q p I p ) ( Q T p I p ).

Rozdziaª 5. Wybrane kody oparte o reszty kwadratowe 3 Korzystaj c z wªasno±ci 3.13 macierzy Jacobsthala mamy J p + (Q p I p ) ( Q T p I p ) = J p + Q p Q T p Q p Q T p + I p = J p + pi p J p Q p + Q p + I p = pi p + I p = (p + 1) I p. Przykªad 5.15 Niech p = 3, n = p + 1 = 4. Šatwo sprawdzi,»e macierz Jacobsthala 3 3 jest macierz 0 1 Q 3 = 0 1. 1 0 St d na mocy twierdzenia Paley'a macierz jest macierz Hadamarda. 1 1 1 1 H 4 = 1 1 1 1 1 1 5.1.3. Kody Hadamarda Denicja (binarna macierz Hadamarda) Niech H n oznacza macierz Hadamarda w postaci normalnej wymiaru n. Zast pmy wszystkie wyrazy 1 w H n przez 1, natomiast wszystkie wyrazy 1 przez 0. Otrzyman w ten sposób macierz oznacza b dziemy symbolem A n i nazywa binarn macierz Hadamarda. Uwaga 5.16 Bezpo±rednio z twierdzenia 5.4 wynika,»e wiersze binarnej macierzy Hadamarda A n ró»ni si mi dzy sob na dokªadnie 1 n pozycjach. Je±li potraktujemy wi c wiersze macierzy A n jako sªowa kodowe uzyskamy kod o staªej odlegªo±ci mi dzy sªowami kodowymi równej 1 n. Ponadto dzi ki uwadze 5.1.3 mo»emy stwierdzi,»e równie» kolumny macierzy A n ró»ni si mi dzy sob na 1 n pozycjach. Stosuj c zdeniowan wªa±nie binarn macierz Hadamarda A n skonstruujemy teraz trzy kody Hadamarda. 1. Usu«my z macierzy A n pierwsz kolumn zawieraj c same jedynki, a nast pnie wiersze tak uzyskanej macierzy potraktujmy jako sªowa kodowe pewnego kodu. Zauwa»my,»e udaªo nam si w ten sposób skróci dªugo± sªów kodowych o 1, w stosunku do dªugo±ci sªów kodowych kodu opisanego w uwadze, ( nie trac c nic na odlegªo±ci mi dzy sªowami. Tak skonstruowany n 1, n, 1 n) kod oznacza b dziemy symbolem A n.. Zauwa»my,»e je±li u A n, a u jest dopeªnieniem u (wektorem dla którego zachodzi u + u = 1 n 1 ), to u / A n. Jest tak, gdy» wektory u i u ( ró»ni si mi dzy sob na ka»dej pozycji, co implikuje dist u, u ) = n 1, a odlegªo± wszystkich wektorów nale» cych do A n wynosi 1 n. Zauwa»my równie»,»e je±li v A n, v u, to dist (v, u ) ( = 1 n i podobnie dist u, v ) = 1 n. Š cz c wi c wszystkie sªowa kodowe kodu A n i dopeªnienia tych sªów w jeden nowy kod, bez straty odlegªo±ci mi dzy sªowami, zwi kszamy liczb sªów kodowych dwukrotnie. Uzyskany tutaj ( n 1, n, 1 n) kod oznacza b dziemy symbolem B n.

Rozdziaª 5. Wybrane kody oparte o reszty kwadratowe 33 3. Rozumuj c analogicznie jak w punkcie mo»emy przyj jako sªowa kodowe wszystkie wiersze macierzy A n oraz ich dopeªnienia uzyskuj c ( n, n, 1 n) kod oznaczany symbolem C n. Przykªad 5.17 Rozwa»my macierz Hadamarda 1 1 1 1 H 4 = 1 1 1 1. 1 1 Dokonuj c zamiany wszystkich wyst pie«1 na 0 oraz 1 na 1 mo»emy przeksztaªci j w binarn macierz Hadamarda postaci 0 0 0 0 A 4 = 0 1 0 1 0 0 1 1, 0 1 1 0 której odpowiadaj kody Hadamarda A 4 = {000, 101, 011, 110}, B 4 = {000, 101, 011, 110, 111, 010, 100, 001}, C 4 = {0000, 0101, 0011, 0110, 1111, 1010, 1100, 1001}. 5.1.4. Twierdzenie Levenshteina W niniejszym podrozdziale poka»emy,»e odpowiednio ª cz c i modykuj c kody Hadamarda mo»emy zbudowa kod, osi gaj cy górne ograniczenie w nierówno±ci Plotkina. Innymi sªowy skonstruujemy kod, który przy ustalonej dªugo±ci sªów kodowych oraz ustalonej minimalnej odlegªo±ci mi dzy tymi sªowami posiada najwi ksz z mo»liwych do osi gni cia liczb sªów kodowych. W tym celu zapoznamy si najpierw z dwiema metodami konstruowania nowych kodów na podstawie ju» znanych, które b d nam potrzebne w dowodzie twierdzenia Levenshteina. 1. Jak zostaªo zauwa»one ju» wcze±niej, ka»de dwie kolumny binarnej macierzy Hadamarda A n, wi c w szczególno±ci równie» dwie pierwsze, ró»ni si na dokªadnie 1 n pozycjach. Pami taj c,»e pierwsza kolumna, jest kolumn samych zer wnioskujemy,»e druga musi zawiera 1 n zer i tyle samo jedynek. Prowadzi to do wniosku,»e kod A n ma tyle samo sªów kodowych zaczynaj cych si od zera, co od jedynki. Usuni cie wi c z kodu A n wszystkich sªów kodowych zaczynaj cych si od 1, a nast pnie skrócenie sªów pozostaªych o wiod ce zero spowoduje skrócenie dªugo±ci sªów kodowych o 1 kosztem zmniejszenia o poªow ich liczby. Zauwa»my,»e w wyniku skrócenia kodu pozostaªy w nim tylko te sªowa kodowe, które w A n miaªy na pierwszej wspóªrz dnej t sam warto±, a wi c dokonana modykacja nie zmieniªa minimalnej odlegªo±ci mi dzy sªowami. Tak uzyskany ( n, n, ) n kod oznacza b dziemy symbolem A n.. Rozwa»my pewien (n 1, M 1, d 1 ) kod C 1 i (n, M, d ) kod C (niekoniecznie Hadamarda) oraz przyjmijmy dla uproszczenia dalszych rozwa»a«m 1 M. Niech sªowa kodowe kodu C 1 b d kolejnymi wierszami macierzy X C1 wymiaru M 1 n 1, natomiast M 1 dowolnych sªów kodowych kodu C wierszami macierzy X C wymiaru M 1 n. Dla ustalonych a, b N utwórzmy macierz X ac1 bc = [X C1... X C1 X C X C zawieraj c a kopii macierzy X C1 oraz b kopii macierzy X C. Traktuj c wiersze macierzy X ac1 bc jako sªowa kodowe uzyskujemy (an 1 + bn, M 1, d ad 1 + bd ) kod ac 1 bc.

Rozdziaª 5. Wybrane kody oparte o reszty kwadratowe 34 Dªugo± sªów kodowych oraz ich liczba w sposób oczywisty wynikaj z konstrukcji kodu. Dowolne dwa sªowa kodowe s postaci u... ux... x, v... vy... y ac 1 bc, gdzie u, v C 1, x, y C oraz dist (u, v) d 1, dist (x, y) d, st d dolne ograniczenie na minimaln odlegªo± mi dzy sªowami. Twierdzenie 5.18 (Levenshteina) Je±li istniej odpowiednio du»e macierze Hadamarda wówczas: gdy d jest liczb parzyst, to [ A (n, d) = A (d, d) = 4d, gdy d jest liczb nieparzyst, to d d n, dla d n < d, [ A (n, d) = A (d + 1, d) = 4d + 4. d + 1 d + 1 n, dla d n < d + 1, Zauwa»my na wst pie,»e dla d b d cego liczb nieparzyst, dzi ki wªasno±ci 4.18 i przy zaªo»eniu prawdziwo±ci równo±ci z tezy dla d b d cego liczb parzyst, mamy [ A (n, d) = A (n + 1, d + 1) = d+1 (d+1) (n+1) [ = d+1 d+1 n A (d + 1, d) = A (d +, d + 1) = A ( (d + 1), d + 1) = 4 (d + 1) = 4d + 4. Wystarczy wi c aby±my udowodnili zachodzenie równo±ci dla d b d cego liczb parzyst. Istnienie (d, 4d, d) kodu C d Hadamarda dowodzi,»e A (d, d) = 4d. Dla dowolnych warto±ci n i parzystych d speªniaj cych [ warunek d n [ < d skonstruujemy teraz (n, M, d) kod taki,»e M =. Niech k = oraz d d n, d d n a = d (k + 1) n (k + 1), b = kn d (k 1). Šatwo sprawdzi,»e liczby a oraz b dla interesuj cych nas warto±ci n i d s nieujemnymi liczbami caªkowitymi oraz n = (k 1) a + (k + 1) b, d = ka + (k + 1) b. Rozwa»my teraz trzy przypadki: gdy n jest liczb parzyst, liczbami parzystymi s równie» a oraz b i skonstruowa mo»emy kod: a A 4k b A 4k+4, gdy n jest liczb nieparzyst, k jest liczb parzyst, wówczas liczb parzyst jest równie» b i skonstruowa mo»emy kod: aa k b A 4k+4, gdy n i k s liczbami nieparzystymi, wówczas a jest liczb parzyst i skonstruowa mo»emy kod: a A 4k ba k+. ( [ ) d Ka»dy z powy»szych kodów jest n, d n, d kodem, wi c swoim istnieniem dowodzi zachodzenia równo±ci A (n, d) = [. d d n

Rozdziaª 5. Wybrane kody oparte o reszty kwadratowe 35 Uwaga 5.19 Nale»y pami ta,»e powy»sze twierdzenie nie dowodzi zachodzenia równo±ci w nierówno±ci Plotkina dla dowolnych n i d, a jedynie dla tych, dla których jeste±my w stanie wskaza explicite odpowiednio du»e macierze Hadamarda. Jest to konsekwencj wspomnianego ju» braku dowodu istnienia macierzy Hadamarda, dla dowolnego wymiaru b d cego wielokrotno±ci 4. Przykªad 5.0 Zilustrujemy konstrukcj u»yt w dowodzie twierdzenia Levenshteina na przykªadzie kodu C dªugo±ci n = 8 i odlegªo±ci d = 6. Pozostaj c w zgodzie z oznaczeniami z dowodu mamy k = 1, a =, b =. Jest to przypadek, gdy n jest liczb parzyst, a wi c konstruowany przez nas kod b dzie postaci C = A 4 A 8. Kody A 4 oraz A 8 to odpowiednio A 4 = {000, 101, 011, 110}, A 8 = {0000000, 1001011, 1100101, 1110010, 0111001, 1011100, 0101110, 0010111}, a wi c odpowiadaj ce im kody A 4 oraz A 8 to A 4 = {00, 11}, A 8 = {000000, 111001, 101110, 010111}. Macierz zawieraj ca wszystkie sªowa kodowe A 4 b dzie wi c miaªa posta [ 0 0 X A =, 4 1 1 a zawieraj ca dwa dowolne sªowa kodowe A 8 posta [ 0 0 0 0 0 0 X A =. 8 1 1 1 0 0 1 Ostatecznie X A = 4 A 8 [ 0 0 0 0 0 0 0 0, 1 1 1 1 1 0 0 1 a wi c (8,, 6) kod C = {00000000, 11111001} jest kodem o maksymalnej liczbie sªów kodowych przy ustalonych n i d. Wybieraj c inne sªowa kodowe do macierzy X A mo»emy oczywi±cie uzyska kod o innych sªowach kodowych 8 równie» speªniaj cy nasze oczekiwania. 5.. Macierze i kody konferencyjne 5..1. Macierze konferencyjne Denicja (macierz konferencyjna) Macierz konferencyjn C n wymiaru n nazywamy macierz kwadratow n n o wyrazach na diagonali równych 0, poza diagonal 1 i 1 oraz speªniaj c równo± C n C T n = (n 1) I n. Jak wida denicje macierzy konferencyjnej i Hadamarda s mocno do siebie zbli»one, co w kilku miejscach niniejszego rozdziaªu pozwoli nam po wprowadzeniu niewielkich zmian przenie± wyniki uzyskane dla macierzy Hadamarda bezpo±rednio na macierze konferencyjne. Oznaczenie Przy zapisie macierzy konferencyjnych b dziemy cz sto stosowa konwencj znan ju» z zapisu macierzy Hadamarda i pisa zamiast 1.

Rozdziaª 5. Wybrane kody oparte o reszty kwadratowe 36 Uwagi 5.1 Przeprowadzaj c dowody bardzo zbli»one do tych, jakie zostaªy przedstawione w przypadku wªasno±ci analogicznych do poni»szych dla macierzy Hadamarda, jeste±my w stanie udowodni nast puj ce wªasno±ci macierzy konferencyjnych: 1. Warunek C n C T n = (n 1) I n zapisa mo»emy inaczej jako r i, r j = { 0 dla i j n 1 dla i = j, gdzie r 1,..., r n s kolejnymi wierszami macierzy C n. Tym samym ka»de dwa ró»ne wiersze macierzy konferencyjnej s ortogonalne.. Dla dowolnej macierzy konferencyjnej C n mamy Cn 1 = 1 n 1 CT n. 3. Je±li C n jest macierz konferencyjn, to równie» jest ni Cn T. 4. Ka»de dwa ró»ne wiersze macierzy konferencyjnej C n ró»ni si mi dzy sob na dokªadnie 1 n + 1 pozycjach. Z dowolnych ró»nych wierszy r i i r j macierzy konferencyjnej usuwamy te wspóªrz dne, na których wyst puje zero. Przeprowadzaj c rozumowanie analogiczne jak dla macierzy Hadamarda pokazujemy,»e skrócone wiersze ró»ni si na 1 n 1 pozycjach, co dowodzi,»e rozwa»ane wektory ró»ni si na 1 n + 1 pozycjach. Przykªady 5. Macierzami konferencyjnymi s : dla n = 1 : C 1 = [[0, 0 1 dla n = : C = 1 0 dla n = 4 : C 4 = dla n = 8 : C 8 =, 0 1 1 1 1 0 1 1 0 1 1 1 0, 0 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 Denicja (macierz konferencyjna w postaci normalnej) Macierz konferencyjn w postaci normalnej nazywamy macierz konferencyjn której wszystkie wyrazy pierwszego wiersza i pierwszej kolumny nie le» ce na diagonali s równe 1. Uwaga 5.3 Wszystkie macierze konferencyjne z przykªadu 5. maj posta normaln. Twierdzenie 5.4 Niech [ C n = 0 1 n 1 1 T n 1 S n 1 b dzie macierz konferencyjn w postaci normalnej. Wówczas macierz S n 1 jest macierz kwadratow n 1 n 1 speªniaj c równo±ci. S n 1 S T n 1 = (n 1) I n 1 J n 1, S n 1 J n 1 = J n 1 S n 1 = 0. Korzystaj c z denicji macierzy konferencyjnej mo»emy napisa

Rozdziaª 5. Wybrane kody oparte o reszty kwadratowe 37 Zatem [ [ C n Cn T 0 1 = n 1 0 1 1 T n 1 n 1 S n 1 1 T n 1 S n 1 [ [ 0 1 = n 1 0 1 1 T n 1 n 1 S n 1 1 T n 1 Sn 1 T [ n 1 0n 1 = 0 T n 1 J n 1 + S n 1 Sn 1 T = (n 1) I n. J n 1 + S n 1 S T n 1 = (n 1) I n 1 S n 1 S T n 1 = (n 1) I n 1 J n 1. Niech teraz r 1 = [ 0 1 1 b dzie pierwszym wierszem macierzy C n oraz r i = [ 1 s i,1 s i,n 1 dowolnym innym wierszem tej macierzy. Wówczas z ortogonalno±ci ró»nych wierszy macierzy konferencyjnej otrzymujemy n r 1, r i = 0 1 + 1 s i,k k=1 = [ 1 1 1, [ s i,1 s i, s i,n 1 = 0. Wi c ka»dy wiersz [ s i,1 s i, s i,n 1 macierzy Sn 1 jest ortogonalny z wektorem [ 1 1 1 sk d wnioskujemy,»e S n 1 J n 1 = 0. Z analogicznych rozwa»a«prowadzonych dla macierzy konferencyjnej [ Cn T 0 1n = 1 T n Sn 1 T wynika,»e ka»da kolumna S n 1 jest ortogonalna z wektorem samych jedynek i J n 1 S n 1 = 0. T Twierdzenie 5.5 Je±li istnieje macierz konferencyjna C n wymiaru n, to n = k, k N. Powy»sze twierdzenie jest bezpo±redni konsekwencj uwagi 5.1.4. Uwaga 5.6 Niech istnieje macierz konferencyjna C n wymiaru n. Przyjmiemy bez dowodu nast puj ce wªasno±ci macierzy C n : Je±li n (mod4), to mo»liwe jest sprowadzenie macierzy C n do macierzy symetrycznej w wyniku mno»enia jej kolumn oraz wierszy przez 1. Je±li n 0 (mod4), to mo»liwe jest sprowadzenie C n do postaci sko±no-symetrycznej. Je±li C n jest macierz symetryczn, to n (mod4) oraz n 1 mo»emy zapisa w postaci n 1 = a + b, gdzie a, b N. Je±li C n jest macierz sko±no-symetryczn, wówczas n = lub n 0 (mod4). Dowody tych wªasno±ci znale¹ mo»na w pracach [5 oraz [6.

Rozdziaª 5. Wybrane kody oparte o reszty kwadratowe 38 5... Konstrukcje macierzy konferencyjnych Twierdzenie 5.7 (Paley'a): Niech p b dzie liczb pierwsz nieparzyst, n = p + 1 (mod4), Q p macierz Jacobsthala wymiaru p. Wówczas macierz C n = [ 0 1p 1 T p Q p jest symetryczn macierz konferencyjn wymiaru n. Symetryczno± macierzy C n wynika z symetryczno±ci macierzy Jacobsthala wymiaru 4k + 1, k N. Rozmieszczenie wyrazów 1, 0 i 1 w macierzy C n, z uwagi na rozmieszczenie wyrazów o tych warto±ciach w macierzy Jacobsthala, jest zgodne z denicj macierzy konferencyjnej. Pozostaje wi c pokaza,»e zachodzi C n C T n = (n 1) I n. Korzystaj c z wªasno±ci 3.13 macierzy Jacobsthala otrzymujemy [ [ T 0 1p 0 1p 1 T p Q p 1 T = p Q p = = = [ [ 0 1p 0 1p 1 T p Q p 1 T p Q T p [ p 0p 0 T p J p + Q p Q T p [ p 0p 0 T p J p + pi p J p [ p 0p 0 T p pi p = pi n = (n 1) I n. Przykªad 5.8 Niech p = 5, n = p + 1 = 6. Šatwo sprawdzi,»e macierz Jacobsthala 5 5 jest macierz 0 1 1 1 0 1 Q 5 = 1 0 1 1 0 1, 1 1 0 a wi c na mocy twierdzenia Paley'a macierz 0 1 1 1 1 1 1 0 1 1 C 6 = 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 0 musi by macierz konferencyjn.

Rozdziaª 5. Wybrane kody oparte o reszty kwadratowe 39 5..3. Kody konferencyjne Niech [ C n = 0 1 n 1 1 T n 1 S n 1 b dzie symetryczn macierz konferencyjn w postaci normalnej wymiaru n. Zauwa»my,»e wówczas równie» macierz S n 1 jest macierz symetryczn oraz zgodnie z uwag 5.6 n (mod4). Utwórzmy macierze 1 (S n 1 + I n 1 + J n 1 ) i 1 ( S n 1 + I n 1 + J n 1 ), a nast pnie wiersze tych macierzy oraz 1 n 1 i 0 n 1 potraktujmy jako sªowa kodowe. Uzyskali±my w ten sposób kod o n sªowach kodowych dªugo±ci n 1. Poka»emy teraz,»e minimalna odlegªo± mi dzy sªowami tego kodu wynosi 1 (n ). 1. Z uwagi 5.1.4 ka»de dwa ró»ne wiersze macierzy C n ró»ni si mi dzy sob na dokªadnie 1 n+1 pozycjach. Z postaci macierzy C n wida wi c,»e wiersze macierzy S n 1 musz ró»ni si równie» na 1 n + 1 pozycjach, a dodanie do S n 1 macierzy identyczno±ciowej I n 1 mo»e odlegªo± t zmniejszy najwy»ej do 1 (n ). Dodanie macierzy J n 1 do S n 1 + I n 1 i podzielenie sumy S n 1 + I n 1 + J n 1 przez nie wpªywa na rozmieszczenie wyrazów o tej samej warto±ci w macierzy, a jedynie zmienia ich liczbow warto±, wi c odlegªo± mi dzy sªowami kodowymi nie ulega dalszym zmianom. Analogicznie sytuacja wygl da w przypadku macierzy 1 ( S n 1 + I n 1 + J n 1 ).. Sprawd¹my teraz na ilu pozycjach ró»ni si mi dzy sob wiersze macierzy S n 1 + I n 1 i S n 1 + I n 1. W tym celu policzmy (S n 1 + I n 1 ) ( S n 1 + I n 1 ) T = S n 1 S T n 1 + S n 1 S T n 1 + I n 1 = (n 1) I n 1 + J n 1 + S n 1 S n 1 + I n 1 = ( n) I n 1 + J n 1. Oznaczaj c przez r (1) 1, r(1),..., r(1) n wiersze macierzy S n 1 + I n 1, a przez r () 1, r(),..., r() n wiersze macierzy S n 1 +I n 1 mo»emy powy»sz równo± zapisa jako { r (1) i, r () 3 n dla i = j j = 1 dla i j. Zauwa»my,»e powy»szy iloczyn skalarny jest sum samych 1 i 1. Mo»emy wi c zastosowa do niego uwag 5.3 i uzyska wtedy ( ) { dist r (1) i, r () n dla i = j j = 1. (n ) dla i j Jak zauwa»yli±my ju» w punkcie 1, rozmieszczenie wyrazów o tej samej warto±ci w macierzach S n 1 +I n 1 i 1 (S n 1 + I n 1 + J n 1 ) oraz odpowiednio S n 1 +I n 1 i 1 ( S n 1 + I n 1 + J n 1 ) jest identyczne, a zatem odleg- ªo±ci mi dzy wierszami 1 (S n 1 + I n 1 + J n 1 ) i 1 ( S n 1 + I n 1 + J n 1 ) równie» nie ulegaj zmianie i wynosz tyle samo, co mi dzy wierszami S n 1 + I n 1 i S n 1 + I n 1. Czyli co najmniej 1 (n ). 3. Dla wektorów 1 n 1 i 0 n 1 mamy dist (1 n 1, 0 n 1 ) = n 1. Dzi ki równo±ci S n 1 J n 1 = 0 dostajemy oraz (S n 1 + I n 1 ) J n 1 = S n 1 J n 1 + J n 1 = J n 1 ( S n 1 + I n 1 ) J n 1 = S n 1 J n 1 + J n 1 = J n 1 i przeprowadzaj c analogiczne rozumowanie jak w dostajemy,»e wektor 1 n 1 ró»ni si od ka»dego wiersza macierzy 1 (S n 1 + I n 1 + J n 1 ) oraz

Rozdziaª 5. Wybrane kody oparte o reszty kwadratowe 40 1 ( S n 1 + I n 1 + J n 1 ) na 1 (n ) pozycjach. Wektor 0 n 1 z kolei, jako dopeªnienie wektora 1 n 1, ró»ni si od wierszy macierzy na dokªadnie 1 n pozycjach. Punkty 1, oraz 3 ª cznie pozwalaj nam stwierdzi,»e minimaln odlegªo±ci ( zbudowanego przez nas kodu jest 1 (n ). Tak wi c skonstruowany kod jest n 1, n, 1 (n )) kodem, który nazywa b dziemy kodem konferencyjnym. Przykªad 5.9 Niech dana b dzie macierz konferencyjna wymiaru 6 skonstruowana zgodnie z twierdzeniem Paley'a 0 1 1 1 1 1 1 0 1 1 C 6 = 1 1 0 1 1 1 0 1. 1 1 0 1 1 1 1 0 Macierz ta pozwala nam zbudowa (5, 1, 3) kod o sªowach kodowych 0 0 0 0 0, 1 1 0 0 1, 1 1 1 0 0, 0 1 1 1 0, 0 0 1 1 1, 1 0 0 1 1, 1 0 1 1 0, 0 1 0 1 1, 1 0 1 0 1, 1 1 0 1 0, 0 1 1 0 1, 1 1 1 1 1. 5.3. Kody Golay'a 5.3.1. Rozszerzony kod Golay'a G 4 Denicja (rozszerzony kod Golay'a G 4 ) Rozszerzonym kodem Golay'a G 4 nazywamy kod o macierzy generuj cej postaci: [ 1 T G = 11 I 11 0 T 11 A 11 0 0 11 1 1 11, gdzie A 11 jest macierz powstaª z binarnej macierzy Hadamarda typu Paley'a wymiaru 1 poprzez usuni cie pierwszego wiersza i pierwszej kolumny tej macierzy. Oznaczenia W niniejszym rozdziale symbol G b dzie zawsze oznaczaª macierz generuj c kogu G 4. Kolejne kolumny macierzy G oznacza b dziemy symbolami l, l 0, l 1,..., l 10, r, r 0, r 1,..., r 10 natomiast wiersze, zaczynaj c od góry, ponumerujemy liczbami 0, 1,..., 11. Ponadto dla sªów kodowych a a 0 a 1... a 10 b b 0 b 1... b 10 G 4

Rozdziaª 5. Wybrane kody oparte o reszty kwadratowe 41 b dziemy cz sto stosowa skrócony zapis przyjmuj c L = a a 0 a 1... a 10 oraz i pisz c R = b b 0 b 1... b 10 u = L R. Uwaga 5.30 Z denicji macierzy A 11 wynika,»e jej ka»de dwa ró»ne wiersze ró»ni si na dokªadnie 6 pozycjach, a zatem suma dwóch dowolnych wierszy tej macierzy ma wag 6. Po tym spostrze»eniu ªatwo ju» zauwa»y,»e w takim razie suma dwóch dowolnych ró»nych wierszy macierzy G ma wag 8. Wªasno±ci 5.31 1. G 4 = G4.. 1 4 G 4. 3. Dopeªnienie dowolnego sªowa kodowego G 4 jest sªowem kodowym G 4. 4. a a 0 a 1... a 10 b b 0 b 1... b 10 G 4 b b 0 b 10... b 1 a a 0 a 10... a 1 G 4. 5. Je±li istnieje sªowo kodowe L R G 4 takie,»e wt (L) = i, wt (R) = j, to równie» istnieje L R G 4 takie,»e wt ( L ) = j, wt ( R ) = i. 1. Dla dwóch (niekoniecznie ró»nych) wierszy r 1 i r macierzy generuj cej G mamy wt (r 1 r ) 0 (mod). Zgodnie z twierdzeniem 4.13 ka»de dwa wiersze G s ortogonalne, a zatem G 4 G 4. Zauwa»my jednak,»e rz d G wynosi 1, a wi c G 4 ma wymiar 1 = 1 4 i na mocy twierdzenia 4.15 G 4 = G 4.. Wektor 1 4 jest sum wszystkich wierszy macierzy G. 3. Niech u G 4 i u b dzie dopeªnieniem u. Wówczas z denicji dopeªnienia mamy u + u = 1 4 u = u + 1 4, wi c u G 4 jako suma dwóch sªów kodowych z G 4. 4. Wystarczy,»e poka»emy zachodzenie niniejszej wªasno±ci dla wektorów bazowych kodu G 4 (wierszy macierzy generuj cej G). Niech T = (l r ) (l 0 r 0 ) (l 1 r 10 ) (l r 9 )... (l 10 r 1 ), gdzie (l i r j ) jest transpozycj kolumn l i oraz r j. Odwzorowanie T przeksztaªca pierwszy wiersz macierzy G w wektor 0101000111011100000000000. Posta kolumn l, l 0, l 1,..., l 10 macierzy G pozwala nam ªatwo zauwa»y,»e jest on sum wierszy 0,, 6, 7, 8, 10 oraz 11 i jako taki nale»y do G 4. Podobnie dla wszystkich wierszy macierzy G od 1 do 10. Wiersz 11 jest przez odwzorowanie T przeksztaªcany na wektor 111111111111000000000000 i nale»y do G 4 jako dopeªnienie ostatniego wiersza G. 5. Szukanym sªowem L R jest obraz sªowa kodowego L R wzgl dem odwzorowania T z punktu 4 dowodu.

Rozdziaª 5. Wybrane kody oparte o reszty kwadratowe 4 5.3.. Rozkªad wag Lemat 5.3 Waga ka»dego sªowa kodowego w kodzie G 4 jest podzielna przez 4. Bezpo±rednia konsekwencja twierdzenia 4.16. Twierdzenie 5.33 Kod G 4 zawiera tylko sªowa kodowe wagi 0, 8, 1, 16, 4. Powy»szy lemat pozwala nam sprowadzi problem do wykazania,»e G 4 nie zawiera sªów kodowych wagi 4 i 0. Zauwa»my jednak,»e je±li u G 4 i wt (u)=0, to wt (u + 1 4 ) = 4. Wystarczy wi c,»e poka»emy brak sªów kodowych wagi 4. Šatwo zauwa»y,»e dla ka»dego sªowa kodowego L R kodu G 4 a wi c dzi ki wªasno±ci 5.31.5 równie» wt (L) 0 (mod), wt (R) 0 (mod). Wynikaªoby st d,»e ka»de sªowo kodowe wagi 4 jest jednego z trzech typów (1) wt (L) = 0 wt (R) = 4, () wt (L) = wt (R) =, (3) wt (L) = 4 wt (R) = 0. Jednak na mocy wªasno±ci 5.31.5 istnienie sªów kodowych typu (1) jest równowa»ne istnieniu tych typu (3), wystarczy wi c rozwa»y przypadki (1) i (). Sytuacja (1) jest niemo»liwa, gdy» wt (L) = 0 tylko dla dwóch sªów kodowych: ostatniego wiersza macierzy G, wówczas wt (R) = 1, dopeªnienia wektora 1 4, wówczas wt (R) = 0. Podobnie nie jest mo»liwa sytuacja (), gdy» wt (L) = tylko dla sªów kodowych b d cych sum jednego lub dwóch spo±ród wierszy od 0 do 10 macierzy generuj cej G, plus ewentualnie wiersza ostatniego. We wszystkich tych przypadkach, na podstawie uwagi 5.30, wªa±ciwo±ci macierzy A 11 (6 jedynek w wierszu) oraz postaci wiersza 11 macierzy G mamy wt (R) = 6. Twierdzenie 5.34 Rozkªad wag kodu G 4 to i : 0 8 1 16 4 A i : 1 759 576 759 1. Zgodnie z wªasno±ci 5.31 1 4 G 4, a wi c równie» 0 4 G 4 jako jego dopeªnienie. S to jedyne sªowa kodowe o wadze odpowiednio 4 i 0 i tym samym A 0 = A 4 = 1. Ka»demu sªowu kodowemu wagi 8 mo»na w jednoznaczny sposób przypisa jego dopeªnienie b d ce sªowem kodowym wagi 16 i na odwrót. Tak wi c mamy tu zale»no± A 8 = A 16. Zauwa»my,»e dodanie do dowolnego sªowa kodowego kodu G 4 ostatniego wiersza macierzy G nie wpªywa na posta lewej strony tego sªowa. Wynika st d,»e ka»dej lewej stronie L odpowiadaj dwie mo»liwe strony prawe, R i R b d ce dopeªnieniem R, których wagi wyznaczy mo»emy na podstawie twierdzenia 5.33. Np. je±li wt (L) = 0, to z twierdzenia

Rozdziaª 5. Wybrane kody oparte o reszty kwadratowe 43 5.33 wt (R) 4 oraz wt (R) 8 (bo wt ( R ) 4), wi c musi by wt (R) = 0 oraz wt ( R ) = 1. Podobnie je±li wt (L) =, to wt (R) oraz wt (R) 10, mamy wi c wt (R) = 6 i wt ( R ) = 6. Post puj c analogicznie w pozostaªych przypadkach uzyskujemy nast puj c tabel mo»liwych wag dla sªów kodowych Liczba wt (L) wt (R) wt ( R ) caªkowita waga ( 1 ) 0 0 1 0 1 11 11 + 6 6 8 8 ( ) ( ) 11 11 + 4 4 8 8 1 3 4 α 6 10 8 16 ( ) β ( ) 6 6 6 1 1 11 11 + 8 4 8 1 16 ( 7 ) ( 8 ) 11 11 + 10 6 6 16 16 9 10 1 1 0 1 1 4 Liczby sªów kodowych podane w powy»szej tabeli mo»na ªatwo wyprowadzi analizuj c kolumny l, l 0, l 1,..., l 10 macierzy G. Zauwa»aj c,»e wt (L) = 0 tylko dla ostatniego wiersza tej macierzy mamy jedno sªowo L R i jedno L R takie,»e wt (L) = 0. wt (L) =, gdy sªowo kodowe jest sum jednego ( lub ) 11 dwóch spo±ród wierszy od 0 do 10 macierzy G, wi c sªów takich jest 11+, ( ) 11 a dodanie wiersza 11 do ka»dego z nich daje nam kolejne 11 + sªów. Podobnie wyznaczy mo»emy pozostaªe warto±ci. Zgodnie z wªasno±ci 5.31.5, sªów kodowych typu wt (L) = 6, wt (R) = jest tyle samo co wt (L) =, wt (R) = 6, a wi c ( α = 11 + ( )) 11. Dlatego ( ( )) ( ) 11 11 A 8 = A 16 = 4 11 + + + 3 ( ) 11 = 759. 4 Kod G 4 jako binarny kod liniowy posiada ª cznie 1 sªów kodowych. Jedynymi sªowami kodowymi jakich liczby jeszcze nie znamy, s te o wadze 1, a wi c ostatecznie A 1 = 1 A 1 A 8 A 16 A 4 = 576. 5.3.3. t konguracje a rozszerzony kod Golay'a G 4 Denicja (pokrywanie) Powiemy,»e binarny wektor u pokrywa wektor v, je±li v ma jedynk na ka»dej pozycji, na której ma j u. Przykªad 5.35 Niech u = 10110. Wektory pokrywane przez u to np. v 1 = 10000, v = 00110, v 3 = 10100. Natomiast przykªadami wektorów nie pokrywanych przez u s w 1 = 11000, w = 11110, w 3 = 01001. Twierdzenie 5.36 Ka»dy binarny wektor o wadze 5 i dªugo±ci 4 jest pokrywany przez dokªadnie jedno sªowo kodowe kodu G 4 wagi 8.

Rozdziaª 5. Wybrane kody oparte o reszty kwadratowe 44 Gdyby istniaªy dwa sªowa kodowe u, v o wadze 8 pokrywaj ce pewien wektor binarny o wadze 5, wówczas 6 dist (u, v) = wt (u + v). Jedyn dopuszczaln wag sªów kodowych w G 4 niewi ksz ni» 6 jest 0, a wi c u + v = 0 u = v. Sprzeczno±. Rozwa»my zbiór 4 elementowy X, którego elementy zostaªy w dowolny sposób ponumerowane od 1 do 4. Ka»demu podzbiorowi Y X mo»emy wzajemnie jednoznacznie przyporz dkowa wektor binarny y dªugo±ci 4 wedªug nast puj cej zasady: je±li element i ty zbioru X nale»y do Y, to wektor y na pozycji i tej ma 1, je±li element i ty zbioru X nie nale»y do Y, to wektor y na pozycji i tej ma 0. Interpretuj c elementy zbioru X jako punkty pewnej t konguracji, a sªowa kodowe wagi 8 kodu G 4 jako reprezentacje bloków tej konguracji mo»emy sformuªowa nast puj cy wniosek: Wniosek 5.37 Sªowa kodowe wagi 8 z G 4 wyznaczaj system Steinera S (5, 8, 4). Oznaczenie Ósemkami nazwijmy sªowa kodowe wagi 8 kodu G 4 i analogicznie dwunastkami sªowa kodowe wagi 1. Twierdzenie 5.38 Liczby przeci bloków λ ij dla systemu Steinera S (5, 8, 4) tworzonego przez ósemki przedstawia nast puj cy trójk t: 759 506 53 330 176 77 10 10 56 1 130 80 40 16 5 78 5 8 1 4 1 46 3 0 8 4 0 1 30 16 16 4 4 0 0 1 30 0 16 0 4 0 0 0 1 Bezpo±redni wniosek z twierdzenia 3.18 oraz uwagi 3.19. Twierdzenie 5.39 Sªowa kodowe wagi 16 w G 4 tworz 5 (4, 16, 78) kombinacj, której odpowiada trójk t liczb przeci bloków powstaªy z trójk ta zawartego w twierdzeniu 5.38 przez odbicie jego kolumn wzgl dem kolumny ±rodkowej i usuni cie trzech ostatnich wierszy. Jest to t konguracja komplementarna do tej formowanej przez ósemki. Twierdzenie 5.40 Dwunastki w G 4 tworz 5 (4, 1, 48) kombinacj. Ponadto, niech pewna ósemka u zawiera jedynki na pozycjach P 1,..., P 8. Oznaczmy tymczasowo λ ij jako liczb dwunastek zawieraj cych jedynki na pozycjach P 1,..., P j i nie zawieraj cych na P j+1,..., P i dla 1 j i 8. Wówczas λ ij formuj trójk t

Rozdziaª 5. Wybrane kody oparte o reszty kwadratowe 45 576 188 188 616 67 616 80 336 336 80 10 160 176 160 10 48 7 88 88 7 48 16 3 40 48 40 3 16 0 16 16 4 4 16 16 0 0 0 16 0 4 0 16 0 0 Niech u G 4 b dzie ósemk zawieraj c jedynki na pozycjach P 1, P,..., P 8. Poka»my,»e λ 66 = λ 76 = λ 86 = 16. Zauwa»my,»e ka»dej dwunastce v G 4 maj cej jedynki na pozycjach P 1,..., P 6 i nie maj cej na P 7, P 8 mo»emy w sposób wzajemnie jednoznaczny przyporz dkowa ósemk u + v maj c jedynki na pozycjach P 7, P 8 i nie maj c na pozycjach P 1,..., P 6. St d z trójk ta w twierdzeniu 5.38 mo»emy odczyta,»e λ 86 = 16. Rozwa»my teraz dwunastki zawieraj ce jedynki na pozycjach P 1,..., P 6 i nie zawieraj ce na pozycji P 7. Mo»emy je podzieli na te, które na pozycji P 8 maj jeden i na te, które na tej pozycji maj zero. Jednak, je±li w jest dwunast z jedynk na pozycji P 8 to wt (u + w) = 5, a wi c na mocy twierdzenia 5.33 u + w / G 4 i tym samym w / G 4. Mamy wi c λ 76 = λ 86. Podobnie pokaza mo»na,»e równie» λ 66 = λ 86, a wi c faktycznie mamy λ 66 = λ 76 = λ 86 = 16. Rozumuj c podobnie jak wy»ej mo»emy pokaza,»e dwunastki maj ce jedynki na pozycjach P 1,..., P 5 mo»na rozdzieli na te, maj ce jedynk równie» na dokªadnie jednej z pozycji P 6, P 7 lub P 8 i na dwóch pozostaªych zera. Tym samym λ 55 = 3 λ 86 = 3 16 = 48. Dlatego te» dwunastki tworz 5 (4, 1, 48) kombinacj. Pozostaªe elementy trójk ta otrzyma mo»na z pomoc twierdzenia 3.18. 5.3.4. Doskonaªy kod Golay'a G 3 Denicja (doskonaªy kod Golay'a G 3 ) Doskonaªym kodem Golay'a G 3 nazywamy zbiór wszystkich sªów kodowych powstaªych ze sªów kodowych kodu Golay'a G 4 przez usuni cie ostatniej wspóªrz dnej. Wªasno±ci 5.41 1. G 3 jest [3, 1, 7 kodem o dystrybucji wag: A 0 A 7 A 8 A 11 A 1 A 15 A 16 A 3 1 53 506 188 188 506 53 1. G 3 jest kodem doskonaªym poprawiaj cym do trzech bª dów. 1. Wynika natychmiast z twierdze«z poprzedniego podrozdziaªu. Na przykªad sªowa kodowe wagi 7 w G 3 powstaªy z ósemek kodu G 4 o ostatniej wspóªrz dnej równej 1, a zatem ich liczba zgodnie z twierdzeniem 5.38 wynosi λ 11 =53.. Minimalna odlegªo± mi dzy sªowami kodowymi G 3 wynosi 7, wi c na mocy twierdzenia 4.6 mo»e on poprawi do trzech bª dów oraz kule o promieniu t=3 zbudowane wokóª jego sªów kodowych s rozª czne. Rozumuj c podobnie jak w dowodzie twierdzenia o ograniczeniu Hamminga wnioskujemy,»e kule te zawieraj ª cznie 1 (1 + ( 3 1 ) + ( ) ( )) 3 3 + = 1 11 = 3 3

Rozdziaª 5. Wybrane kody oparte o reszty kwadratowe 46 ró»nych sªów kodowych, czyli wszystkie wektory binarne dªugo±ci 3. Kod G 3 jest wi c kodem doskonaªym. Uwaga 5.4 Mo»na wykaza,»e ka»dy binarny kod doskonaªy poprawiaj cy co najmniej dwa bª dy jest równowa»ny z kodem Golay'a G 3.

Rozdziaª 6 Dodatek A: implementacja kodu G 3 6.1. Dekodowanie Denicja (warstwa) Niech V b dzie przestrzeni wektorow nad ciaªem F, za± W podprzestrzeni przestrzeni V. Dla dowolnego v V, zbiór v + W = {v + w : w W } nazywa b dziemy warstw wzgl dem podprzestrzeni W wyznaczon przez wektor v. Twierdzenie 6.1 Niech V b dzie przestrzeni wektorow nad ciaªem F, za± W podprzestrzeni przestrzeni V. Dla dowolnych u, v V zachodzi dokªadnie jeden z dwóch przypadków 1. u + W = v + W,. (u + W ) (v + W ) =. Wniosek 6. Niech V b dzie przestrzeni wektorow nad ciaªem F, za± W podprzestrzeni przestrzeni V. Wówczas V = (v + W ). v V Niech od teraz F oznacza ciaªo sko«czone, natomiast C F n [n, k kod liniowy o macierzy kontroli parzysto±ci H. Z twierdzenia 6.1 oraz wniosku 6. wynika,»e przestrze«f n wszystkich mo»liwych wektorów, jakie uzyska mo»emy na skutek transmisji sªów kodowych, przedstawi mo»na w postaci gdzie t = F n k 1, v 1,..., v t F n. F n = C (v 1 + C)... (v t + C), Denicja (syndrom) Syndromem wektora y F n wzgl dem kodu C nazywa b dziemy wektor S = Hy T. Dla dowolnego i = 1,..., t i y v i + C (y = v i + x, x C) mamy S = Hy T = H (v i + x) T = Hv T i + Hx T = Hv T i, a zatem ka»dej warstwie odpowiada dokªadnie jeden syndrom. Z drugiej strony ªatwo zauwa»y,»e y 1, y v i + C y 1 y C, H (y 1 y ) T = 0 Hy T 1 Hy T = 0 Hy T 1 = Hy T.

Rozdziaª 6. Dodatek A: implementacja kodu G 3 48 Wi c ka»dej warstwie odpowiada musi inna warto± syndromu. Zakªadaj c,»e podczas transmisji sªowa kodowego popeªnienie mniejszej liczby bª dów jest bardziej prawdopodobne ni» wi kszej (co w wi kszo±ci przypadków jest zaªo»eniem racjonalnym) oraz korzystaj c z pokazanej wªa±nie jednoznacznej korespondencji pomi dzy syndromem i warstw, mo»emy zaproponowa nast puj cy algorytm dekodowania dla kodów liniowych: Algorytm 6.3 1. Dzielimy caª przestrze«f n na warstwy F n = C (v 1 + C)... (v t + C), t = F n k 1, v 1,..., v t F n.. Dla i = 1,..., t : wybieramy takie e i v i + C (nazywane dalej liderami warstwy lub wektorami bª du),»e ( d v i + C) wt (e i ) wt (d). Je±li kilka wektorów speªnia ten warunek, jako e i wybieramy dowolny z nich. 3. Dla otrzymanego w wyniku transmisji wektora y F n obliczamy syndrom S = Hy T. 4. Je±li S = 0 k, to wektor y uznajemy za wysªane sªowo kodowe. W przeciwnym wypadku znajdujemy wektor bª du e {e 1,..., e t } nale» cy do warstwy powi zanej z uzyskanym syndromem i za wysªane sªowo kodowe uznajemy wektor x = y e. 5. Je±li istniej kolejne wektory do rozwa»enia, wracamy do kroku 3. W przeciwnym wypadku koniec. 6.. Opis biblioteki W podrozdziale tym zajmiemy si krótkim omówieniem stworzonej na potrzeby tej pracy biblioteki wspomagaj cej kodowanie wiadomo±ci z wykorzystaniem kodu Golay'a G 3. Od strony teoretycznej biblioteka ta funkcjonuje w oparciu o metod dekodowania opisan w algorytmie 6.3 oraz kodowania z wykorzystaniem macierzy generuj cej. Od strony technicznej natomiast, jej gªównym zadaniem jest tworzenie dwóch tablic jednowymiarowych: przeksztaªcaj cej wektory informacji w sªowa kodowe oraz przeksztaªcaj cej syndromy w wektory bª dów. Wektory wiadomo±ci, sªowa kodowe, wektory bª dów oraz wszystkie inne powi zane z kodem G 3 wektory binarne na potrzeby biblioteki traktowane s jako reprezentacje binarne liczb caªkowitych i jako takie przechowywane w zmiennych typu int. Na przykªad wektor x = 10011010001 jest reprezentacj binarn liczby 133 10 i wªa±nie jako 133 10 zostanie zapisany w odpowiedniej zmiennej. Biblioteka z punktu widzenia u»ytkownika skªada si z czterech funkcji zebranych w przestrzeni nazw golay3: int syndrome(int vector) Przyjmuj cej jako argument wektor binarny dªugo±ci 3 oraz zwracaj cej syndrom odpowiadaj cy temu wektorowi w kodzie G 3. int wt(int vector) Przyjmuj cej jako argument wektor binarny dowolnej dopuszczanej przez zmienn typu int dªugo±ci (przewa»nie nie wi kszej ni» 3) oraz zwracaj cej wag tego wektora (liczb jedynek wyst puj cych w wektorze). void gendecodingtable(int const decoding) Przyjmuj cej jako argument wska¹nik na tablic 048 elementow. W wyniku swojego dziaªania wypeªniaj c j tak, aby odwzorowywaªa warto±ci syndromów (indeksy tablicy) na odpowiadaj ce im wektory bª dów (elementy tablicy). void genencodingtable(int const encoding) Przyjmuj cej jako argument wska¹nik na tablic 4096 elementow. W wyniku swojego dziaªania wypeªniaj c j tak, aby odwzorowywaªa wektory

Rozdziaª 6. Dodatek A: implementacja kodu G 3 49 wiadomo±ci (indeksy tablicy) na odpowiadaj ce im sªowa kodowe (elementy tablicy). Biblioteka zawiera równie» cztery staªe typu int okre±laj ce MessageLen - dªugo± wektorów wiadomo±ci w kodzie G 3, CodewordLen - dªugo± sªów kodowych/wektorów wynikowych w kodzie G 3, CodewordsNumber - liczb sªów kodowych/wektorów wiadomo±ci reprezentowanych przez kod G 3, CosetsNumber - liczb warstw na jakie kod G 3 dzieli przestrze«wektorow Z 3 oraz dwie tablice jednowymiarowe reprezentuj ce Hc - macierz kontroli parzysto±ci kodu G 3 w postaci kolumnowej (Hc[i reprezentuje i t kolumn tej macierzy), Gc - jedena±cie kolumn macierzy generuj cej (pomini to kolumny tworz ce macierz jednostkow ) kodu G 3. Opisane zmienne i tablice s dost pne dla u»ytkownika biblioteki i mo»liwe do wykorzystania. Jednak zostaªy one utworzone przede wszystkim z my±l o zastosowaniu ich w wy»ej opisanych funkcjach bibliotecznych i nie zaleca si bezpo±redniego z nich korzystania. Wykorzystanie biblioteki jest procesem bardzo prostym i intuicyjnym. Po stronie nadawcy wiadomo±ci opiera si na utworzeniu tablicy koduj cej encoding : i n t e n c o d i n g [ 4 0 9 6 ; genencodingtable ( e n c o d i n g ) ; a nast pnie wykorzystaniu jej do kodowania kolejnych fragmentów informacji, np. liczby 65 (reprezentuj cej liter 'A' w tablicy kodów ASCII): i n t message = 'A ' ; i n t codeword = encoding [ message ; Po stronie odbiorcy wiadomo±ci natomiast caªy proces dekodowania opiera si na utworzeniu tablicy decoding: i n t d e c o d i n g [ 0 4 8 ; gendecodingtable ( d e c o d i n g ) ; a nast pnie wykorzystaniu jej wraz z funkcj syndrome do dekodowania kolejno przychodz cych od nadawcy wektorów (receivedvector): i n t codeword = d e c o d i n g [ syndrome ( r e c e i v e d V e c t o r ) ; i n t message = codeword >> 1 1 ; Prosty przykªadowy program symuluj cy przesyªanie pliku gracznego przez ª cze o ustalonym prawdopodobie«stwie popeªnienia bª du na ka»dym bicie informacji, wykorzystuj cy opisan bibliotek, znajduje si na pªycie doª czonej do pracy. Poni»ej przedstawiono efekty jego dziaªania dla prawdopodobie«stwa popeªnienia bª du na ka»dym bicie równego 0.005