ANKARA ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ YÜKSEK LİSANS TEZİ SONLU CİSİMLER VE KODLAMA TEORİSİNDEKİ UYGULAMALARI Burcu ÇAPKIN MATEMATİK ANABİLİM DALI ANKARA 2005 Her hakkı saklıdır. Prof. Dr. Ali Bülent EKİN danışmanlığında, Burcu ÇAPKIN tarafından hazırlanan bu çalışma 11/10/2005 tarihinde aşağıdaki jüri tarafından Matematik Anabilim Dalı’nda Yüksek Lisans tezi olarak kabul edilmiştir. Başkan : Prof. Dr. Yücel TIRAŞ Üye : Prof. Dr. Ali Bülent EKİN Üye : Doç. Dr. Ayhan ŞERBETÇİ Yukarıdaki sonucu onaylarım. Prof. Dr. Metin OLGUN Enstitü Müdürü ÖZET Yüksek Lisans Tezi SONLU CİSİMLER VE KODLAMA TEORİSİNDEKİ UYGULAMALARI Burcu ÇAPKIN Ankara Üniversitesi Fen Bilimleri Enstitüsü Matematik Anabilim Dalı Danışman : Prof. Dr. Ali Bülent EKİN Bu çalışma beş bölümden oluşmaktadır. Birinci bölüm giriş kısmına ayrıldı. İkinci bölümde, çalışma için gerekli olan ve ileride kullanılacak sonlu cisimler için temel tanım ve kavramlar verildi. Üçüncü bölümde, kodlama teorisindeki temel kavramlar ve BCH kodlama sistemi incelendi. Dördüncü bölümde, BCH kodlama sisteminde kullanılan asal ve primitif polinomları bulmaya yönelik çeşitli algoritmalar verildi. Son bölümde, herhangi bir sonlu cisim üzerinde polinomlar için çarpanlara ayırma ve kök bulma algoritmaları incelendi. 2005, 125 sayfa ANAHTAR KELİMELER : Kod kelimesi, üreteç polinom, primitif polinom, asal polinom, dairesel polinom, sonlu cisim, primitif eleman, tespit edilebilen hatalar, düzeltilebilen hatalar, BCH kodu. i ABSTRACT Masters Thesis FINITE FIELDS AND ITS APPLICATIONS IN THE CODING THEORY Burcu ÇAPKIN Ankara University Graduate School of Natural and Applied Sciences Department of Mathematics Supervisor : Prof. Dr. Ali Bülent EKİN This thesis consists of five chapters. The first chapter is devoted to the introduction. In the second chapter, basic definitions and terminology have been mentioned which will be needed and be used in the further studies for the finite fields. In the third chapter, information has been given about basic terminology of coding theory and BCH coding system. In the fourth chapter, several algorithms has been examined aiming to find primitive and irreducible polynomials in any finite fields which will be necessary for the BCH coding system. In the last chapter , root finding algorithms and factoring on polynomials for any finite fields has been examined which will be useful for the algorithms examined. 2005, 125 pages KEY WORDS : Code word, generator polynomial, primitive polynomial, irreducible polynomial, cyclotomic polynomials, finite fields, primitive elements, detected errors, corrected errors, BCH code. ii TEŞEKKÜR Araştırmalarımın her aşamasında bilgi ve yardımlarını esirgemeyen, çalışmalarımı yönlendiren ayrıca hayatın önemini ve anlamını konuşmalarında ve davranışlarında vurgulayarak karakterimin gelişmesinde katkıda bulunan danışman hocam sayın Prof. Dr. Ali Bülent EKİN’ e ; yaşamımın her safhasında desteklerini gördüğüm, isteklerimin gerçekleşmesinde bana inanan ve beni bu yönde teşvik eden iyi ki varlar ve yanımdalar dediğim ailem Sevgi - Ahmet - Kağan ÇAPKIN’ a en derin duygularımla teşekkür ederim. Burcu ÇAPKIN Ankara , Ekim 2005 iii İÇİNDEKİLER ÖZET .......................................................................................................................... i ABSTRACT ............................................................................................................... ii TEŞEKKÜR ............................................................................................................... iii ŞEKİLLER DİZİNİ ................................................................................................... v SİMGELER DİZİNİ .................................................................................................. vi 1. GİRİŞ ...................................................................................................................... 1 2. KODLAMA TEORİSİ ......................................................................................... 6 2.1 Kodlama Teorisindeki Temel Kavramlar ....................................................... 6 2.2 Polinom Kodları .................................................................................................. 22 2.3 BCH Kodları ........................................................................................................ 26 3. SONLU CİSİMLER .............................................................................................. 34 3.1 Giriş ........................................................................................................................ 34 3.2 Cisim Genişlemeleri ............................................................................................ 37 3.3 Sonlu Cisimlerin Karakterizasyonu ................................................................. 42 3.4 Asal Polinomların Kökleri ................................................................................. 43 4. SONLU CİSİMLERDE POLİNOMLAR .......................................................... 48 4.1 Polinomların Mertebesi ve Primitif Polinomlar ............................................ 48 4.2 Asal Polinomlar .................................................................................................... 63 4.3 Asal Polinomların İnşası ..................................................................................... 71 5. POLİNOMLARIN ÇARPANLARA AYRILMASI ........................................ 89 5.1 Küçük Sonlu Cisimlerde Çarpanlara Ayırma ................................................ 89 5.2 Büyük Sonlu Cisimlerde Çarpanlara Ayırma ............................................... 106 5.3 Polinomların Köklerinin Hesaplanması .......................................................... 112 KAYNAKLAR ........................................................................................................... 124 ÖZGEÇMİŞ ................................................................................................................ 125 iv ŞEKİLLER DİZİNİ Şekil 1.1 Bir dijital iletişim sistemi................................................................................... 2 v SİMGELER DİZİNİ Z Tamsayılar kümesi F Herhangi bir mertebeden cisim B Elemanları 0 ve 1 den oluşan iki elemanlı sonlu cisim Fq q mertebeli sonlu cisim GF(pn ) q := pn mertebeli sonlu cisim F[x] Polinomlar halkası C Kod kelimeleri kümesi Fq∗ Fq cisminin sıfırdan farklı elemanlarının oluşturduğu çarpımsal grup In−k n − k boyutlu birim matris cT Bir c matrisinin transpozu d(a, b) Herhangi iki kod kelimesi arasındaki uzaklık wt(a) Bir a kod kelimesinin ağırlığı deg(f (x)) ¯ ¯ g¯f Bir f (x) polinomunun derecesi g(x) polinomu böler f (x) polinomu [L : K] K cisminin L cismi üzerindeki genişlemesinin derecesi R(f, g) f ve g polinomlarının resultantı Φ Euler fonksiyonu T rF/K (α) α elemanının izi NF/K (α) α elemanının normu K(n) Dairesel cisim Qn (x) Dairesel polinom ord(f ) f polinomunun mertebesi f∗ f polinomunun resiprokal polinomu Nq (d) Fq [x] de derecesi d olan bütün monik, asal polinomların sayısı vi µ Moebius fonksiyonu I(q, n; x) Fq [x] de n dereceli monik, asal polinomların çarpımı ordn (b) b elemanının mod(n) deki çarpımsal mertebesi vii 1 GİRİŞ Sonlu cisimlerin esas uygulamalarından biri kodlama teorisidir. Bu teori hata oluşma olasılığı ile bilginin aktarımı sırasındaki kapasiteyi karşılaştıran Shannon Teoremi ile önem kazanmıştır. Böylece Kodlama Teorisindeki cebirin amacı bir iletişim sisteminde meydana gelen hatalar için hata düzeltebilen ve hata tespit edebilen kod sistemleri tasarlamak olmuştur. Bir gürültülü kanal (hata oluşabilen kanal) üzerinde bilginin güvenilir yayılımı için yapılan kodlama ve kod çözme işlemleri bugün büyük ve önemli bir işlem haline gelmiştir. Kodlama sisteminde gönderilen mesajlar sonlu bir alfabenin elemanlarından oluşan sembollerin bir sonlu dizisinden meydana gelir. Örnek olarak eğer alfabe 0 ve 1 den oluşuyorsa mesaj 0 ve 1 lerden oluşan bir sonlu diziden meydana gelir. Bu şekildeki kodlama sistemlerine bir ikili kodlama adı verilir. Genel olarak alfabeyi bir sonlu cisim olarak gözönüne alabiliriz. Bir iletişim kanalı üzerinde alfabenin elemanlarının sonlu dizilerinin aktarımında hata olmaması için bilginin her elemanının değişmeden karşı tarafa ulaşması gerekmektedir. Oysa ki ideal (gürültüsüz) bir kanal olmadığı müddetçe kanal üzerindeki aktarımlarda hata oluşma olasılığı her zaman vardır. Kanal üzerinde hata oluşma olasılığının varlığı bilindiğinde ortaya önemli bir problem çıkar. Bu problem “ Acaba bir hata oluşmuşsa bu hata kaç harfte (yerde) meydana gelmiştir? ” sorusudur. Hatayı bulabilmek için yapacağımız çalışmalarda hata sayısı fazlalaştıkça doğru kelime için düşüneceğimiz aday sayısı artacaktır. Hata bir yerde dahi olsa doğru kelimeyi bulmak için çok aday vardır. Aday kelimeler arasında doğru kelimeyi bulabilmek için kullanılan dilin dilbilgisi kurallarına baksak bile birçok kelimenin dil kurallarına uymadığını görebiliriz. Ya da hata oluşmasını engellemek için dil kısıtlama tekniklerini kullanarak mesajımızda uzun harfli kelimeleri bulundurmayabiliriz. Bu ise anlatılmak istenen konunun tam olarak anlaşılmasını önler. 1 İşte bu noktada devreye sonlu cisimlerin bir uygulaması olan Kodlama Teorisi girer. Kodlama Teorisinin oluşturduğu metotlar güvenilir bir aktarım yapabilmek için hataları düzeltme ve tespit etmeye yönelik olacaktır. Kodlama Teorisi gönderilmek istenen orjinal mesaja hata düzeltme kodları olan kontrol bitleri ekleyerek hataları düzeltmeye ve tespit etmeye çalışır. Bu eklenen hata düzeltici ilave kodlar, mesajlar bir gürültülü iletişim kanalından gönderildiğinde hataları düzeltmek için kullanılır. Örneğin ikili veri (yani 0 ve 1 lerden oluşan sonlu dizi) mümkün olduğunca güvenilir ve hızlı şekilde bir gürültülü kanaldan gönderilmek istenebilir. Bu kanal bir telefon hattı, bir yüksek frekanslı radyo hattı veya bir uydu iletişim bağlantısı olabilir. Hatalar insan hatası, cihazdaki hatalar, coğrafi şartlardan oluşan hatalar v.b. olabilir. Bu hatalar alınan verinin gönderilenden farklı olmasına yol açar. Bir hata düzeltici kodlama sisteminin amacı verilere ilave bir miktar hata düzeltme kodu ekleyerek kodlamaktır. Mesaj −→ Kodlanmış Mesaj −→ Kanal −→ Alınan Mesaj Kodu −→ Çözülmüş Mesaj Şekil 1.1 Bir dijital iletişim sistemi Şekil 1.1 genel bir sayısal (dijital) iletişim sistemini gösterir. Eğer kayıt ortamı okuma - yazma kafaları olan bir manyetik disk veya bir CD şeklindeki kanal olarak gözönüne alınırsa da aynı model bir bilgi kayıt sistemini tarif etmek için kullanılabilir. Kodlama işleminde kodlanmış mesaj ile orjinal mesajın elemanlarını aynı sonlu Fq cisminde farzedebiliriz. ai ∈ Fq olmak üzere a1 a2 . . . ak şeklindeki k sembolden oluşan bir bloğun kodlanması n ≥ k için cj ∈ Fq olmak üzere c1 c2 . . . c n 2 şeklinde yapılmaktadır. Kod kelimesine n boyutlu Fqn vektör uzayında c satır vektörü gibi bakılabilir. Bu durumda bir mesaj kelimesi olan a1 a2 . . . ak için kod kelimesi (n−k) kontrol sembolü eklenerek a1 a2 . . . ak ck+1 ck+2 . . . cn şekline dönüştürülmüş olur. A matrisi (n − k) × k tipinde bir matris ve In−k matrisi n − k mertebeli bir birim matris olsun. Şimdi elemanları Fq cisminden alınan n − k ranklı (n − k) × n tipinde bir H matrisini H := (A, In−k ) şeklinde tanımlayalım. Burada c kod kelimeleri olmak üzere ck+1 ck+2 . . . cn kontrol sembolleri HcT = 0 ifadesinden hesaplanır. Bu ifadeye Eşitlik Kontrol İfadesi denir. Bu ifade çok basit kod sistemleri oluşturmak için de kullanılabilir. Şimdi kontrol bitlerinin bir hata oluşma ihtimalinde hatanın olup olmadığını anlamadaki önemini gösteren basit bir örnek verebiliriz. Örnek 1.0.1. Bir iletişim kanalından gönderilmek istenen yes ve no kelimeleri yes −→ 1 no −→ 0 şeklinde kodlanmış olsunlar. Bu durumda alınan mesaj 0 ya da 1 den herhangi biri olsa mesajın doğruluğundan emin olamayız. Üç Tekrarlı Kod: yes −→ 111 no −→ 000 3 olarak kodlanmış ise hata oluşsa dahi alınan mesajdan emin olma olasılığımız biraz daha artmıştır. Beş Tekrarlı Kod: yes −→ 11111 no −→ 00000 Bu kodlamada alınan mesajdan emin olma olasılığımız diğerlerine göre çok daha fazla artmıştır. Örnek 1.0.2. Şimdi yukarıda bahsettiğimiz eşitlik kontrol ifadesiyle F2 cisminde 3 × 7 tipindeki H matrisi 1 0 1 1 1 0 0 H= 1 1 0 1 0 1 0 1 1 1 0 0 0 1 için kullanılan kontrol bitlerini hesaplayıp, kodlama fonksiyonunu bulalım. Bu durumda verilen c1 , c2 , c3 , c4 için c1 + c3 + c4 + c5 = 0 c1 + c2 + c4 + c6 = 0 c1 + c2 + c3 + c7 = 0 ise c5 , c6 , c7 kontrol sembolleri c5 = c1 + c3 + c4 c6 = c1 + c2 + c4 c7 = c1 + c2 + c3 elde edilir. Buradan f : F24 −→ F27 şeklindeki kodlama fonksiyonu (a1 , a2 , a3 , a4 ) −→ (a1 , a2 , a3 , a4 , a1 + a3 + a4 , a1 + a2 + a4 , a1 + a2 + a3 ) 4 şeklindedir. Örneklerde ilave sembollerin mesajı hatalara karşı korumak için nasıl eklenebildiğini görüyoruz. Gönderilmiş ilave semboller hatalara karşıdır. Yukarıdaki çalışmalarda çok basit düşündük ve kanal modellerini hesaba katmadık. Gerçek yaşamda ise daha karmaşık modelleme işlemleri yapılır. Cihaz ile yapılan bu karmaşık modelleme işlemlerinde kanal üzerindeki doğruluğu garanti etmenin bir yolu yoktur. Bu yüzden bir kanal tasarlama işleminde sadece doğruluk olasılığının mümkün olduğunca yüksek yapılmasına çalışılır. Kodlama Teorisi ise doğruluk olasılığı yüksek olan bu kanal sisteminin engelleyemediği hataları düzeltmeye ve tespit etmeye yönelik olacaktır. Bu nedenle Kodlama Teorisi hatalara karşı kod sistemleri oluşturmaya başlamadan önce kanal üzerinde bazı özelliklerin sağlandığını kabul eder. Eğer kanaldaki keyfi olarak alınan a, b sembollerinden a nın yanlış nakledilme olasılığı ile b nin yanlış nakledilme olasılığı aynıysa bu kanala “ Simetrik Kanal ” denir. Kanal kabul edilir. Eğer p = 1 2 olursa kanalın çıktısı girişten bağımsız olur ve gönderme işlemi durdurulur. Çünkü p = 1 2 üzerinde tek bitin hata yapma olasılığı p ile gösterilirse p < 1 2 hata olasılıklı bir kanal sisteminde hataları tespit eden ve hataları düzelten bir kodlama sistemi oluşturulmaz. Bunun yerine kanal üzerindeki doğruluk olasılığının yükseltilmesine çalışılır. Bu nedenle Kodlama Teorisindeki çalışmalarımızı hata yapma olasılığı p < 1 2 olan bir simetrik kanal üzerinde yapacağız. Kodlama teorisini anlamak için yazılan bu girişten sonra artık kodlama teorisindeki bazı temel bilgileri vererek esas çalışma alanımız olan polinom kodlarına geçebiliriz. Fakat kodlama teorisine başlamadan önce önemli bir ifadenin bilinmesi gereklidir. Unutulmamalıdır ki kodlama teorisinde ulaşılmak istenen en iyi kodlama en az ilave sembolle en fazla doğruya ulaşılabilen kodlamadır. 5 2 2.1 KODLAMA TEORİSİ Kodlama Teorisindeki Temel Kavramlar Kod kelimesinin ve kodlama fonksiyonunun matematiksel tanımını vermeden önce bazı özellikleri yeniden gözden geçirmemiz gerekmektedir. Ayrıca şunu belirtmemiz gerekmektedir ki dijital iletişim sistemlerinde kullanılan alfabe sadece 0 ve 1 lerden oluştuğu için bu bölümde yaptığımız incelemeler B := F2 cismi üzerinde olacaktır. Daha sonraki yapılan incelemeler ise herhangi bir sonlu Fq cisminde yapılacaktır. Tanım 2.1.1. Şimdi B = {0, 1} ve n bir pozitif tamsayı olmak üzere ¯ ¯ B n := {a1 a2 . . . an ¯ i = 1, 2, 3, . . . , n için ai ∈ B} olsun. Şimdi B n kümesi üzerinde ⊕ (toplama) işlemini tanımlayalım. a := a1 a2 . . . an b := b1 b2 . . . bn olmak üzere a ⊕ b := c1 c2 . . . cn dir. Burada i = 1, 2, 3, . . . , n için ci := (ai + bi ) mod 2 olarak tanımlanır. Bu şekilde tanımladığımız ⊕ işlemi B n kümesini değişmeli bir grup yapar (Chapman 1996) Tanım 2.1.2. m ≤ n olmak üzere bir ikili (m, n) kodlaması E : B m −→ B n ile tanımlanmış 1 − 1 bir kodlama fonksiyonu ve D : B n −→ B m 6 şeklindeki bir kod çözme fonksiyonundan oluşur. Burada E fonksiyonunun görüntü kümesi kod kelimeleri kümesi diye adlandırılır ve C := Im(E) ile gösterilir. C kümesinin her elemanına da kod kelimesi denir (Chapman 1996) Örnek 2.1.3. E : B 2 −→ B 3 olan bir C kodlamasını oluşturalım. n o B 2 = 00, 01, 10, 11 n o 3 B = 000, 001, 010, 100, 011, 110, 111, 101 kümeleri için E kodlama fonksiyonu aşağıdaki gibi tanımlansın. E : B 2 −→ B 3 00 −→ 000 01 −→ 011 10 −→ 101 11 −→ 110 Bu durumda C kod kelimelerinin kümesi n C = o 000, 011, 101, 100, 110 dir. Tanım 2.1.4. (Uzaklık Fonksiyonu) a, b ∈ B n ise a ve b arasındaki uzaklık 0, xi := 1, eğer ai = bi ise eğer ai 6= bi ise olmak üzere d(a, b) := n X xi i=1 şeklinde tanımlanır. Tanımdan kolayca gösterilebilir ki d(a, b) uzaklık fonksiyonu ∀a, b, c ∈ B n için 7 D1. d(a, b) = 0 ⇔ a = b D2. d(a, b) = d(b, a) D3. d(a, c) ≤ d(a, b) + d(b, c) özelliklerini sağlar. Dolayısıyla B n uzaklık fonksiyonuyla bir metrik olur (Chapman 1996) Örnek 2.1.5. Bir kodlama sisteminde a ve b kod kelimeleri a = 10011011 b = 11001101 şeklinde alınmış olsun. Bu durumda a ve b kod kelimeleri arasındaki uzaklık d(a, b) = 4 dır. Tanım 2.1.6. (Ağırlık Fonksiyonu) ∀a ∈ B n olmak üzere a kod kelimesinin ağırlığı a dizisinin sıfırdan farklı bileşenlerinin sayısıdır. Yani wt(a) := n X ai i=1 dir (Chapman 1996) Örnek 2.1.7. Bir kodlama sisteminde keyfi a kod kelimelerinin ağırlıkları yukarıdaki ağırlık fonksiyonu tanımından a = 11001101 ⇒ wt(a) = 5 a = 11100111 ⇒ wt(a) = 6 a = 10000000 ⇒ wt(a) = 1 şeklindedir. 8 Lemma 2.1.8. ∀ a, b ∈ B n için d(a, b) = wt(a ⊕ b) dir (Chapman 1996) İspat 1 ≤ i ≤ n aralığındaki her i için a := a1 a2 . . . an b := b1 b2 . . . bn olmak üzere ai 6= bi ⇔ ai + bi = 1 dir. Buradan (ai , bi ) çiftinin d(a, b) uzaklığına 1 değerini vermesi için gerek ve yeter şart wt(a ⊕ b) ağırlığına 1 değerini vermesidir. Bu ise d(a, b) = wt(a ⊕ b) olduğunu gösterir. Tanım 2.1.9. (En Yakın Komşuluk Kodlama İlkesi) En yakın komşuluk kodlama ilkesi , alınan r ∈ B n kelimesi bir kod kelimesi haline getirilirse D(r) = r olduğunu öne sürer. Burada eğer r bir kod kelimesi değilse yani yayılımda bir hata oluşmuşsa r nin tüm kod kelimelerine olan uzaklığını ve bu uzaklıklar arasından en küçük olanını bulmamız gerekir. Şimdi bulduğumuz bu en küçük uzaklığın d olduğunu varsayalım. Bu durumda d(a, r) = d eşitliğini sağlayan bir kod kelimesi vardır. Bu durumda en yakın komşuluk kodlama ilkesine göre eğer a ifadesi d(a, r) = d eşitliğini sağlayan tek bir kod kelimesi ise D(r) = a denir. Eğer bu kodlamada r kelimesine uzaklığı d ye eşit olan birden fazla kod kelimesi varsa kod çözme başarısızdır denir. Yukarıdaki şekilde yapılan bu tip kodlama ilkesine en yakın komşuluk kodlama ilkesi denir (Chapman 1996) 9 Tanım 2.1.10. (Maksimum Olasılık Kod Çözme İlkesi) Bir iletişim kanalında tüm kod kelimelerinin eşit hata yapma olasılığıyla iletileceği ve tek sembol hata olasılığı 1 2 değerinden düşük olan ikili simetrik kanal durumunda kod çözme işlemine maksimum olasılık kod çözme ilkesi denir (Chapman 1996) Tanım 2.1.11. Eğer C kod kelimeleri kümesi B n kümesinin bir alt grubu oluyorsa bu şekildeki (m, n) koduna bir grup kodu adı verilir (Chapman 1996) Bundan sonraki işlemlerimizi aksi belirtilmediği müddetçe grup kodları üzerinde yapacağız. Bu yüzden tekrarı önlemek amacıyla grup kodu yerine kod kelimesi ifadesini kullanacağız. Tanım 2.1.12. Kod kelimeleri arasındaki en küçük uzaklığa o kodun minimum uzaklığı adı verilir. Minimum uzaklık d ile gösterilirse d := min (d(a, b)) a, b∈ C dir. Diğer taraftan bir C kodlamasında ∀a, b ∈ C için a ⊕ b ∈ C olduğunu biliyoruz. Dolayısıyla bu sonuçtan ve Lemma 2.1.8 den dolayı minimum uzaklık d = min (wt(a)) a∈ C dir (Chapman 1996) Tanım 2.1.13. Bir C kodlamasında b gönderilen kelime ve b∗ alınan kelime olmak üzere b∗ = b ⊕ e 10 dir. Bu durumda e = b∗ − b olur. Buradaki e ifadesi B n kümesinin keyfi bir elemanıdır. Bu şekilde tanımlanan e ifadesine hata vektörü adı verilir (Chapman 1996) Örnek 2.1.14. B6 grubunda yapılan kodlamada b∗ := 100011 ve b := 111001 olsun. Bu durumda e := 011010 dir. Burada e ifadesinin ağırlığı kod kelimesinde kaç hata olduğunu gösterir. Örnekte wt(e) = 3 olduğundan kodlamada 3 hata olmuştur diyebiliriz. Gerçek iletişim sistemlerinde alıcının eline sadece b∗ geçeceğinden b ve e değerleri hakkında bir bilgiye sahip olmayacaktır. Zaten kodlama teorisinin amacı kanalda meydana gelen mevcut e değerlerini tespit edip bunları düzelterek b∗ değerlerinden b ifadelerine ulaşmaktır. Fakat kanalda oluşan her e tespit edilemez ve düzeltilemez. Şimdi sırasıyla bir C kodlamasında hangi hataların tespit edilip düzeltilebildiğini göreceğiz. Tanım 2.1.15. (Tespit Edilebilen Hatalar) Bir (m, n) kodlamasında eğer a ∈ C için a ⊕ e 6∈ C ise e hata vektörü tespit edilebilirdir denir. Bu durumda eğer a ∈ C için a ⊕ e ∈ C ise e hata vektörü tespit edilemezdir diye adlandırılır (Chapman 1996) 11 Teorem 2.1.16. Bir (m, n) kodlamasında ağırlığı en fazla k olan hata vektörlerinin tespit edilebilmesi için gerek ve yeter şart herhangi iki kod kelimesi arasındaki minimum uzaklığın en az (k + 1) olmasıdır (Chapman 1996) İspat (⇐:) Verilen C kodlaması n uzunluklu tüm kod kelimelerinin kümesi olsun. Bu durumda ∀ b, b 0 ∈ C için d(b, b0 ) ≥ k + 1 olduğunu ve kanalın wt(e) = n X ei ≤ k i=1 şeklinde e := e1 e2 . . . en hata vektörü oluşturduğunu varsayalım. Böylece alınan kelime b ⊕ e olur ve d(b ⊕ e, b) = wt(b ⊕ e ⊕ b) = wt(e ⊕ 2b) = wt(e) ≤ k dir. Bu ise b ⊕ e ifadesinin bir kod kelimesi olmadığını gösterir. Buradan e hata vektörü tespit edilebilirdir. (:⇒) ∀ b, b 0 ∈ C için d(b, b 0 ) ≤ k ve e := b ⊕ b 0 olsun. Bu durumda wt(b ⊕ b 0 ) = wt(e) ≤ k ⇒ b ⊕ e = b ⊕ b ⊕ b 0 = b ⇒ b 0 0 kod kelimesi ⇒ hata vektörü bulunamaz Bu bir çelişkidir. Buradan ∀ b, b 0 ∈ C için d(b, b 0 ) ≥ k + 1 12 dir. Tanım 2.1.17. (Düzeltilebilen Hatalar) ∀ b ∈ C için D(b ⊕ e) = b ise e hata vektörü düzeltilebilirdir denir (Chapman 1996) Teorem 2.1.18. Bir (m, n) kodlamasında ağırlığı en fazla k olan hatalar düzeltilebilir ise herhangi iki kod kelimesi arasındaki minimum uzaklık en az 2k + 1 olur (Chapman 1996) İspat a := a1 a2 . . . an ve b := b1 b2 . . . bn kod kelimeleri için d(a, b) ≤ 2k olsun. Bu durumda wt(a ⊕ b) = s ≤ 2k dir. Buradan wt(e) ≤ k , wt(e 0 ) ≤ k olacak şekilde e , e 0 a⊕b = e⊕e ve a ⊕ b := e ⊕ e kelimelerini bulabiliriz. Böylece 0 ⇒ e⊕a⊕b=e⊕e⊕e 0 olur. Şimdi her iki tarafa b eklenirse a⊕e=b⊕e dir. Durum (i) s = 2t + 1 olsun. 13 0 0 Bu durumda wt(e) = t ve wt(e 0 ) = t + 1 ≤ k olduğunu varsayabiliriz. Böylece d(a ⊕ e, a) = wt(a ⊕ e ⊕ a) = wt(e) < wt(e 0 ) = d(b ⊕ e 0 , b) ⇒ d(b ⊕ e 0 , a) = d(a ⊕ e, a) < d(b ⊕ e 0 , b) dir. Kod çözme ilkesinin en yakın komşuluk ilkesi ile b ⊕ e 0 ifadesi a dan veya b den farklı bir kod kelimesine dönüşür. Yani d(b ⊕ e 0 , a) = d(a ⊕ e, a) < d(b ⊕ e 0 , b) dir. Burada eğer D(b ⊕ e) = b olsaydı ∀x için d(b ⊕ e, x) > d(b ⊕ e, b) olurdu. Oysa biliyoruz ki d(b ⊕ e, a) ≤ d(b ⊕ e, b) dir. Bu ise bir çelişkidir. Buradan b ⊕ e 0 ifadesi D(b ⊕ e 0 ) 6= a veya D(b ⊕ e 0 ) 6= b olan bir kod kelimesidir. Böylece wt(e 0 ) ≤ k eşitsizliğini sağlayan e 0 hata vektörü düzeltilemez. Buradan iki kod kelimesi arasındaki minimum uzaklık 2k + 1 olmalıdır. Durum (ii) s = 2t olsun. Bu durumda wt(e) = wt(e 0 ) = t olduğunu varsayabiliriz. Buradan d(a ⊕ e, a) = wt(e) = t = wt(e 0 ) = d(b ⊕ e 0 , b) dir. Şimdi alınan a + e kelimesi a ve b kelimelerine eşit uzaklıktadır. Yani d(a ⊕ e, a) = d(a ⊕ e, b) dir. Bu yüzden b + e 0 kelimesi de D(b ⊕ e 0 ) 6= a veya D(b ⊕ e 0 ) 6= b olan bir kod kelimesidir. Bu ise yine bir çelişkidir. 14 Teorem 2.1.19. Kod kelimeleri arasında minimum uzaklığın 2k + 1 olduğu bir kodlamada ağırlığı en fazla k olan hatalar düzeltilebilirdir (Chapman 1996) İspat Bir C kodlamasında d := 2k + 1 ve wt(e) ≤ k şeklinde alınsın. Ayrıca r = b ⊕ e ve b∗ 6= b ifadeleri gerçeklensin. Bu durumda d(r, b∗ ) = d(b ⊕ e, b∗ ) = wt(b ⊕ e ⊕ b∗ ) = wt(b ⊕ b∗ ⊕ e) dir. Böylece wt(b ⊕ b∗ ) ≥ 2k + 1 ve wt(e) ≤ k olduğundan wt(b ⊕ b∗ ⊕ e) ≥ k + 1 dir. Buradan d(r, b∗ ) ≥ k + 1 dir. Böylece d(r, b) = wt(r ⊕ b) = wt(b ⊕ e ⊕ b) = wt(e) ≤ k dir. Buradan r ifadesine en yakın kod kelimesi b kelimesidir. Bu durumda alınan kelime maksimum ağırlıklı kod çözme ilkesine göre D(r) = b ifadesini gerçekler. Böylece wt(e) ≤ k olan e hata vektörü düzeltilebilirdir. Sonuç olarak kod kelimeleri arasında minimum uzaklığın 2k + 1 olduğu bir kodlamada ağırlığı en fazla k olan hatalar düzeltilebilirdir diyebiliriz. Örnek 2.1.20. E : B3 −→ B6 şeklinde bir kodlama fonksiyonu tanımlayalım. Bu durumda B3 kümesinin eleman sayısı 23 = 8 olduğundan oluşturacağımız kodda 8 tane kod kelimesi olacaktır. Şimdi E kodlama fonksiyonuna göre kod kelimelerimiz aşağıdaki gibi olsun. 000 −→ 000000 001 −→ 001111 100 −→ 100110 110 −→ 110101 010 −→ 010011 101 −→ 101001 011 −→ 011100 111 −→ 111010 15 Burada C kodlaması 000000 birim elemanıyla bir gup kodu oluşturur. Yani herhangi iki kod kelimesinin toplamı yine bir kod kelimesidir. Şimdi kod kelimeleri arasından herhangi iki kod kelimesi seçelim. Bu durumda a := 100110 ve b := 011100 olarak alınırsa d(a, b) = 4 dir. Örneğimizdeki kod kelimelerinin ağırlıkları wt(000000) = 0 wt(001111) = 4 wt(100110) = 3 wt(110101) = 4 wt(010011) = 3 wt(101001) = 3 wt(011100) = 3 wt(111010) = 4 olduğundan minimum uzaklık d = min (wt(a)) = 3 a∈ C dir. Burada minimum uzaklık 3 olduğundan k + 1 = 3 ⇒ k = 2 elde edilir. Bu durumda en fazla 2 ağırlıklı hatalar tespit edilebilirdir. Buna göre B6 kümesinin 2 ve 2 den küçük ağırlıklı bütün elemanları tespit edilebilirdir. Bu durumda tespit edilebilen hatalar 000000 000110 000001 001001 000100 001010 001000 001100 010000 010001 100000 010010 000011 010100 000101 011000 100001 100010 100100 101000 110000 000010 Şimdi düzeltilebilen hataları bulalım. 2k + 1 = 3 ⇒ k = 1 olduğundan en fazla 1 ağırlıklı 16 hatalar düzeltilebilirdir. Bu durumda B6 kümesinde düzeltilebilen hatalar 000000 000001 000010 100000 000100 010000 001000 dir. Teorem 2.1.21. Bir grup kodu için en küçük uzaklık sıfırdan farklı kod kelimelerinin ağırlıklarının minimumuna eşittir (Chapman 1996) İspat Bir grup kodunun minimum uzaklığı d olarak alınsın. Bu durumda d = d(b, b 0 ) = wt(b ⊕ b 0 ) olacak şekilde b ve b 0 kod kelimeleri vardır. Burada t sıfırdan farklı kod kelimelerinin ağırlıklarının minimumu olsun. Bu durumda minimum uzaklıktan dolayı d ≥ t elde edilir. t sıfırdan farklı kod kelimelerinin ağırlıklarının minimumu olduğundan t = wt(b00 ) = d(b00 , 0) ≥ d olacak şekilde sıfırdan farklı bir kod kelimesi vardır. Dolayısıyla d = t olur. Sonuc. 2.1.22. Grup kodlarında sıfır olmayan kod kelimelerine karşılık gelen hatalar tespit edilemez (Chapman 1996) İspat Eğer e = b∗ ifadesi bir kod kelimesi ise her b kod kelimesi için b + e ifadesi yine bir kod kelimesi olur. Bu durumda hata vektörü olan e tespit edilemez. Tersine bir hata vektörü olan e tespit edilemesin. Bu durumda b bir kod kelimesidir. Buradan b + e = b∗ bir kod kelimesi olur. Bu ise e = b + b∗ ifadesinin bir kod kelimesi olduğunu gösterir. 17 Teorem 2.1.23. (Hata Alma Olasılığı) C kodlaması p hata olasılıklı bir simetrik kanalda n uzunluklu bir kodlama olsun. Bu durumda alınan bir kelimede k ağırlıklı bir hata olma olasılığı pk (1 − p)n−k dır ve k ağırlıklı hata vektörlerinin toplam sayısı n pk (1 − p)n−k k dır (Pretzel 1992) İspat Bir kodlama sisteminde bir kod kelimesinde k ağırlıklı hata olması için alınan kelimede k yerde hatalı sembolün olması gereklidir. Diğer taraftan bu durumda (n − k) yerde de doğru sembol vardır. p bir sembolde hata olma olasılığı olduğu için bir sembolde doğru olma olasılığı (1 − p) olur. Simetrik bir kanalda bu iki olay birbirinden bağımsız olduğundan alınan kelimede k ağırlıklı hata olma olasılığı pk (1 − p)n−k dir. Bu durumda k ağırlıklı hata kelimelerinin toplam sayısı ise n pk (1 − p)n−k k olur. Bu teorem sonucunda şimdi göreceğimiz örneklerdeki basit iki kodu Örnek 2.1.26 de birbirleriyle karşılaştırabiliriz. Örnek 2.1.24. (Eşitlik Kontrol Kodu) 18 B cismi üzerinde verilen bir a1 a2 . . . an mesajı f : a1 a2 . . . an −→ b1 b2 . . . bn bn+1 fonksiyonu ile eğer i = 1, 2, 3, . . . , n için bi = ai şeklinde ve bn+1 için Pn 0, eğer i=1 ai = 0 ise bn+1 := P n 1, eğer i=1 ai = 1 ise şeklinde tanımlanmış ise böyle oluşturulan kodlamaya eşitlik kontrol kodu adı verilir. Bu kodlamanın tanımından ötürü herhangi bir b1 b2 . . . bn bn+1 kod kelimesinin sembollerinin toplamı sıfıra eşit olur. Eğer alınan kelimenin sembollerinin toplamı 1 e eşitse yayılımda bir hata meydana geldiği anlaşılabilir. Fakat sadece bir kontrol kodu eklenerek oluşturulan bu kodda hatanın yerinin tespit edilmesi ve hatanın düzeltilmesi olanaksızdır (Niederreiter and Lidl 1984) Örnek 2.1.25. (Tekrarlayan Kod) Bir tekrarlayan kodlamada herbir kod kelimesi sadece a1 mesaj sembolünden meydana gelir ve (n−1) tane olan c2 = c3 = . . . = cn kontrol sembollerinin hepsi a1 mesaj sembolüne eşittir. Yani a1 mesaj sembolü (n − 1) kez tekrarlanmış olur. Örneğin n = 5 olan bir kod kelimesi için mesaj sembolümüz 1 ise oluşacak kod kelimesi 11111 şeklinde olacaktır. Bu kodlama sistemi mesajı olduğundan çok fazla büyüttüğü için tercih edilmeyen bir sistem olup ekonomik değildir (Niederreiter and Lidl 1984) Örnek 2.1.26. p = 1 1000 hata olasılıklı bir kanal boyunca 10000 bitlik bir mesajın yayımlandığını farzedelim. Bu mesaj için hiçbir kodlama yapılmamışken yayılımın başarısının olasılığı 0.99910000 ∼ = 0.000045 dir. Şimdi bildiğimiz iki kodlama sistemi sonucundaki eşitlikleri inceleyelim. (8,7) eşitlik kontrol kodu : 19 Bu kodlamanın 7 bitlik bir mesaj bloğuna bir eşitlik kontrol biti eklediğini biliyoruz. Bu durumda oran 7/8 dir. Bu kodlama 8 uzunluklu herbir kelimede bir hatanın tespit edilmesini sağlar. Fakat hiçbir hatayı düzeltemez. Bu sonuçlar altında kelimede hata olmama olasılığı = (0.999)8 yayılımın düzeltilebilirlik olasılığı = (0.992028)10000/7 ∼ = 0.000011 hatanın tespit edilme olasılığı = (0.999972)10000/7 ∼ = 0.961 Üçlü tekrarlı kod : Bu kodlama sisteminde 1 −→ 111 ve 0 −→ 000 şeklinde kodlama yapılır. Bu durumda oran 1/3 dür. Buradan üçlü bir blokta iki hata tespit edilebilir ve bir hata düzeltilebilirdir. Böylece hata tespiti için yayılımın düzeltilebilirlik olasılığı = (0.999)30000 = (1 − 10−9 )10000 hatanın tespit edilme olasılığı ∼ = 10−13 ∼ = 0.99999 Hata düzeltmek için ise = (0.999)3 bir blokta hata olmama olasılığı yayılımın düzeltilebilirlik olasılığı = (0.999997)10000 ∼ = 0.997003 ∼ = 0.97 Bu değerler yapacağımız farklı kodlama sistemlerinin yayılımdaki hataların tespit ve düzeltilmesindeki önemini göstermektedir (Pretzel 1992) Teorem 2.1.27. (Shannon’s Teoremi) C(p) kanal kapasitesi keyfi bir p hata olasılıklı simetrik kanalın kapasitesi olsun. Bu durumda C(p) = 1 + p log2 p + (1 − p) log2 (1 − p) dir (Hill 1986) Burada C(p) değeri keyfi bir değere yakınsa düzeltme olasılığı da 1 e yakındır. 20 Örnek 2.1.28. p = 0.999 ⇒ C(0.999) = 0.9886 p = 0.01 ⇒ C(0.01) ∼ = 0.92 p = 0.5 ⇒ C(0.5) = 0 Buradaki p = 0.5 durumu gerçek hayatta gözlenemez. Çünkü bir simetrik kanalda p 6= 1 2 seçilmişti (Pretzel 1992) Teorem 2.1.29. C kodlaması n uzunluklu bir kodlama ve Ai , i ağırlıklı kod kelimelerinin sayısı olsun. Bu durumda eğer C kodu hata tespit edebilme yeteneğine sahipse alınan mesajın tespit edilememe olasılığı P (C) = Pn i=1 Ai pi (1 − p)n−i dir (Hill 1986) Örnek 2.1.30. Bir C kodlaması 0000 1011 0101 1110 1000 0011 1101 0110 0100 1111 0001 1010 0010 1001 0111 1100 şeklinde oluşturulmuş olsun. Bu durumda eğer p = 0.01 ise P (C) = p2 (1 − p)2 + 2p3 (1 − p) = p2 − p4 = 0.00009999 elde edilir (Hill 1986) 21 2.2 Polinom Kodları Kodlama işlemleri yapılırken bazı önemli cebirsel teknikler kullanılabilir. Bu tekniklerden biri de polinom çarpımlarıyla ilgilidir. Bu yöntemle bulunan kodlara polinom kodları adı verilir. Bu kısımda polinom kodlarındaki temel kavramlar ve onların özel bir hali olan BCH kodları üzerinde durulacaktır. Bu işlemler sırasında bazı önemli cebirsel kavramlarla karşılaşacağız. Bu nedenle daha sonraki bölümlerimizde bu cebirsel kavramlar açıklanacaktır. Bölüm 3 de basit temel cebir bilgileri verildikten sonra Bölüm 4 de BCH kodlarında üreteç polinom olarak kullandığımız asal ve primitif polinomların bulunuş algoritmaları , Bölüm 5 de de bu algoritmalar için gerekli olan kök bulma ve çarpanlara ayırma algoritmaları üzerinde durulacaktır. Tanım 2.2.1. g(x) = g0 + g1 x + . . . + gk xk ∈ F[x] polinomu en fazla k dereceli bir polinom olsun. Bu durumda polinom kodunun m uzunluklu her bir a := (a0 , a1 , . . . , am−1 ) mesaj kelimesini b := (b0 , b1 , . . . , bm+k−1 ) şeklinde kod kelimesine dönüştüren g(x) polinomuna üreteç (kodlama) polinomu denir. Burada a := (a0 , a1 , . . . , am−1 ) mesaj kelimesine karşılık gelen polinoma a(x) = a0 + a1 x + . . . + am−1 xm−1 mesaj polinomu adı verilir (Chapman 1996) Bu şekildeki bir polinom kodunda b := (b0 , b1 , . . . , bm+k−1 ) kod kelimesine karşılık gelen kod polinomu b(x) = b0 + b1 x + . . . + bm+k−1 xm+k−1 = a(x) g(x) şeklinde bulunur. 22 Bir polinom kodunda g(x) = g0 + g1 x + . . . + gk xk ∈ F[x] şeklindeki bir üreteç polinomu g0 6= 0 ve gk 6= 0 olacak şekilde oluşturulur. Önerme 2.2.2. g(x) = g0 + g1 x + . . . + gk xk ∈ F[x] polinomu ile üretilen n = m + k uzunluklu bir polinom kodu F n vektör uzayının bir alt uzayıdır (Chapman 1996) İspat n = m + k uzunluklu ve g(x) = g0 + g1 x + . . . + gk xk ∈ F[x] polinomu ile üretilen bir polinom kodunda a = (a0 , a1 , . . . , am−1 ) b = (b0 , b1 , . . . , bm−1 ) a ve b iki mesaj kelimesi olsun. Bu mesaj kelimelerine karşılık gelen mesaj polinomları a(x) = a0 + a1 x + . . . + am−1 xm−1 b(x) = b0 + b1 x + . . . + bm−1 xm−1 dir. Buradan α , β ∈ F için α a(x) + β b(x) mesaj polinomuna karşılık gelen kod polinomu [α a(x) + β b(x)] g(x) = (α a(x)) g(x) + (β b(x)) g(x) = α (a(x) g(x)) + β (b(x) g(x)) dır. Bu durumda bir vektör uzayı toplama altında bir grup olduğundan bir polinom kodu her zaman bir grup kodu olur. Önerme 2.2.3. g(x) üreteç polinomlu bir polinom kodunun minimum uzaklığı sıfırdan farklı b(x) = a(x) g(x) kod polinomlarının ağırlığı olan wt(a(x) g(x)) ifadesine eşittir. Bir kod polinomunun ağırlığı, polinomdaki sıfırdan farklı terimlerin sayısıdır (Chapman 1996) 23 Örnek 2.2.4. b(x) = x + x2 + x3 + x6 şeklindeki bir kod polinomunun ağırlığı wt(x + x2 + x3 + x6 ) = 4 dir. Örnek 2.2.5. B cismi üzerinde 1 + x2 + x3 üreteç polinomu ile üretilen 7 uzunluklu bir ikili polinom kodunu gözönüne alalım. Bu durumda 1 + x2 + x3 üreteç polinomlu mesaj kelimeleri 4 uzunlukludur. Buradan herhangi bir (a0 , a1 , a2 , a3 ) mesaj kelimesine karşılık gelen mesaj polinomu a(x) = a0 + a1 x + a2 x2 + a3 x3 dir. Dolayısıyla buna karşılık gelen kod polinomu b(x) = (a0 + a1 x + a2 x2 + a3 x3 ) (1 + x2 + x3 ) = a0 + a1 x + (a0 + a2 ) x2 + (a0 + a1 + a3 ) x3 + (a1 + a2 ) x4 +(a2 + a3 ) x5 + a3 x6 24 dir. Bu durumda bu kodlamanın kod kelimeleri (a0 , a1 , a2 , a3 ) −→ (a0 , a1 , a0 + a2 , a0 + a1 + a3 , a1 + a2 , a2 + a3 , a3 ) 0 0 0 0 −→ 0 0 0 0 0 0 0 0 0 0 1 −→ 0 0 0 1 0 1 1 0 0 1 0 −→ 0 0 1 0 1 1 0 0 1 0 0 −→ 0 1 0 1 1 0 0 1 0 0 0 −→ 1 0 1 1 0 0 0 0 0 1 1 −→ 0 0 1 1 1 0 1 0 1 0 1 −→ 0 1 0 0 1 1 1 1 0 0 1 −→ 1 0 1 0 0 1 1 0 1 1 0 −→ 0 1 1 1 0 1 0 1 0 1 0 −→ 1 0 0 1 1 1 0 1 1 0 0 −→ 1 1 1 0 1 0 0 0 1 1 1 −→ 0 1 1 0 0 0 1 1 0 1 1 −→ 1 0 0 0 1 0 1 1 1 0 1 −→ 1 1 1 1 1 1 1 1 1 1 0 −→ 1 1 0 0 0 1 0 1 1 1 1 −→ 1 1 0 1 0 0 1 şeklindedir. Bu kodun minimum uzaklığı 3 dür. Önerme 2.2.6. g(x) üreteçli bir (m , n) polinom kodunda bir e := (e0 , e1 , . . . , en−1 ) hata vektörünün tespit edilememesi için gerek ve yeter şart e := (e0 , e1 , . . . , en−1 ) hata vektörüne karşılık gelen e(x) = e0 + e1 x + . . . + en−1 xn−1 polinomu için ¯ ¯ g(x) ¯ e(x) olmasıdır (Chapman 1996) 25 Şimdi yukarıda temel kavramlarından bahsettiğimiz polinom kodlarının daha özel bir hali olan BCH kodunu inceleyeceğiz. Fakat BCH kodlarına geçmeden önce verilen bir p asal sayısı ve n dereceli bir asal polinom için pn mertebeli bir cismin nasıl oluşturulabildiğini hatırlatma amacıyla bir örnekle açıklamak istiyoruz. Şunu belirtmek gereklidir ki burada sadece B := F2 cisminde kullanacağımız asal polinom bulma , primitif polinom bulma v.b. önemli cebirsel kavramlar ileriki bölümlerde herhangi bir Fq := Fpn cismi için ayrıntılı olarak incelenecektir. Örnek 2.2.7. Verilen bir B := F2 cisminde n = 4 dereceli f (x) = x4 + x + 1 ∈ B[x] asal polinomu verilmiş olsun. Bu durumda Bölüm 3 deki Teorem 3.1.5 den . K := B[x] < x4 + x + 1 > bölüm halkasının bir cisim olduğunu biliyoruz. Oluşturulan bu cismin eleman sayısı (mertebesi) pn = 24 = 16 dır. Böylece bir Fp cismi üzerinde n dereceli bir asal polinom alarak pn = 24 = 16 mertebeli . K := B[x] < f > cismini oluşturmuş olduk. 2.3 BCH Kodları Hocquenghem (1959), Bose ve Ray-Chaudhuri (1960) birbirlerinden bağımsız olarak maksimum hata düzeltebilen bir kodlama sistemi inşa edebilmek için dikkate değer bir teorem ispatlamışlardır. Bu teoremden elde edilen kodlama sistemine Bose-Chaudhuri- Hocquenghem (kısaca BCH kodları) kodlama sistemi adı verilir. BCH kodları polinom kodunun daha özel bir halidir. Dolayısıyla burada da kodlama yapılabilmek için üreteç polinomun bilinmesi gereklidir. p bir asal sayı olmak üzere q := p a olmak üzere bir Fq cisminde n uzunluklu ve minimum uzaklığı d olan bir BCH kodunun üreteç polinomu şu şekilde inşa edilebilir. 26 1. q r ≥ n + 1 eşitsizliğini sağlayan en küçük bir r tamsayısı seçilir. 2. Fq cisminin r dereceli bir K genişlemesi oluşturulur. 3. K cisminin bir α primitif elemanı belirlenir. 4. 1 ≤ i ≤ d − 1 için α i elemanlarının mi (x) minimal polinomları bulunur. Bütün bu işlemler sonucunda g(x) üreteç polinomu ³ ´ g(x) = ekok m1 (x) , m2 (x) , . . . , md−1 (x) dir. Teorem 2.3.1. Elemanları Fq cisminden alınan ve üreteç polinomu g(x) olan bir polinom kodunun minimum uzaklığı en az d dir (Chapman 1996) Örnek 2.3.2. 7 uzunluklu ve minimum uzaklığı 3 olan bir ikili BCH kodunu inşa edelim. İlk olarak n = 7 için B cisminin r dereceli bir K genişlemesini inşa edeceğiz. Bu yüzden öncelikle r tamsayısını belirlememiz gerekmektedir. 2r ≥ 7 + 1 = 8 eşitsizliğini sağlayan en küçük tamsayı 3 olduğundan r = 3 olarak alınır. Şimdi B cismi üzerinde derecesi 3 olan bir x3 +x+1 primitif polinomu verilmiş olsun. Primitif polinomlar aynı zamanda asal polinom olduklarından . K = B[x] < x3 + x + 1 > bölüm halkası 8 mertebeli bir cisim olur. Burada K cisminin bir primitif elemanı α = x+ < x3 + x + 1 > dır. O halde α elemanı α3 + α + 1 = 0 , α7 = 1 eşitliklerini sağlar ve x3 + x + 1 polinomu α elemanının minimal polinomu olur. Teorem 4.2.14 (v) den α ve α2 aynı minimal polinoma sahip olduklarından BCH kodunun üreteç polinomu g(x) = x3 + x + 1 27 dir. Bu durumda mesaj polinomunun derecesi en fazla 3 olmalıdır. Buradan keyfi bir a(x) = a0 + a1 x + a2 x2 + a3 x3 mesaj polinomuna karşılık gelen kod polinomu b(x) = (a0 + a1 x + a2 x2 + a3 x3 ) (x3 + x + 1) = a0 + (a0 + a1 ) x + (a1 + a2 ) x2 + (a0 + a2 + a3 ) x3 + (a1 + a3 ) x4 +a2 x5 + a3 x6 dir. Bu durumda bu kodlamanın kod kelimeleri (a0 , a1 , a2 , a3 ) −→ (a0 , a0 + a1 , a1 + a2 , a0 + a2 + a3 , a1 + a3 , a2 , a3 ) 0 0 0 0 −→ 0 0 0 0 0 0 0 0 0 0 1 −→ 0 0 0 1 1 0 1 0 0 1 0 −→ 0 0 1 1 0 1 0 0 0 1 1 −→ 0 0 1 0 1 1 1 0 1 0 0 −→ 0 1 1 0 1 0 0 0 1 0 1 −→ 0 1 1 1 0 0 1 0 1 1 0 −→ 0 1 0 1 1 1 0 0 1 1 1 −→ 0 1 0 0 0 1 1 1 0 0 0 −→ 1 1 0 1 0 0 0 1 0 0 1 −→ 1 1 0 0 1 0 1 1 0 1 0 −→ 1 1 1 0 0 1 0 1 0 1 1 −→ 1 1 1 1 1 1 1 1 1 0 0 −→ 1 0 1 1 1 0 0 1 1 0 1 −→ 1 0 1 0 0 0 1 1 1 1 0 −→ 1 0 0 0 1 1 0 1 1 1 1 −→ 1 0 0 1 0 1 1 dir. Kodlama polinomunun sıfırdan farklı 3 terimi olduğundan minimum uzaklık 3 dür. 28 Örnek 2.3.3. 15 uzunluklu ve minimum uzaklığı 5 olan bir ikili BCH kodunu inşa edelim. n = 15 ≥ 2r − 1 eşitsizliğini sağlayan en küçük tamsayı 4 olduğundan r = 4 olarak alınır. Şimdi B cismi üzerinde derecesi 4 olan bir x4 + x + 1 primitif polinomu verilmiş olsun. Bu durumda . K = B[x] < x4 + x + 1 > bölüm halkası 16 mertebeli bir cisim olur. Burada K cisminin bir primitif elemanı α = x+ < x4 + x + 1 > olsun. Bu durumda α elemanının minimal polinomu m1 (x) = x4 + x + 1 dir. Ayrıca Teorem 4.2.14 (v) den m2 (x) = m4 (x) = m1 (x) olur. Şimdi α3 elemanının minimal polinomunu bulmak zorundayız. Yine α3 , α6 , α12 , α9 elemanları aynı minimal polinoma sahip olduklarından m3 (x) = (x − α3 ) (x − α6 ) (x − α9 ) (x − α12 ) = x4 + x3 (α3 + α6 + α9 + α12 ) + x2 (α9 + α12 + α15 + α15 + α18 + α21 ) +x (α18 + α21 + α24 + α27 ) + α30 = x4 + x3 (α3 + α3 + α2 + α3 + α + α3 + α2 + α + 1) +x2 (α9 + α12 + α3 + α6 ) + x (α3 + α6 + α9 + α12 ) + 1 = x4 + x3 + x2 + x + 1 Buradan minimum uzaklığı en az 5 olan BCH kodunun üreteç polinomu g(x) = (x4 + x + 1) (x4 + x3 + x2 + x + 1) = x8 + x7 + x6 + x4 + 1 29 dir. Diğer taraftan bulunan üreteç polinomun sıfırdan farklı 5 terimi olduğundan bu BCH kodunun minimum uzaklığı tam olarak 5 dir. 15 uzunluklu bu kodda bir mesaj polinomunun uzunluğu 15 − 8 = 7 den en fazla 7 dir. Yani bir mesaj polinomunun derecesi en fazla 6 olmalıdır. Buna göre a(x) = a0 + a1 x + a2 x2 + a3 x3 + a4 x4 + a5 x5 + a6 x6 şeklindeki bir mesaj polinomu için kod polinomu b(x) = a(x) g(x) = (a0 + a1 x + a2 x2 + a3 x3 + a4 x4 + a5 x5 + a6 x6 )(x8 + x7 + x6 + x4 + 1) = a0 + a1 x + a2 x2 + a3 x3 + (a4 + a0 ) x4 + (a5 + a1 ) x5 +(a6 + a2 + a0 ) x6 + (a0 + a1 + a3 ) x7 +(a0 + a1 + a2 + a4 ) x8 + (a1 + a2 + a3 + a5 ) x9 +(a2 + a3 + a4 + a6 ) x10 + (a3 + a4 + a5 ) x11 +(a4 + a5 + a6 ) x12 + (a5 + a6 ) x13 + a6 x14 şeklindedir. Bu durumda b(x) kod polinomuna karşılık gelen kod kelimeleri (a0 , a1 , a2 , a3 , a4 + a0 , a5 + a1 , a6 + a2 + a0 , a0 + a1 + a3 , a0 + a1 + a2 + a4 , a1 + a2 + a3 + a5 , a2 + a3 + a4 + a6 , a3 + a4 + a5 , a4 + a5 + a6 , a5 + a6 , a6 ) dir. Örnek 2.3.4. 31 uzunluklu ve minimum 5 uzaklıklı bir ikili BCH kodunu verilen bir x5 + x2 + 1 ∈ B[x] asal polinomu ile oluşturalım. x5 + x2 + 1 ∈ B[x] asal polinomu ile . F = B[x] < x5 + x2 + 1 > bölüm halkası 32 mertebeli bir cisim olur. Bu durumda 31 mertebeli (asal bir mertebe) F∗ devirli grubunun birimden farklı her elemanı F cisminin bir primitif elemanıdır. Bu 30 durumda α = x+ < x5 + x2 + 1 > elemanı F cisminin bir primitif elemanıdır ve minimal polinomu x5 + x2 + 1 polinomudur. Şimdi 1 ≤ i ≤ 4 için αi elemanlarının minimal polinomlarını mi (x) olarak alırsak m1 (x) = m2 (x) = m4 (x) = x5 + x2 + 1 polinomu α , α2 , α4 elemanlarının minimal polinomu olur. Diğer taraftan α3 , α6 , α12 , α24 , α17 elemanlarının minimal polinomları aynıdır. Bu durumda m3 (x) = (x − α3 ) (x − α6 ) (x − α12 ) (x − α17 ) (x − α24 ) dir. Buradan m3 (x) polinomunda x4 ün katsayısı α3 + α6 + α12 + α17 + α24 = α3 + α3 + α3 + α12 + (α3 + α)4 + (α2 + 1)(α6 + α2 ) = α + α12 + α12 + α4 + α8 + α6 + α4 + α2 = α + α2 + α6 + α8 = α + α2 + α3 + α + α3 (α2 + 1) = α5 + α2 = 1 x3 ün katsayısı α9 + α15 + α20 + α27 + α18 + α23 + α30 + α29 + α5 + α10 = α9 + α17 + α7 (α2 + 1)4 + α20 + (α4 + 1)(α8 + 1) + α9 (α8 + 1) + α7 = α9 + α17 + α15 + α7 + α8 + 1 + α12 + α8 + α4 + 1 + α17 + α9 + α7 = α15 + α12 + α4 31 = (α2 + 1)3 + α2 (α4 + 1) + α4 = α6 + α4 + α2 + 1 + α6 + α2 + α4 =1 x2 nin katsayısı α21 + α26 + α2 + α + α8 + α13 + α4 + α11 + α16 + α22 = α23 + α2 + α + α10 + α4 + α13 + α2 (α8 + 1) = α3 (α8 + 1) + α + α4 + α3 (α4 + 1) = α11 + α + α4 + α7 = α(α4 + 1) + α + α4 + α2 (α2 + 1) = α5 + α2 =1 x in katsayısı α7 + α14 + α19 + α25 + α28 = α7 + α16 + α5 (α8 + 1) + α8 (α8 + 1) = α7 + α13 + α5 + α8 = α2 (α2 + 1) + α10 + α5 = α4 + α2 + α4 + 1 + α2 + 1 = 0 sabit terimin değeri α3+6+12+17+24 = α62 = 1 32 dir. Buradan m3 (x) = x5 + x4 + x3 + x2 + 1 olur. Bu durumda B cismi üzerinde 31 uzunluklu BCH kodunun üreteç polinomu g(x) = ekok(m1 (x), m2 (x), m3 (x), m4 (x)) = ekok(m1 (x), m3 (x)) = m1 (x) m3 (x) = (x5 + x2 + 1)(x5 + x4 + x3 + x2 + 1) = x10 + x9 + x8 + x6 + x5 + x3 + 1 dir. Oluşturulan bu kodlamada minimum uzaklık 5 olduğundan Teorem 2.1.18 den dolayı en fazla 2 hata düzeltilebilirdir. 33 3 SONLU CİSİMLER 3.1 Giriş Bir önceki bölümde gördüğümüz Kodlama Teorisinde çalışabilmemiz için öncelikle 1. bir p asal sayısı ve n ∈ N verildiğinde pn mertebeli bir K cismi inşa etmemiz 2. bir K cisminde bir primitif eleman bulmamız gerektiğini gördük. Bu işlemleri yapabilmemiz için sonlu cisimler hakkında bazı temel bilgileri kullanmamız gerekmektedir. Bu bölümde sonlu cisimlerdeki temel kavramlar üzerinde durulacaktır. Daha sonraki bölümlerde ise bu temel kavramlar kullanılarak kodlama teorisi için gerekli olan asal polinom ve primitif polinom bulma algoritmaları üzerinde incelemeler yapılacaktır. Bu bölümdeki temel kavramlar Rudolf Lidl & Harald Niderreiter ’in Cambridge Üniversitesi 1984 basımlı Finite Fields kitabından alınmıştır. Tanım 3.1.1. p bir asal sayı olmak üzere p modülüne göre denklik sınıflarının kümesi n o Zp := [0], [1], [2], . . . , [p − 1] nin bir cisim olduğunu biliyoruz. Diğer yandan n o Fp := 0, 1, 2, . . . , p − 1 kümesini gözönüne alalım. Zp deki her denklik sınıfında 0 ≤ a ≤ p − 1 olan bir tek a tamsayı olacağından µ([a]) := a olacak şekilde µ : Zp −→ Fp fonksiyonunu tanımlayabiliriz. Burada ³ ´ µ [a] + [b] = µ([a]) + µ([b]) 34 ve ³ ´ µ [a][b] = µ([a])µ([b]) olacağından µ : Zp −→ Fp bir izomorfizm olacaktır. Bu durumda µ fonksiyonu ile Zp cismindeki cisim yapısı Fp üzerine taşınabilir. Tanım 3.1.2. Keyfi bir R halkasında ∀r ∈ R için nr = 0 eşitliğini sağlayan en küçük pozitif n tamsayısına R halkasının karakteristiği denir. Kolayca görülebilir ki sonlu cisimlerin karakteristiği bir asal sayıdır. Teorem 3.1.3. R bir tamlık bölgesi ve karakteristiği bir p asal sayısı olsun. Bu durumda ∀a, b ∈ R ve ∀n ∈ N için n n n n n n (a + b)p = ap + bp ve (a − b)p = ap − bp özellikleri sağlanır. Bundan sonraki işlemlerimizde keyfi bir cisim F ifadesi ile gösterilecektir. Teorem 3.1.4. a ∈ F, e1 , e2 , . . . , ek ∈ Z+ ve p1 , p2 , . . . , pk polinomları F[x] polinomlar halkasında farklı monik, asal polinomlar olsun. Bu durumda her f ∈ F[x] polinomu f = a pe11 pe22 . . . pekk şeklinde tek türlü olarak yazılabilir. . Teorem 3.1.5. Bir f ∈ F[x] polinomu için F[x] < f > bölüm halkasının cisim olması için gerek ve yeter şart f polinomunun F cisminde asal olmasıdır. 35 Tanım 3.1.6. Bir b ∈ F elemanı f ∈ F[x] polinomunda f (b) = 0 şartını sağlıyorsa bu b ∈ F elemanına f ∈ F[x] polinomunun bir kökü (sıfırı) adı verilir. Teorem 3.1.7. Bir b ∈ F elemanının f ∈ F[x] polinomunun bir kökü olması için gerek ve ¯ ¯ yeter şart (x − b) ¯ f (x) olmasıdır. Tanım 3.1.8. Bir b ∈ F elemanı f ∈ F[x] polinomunun bir kökü olsun. Eğer bir k pozitif tamsayısı için f (x) polinomu (x − b)k ile bölünebilir fakat (x − b)k+1 ile bölünemezse bu k tamsayısına b elemanının katlılığı denir. Burada eğer k = 1 ise b elemanına bir basit kök, k ≥ 2 ise b elemanına bir katlı kök adı verilir. Tanım 3.1.9. f (x) = a0 + a1 x + a2 x2 + . . . + an xn ∈ F[x] polinomu için f 0 = f 0 (x) := a1 + 2a2 x + . . . + nan xn−1 ∈ F[x] şeklinde tanımlanan polinoma f polinomunun türevi adı verilir. Teorem 3.1.10. Bir b ∈ F elemanının f ∈ F[x] polinomunun bir katlı kökü olabilmesi için gerek ve yeter şart b ∈ F elemanının hem f ∈ F[x] polinomunun hem de f 0 ∈ F[x] polinomunun bir kökü olması gerekmektedir. Teorem 3.1.11. f (x) polinomu bir F cisminde derecesi 2 veya 3 olan bir polinom olsun. Bu durumda f polinomunun asal olması için gerek ve yeter şart F cismindeki hiçbir elemanın f (x) polinomunun bir kökü olmamasıdır. Teorem 3.1.12. (Lagrenge Interpolasyon Formülü) n ≥ 0 tamsayısı için {a0 , a1 , . . . , an } elemanları F cisminin n + 1 tane farklı elemanı ve {b0 , b1 , . . . , bn } elemanları da F cisminden alınan keyfi n + 1 tane eleman olsun. Bu 36 durumda i = 0, 1, . . . , n değerleri için derecesi n ve n den küçük olan f (ai ) = bi şeklinde bir f ∈ F[x] polinomu vardır öyle ki f (x) = n X i=0 bi n Y (ai − ak )−1 (x − ak ) k=0 k6=i dir. 3.2 Cisim Genişlemeleri Tanım 3.2.1. Bir F cisminin tüm alt cisimlerinin arakesitine F cisminin asal alt cismi denir. Bu asal alt cisim tektir ve aslında F cisminin en küçük alt cismidir. Teorem 3.2.2. Bir F cisminin asal alt cismi Fp cismine veya Q rasyonel sayılar cismine izomorftur. Bu durumda F cisminin karakteristiği sırasıyla bir p asalına veya sıfıra eşit olur. Böylece F herhangi bir cisim olduğunda F cisminin karakteristiği sıfırsa asal alt cismi Q rasyonel sayılar cismine izomorf , bir p asal sayısına eşitse asal alt cismi Fp cismine izomorf olur. Tanım 3.2.3. K cismi , F cisminin bir alt cismi ve M kümesi de F cisminin herhangi bir alt kümesi olsun. Bu durumda K(M ) , F cisminin K yı ve M yi kapsayan bütün alt cisimlerinin arakesiti olarak tanımlanır ve K cismine M yi katmakla elde edilen bir cisim genişlemesi olarak adlandırılır. K(M ) cisim genişlemesi K|M şeklinde de gösterilebilir. n Eğer M = o θ1 , θ2 , . . . , θn şeklinde sonlu bir küme ise K cismine M yi katmakla elde edilen cisim genişlemesi K(M ) = K(θ1 , θ2 , . . . , θn ) 37 şeklinde yazılabilir. Eğer M sadece bir θ ∈ F elemanından oluşturulmuşsa L = K(θ) şeklindeki genişlemeye K cisminin bir basit genişlemesi adı verilir. Bu durumda θ ∈ F elemanına K cismi üzerinde L cisminin bir tanımlayıcı elemanı denir. Tanım 3.2.4. K cismi, F cisminin bir alt cismi olarak alındığında θ ∈ F olsun. Bu durumda eğer θ elemanını kök kabul eden bir f (x) ∈ K[x] polinomu varsa θ elemanı K cismi üzerinde cebirseldir denir. Eğer F cisminin her elemanı K cismi üzerinde cebirselse F genişlemesi K üzerinde cebirseldir denir. θ ∈ F elemanı K cismi üzerinde cebirsel olsun. Bu durumda n o J := f ∈ K[x] : f (θ) = 0 şeklinde tanımladığımız küme K[x] polinomlar halkasının bir idealidir. K[x] bir esas ideal bölgesi olduğundan m1 (x) ∈ K[x] üreteci vardır. Eğer a ifadesi m1 (x) polinomunun baş katsayısı ise m(x) := a−1 m1 (x) şeklinde tanımlanan m(x) ∈ K[x] polinomu deg(m(x)) = deg(m1 (x)) ile bir monik polinom şeklinde seçilebilir. Ayrıca m(x) ∈ K[x] polinomu asaldır. Gerçekten bir s(x), r(x) ∈ K[x] için m(x) = s(x)r(x) ise olur. Bu durumda r(θ) = 0 veya s(θ) = 0 ¯ ¯ m(x) ¯ r(x) veya ¯ ¯ m(x) ¯ s(x) dir. Diğer taraftan deg(m(x)) = deg(r(x)) + deg(s(x)) olduğundan deg(r(x)) = 0 veya deg(s(x)) = 0 dır. Böylece tanımladığımız m(x) polinomu asaldır. Ayrıca m(x) polinomunun tanımından θ elemanını kök kabul eden en küçük dereceli monik polinom olduğu açıktır. Bu özellikleri sağlayan m(x) ∈ K[x] polinomu monik olduğundan tek türlü olarak belirlidir. 38 Tanım 3.2.5. Yukarıdaki özellikleri sağlayan yani θ elemanını kök kabul eden en küçük dereceli monik, asal m(x) polinomuna θ elemanının K cismi üzerindeki minimal polinomu denir. Burada m(x) polinomunun derecesine, K cismi üzerindeki θ elemanının derecesi denir. Teorem 3.2.6. Eğer θ ∈ F elemanı K cismi üzerinde cebirsel ise K cismi üzerindeki g minimal polinomu aşağıdaki özellikleri sağlar. (1.) g minimal polinomu K cismi üzerinde asaldır. (2.) f ∈ K[x] polinomunda f (θ) = 0 olması için gerek ve yeter şart g | f olmasıdır. (3.) g ∈ K[x] minimal polinomu θ elemanını kök kabul eden en küçük dereceli polinomdur. Tanım 3.2.7. L cismi, K cisminin bir cisim genişlemesi olsun. Eğer L cisminin K üzerindeki vektör uzayı sonlu boyutlu ise L genişlemesi K üzerinde bir sonlu genişleme diye adlandırılır. Bu durumda L vektör uzayının K üzerindeki boyutuna, K cisminin L genişlemesinin derecesi denir ve [L : K] ile gösterilir. Teorem 3.2.8. Eğer L cismi, K cisminin bir sonlu genişlemesi ve M de L cisminin bir sonlu genişlemesi ise M cismi, K cisminin bir sonlu genişlemesidir ve [M : K] = [M : L][L : K] dır. Teorem 3.2.9. K cisminin her sonlu genişlemesi K cismi üzerinde cebirseldir. Basit genişlemeler bir sonlu genişleme olup cebirseldir. Teorem 3.2.10. θ elemanı K cismi üzerinde n dereceli bir cebirsel eleman olsun ve K üzerinde θ elemanının minimal polinomu g olarak alınsın. Bu durumda 39 . (1.) K(θ) cisim genişlemesi K[x] < g > bölüm halkasına izomorftur. n (2.) [K(θ) : K] = n olup 2 1, θ, θ , . . . , θ n−1 o kümesi K cismi üzerinde K(θ) cisminin bir bazıdır. (3.) ∀α ∈ K(θ) elemanı K cismi üzerinde cebirseldir ve K üzerindeki derecesi n sayısının bir bölenidir. Teorem 3.2.11. f ∈ K[x] polinomu K cismi üzerinde bir asal polinom olsun. Bu durumda f polinomunun bir kökü ile K cisminin bir basit cebirsel genişlemesi vardır. Burada f polinomunun bu köküne bir tanımlayıcı eleman olarak bakılabilir. Teorem 3.2.12. K cismi üzerinde asal olan f ∈ K[x] polinomunun keyfi iki kökü α ve β olarak alındığında K(α) ve K(β) cisimleri izomorfiklerdir. Tanım 3.2.13. f ∈ K[x] polinomu pozitif dereceli bir polinom olarak alındığında F cismi K cisminin bir cisim genişlemesi olsun. Bu durumda eğer f polinomunun başkatsayısı a ise α1 , α2 , . . . , αn ∈ F için f (x) = a(x − α1 )(x − α2 ) . . . (x − αn ) oluyorsa yani f polinomu F[x] polinomlar halkasında lineer çarpanların çarpımı şeklinde yazılabiliyorsa f polinomuna, F cismi üzerinde parçalanış denir. Eğer f polinomu F cisminde bir parçalanış ise ve F = K(α1 , α2 , . . . , αn ) sağlanıyorsa F cismine K üzerinde f polinomunun bir parçalanış cismi denir. Eğer F cismi K üzerinde f polinomunun bir parçalanış cismi ise f polinomunun bütün köklerini kapsayan en küçük cisimdir. Teorem 3.2.14. (Parçalanış Cisminin Varlığı ve Tekliği) 40 Eğer K bir cisim ve f polinomu K[x] polinomlar halkasında pozitif dereceli keyfi bir polinom ise f polinomunun K üzerinde bir parçalanış cismi vardır ve bu parçalanış cismi tektir. Tanım 3.2.15. Pozitif n ve m dereceli f ve g polinomları sırasıyla f (x) = a0 xn + a1 xn−1 + . . . + an ∈ K[x] ve g(x) = b0 xm + b1 xm−1 + . . . + bm ∈ K[x] olarak alınsınlar. Bu durumda bu iki polinomun R(f, g) resultantı ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ R(f, g) = ¯¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ a0 a1 ... an 0 0 .. . a0 a1 ... an 0 ... 0 a0 a1 b0 b1 ... 0 .. . b0 b1 ... 0 ... 0 b0 bm b1 ... 0 ... ... 0 ... bm ... ... ¯ ¯ 0 ¯ ¯ ¯ 0 ¯ ¯ .. ¯ . ¯ ¯ ¯ an ¯ ¯ ¯ 0 ¯ ¯ ¯ 0 ¯ ¯ .. ¯ . ¯ ¯ ¯ bm ¯ şeklinde tanımlanır. Eğer K üzerinde f polinomunun parçalanış cisminde (a0 6= 0) iken deg(f ) = n ve f (x) = a0 (x − α1 )(x − α2 ) . . . (x − αn ) eşitlikleri sağlanıyor ise R(f, g) = a0 m n Y g(αi ) i=1 olur. Bu durumda R(f, g) = 0 ise f ve g polinomlarının bir ortak kökleri vardır. 41 3.3 Sonlu Cisimlerin Karakterizasyonu Bir sonlu cisme Galois Cismi denir. pn mertebeli bir F cismi, F := GF(pn ) veya q := pn olmak üzere F := Fpn = Fq şeklinde gösterilebilir. Lemma 3.3.1. F bir sonlu cisim ve K, F cisminin q elemanlı bir alt cismi olsun. Bu durumda eğer [F : K] = m ise F cismi q m elemanlı olur. Teorem 3.3.2. F, p bir asal sayı olmak üzere karakteristiği p olan bir sonlu cisim olsun. Bu durumda n ∈ Z+ için F cisminin asal alt cismi üzerindeki derecesi n ise bu F cisminin eleman sayısı (mertebesi) pn dir. Lemma 3.3.3. Eğer F sonlu cismi q elemanlı ise ∀a ∈ F için aq = a dır. Lemma 3.3.4. Eğer F cismi q elemanlı bir sonlu cisim ve K cismi de F nin bir alt cismi ise xq − x ∈ K[x] polinomu xq − x = Y (x − a) a ∈ F şeklinde yazılabilir ve F cismi K üzerinde xq − x polinomunun bir parçalanış cismi olur. Teorem 3.3.5. (Sonlu Cisimlerin Varlığı ve Tekliği) Her p asalı ve her n ∈ Z+ için pn elemanlı bir sonlu cisim vardır. q := pn elemanlı herhangi bir sonlu cisim , Fp üzerinde xq − x polinomunun parçalanış cismine izomorftur. Teorem 3.3.6. (Alt Cisim Kriteri) 42 Fq cismi q := pn elemanlı bir sonlu cisim olsun. m sayısı n nin bir pozitif böleni olduğunda Fq cisminin her alt cismi pm mertebeli olur. Tersine eğer m sayısı n nin bir pozitif böleni ise Fq cisminin pm elemanlı bir alt cismi mutlaka vardır. Teorem 3.3.7. Her sonlu Fq cisminde, Fq cisminin sıfırdan farklı elemanlarından oluşan F∗q çarpımsal grubu devirlidir. Tanım 3.3.8. F∗q devirli grubunun bir üretecine Fq cisminin bir primitif elemanı denir. Fq cisminin primitif eleman sayısı Φ(q − 1) dir. Burada Φ Euler fonsiyonudur. Teorem 3.3.9. Fq bir sonlu cisim ve Fr bir sonlu cisim genişlemesi olsun. Bu durumda Fr cismi Fq cisminin bir basit cisim genişlemesidir ve Fr cisminin her primitif elemanı Fq cisminde Fr cisminin bir tanımlayıcı elemanı olur. Sonuc. 3.3.10. Her sonlu Fq cismi ve her pozitif n ∈ Z+ sayısı için Fq [x] polinomlar halkasında n dereceli bir asal polinom vardır. 3.4 Asal Polinomların Kökleri Lemma 3.4.1. f ∈ Fq [x] polinomu bir Fq sonlu cisminde asal bir polinom olsun ve Fq cisminin bir genişlemesinde f polinomunun bir kökü α olarak alınsın. Bu durumda bir ¯ ¯ h ∈ Fq [x] polinomu alındığında h(α) = 0 olması için gerek ve yeter şart f ¯ h olmasıdır. Lemma 3.4.2. f ∈ Fq [x] polinomu Fq cisminde m dereceli bir asal polinom olsun. Bu durumda ¯ ¯ ¯ qn ¯ f (x) ¯ x − x ⇔ m ¯ n dir. 43 Teorem 3.4.3. Eğer f polinomu Fq [x] polinomlar halkasında m dereceli bir asal polinom ise f polinomu Fqm cisminde bir α köküne sahiptir. İlave olarak f polinomunun bütün kökleri basittir ve Fqm cisminin 2 α, αq , αq , . . . , αq m−1 şeklindeki m farklı elemanı ile verilirler. Sonuc. 3.4.4. f polinomu Fq [x] polinomlar halkasında m dereceli bir asal polinom olsun. Bu durumda Fq üzerinde f polinomunun parçalanış cismi Fqm cismidir. Sonuc. 3.4.5. Fq [x] polinomlar halkasında aynı dereceli keyfi iki asal polinomun parçalanış cisimleri birbirine izomorftur. Tanım 3.4.6. Fqm cismi Fq cisminin bir genişlemesi ve α ∈ Fqm olsun. Bu durumda 2 α, αq , αq , . . . , αq m−1 elemanlarına α nın Fq cismine ilişkin eşlenikleri denir. Teorem 3.4.7. α ∈ F∗q elemanının Fq cisminin keyfi bir alt cismindeki eşlenikleri F∗q çarpımsal grubunda aynı mertebeye sahiptirler. Tanım 3.4.8. α ∈ F = Fqm ve K = Fq için K üzerinde α elemanının izi olan T rF/K (α) 2 T rF/K (α) = α + αq + αq + . . . + αq m−1 şeklinde tanımlanır. K üzerinde α elemanının izi K ya ilişkin α nın eşleniklerinin toplamıdır. İzin diğer bir tanımı aşağıdaki şekilde yapılabilir. f ∈ K[x] polinomu K üzerinde α elemanının minimal polinomu olsun. Bu durumda d derecesinin m nin bir böleni olduğunu biliyoruz. Bu şekildeki g(x) = f (x)m/d ∈ K[x] 44 polinomuna K üzerinde α elemanının karakteristik polinomu denir. Bu durumda g(x) = xm + am−1 xm−1 + . . . + a0 = (x − α)(x − αq ) . . . (x − αq m−1 ) olur ki burada katsayıların karşılaştırılmasından g karakteristik polinomu için iz T rF/K (α) = −am−1 elde edilir. T rF/K (α) iz fonksiyonun sonucu her zaman K cisminin bir elemanıdır. Teorem 3.4.9. K = Fq ve F = Fqm olarak alındığında T rF/K iz fonksiyonu aşağıdaki özellikleri sağlar. 1. ∀α, β ∈ F için T rF/K (α + β) = T rF/K (α) + T rF/K (β) 2. ∀α ∈ F ve ∀c ∈ K için T rF/K (cα) = c T rF/K (α) 3. F ve K cisimlerine K üzerinde bir vektör uzayı olarak bakıldığında T rF/K iz fonksiyonu F cisminden K cismi üzerine bir lineer dönüşümdür. 4. ∀a ∈ K için T rF/K (a) = ma 5. ∀α ∈ F için T rF/K (αq ) = T rF/K (α) Teorem 3.4.10. F cismi bir K sonlu cisminin sonlu bir genişlemesi olsun. Burada F ve K cisimlerine K üzerinde bir vektör uzayı olarak bakıldığında ∀α ∈ F için β ∈ F olmak üzere Lβ (α) := T rF/K (βα) 45 şeklinde tanımlanan Lβ fonksiyonu F cisminden K cismi üzerine bir lineer dönüşümdür. İlave olarak F cisminin farklı β, γ elemanları için Lβ 6= Lγ Tanım 3.4.11. α ∈ F = Fqm ve K = Fq için K üzerinde α elemanının normu olan NF/K (α) NF/K (α) = α αq . . . αq m−1 = α(q /(q−1) m −1) şeklinde tanımlanır. K cismi üzerinde α elemanının g karakteristik polinomu için NF/K (α) NF/K (α) = (−1)m a0 dır. NF/K (α) normu her zaman K cisminin bir elemanıdır. Tanım 3.4.12. Bir K cismi üzerinde bir n pozitif tamsayısı için xn − 1 polinomunun parçalanış cismine K cismi üzerinde n inci dairesel cisim denir ve K(n) ile gösterilir. K(n) dairesel cismi üzerindeki xn − 1 polinomunun köklerine K cisminde birimin n inci kökleri denir. Birimin n inci köklerinin oluşturduğu küme E(n) ile gösterilir. Tanım 3.4.13. K bir p karakteristikli cisim ve n sayısı p ile bölünemeyen bir pozitif tamsayı olarak alınsın. Bu durumda E(n) devirli grubunun bir üretecine K cismi üzerinde birimin bir n inci primitif kökü denir. K cismi üzerinde birimin Φ Euler fonksiyonu olmak üzere Φ(n) farklı n inci primitif kökü vardır. Eğer ξ onlardan biri ise K cismi üzerinde birimin bütün n inci primitif kökleri 1 ≤ s ≤ n ve ebob(s, n) = 1 olduğunda ξ s ile verilebilir. 46 Tanım 3.4.14. K bir p karakteristikli cisim ve n sayısı p ile bölünemeyen bir pozitif tamsayı olarak alınsın. Bu durumda eğer ξ elemanı K cismi üzerinde birimin bir n inci primitif kökü ise Qn (x) := n Y (x − ξ s ) s=1 ebob(s,n)=1 şeklinde tanımlanan Qn (x) polinomuna K cismi üzerinde n inci dairesel polinom denir. Teorem 3.4.15. K(n) dairesel cismi K cisminin bir basit cebirsel genişlemesidir. İlave olarak 1. Eğer K = Q ise Qn dairesel polinomu K cismi üzerinde asaldır ve [K(n) : K] = Φ(n) dir. 2. Eğer K = Fq olduğunda ebob(q, n) = 1 ise Qn polinomu K[x] polinomlar halkasında aynı d dereceli Φ(n)/d tane farklı, monik, asal çarpana sahiptir. Ayrıca bu durumda K(n) dairesel cismi K üzerinde keyfi bir asal çarpanın parçalanış cismidir ve q d ≡ 1 mod (n) ifadesini gerçekleyen en küçük pozitif tamsayı d olduğunda [K(n) : K] = d dir. 47 4 SONLU CİSİMLERDE POLİNOMLAR 4.1 Polinomların Mertebesi ve Primitif Polinomlar Bölüm 2 de incelenen BCH kodlarında kodlama sistemini oluşturabilmek için F2 cismi üzerinde asal ve primitif polinomlara ihtiyaç duymuştuk. F2 cismi üzerinde bu asal ve primitif polinomlar küçük dereceler için deneme-yanılma metoduyla makul çalışmalar yapılarak belirlenebilir. Fakat bulunmak istenen polinomun derecesi arttıkça veya herhangi bir keyfi Fq cismi üzerinde q := pn değeri büyüdükçe bu polinomları belirlemek oldukça güçleşecektir. Bu nedenle bu bölümde cebirin önemli bir konusu olan herhangi bir keyfi Fq cismi üzerinde asal ve primitif polinom bulma yöntemleri (algoritmaları) üzerinde çalışmalar yapılacaktır. Bu çalışmalara başlamadan önce incelenecek algoritmalar için gerekli olan polinom mertebeleri üzerinde de durmamız gerekmektedir. ¯ ¯ Teorem 4.1.1. f ∈ Fq [x], deg(f ) = m ≥ 1 ve f 6= 0 için f (x) ¯ xe − 1 ve e ≤ q m − 1 olacak şekilde bir e pozitif tamsayısı vardır (Niederreiter and Lidl 1986) . < f > bölüm halkasının q m − 1 tane sıfırdan farklı elemanı vardır. ¯ ¯ j = 0, 1, 2, . . . , q m − 1 için xj + < f > elemanları Fq [x] ¯ < f > halkasının sıfırdan farklı İspat Fq [x] elemanlarıdır. j nin q m tane sıfırdan farklı değeri olduğundan 0 ≤ r < s ≤ q m − 1 için xs ≡ xr mod f (x) olur. f (0) 6= 0 olduğundan x ile f (x) aralarında asaldır. Buradan xs−r ≡ 1 mod f (x) dir. Böylece olur ki bu ¯ ¯ f (x) ¯ xs − xr = xr (xs−r − 1) ¯ ¯ f (x) ¯ xs−r − 1 ve 0 < s − r ≤ q m − 1 olduğunu gösterir. 48 Tanım 4.1.2. f ∈ Fq [x] polinomu sıfırdan farklı bir polinom olduğunda f (0) 6= 0 ise ¯ ¯ f (x) ¯ xe − 1 şartını sağlayan en küçük pozitif e tamsayısına f polinomunun mertebesi denir ve ord(f ) = e ile gösterilir (Niederreiter and Lidl 1986) Eğer f (0) = 0 ise f (x) = xk g(x) olacak şekilde tek türlü h ∈ Z+ ve g(0) 6= 0 olan bir g ∈ Fq [x] polinomu vardır. Bu durumda ord(f ) := ord(g) ile tanımlanır. Teorem 4.1.3. f ∈ Fq [x] polinomu m dereceli f (0) 6= 0 özelliğini sağlayan bir asal polinom olsun. Bu durumda ord(f ) mertebesi, F∗qm çarpım grubunda f polinomunun keyfi bir kökünün mertebesine eşittir (Niederreiter and Lidl 1986) İspat f polinomunun parçalanış cismi Fqm cismidir. f polinomunun kökleri Teorem 3.4.7 den F∗qm çarpım grubunda aynı mertebeye sahiptir. α ∈ F∗qm elemanı f polinomunun keyfi bir kökü olsun. Lemma 3.4.1 den ¯ ¯ α = 1 ⇔ f (x) ¯ xe − 1 e olduğunu biliyoruz. Bu durumda f polinomunun mertebesi , F∗qm grubunda α nın mertebesine eşit olur. Sonuc. 4.1.4. Eğer f ∈ Fq [x] polinomu Fq üzerinde m dereceli bir asal polinom ise ¯ ¯ ord(f ) ¯ q m − 1 sağlanır (Niederreiter and Lidl 1986) İspat F∗qm çarpım grubunun eleman sayısı q m − 1 tanedir. Sonlu grupta her elemanın mertebesi grubun mertebesini böleceğinden ifade gerçeklenir. Teorem 4.1.3 derecesi ve mertebesi verilen monik ve asal polinomların sayısına ilişkin bir formül bulmamızı sağlar. Şimdi standart notasyonu verelim. n ∈ Z+ ve ebob(b, n) = 1 olsun. Euler Teoreminden bΦ(n) ≡ 1 mod n 49 olduğunu biliyoruz. Buradaki Φ-Euler Φ fonksiyonudur. bk ≡ 1 mod n olacak şekilde en küçük pozitif tamsayıya b elemanının modn ye göre mertebesi denir ve ordn (b) := k ile gösterilir. Teorem 4.1.5. Derecesi m ve mertebesi e olan Fq [x] halkasındaki monik ve asal polinomların sayısını T ile gösterirsek Φ(e)/m , T = 2, 0, eğer orde (q) := m ve e ≥ 2 ise eğer m = e = 1 ise aksi takdirde Özellikle Fq [x] halkasında mertebesi e olan bir asal polinomun derecesi orde (q) dir (Niederreiter and Lidl 1986) İspat f (0) 6= 0 şartını sağlayan Fq [x] polinomlar halkasında asal bir polinom f ol- sun. Teorem 4.1.3 den ord(f ) = e olması için gerek ve yeter şart f polinomunun bütün köklerinin birin Fq cismi üzerindeki e nci primitif kökleri olmasıdır. Diğer bir deyişle ¯ ¯ ord(f ) = e ⇔ f ¯ Qe Teorem 3.4.15(ii) den Qe nin keyfi monik, asal çarpanı m derecesine sahiptir. Buradaki m sayısı q m ≡ 1 mod e özelliğini sağlayan en küçük pozitif tamsayıdır. Bu durumda Qe nin çarpanlarının sayısı Φ(e)/m ile verilir. m = e = 1 olan polinomlar x ve x − 1 polinomlarıdır. Lemma 4.1.6. c ∈ Z+ , f ∈ Fq [x] ve f (0) 6= 0 olduğunda ¯ ¯ ¯ ¯ c f ¯ x − 1 ⇔ ord(f ) ¯ c dir (Niederreiter and Lidl 1986) 50 İspat ¯ ¯ Eğer (e = ord(f )) ¯ c şartını gerçeklerse ¯ ¯ f (x) ¯ xe − 1 ve ¯ ¯ x − 1 ¯ xc − 1 e ¯ ¯ olur. Buradan f (x) ¯ xc − 1 dir. ¯ ¯ Tersine eğer f (x) ¯ xc − 1 ise c ≥ e dir. Bu durumda m ∈ N+ ve 0 ≤ r < e için c = me + r olacak şekilde m ve r elemanları vardır. Buradan xc − 1 = (xme − 1)xr + (xr − 1) ¯ ¯ şeklinde yazılabilir. Bu yazılıştan dolayı f (x) ¯ xr −1 olmak zorundadır. r < e olduğundan ¯ ¯ bu durum sadece r = 0 da gerçeklenir. Buradan e ¯ c dir. Sonuc. 4.1.7. e1 , e2 ∈ Z+ ve d = ebob(e1 , e2 ) olsun. Bu durumda Fq [x] halkasında ebob(xe1 − 1, xe2 − 1) = xd − 1 olur (Niederreiter and Lidl 1986) İspat f (x) polinomu xe1 − 1 ve xe2 − 1 polinomlarının monik olan en büyük ortak böleni olsun. {i = 1, 2, 3, . . .} için xd − 1 polinomu xei − 1 polinomlarının bir ortak bölenidir. ¯ ¯ Buradan xd − 1 ¯ f (x) olur. Diğer taraftan f (x) polinomu {i = 1, 2, 3, . . .} için xei − 1 polinomlarının bir ortak bölenidir. Bu durumda Lemma 4.1.6 dan ord(f ), e1 ve e2 yi böler. Sonuç olarak Lemma ¯ ¯ ¯ ¯ 4.1.6 dan ord(f ) ¯ d ve f (x) ¯ xd − 1 dir. Buradan f (x) = xd − 1 dir. 51 Teorem 4.1.8. g(0) 6= 0 ve ord(g) = e gerçeklendiğinde p karakteristikli Fq cisminde g ∈ Fq [x] polinomu asal bir polinom olsun. Ayrıca b ∈ Z+ için pt ≥ b şartını sağlayan en küçük tamsayı t olduğunda f = g b şeklinde alınan f polinomunun mertebesi ord(f ) = ept dir (Niederreiter and Lidl 1986) ¯ ¯ ¯ ¯ c İspat c := ord(f ) olarak alındığında f (x) ¯ x − 1 olduğundan g(x) ¯ xc − 1 dir. Bu ¯ ¯ ¯ ¯ ¯ ¯ durumda Lemma 4.1.6 dan e ¯ c dir. Aynı zamanda g(x) ¯ xe −1 olduğundan f (x) ¯ (xe −1)b olur. Diğer taraftan t t (xe − 1)p = xep − 1 ¯ t ¯ t dir. Bu durumda p ≥ b olduğundan f (x) ¯ xep − 1 olur. Bu ise 0 ≤ u ≤ t için c = epu şeklinde yazılabilir. Ayrıca xe − 1 polinomunun sadece basit köklere sahip olmasından ve Sonuç 4.1.4 den e mertebesinin p asal sayısının bir katı olmamasından dolayı u u xep − 1 = (xe − 1)p polinomunun bütün kökleri pu nun bir katı olur. Diğer taraftan pu ≥ b olduğunda ¯ u ¯ g(x)b ¯ xep − 1 dir. Burada aynı zamanda u ≥ t olur. Fakat bu özelliği sağlayan en küçük sayı t olduğundan u = t alınır. Buradan c = ept dir. Teorem 4.1.9. g1 , g2 , . . . , gk ∈ Fq [x] polinomları sıfırdan farklı ve aralarında asal polinom çiftleri olsunlar. Bu durumda f = g1 g2 g3 . . . gk polinomunun mertebesi ord(f ) = ekok{ord(g1 ), ord(g2 ), . . . , ord(gk )} dır (Niederreiter and Lidl 1984) 52 İspat Kolayca görülebilir ki 1 ≤ i ≤ k için gi (0) 6= 0 olur. Şimdi 1 ≤ i ≤ k için e := ord(f ), ei := ord(gi ) ve c = ekok(e1 , e2 , . . . , ek ) olarak alalım. Bu durumda herbir 1 ≤ i ≤ k için ¯ ¯ gi (x) ¯ xei − 1 ve ¯ ¯ gi (x) ¯ xc − 1 dir. Diğer taraftan g1 , g2 , . . . , gk polinomlarının aralarında asal olduğunu biliyoruz. Bu¯ ¯ ¯ c ¯ radan f (x) ¯ x − 1 sağlanır. Bu durumda Lemma 4.1.6 dan e ¯ c olur. Aynı zamanda f ¯ ¯ polinomunun mertebesinden dolayı f (x) ¯ xe − 1 dir. Böylece 1 ≤ i ≤ k aralığında herbir ¯ ¯ gi (x) polinomu için gi (x) ¯ xe − 1 sağlanır. Bu ise Lemma 4.1.6 dan 1 ≤ i ≤ k için herbir ei nin e yi böldüğünü gösterir. Bu sonuçlardan c = e dir. Bu sonuçlar gösterir ki sonlu sayıda sıfırdan farklı polinomların en küçük ortak katlarının mertebesi, polinomların mertebesinin en küçük ortak katına eşittir. Örnek 4.1.10. f (x) = x10 + x9 + x3 + x2 + 1 ∈ F2 [x] polinomunu ele alalım. F2 cisminde f (x) polinomlarının asal çarpanları f (x) = (x2 + x + 1)3 (x4 + x + 1) şeklindedir. Bu durumda ord(x2 + x + 1) = 3 ve Teorem 4.1.8 den ord((x2 + x + 1)3 ) = 12 olur. Ayrıca ord(x4 + x + 1) = 15 dir. Bu ise Teorem 4.1.9 dan ord(f ) = ekok(12, 15) = 60 dır. Burada ord(f ), 210 − 1 i bölmez. Bu ise Sonuç 4.1.4 ün asal polinomlar için geçerli olduğunu gösterir. Teorem 4.1.11. p karakteristikli Fq sonlu cisminde f ∈ Fq [x] polinomu pozitif dereceli ve f (0) 6= 0 özelliklerini sağlasın. a ∈ Fq , b1 , b2 , . . . , bk ∈ N olduğunda f1 , f2 , . . . , fk ∈ Fq [x] polinomları birbirinden farklı , monik ve asal polinomlar olarak alındığında f = af1b1 f2b2 f3b3 . . . fkbk şeklinde yazılabilsin. Bu durumda e = ekok{ord(f1 ), ord(f2 ), . . . , ord(fk )} 53 olduğunda ord(f ) = ept dir. Buradaki t sayısı pt ≥ maks(b1 , b2 , . . . , bk ) şartını sağlayan en küçük tamsayıdır (Niederreiter and Lidl 1986) Fq [x] polinomlar halkasında f asal polinomunun mertebesini bulabilmek için uygun bir metot vardır. Şimdi f polinomu Fq cisminde asal, ord(f ) = e, deg(f ) = m ve f (0) 6= 0 şeklinde olsun. Daha önceden f (0) 6= 0 özelliğini sağlayan f asal polinomunun mertebesi olan e değerinin xe ≡ 1 mod f (x) denkliğini sağlayan en küçük pozitif tamsayı olduğunu biliyoruz. Ayrıca Sonuç 4.1.4 den ¯ ¯ e ¯ qm − 1 olur. Bu durumda q m > 2 alalım. q m = 2 olduğunda q = 2 ve m = 1 olur ki bu durumdaki polinomların mertebelerinin e = 1 olduğunu zaten biliyoruz. Şimdi q m > 2 için s Y m q −1= r pj j j=1 şeklinde pj değerleri asal ve rj değerleri asal kuvvetleri olmak üzere asal çarpanların çarpımı şeklinde yazabiliriz. Burada 1 ≤ j ≤ s değerleri için x(q m −1)/p j mod f (x) değerlerini hesaplayalım. Yukarıdaki değerleri hesaplayabilmek için 2 x, xq , xq , . . . , xq m−1 2 değerlerini bulmak yeterlidir. x, xq , xq , . . . , xq çarpımlarının çeşitli kombinasyonları x(q m−1 m −1)/p 54 mod f (x) j mod f (x) değerlerinin kendi aralarında mod f (x) değerlerini verecektir. Burada eğer x(q m −1)/p j 6≡ 1 mod f (x) r ise e mertebesi pj j nin bir katıdır. Fakat eğer x(q m −1)/p j ≡ 1 mod f (x) r sağlanıyorsa e mertebesi pj j nin bir katı değildir. Bu durumda sağlanan bu denkliğin en küçük kuvvet olup olmadığını kontrol etmek için x(q m −1)/p2 j ifadesinin modf (x) deki değerine bakılır. Burada eğer x(q r −1 sağlanıyorsa e mertebesi pj j r −1 6≡ 1 mod f (x) nin bir katıdır. Fakat eğer x(q oluyorsa e mertebesi pj j m −1)/p2 j m −1)/p2 j ≡ 1 mod f (x) nin bir katı değildir. Bu ifadeyi sağlayan daha küçük pj kuvvet- leri olup olmadığına bakmak için işleme devam edilir ve işlem pj kuvvetleri arasında x(q r m −1)/p j j ifadesine modf (x) de 1 den farklı bir sonuç bulana kadar devam edilir. Bu r sonuçlar pj j kuvvetine kadar 1 e denk oluyorsa en son x(q x(q r m −1)/p j j r m −1)/p j j değerine bakılır ve 6≡ 1 mod f (x) ise e mertebesi pj nin bir katıdır. Fakat eğer x(q r m −1)/p j j ≡ 1 mod f (x) ise yani hala 1 e denk oluyorsa e mertebesi pj nin bir katı değildir denir ve q m −1 değerinin başka bir asal çarpanına geçilir. Bu hesaplamalar q m − 1 in her asal çarpanı için yinelenir. Örnek 4.1.12. f (x) = x3 + x2 + 2 ∈ F3 [x] polinomu F3 cisminde asaldır. Ayrıca q m = 33 > 2 sağlanır. Şimdi yukarıdaki algoritmayı kullanarak f (x) polinomunun e mertebesini bulalım. q m − 1 = 26 = 13.2 55 dir. Bu durumda f (x) polinomunun e mertebesini bulmak için x26/13 = x2 ve x26/2 = x13 ifadelerinin modf (x) deki değerlerini hesaplamalıyız. x2 6≡ 1 mod f (x) olduğundan e mertebesi 13 sayısının bir katıdır. Diğer taraftan x13 ifadesinin modf (x) deki değerini bulmamız gerekmektedir. x3 ≡ 2x2 + 1 modf (x) x9 ≡ x2 + 2x + 1 modf (x) x13 = x9 .x3 .x olup x13 ≡ 1 mod f (x) Bu sonuç e mertebesinin 2 nin bir katı olmadığını gösterir. Buradan ord(f ) = e = 13 dir. Gerçekten de x13 − 1 = (x3 + x2 + 2)(x10 − x9 + x8 − x6 − x5 + x4 + x3 + x2 + 1) olup x13 − 1 polinomu f (x) polinomunun böldüğü xe − 1 formundaki en küçük dereceli polinomdur. Şimdi basit cebirsel dönüşümlerle biri diğerinden bulunabilen polinom mertebelerini göreceğiz. Tanım 4.1.13. an 6= 0 için f (x) = an xn + an−1 xn−1 + . . . + a1 x + a0 ∈ Fq [x] olsun. Bu durumda f ∗ (x) = xn f ³1´ x = a0 xn + a1 xn−1 + . . . + an−1 x + an şeklindeki f ∗ polinomuna f polinomunun resiprokal polinomu denir (Niederreiter and Lidl 1984) 56 Teorem 4.1.14. f polinomu Fq [x] polinomlar halkasında sıfırdan farklı bir polinom olduğunda f ∗ , f polinomunun resiprokal polinomu olsun. Bu durumda ord(f ) = ord(f ∗ ) dır (Niederreiter and Lidl 1984) İspat f (0) 6= 0 olsun. Bu durumda ¯ ¯ f (x) ¯ xe − 1 ⇔ f ∗ (x) ¯ ¯ e ¯ x −1 dir. f (0) = 0 ise h ∈ N, g ∈ Fq [x] ve g(0) 6= 0 iken f (x) = xh g(x) yazabiliriz. Buradan ise ord(f ) = ord(g) = ord(g ∗ ) = ord(f ∗ ) dir. Bu ise g ∗ = f ∗ olduğunu gösterir. Teorem 4.1.15. q herhangi bir tek sayı olmak üzere f ∈ Fq [x] polinomunu pozitif dereceli ve f (0) 6= 0 özelliğini sağlayacak şekilde aldığımızda ord(f (x)) = e ve ord(f (−x)) = E olsun. Bu durumda (i) e ≡ 0 mod 4 ise E = e (ii) e ≡ 1 mod 2 ise E = 2e (iii) Eğer h bir tek sayı olmak üzere e = 2h şeklinde iken (1) f polinomunun bütün asal çarpanları çift mertebeli ise E = e/2 (2) Diğer durumlarda E = e olur. ifadeleri gerçeklenir (Niederreiter and Lidl 1986) 57 İspat ord(f ) = e iken ¯ ¯ ¯ ³ ´ ³ ´ ¯ ¯ ¯ f (x) ¯ x2e − 1 ve f (−x) ¯ (−x)2e − 1 = f (−x) ¯ x2e − 1 ¯ ¯ ¯ ¯ olur ki Lemma 4.1.6 dan E ¯ 2e dir. Yine aynı argümandan e ¯ 2E olur. Bu ise E nin sadece 2e, e, e/2 değerlerinden birini alabileceğini gösterir. Eğer e mertebesi 4 ün bir katı ise E ve e çifttir. Bu durumda ¯ ¯ ´ ³ ¯ ¯ f (x) ¯ xe − 1 ve f (x) ¯ (−x)e − 1 = xe − 1 ¯ ¯ ¯ ¯ olup E ¯ e dir. Benzer olarak e ¯ E dir. Buradan E = e dir. Eğer e bir tek sayı ise ¯ ´ ¯ e f (−x) ¯ (−x) − 1 = −xe − 1 ¯ ¯ ¯ e ¯ dir ve bu f (−x) ¯ x + 1 olduğunu gösterir. Fakat f (−x) ¯ xe − 1 sağlanmayabilir. Bu ³ durumda E = 2e dir. Şimdi h bir tek sayı olmak üzere e = 2h olsun. f ∈ Fq [x] polinomu da asal bir polinomun kuvveti şeklinde alınsın. f polinomunun mertebesinden dolayı ¯ ¯ f (x) ¯ (xh − 1)(xh + 1) ¯ ¯ olup f (x) 6 ¯ (xh − 1) dir. (xh − 1) ve (xh + 1) polinomları aralarında asal olduklarından ¯ ¯ f (x) ¯ (xh + 1) dir. Buradan ³ ¯ ´ ¯ f (−x) ¯ (−x)h + 1 = −xh + 1 ¯ ¯ olup f (−x) ¯ (xh − 1) dir. Bu durumda E = e/2 dir. Şimdi 1 ≤ i ≤ k için gi ∈ Fq [x] polinomlarının herbiri bir asal polinomun bir kuvveti olsun ve g1 , g2 , . . . , gk polinomları aralarında asal olarak alınsın. f = g1 g2 g3 . . . gk olduğunda Teorem 4.1.9 a uygun olacak şekilde 2h = ekok{ord(g1 ), ord(g2 ), . . . , ord(gk )} 58 olsun. Burada gi polinomları 1 ≤ i ≤ m için ord(gi ) = 2hi ve m + 1 ≤ i ≤ k için ord(gi ) = hi olacak şekilde düzenlenebilir. hi bir tek sayı ve ekok(h1 , h2 , . . . , hk ) = h olduğunda 1 ≤ i ≤ m için ord{gi (−x)} = 2hi ve m + 1 ≤ i ≤ k için ord{gi (−x)} = 2hi dır ve Teorem 4.1.9 dan E = ekok(h1 , h2 , . . . , hm , 2hm+1 , . . . , 2hk ) dır. Bu eşitlikte m = k ise E = h = e/2 olur. Ayrıca m < k için E = 2h = e dir. Teorem 4.1.1 ve Tanım 4.1.2 den Fq cisminde degm ≥ 1 olan herhangi bir polinomun mertebesi en fazla q m − 1 olur. Tanım 4.1.16. deg(f ) = m ≥ 1 olan f ∈ Fq [x] polinomu primitiftir denir eğer Fqm cisminin bir primitif elemanının Fq cismindeki minimal polinomu f ise. Benzer olarak Fq cisminde deg(f ) = m ≥ 1 olan asal, monik ve bir α ∈ Fqm kökü Fqm cisminin çarpım grubunu üreten bir f polinomuna Fq cisminde m dereceli bir primitif polinom denir (Pretzel 1992) Teorem 4.1.17. deg(f ) = m olan f ∈ Fq [x] polinomu Fq cisminde bir primitif polinomdur ⇔ f monik, f (0) 6= 0 ve ord(f ) = q m − 1 dir (Hill 1986) İspat f polinomu Fq cisminde primitif bir polinom olsun. Bu durumda f polinomu monik ve f (0) 6= 0 dir. Ayrıca f polinomu Fq cisminde asaldır. Böylece Teorem 4.1.3 den ord(f ) = q m − 1 dir ve f polinomu Fqm cisminin bir primitif elemanına sahip olur. Bu ise f polinomunun bir köküdür. 59 Tersine ord(f ) = q m − 1 olduğundan m ≥ 1 dir. Bu durumda Fq cisminde f polinomunun asal olduğunu iddia ediyoruz. Farzedelimki f polinomu asal olmasın. f polinomu asal bir polinom değilse bir asal polinomun kuvveti veya pozitif dereceli aralarında asal iki polinomun çarpımı şeklindedir. g ∈ Fq [x] polinomu Fq cisminde asal bir polinom olmak üzere f = g b şeklinde ise g(0) 6= 0 ve b ≥ 2 dir. Teorem 4.1.8 den Fq cisminin karakteristiği p olmak üzere ¯ ¯ ¯ ¯ ¯ ¯ p ¯ ord(f ) ve ord(f ) ¯ q m − 1 olduğundan p ¯ q m − 1 olur. Bu ise bir çelişkidir. İkinci durumda deg(g1 ) = m1 ve deg(g2 ) = m2 için g1 , g2 ∈ Fq [x] monik ve aralarında asal polinomlar olmak üzere f = g1 g2 olsun. i = 1, 2 için eğer ei = ord(gi ) ise Teorem 4.1.9 dan ord(f ) = ekok(e1 , e2 ) ≤ e1 e2 dir. Ayrıca Teorem 4.1.1 den i = 1, 2 için ei ≤ q mi − 1 dir. Bu sonuçlardan ord(f ) ≤ (q m1 − 1)(q m2 − 1) < q m1 +m2 − 1 = q m − 1 Bu ise bir çelişkidir. Bu durumda f polinomu Fq cisminde asal bir polinomdur. Böylece Teorem 4.1.3 den f polinomu Fq cisminde aynı zamanda bir primitif polinomdur. Teorem 4.1.18. f ∈ Fq [x] ve f (0) 6= 0 şartını sağlayan f polinomunu alalım. Burada xr ≡ a mod f (x) , a ∈ F∗q denkliğini sağlayan en küçük pozitif tamsayı r olsun. Bu durumda h , F∗q çarpım grubunda a nın mertebesi olmak üzere ord(f ) = hr olur (Niederreiter and Lidl 1984) İspat ord(f ) = e olsun. f (0) 6= 0 olduğundan xe ≡ 1 mod f (x) dir. Burada e ≥ r olmalıdır. Bölme algoritmasından e = sr + t ve 0 ≤ t ≤ r olacak şekilde s ve t pozitif sayıları vardır. Şimdi 1 ≡ xe ≡ xsr+t ≡ as xt mod f (x) (1) 60 Buradan xt ≡ a−s mod f (x) olur. r nin tanımından dolayı t = 0 dır. (1) denkliğinden dolayı as ≡ 1 mod f (x) dir. Buradan as = 1 dir. Böylece s ≥ h ve e ≥ hr olur. Diğer yandan xhr ≡ ah ≡ 1 mod f (x) ⇒ e ≤ hr dir. Bu sonuçlardan e = hr olur. Teorem 4.1.19. f ∈ Fq [x] monik polinomu deg(f ) = m ≥ 1 olsun. f polinomu Fq cisminde bir primitif polinomdur ⇔ (−1)m f (0) , Fq cisminde bir primitif elemandır ve modf (x) e göre xr nin Fq cisminin bir elemanına denk olduğu en küçük kuvveti r ise . m r = (q − 1) q − 1 olur. f polinomunun Fq cismi üzerinde primitif olduğu durumda xr ≡ (−1)m f (0) mod f (x) dir (Niederreiter and Lidl 1984) İspat (⇒) Eğer f polinomu Fq cismi üzerinde primitif ise Fqm =< α > ve f (α) = 0 dır. Tanım 3.4.11 ve Lemma 3.3.3 ile norm hesaplandığında NFqm /Fq (α) = α(q m −1)/q−1 olur. F∗q çarpım grubunda [α(q = (−1)m f (0) = (−1)m a0 m −1)/q−1 (2) ]q−1 = 1 ve qm − 1 =q−1 ebob{(q m − 1)/q − 1, q m − 1} olduğundan (−1)m f (0) elemanının mertebesi q − 1 olur. (−1)m f (0) bu durumda Fq cisminin bir primitif elemanıdır. f polinomu Fq cisminde α nın minimal polinomu olduğundan ve g(x) = x(q m −1)/q−1 − α(q m −1)/q−1 61 olduğunda g(α) = 0 sağlandığından ¯ m m ¯ f (x) ¯ x(q −1)/q−1 − α(q −1)/q−1 dir. Buradan x(q m −1)/q−1 ≡ (−1)m f (0) mod f (x) olur. Böylece r ≤ (q m − 1)/q − 1 dir. Diğer taraftan q m − 1 = ord(f ) ≤ (q − 1)r ⇒ r ≥ (q m − 1)/q − 1 olur Bu iki sonuçtan . r = (q − 1) q − 1 m dir. (⇐) . Tersine r = (q − 1) q − 1 olsun. Teorem 4.1.18 den m ord(f ) = hr = (q − 1) qm − 1 = qm − 1 q−1 ³ ´ olur. Buradan ebob ord(f ), q = 1 dir. Teorem 4.1.11 gösterir ki fi polinomları Fq cisminde farklı monik, asal polinomlar olmak üzere f = f1 f2 . . . fk olacak şekilde çarpanlara ¯ ¯ sahiptir. 1 ≤ i ≤ k ve mi := deg(fi ) olsun. Bu durumda ord(fi ) ¯ q mi − 1 dir. . d := (q m1 − 1)(q m2 − 1) . . . (q mk −1 ) (q − 1)k ¯ ¯ ¯ ¯ olsun. Buradan 1 ≤ i ≤ k için ord(fi ) ¯ d ve 1 ≤ i ≤ k için fi (x) ¯ xd − 1 dir. xd ≡ ¯ ¯ 1 mod f (x) ve xd ∈ Fq olduğundan f (x) ¯ xd − 1 dir. Eğer k ≥ 2 ise d < (q m1 +m2 +...+mk . . m − 1) q − 1 = (q − 1) q − 1 = r olduğundan k = 1 ve d = q m − 1 dir. Bu durumda f asaldır. β ∈ Fqm ve f (β) = 0 olsun. Böylece β r = (−1)m f (0) 62 ve (2) eşitliğindeki hesaplamalardan xr ≡ (−1)m f (0) mod f (x) dir. Hipotezden F∗q çarpım grubunda (−1)m f (0) elemanının mertebesi q − 1 dir. Teorem 4.1.18 den ord(f ) = (q − 1) qm − 1 = qm − 1 q−1 olur. Buradan ve Lemma 4.1.17 dan f polinomu Fq cisminde primitiftir. Örnek 4.1.20. f (x) = x4 + x3 + x2 + 2x + 2 ∈ F3 [x] polinomunu ele alalım. f polinomu F3 cisminde asaldır. Ayrıca q m − 1 = 34 − 1 = 80 = 24 .5 dir. Bu durumda xq ve xq m −1/5 m −1/2 = x40 = x16 değerlerinin modf (x) deki karşılığını bulmalıyız. x16 ≡ 2x3 + 1 6≡ 1 mod f (x) x40 ≡ 2 6≡ 1 mod f (x) olup buradan e = ord(f ) = q m − 1 = 24 .5 = 80 dir. Böylece Teorem 4.1.17 dan f polinomu F3 cisminde primitiftir. Bu durumda (−1)m f (0) = 2 olduğundan Teorem 4.1.19 bize x40 ≡ 2 mod f (x) olduğunu söyler. Tersine (−1)m f (0) = 2 ∈ F3 elemanı < 2 >= F∗3 eşitliğini sağladığından F3 cisminin bir primitif elemanıdır. Diğer taraftan x40 ≡ 2 mod f (x) olduğundan Teorem 4.1.19 den söyleyebiliriz ki f polinomu F3 cisminde bir primitif polinomdur. 4.2 Asal Polinomlar Teorem 4.2.1. n ∈ N ve Fq sonlu cisim olsun. Dereceleri n yi bölen Fq [x] polinomlar n halkasındaki bütün monik, asal polinomların çarpımı xq − x değerine eşittir (Chapman 1996) İspat n Lemma 3.4.2 den g(x) = xq − x polinomu Fq [x] polinomlar halkasında monik, asal çarpanların çarpımı şeklinde yazıldığında dereceleri n yi böler olduğunu biliyoruz. 63 Aynı zamanda burada g 0 (x) = −1 dir. Bu durumda Teorem 3.1.10 den dolayı g polinomu Fq cisminde katlı bir köke sahip değildir. Buradan bütün monik, asal polinomlarının herbirinin derecesi n yi böler. Böylece g polinomunun kanonikal çarpanlara ayrılması tektir. Sonuc. 4.2.2. Nq (d) , Fq [x] polinomlar halkasında derecesi d olan monik, asal polinomların sayısını göstersin. Bu durumda qn = X dNq (d) d/n dir (Niederreiter and Lidl 1986) İspat n g(x) polinomunun kanonikal gösteriminin toplam derecesi ile g(x) = xq − x polinomunun derecesi Teorem 4.2.1 ile karşılaştırılırsa yukarıdaki sonuç bulunur. Tanım 4.2.3. N de Moebius fonksiyonu olan µ fonksiyonu µ(n) = 1 (−1)k 0 n = 1 ise n, k farklı asalın çarpımı ise n, bir asalın karesi ile bölünebilir ise şeklinde tanımlanır (Niederreiter and Lidl 1986) Lemma 4.2.4. n ∈ N için µ Moebius fonksiyonu olsun. Bu durumda 1, X n = 1 ise µ(d) = 0, n > 1 ise d/n olur (Niederreiter and Lidl 1986) Teorem 4.2.5. [Moebius İnterpolasyon Formülü] 64 (i) Toplama Durumu: N den h ve H gibi iki fonksiyon aldığımızda G değişmeli grubu altındaki toplamı n ∈ N için H(n) = X h(d) (3) d/n gerek ve yeter şart n ∈ N için h(n) = ³n´ X ³n´ X µ H(d) = µ(d)H d d d/n (4) d/n olmasıdır. (ii) Çarpım Durumu: N den h ve H gibi iki fonksiyon aldığımızda G değişmeli grubu altındaki çarpımı n ∈ N için H(n) = Y h(d) (5) d/n gerek ve yeter şart n ∈ N için h(n) = Y H(d)µ(n/d) = Y d/n d/n H ³ n ´µ(d) (6) d olmasıdır (Niederreiter and Lidl 1986) Teorem 4.2.6. Nq (n), Fq [x] polinomlar halkasında n dereceli monik, asal polinomların sayısı olarak alınırsa Nq (n) = 1 X ³n´ d 1X µ µ(d)q n/d q = n d n d/n d/n olur (Jungnickel 1993) Örnek 4.2.7. Fq [x] polinomlar halkasında derecesi 20 olan monik, asal polinomların sayısı ´ 1³ µ(1)q 20 + µ(2)q 10 + µ(4)q 5 + µ(5)q 4 + µ(10)q 2 + µ(20)q 20 ´ 1 ³ 20 q − q 10 − q 4 + q 2 = 20 Nq (20) = 65 Teorem 4.2.6 deki formül her sonlu Fq cismi ve her pozitif n tamsayısı için Fq cisminde n dereceli asal bir polinom olduğunu gösterir. (Sonuç 3.3.10 ile karşılaştırılırsa). ∀d ∈ N için µ(1) = 1 ve µ(d) ≥ −1 kullanılırsa ¶ ´ 1µ qn − q 1³ n n−1 n−2 n Nq (n) ≥ q −q −q − ... − q = q − >0 n n q−1 Moebius İnterpolasyon Formülünün diğer bir uygulaması n inci dairesel polinom olan Qn ile ilgili eşitliktir. Teorem 4.2.8. p karakteristikli bir K cismi ve p ile bölünmeyen n ∈ N için K üzerindeki n inci dairesel polinom olan Qn Qn (x) = Y³ ´µ(d) ´µ(n/d) Y ³ n/d x −1 x −1 = d d/n d/n dir (Jungnickel 1993) Örnek 4.2.9. K cismi üzerinde Q12 dairesel polinomunu bulalım. Q12 (x) = Y³ ´µ(d) x12/d − 1 d/12 µ(1) = (x12 − 1) (x6 − 1) (x12 − 1)(x2 − 1) = (x6 − 1)(x4 − 1) = x4 − x2 + 1 µ(2) µ(3) (x4 − 1) µ(4) (x3 − 1) µ(6) (x2 − 1) (x − 1)µ(12) dir. Teorem 4.2.6 de Fq [x] polinomlar halkasında sabit dereceli monik, asal polinomların sayısı belirlidir. Şimdi Fq [x] halkasında sabit dereceli bütün monik, asal polinomların çarpımını veren bir formül vereceğiz. 66 Teorem 4.2.10. Fq [x] polinomlar halkasında n dereceli monik, asal bütün polinomların çarpımı I(q, n ; x) olarak alındığında I(q, n ; x) = Y³ d xq − x ´µ(n/d) d/n = Y³ xq n/d −x ´µ(d) d/n dir (Jungnickel 1993) İspat Teorem 4.2.1 den n xq − x = Y I(q, d ; x) d/n dir. Fq cisminde sıfırdan farklı rasyonel fonksiyonların G çarpım grubuna Moebius İnterpolasyon Formülünün çarpım durumu uygulandığında ∀n ∈ N için h(n) = I(q, n ; x) ve n H(n) = xq − x yazıldığında istenilen sonuç elde edilir. Örnek 4.2.11. q = 2 ve n = 4 için ³ I(2, 4 ; x) = x 2(4/1) −x ´µ(1) ³ x 2(4/2) ´µ(2) ³ (4/4) ´µ(4) 2 −x x −x (x15 − 1) (x16 − x) = (x4 − x) (x3 − 1) = x12 + x9 + x6 + x3 + 1 = dir. Fq [x] polinomlar halkasında n dereceli monik, asal bütün polinomlar I(q, n ; x) in çarpanları arasında belirlidir. Teorem 4.2.12. I(q, n ; x) değerini Teorem 4.2.10 dan alalım. n > 1 olduğunda Fq cisminde m inci dairesel polinom Qm (x) olmak üzere mod(m) ye göre q nun çarpımsal 67 mertebesini gösteren ordm (q) := n için q n − 1 değerinin bütün pozitif bölenleri üzerindeki çarpım I(q, n ; x) = Y Qm (x) (7) m dir (Jungnickel 1993) İspat n > 1 için Fqn cisminin elemanlarının kümesini S diye alalım. ∀α ∈ S elemanı Fq cisminde n dereceli minimal polinoma sahiptir. Bu durumda I(q, n ; x) çarpımının bir köküdür. Diğer bir ifadeyle eğer β elemanı I(q, n ; x) ifadesinin bir kökü ise β, Fq [x] polinomlar halkasında n dereceli bazı monik, asal polinomların bir köküdür. Buradan β ∈ S olur. Bu nedenle I(q, n ; x) = Y (x − α) α∈S dir. Bir hatırlatma yapmak gerekirse ψ ∈ F∗qn elemanı Fqn cisminin uygun bir alt cismi d olan Fqd cisminin bir elemanıdır ⇔ ψ q = ψ ⇔ (ψ nin mertebesi)/q d − 1 olduğunu önceden biliyoruz. Buradan eğer α ∈ S ise α ∈ F∗qn ve ayrıca α elemanının mertebesi çarpım grubunda q n − 1 ifadesinin bir bölenidir. Böylece α ∈ S elemanının m mertebesi q n ≡ 1 mod (m) şartını sağlar. Bu durumda n sayısı mod(m) ye göre q nun çarpımsal mertebesidir. Yani ordm (q) = n olur. q n − 1 ifadesinin bir pozitif m böleni için S nin m mertebeli elemanlarının kümesini Sm ile gösterelim. Buradan I(q, n ; x) = Y Y m (x − α) α∈Sm Bu durumda Sm , m mertebeli F∗qn çarpım grubunun bütün elemanlarını kapsar. Diğer bir deyişle Sm , Fq cisminde birimin m inci primitif köklerinin kümesidir. Böylece dairesel polinomun tanımından Y (x − α) = Qm (x) α∈Sm dir ve (7) eşitliği sağlanır. 68 Örnek 4.2.13. 4 üncü dereceden F2 cismindeki bütün monik, asal polinomları belirleyelim. q n − 1 = 24 − 1 = 15 olup 15 in bölenleri {3, 5, 15} sayılarıdır. Bu durumda 2 ≡ 2 mod 3 22 ≡ 1 mod 3 olduğundan ord3 (2) = 2 dir. Ayrıca 2 ≡ 2 mod 5 22 ≡ 4 mod 5 23 ≡ 3 mod 5 24 ≡ 1 mod 5 ise ord5 (2) = 4 dür ve 2 ≡ 2 mod 15 22 ≡ 4 mod 15 23 ≡ 8 mod 15 24 ≡ 1 mod 15 ise ord15 (2) = 4 dür. Bu durumda (7) eşitliğinden I(2, 4 ; x) = Q5 (x)Q15 (x) 69 olur. Diğer taraftan Teorem 3.4.15 (ii) den biliyoruz ki ebob(q, n) = 1 olduğunda Qn (x) dairesel polinomu ordn (q) = d olmak üzere Φ(n)/d tane asal polinoma sahiptir. Bu durumda Q5 (x) = Y (x5/d − 1) µ(d) d/15 µ(1) = (x − 1)µ(5) (x5 − 1) (x5 − 1) = = x4 + x3 + x2 + x + 1 (x − 1) Ayrıca Q5 (x) için Φ(5)/4 = 1 olduğundan Q5 (x) = x4 + x3 + x2 + x + 1 polinomu F2 cisminde asaldır. Yine Φ(15)/4 = 2 olduğundan Q15 (x) dairesel polinomunun F2 cisminde 4 üncü dereceden iki asal polinom çarpanı vardır. Diğer taraftan Q5 (x + 1) = x4 + x3 + 1 polinomu F2 cisminde asal bir polinomdur. Bu polinom Q15 (x) dairesel polinomunu bölmek zorundadır ve Q15 (x) = Y³ x 15/d ´µ(d) −1 d/15 = (x15 − 1) µ(1) (x5 − 1) µ(3) µ(5) (x3 − 1) (x − 1)µ(15) = x8 + x7 + x5 + x4 + x3 + x + 1 = (x4 + x3 + 1)(x4 + x + 1) Bu durumda F2 cisminde 4 üncü dereceden asal polinomlar x4 + x3 + 1, x4 + x + 1 ve x4 + x3 + x2 + x + 1 dir. Bir cisim genişlemesinde elemanlarının minimal polinomları genellikle asal polinomlardır. Minimal polinomların Tanım 3.2.5 de ve önemli özellikleri de Teorem 3.2.6 da belirtilmişti. Şimdi sonlu cisimlerde minimal polinomlar hakkında faydalı özellikleri vereceğiz. 70 Teorem 4.2.14. Fq cisminin bir cisim genişlemesi Fqm olmak üzere α ∈ Fqm olsun. Fq cisminde α elemanının derecesi d olduğunda g ∈ Fq [x] polinomu Fq cisminde α elemanının minimal polinomu olsun. Bu durumda ¯ ¯ (i) g polinomu Fq cisminde asaldır ve d ¯ m dir. ¯ ¯ (ii) f ∈ Fq [x] polinomu için f (α) = 0 ⇔ g ¯ f dir. (iii) Eğer f ∈ Fq [x] polinomu f (α) = 0 şartını sağlayan bir monik, asal polinom ⇒ f = g dir. ¯ ¯ ¯ m ¯ qd (iv) g(x) ¯ x − x ve g(x) ¯ xq − x dir. (v) g(x) polinomunun kökleri α, αq , . . . , αq d−1 dir ve g(x) polinomu Fq cisminde bütün bu elemanlarla bir minimal polinomdur. (vi) Eğer α 6= 0 ise ord(g), F∗qm çarpım grubunda α elemanının mertebesine eşittir. (vii) g(x) polinomu Fq cisminde bir primitif polinomdur ⇔ F∗qm çarpım grubunda q d − 1 ifadesinin mertebesi α değerine eşittir. (Niederreiter and Lidl 1984) 4.3 Asal Polinomların İnşası Bu bölümde sayılar teorisinin sonuçlarını kullanarak bilinen bir asal polinomdan yeni asal polinomlar üretmeyi göreceğiz. Bu bölüme geçmeden önce çarpım mertebesinin tanımını vermemiz gerekir. n ∈ Z+ , b ∈ Z için eğer ebob(b, n) = 1 ise bk ≡ 1 mod (n) ifadesini sağlayan en küçük k ∈ Z+ sayısına b elemanının mod(n) deki çarpımsal mertebesi denir ve ordn (b) := k ile gösterilir. Bu çarpım mertebesi bh ≡ 1 mod (n) ifadesini sağlayan keyfi bir h ∈ Z+ elemanını böler. 71 Lemma 4.3.1. n ∈ Z+ , t ∈ Z için ebob(b, n) = 1 iken ordn (b) := k için s ≥ 2 ve e ≥ 2, t ≥ 2, ebob(s, e) = 1, orde (s) := m olduğunda t nin asal çarpanları e yi bölsün fakat aynı ¯³ ´ ¯ zamanda t 6 ¯ (sm − 1)/e sağlansın. Ayrıca t ≡ 0 mod 4 olduğunda sm ≡ 1 mod 4 olsun. Bu durumda ordet (s) = mt dir (Niederreiter and Lidl 1986) Teorem 4.3.2. Fq [x] polinomlar halkasında dereceleri m ve mertebeleri e olan asal ve monik polinomlar f1 (x), f2 (x), . . . , fN (x) olsun. t ≥ 2 ve t ∈ Z+ için t nin asal çarpanları e yi bölsün fakat t , (q m − 1)/e sayısını bölmesin. Aynı zamanda t ≡ 0 mod 4 olduğunda q m ≡ 1 mod 4 olsun. Bu durumda derecesi mt ve mertebesi et olan Fq [x] polinomlar halkasındaki asal polinomlar f1 (xt ), f2 (xt ), . . . , fN (xt ) polinomlarıdır (Niederreiter and Lidl 1986) Örnek 4.3.3. F2 [x] polinomlar halkasında 4 dereceli ve 15 mertebeli asal polinomlar x4 + x + 1 ve x4 + x3 + 1 polinomlarıdır. Yukarıdaki teoremi kullanarak derecesi mt ve mertebesi et olan yeni asal polinomlar bulabiliriz. Bu işleme başlamadan önce teoremin hipotezine uygun t değerlerini belirlememiz gerekmektedir. Buna göre seçtiğimiz ¯ (sm − 1) ¯ t6¯ e ¯ ¯ değerlerinin çarpanları 15 i bölmeli ayrıca t 6 ¯(24 −1)/15 sağlanmalıdır. Buradan çarpanları 15 i bölen t değerleri, {3, 15, 25} kümesinin elemanıdır. Bu durumda asal polinomlarımız t = 3 için F2 [x] polinomlar halkasındaki 12 dereceli ve 45 mertebeli asal polinomlar x12 + x3 + 1 ve x12 + x9 + 1 dir. t = 15 için F2 [x] polinomlar halkasındaki 60 dereceli ve 225 mertebeli asal polinomlar x60 + x15 + 1 ve x60 + x45 + 1 dir. 72 t = 25 için F2 [x] polinomlar halkasındaki 100 dereceli ve 375 mertebeli asal polinomlar x100 + x25 + 1 ve x100 + x75 + 1 dir. Yukarıdaki teoremde t ≡ 0 mod 4 olduğunda q m ≡ −1 mod 4 olması halini hesaba katmadık. p bir asal sayı olmak üzere q = pk gibi bir değer olduğundan q m ≡ −1 mod 4 olması hali ancak q ≡ −1 mod 4 ve m bir tek sayı olduğunda gerçekleşir. Bu durum ise şimdi göreceğimiz teoremde açıklanmaktadır. Teorem 4.3.4. Fq [x] polinomlar halkasında m tek dereceli ve e mertebeli farklı monik, asal polinomlar f1 (x), f2 (x), . . . , fN (x) olsun. a, b ≥ 2 için u ve v tek sayılar olmak üzere q := 2a u − 1, t := 2b v olsun. Ayrıca t nin asal çarpanları e yi bölsün fakat (q m − 1)/e değerini bölmesin. k := min(a, b) olsun. Bu durumda fj (xt ) polinomlarının herbiri 2k−1 tane monik, asal ve mt21−k dereceli gij (x) ∈ Fq [x] polinomlarının bir çarpımı olarak yazılabilir Buradan fj (xt ) = k−1 2Y gij (x) j=1 deg(gij (x)) = mt21−k = mv2b+1−k ve ord(gij (x)) = et olur. Ayrıca dereceleri mt21−k ve mertebesi et olan bütün monik, asal polinomlar 2k−1 N tane gij (x) polinomlarıdır (Niederreiter and Lidl 1986) Mertebesi e olan bir asal polinom verildiğinde mertebeleri e yi bölen bütün asal polinomların nasıl bulunduğunu göstereceğiz. Bu işlem sırasında g(x) 6= x ve g(0) 6= 0 dan farklı polinomları düşüneceğiz. f polinomu f (0) 6= 0, deg(f ) = m ve ord(f ) = e olan asal, monik bir polinom olsun. α ∈ Fqm elemanı f polinomunun bir kökü olsun ve ∀t ∈ Z+ için Fq cisminde αt elemanının minimal polinomu gt ∈ Fq [x] olsun. Bu durumda ∀t ∈ Z+ için t ≡ ti q b mod e 73 olacak şekilde b ≥ 0 ve 1 ≤ i ≤ n olmak üzere bir tek i sayısı vardır. T := {t1 , t2 , . . . , tn } ⊂ Z+ kümesi sonlu bir kümedir. Şimdi T kümesini nasıl bulabileceğimizi görelim. Öncelikle t1 = 1 alınır. Bu durumda tj elemanları 1 ≤ i ≤ j için tj 6≡ ti q b mod e ifadesini sağlayan en küçük pozitif tamsayıdır. Yani t1 = 1 alındığında t2 için ∀b ≥ 0 için t2 6≡ q b mod e ifadesini sağlayan değer hesaplanır. t3 için ise ∀b ≥ 0 için t3 6≡ q b mod e ve t3 6≡ t2 q b mod e ifadelerini sağlayan değerler hesaplanır. T kümesi sonlu bir küme olduğundan hesaplanan t değerlerinin tümü makul bir çaba ile yukarıda anlatılan şekilde ilerlenerek bulunabilir. Örnek 4.3.5. e = 7 ve q = 22 için olası t değerlerini hesaplayalım. Bu işlem için öncelikle olası q b değerlerini bulalım. q ≡ 4 mod 7 q 2 ≡ 2 mod 7 q 3 ≡ 1 mod 7 Buradan t1 = 1 olduğunda t2 için t2 6≡ 1 mod 7 t2 6≡ 2 mod 7 t2 6≡ 4 mod 7 74 ifadeleri sağlanmalıdır. Bu durumda t2 = 3 dür. t3 ise t3 6≡ 1 mod 7 t3 6≡ 2 mod 7 t3 6≡ 4 mod 7 t3 6≡ 3 mod 7 t3 6≡ 6 mod 7 t3 6≡ 5 mod 7 ifadelerini sağlamalıdır. Buradan t3 = 0 bulunur. Böylece bulunacak t değerleri bitmiş olacaktır. Bu durumda T kümesi T = {1, 3} şeklinde oluşacaktır. Teorem 4.3.6. Fq [x] polinomlar halkasında mertebeleri e yi bölen ve sabit terimleri sıfırdan farklı olan bütün farklı asal, monik polinomlar gt1 , gt2 , . . . , gtn polinomlarıdır (Niederreiter and Lidl 1986) Aşağıdaki işlemleri vermeden önce karakteristik polinomun tanımını vermemiz gerekmektedir. F ⊂ K ve [K : F] = n < ∞ için KF bir cebirsel genişleme olsun. Burada ∀α ∈ K için asal, monik bir tek f ∈ F[x] polinomu vardır ki f (α) = 0 ve deg(f ) = d dir. F ⊂ F(α) ⊂ K ve [F(α) : F] = d ¯ ¯ olduğundan d ¯ n olur. Bu durumda g(x) := f (x)n/d ∈ F[x] 75 polinomuna α elemanının F cismi üzerindeki karakteristik polinomu denir. Şimdi deg(f ) = m olan asal ve monik polinomu f ∈ Fq [x] olsun. Ayrıca α ∈ Fqm ve f (α) = 0 için ord(f ) = e = ord(α) olur. αt elemanının minimal polinomu olan gt polinomunun hesaplanması αt elemanının karakteristik polinomu olan ft polinomundan yapılır. Karakteristik polinomun tanımından dolayı ft = gtr ifadesi sağlanır. Fq ⊂ Fq (αt ) ⊂ Fqm olup [Fqm : Fq ] = m ve [Fq (αt ) : Fq ] = k olduğundan burada r = m/k ve k = deg(gt ) dir. gt polinomu Fq [x] polinomlar halkasında asal olduğundan k = ordd (q) olur. Buradaki d = ord(gt ) aynı zamanda ´ ord(α ) = d = e/ebob(t, e) t ³ dir. Dolayısıyla d, k ve r kolayca belirlenebilir. ft polinomunun hesaplanması için birkaç farklı metot biliyoruz Aşağıdaki teorem onlardan birini açıklamak içindir. Teorem 4.3.7. Fq [x] polinomlar halkasında m dereceli bir monik, asal polinom f olsun. f polinomunun bir kökü olan α ∈ Fqm elemanı için t ∈ N alındığında ft polinomu Fq cismi üzerinde αt ∈ Fqm elemanının karakteristik polinomudur. Bu durumda Fq cisminde birimin t inci kökleri olan ω1 , ω2 , . . . , ωt elemanları için ft (xt ) = ( − 1)m(t+1) t Y j=1 dir (Niederreiter and Lidl 1984) 76 f (ωj x) Örnek 4.3.8. F2 [x] polinomlar halkasında f (x) = x4 + x + 1 polinomunu gözönüne alarak f3 (x) polinomunu hesaplayalım. ω elemanı F4 cisminde x2 + x + 1 polinomunun bir kökü olduğunda F2 cisminde birimin üçüncü kökleri {1, ω, ω 2 } elemanlarıdır. Bu durumda f3 (x3 ) = (−1)16 f (x)f (ωx)f (ω 2 x) = (x4 + x + 1)(ωx4 + ωx + 1)(ω 2 x4 + ω 2 x + 1) = x12 + x9 + x6 + x3 + 1 Buradan f3 (x) = x4 + x3 + x2 + x + 1 polinomudur. ft polinomunun hesaplanmasındaki diğer bir metot matris teorisidir. f (x) = xm − am−1 xm−1 − . . . − a1 x − a0 karakteristik polinomu olduğunda A= 0 0 . . . 0 a0 1 0 . . . 0 a1 0 1 . . . 0 a2 .. .. . . .. .. . . . . . 0 0 . . . 1 am−1 şeklindeki ve (m × m) tipindeki A matrisine f polinomunun Kompenen Matrisi adı verilir. Burada f polinomu A matrisinin karakteristik polinomudur ve I matrisi Fq cisminde (m × m) tipinde birim matris olmak üzere f (x) = det(xI − A) dır. Bu durumda ∀t ∈ N için At matrisi A matrisinin t inci kuvvetini göstermek üzere ft polinomu At matrisinin karakteristik polinomu olur. 77 Örnek 4.3.9. Hangi t ler için ft polinomlarının Fq [x] polinomlar halkasında asal olduğunu belirlemek önemlidir. Böylece Teorem 4.3.7 ün önündeki açıklamadan ft polinomları Fq [x] polinomlar halkasında asal ⇒ r=1⇔ m=k⇒ ordd (q) = m, d = e/ebob(t, e) olduğunu söyleyebiliriz. Şimdi q = 2, m = 6, e = 63 için hangi t değerlerinde ft polinomlarının Fq cismi üzerinde asal olduğunu belirleyelim. ¯ ¯ ¯ ¯ d ¯ e ⇒ ordd (q) ¯ m olacağından çarpımsal mertebe için m değerinden başka k = 1, 2, 3 olasılıkları vardır. Bu durumda q k − 1 = 2k − 1 = 1, 3, 7 değerleri olabilir. Buradan q k ≡ 1 mod (d) için d = 1, 3, 7 olabilir. Bu ise ebob(t, 63) = 63, 21, 9 olduğunu gösterir. Burada ebob(t, 63) = 63, 21, 9 değerlerini veren t değerlerini bulacağız. 1 ≤ t ≤ 63 için ebob(t, 63) = 9 ⇒ t ∈ {9, 18, 27, 36, 45, 54} ebob(t, 63) = 21 ⇒ t ∈ {21, 42} ebob(t, 63) = 63 ⇒ t = 63 ⇒ t ∈ A = {9, 18, 21, 27, 36, 42, 45, 54, 63} Bu durumda 1 ≤ t ≤ 63 için t 6∈ A ise ft polinomları F2 [x] polinomlar halkasında asaldır. 78 Pratikte asal polinomlar cisim genişlemesindeki elemanların minimal polinomları olarak ortaya çıkarlar. f ∈ Fq [x] asal, monik, deg(f ) = m, ord(f ) = e = q m − 1 ve f (α) = 0 ve α ∈ Fqm olduğunda yani f ∈ Fq [x] polinomu bir primitif polinom olarak alındığında Fqm cismi {1, α, α2 , . . . , αm−1 } elemanlarından oluşur. Bu durumda F∗qm cisminin elemanlarının minimal polinomlarını bulmalıyız. Böylece yukarıdaki metodun ana hatları kullanılarak F∗qm cisminin her elemanının Fq cismi üzerindeki minimal polinomu hesaplanabilir. Minimal polinomları belirlemenin açık bir yolu aşağıdaki gibidir. f ∈ Fq [x] asal, monik, deg(f ) = m, ord(f ) = e = q m − 1 olduğunda f polinomunun kökleri Fqm cisminin elemanıdırlar. f (θ) = 0 için Fqm cisminin bir Fq −tabanı {1, θ, θ2 , . . . , θm−1 } dir. Şimdi bir β ∈ Fqm elemanının g minimal polinomunu bulalım. Bu durumda g minimal polinomu g(x) = cm xm + . . . + c1 x + c0 ∈ Fq [x] şeklinde olup g(β) = 0 ve g polinomu monik, asal özelliklerini sağlayan en küçük dereceli polinomdur. Diğer taraftan β 0 , β, β 2 , . . . , β m−1 ∈ Fqm elemanları θ nın bazı kuvvetlerine eşit olur. Buradan 1 ≤ i ≤ m + 1 için β i−1 = m X bij θj−1 j=1 olarak alınır. Diğer taraftan g(β) = 0 olacağından g(β) = cm β m + . . . + c1 β + c0 = 0 olup 1 ≤ j ≤ m için m+1 X ci−1 bij = 0 (8) i=1 79 lineer eşitliği {c0 , c1 , . . . , cm } değerleri için homojen bir sistem olmasını gerektirir. B yi sistemin katsayılar matrisi olarak aldığımızda B matrisi (m + 1) × m tipinde bij girişli ve rankı r olan bir matris olur. Sistemin çözüm uzayının boyutu s = m + 1 − r ve 1 ≤ r ≤ m olur. Bu durumda 1 ≤ s ≤ m dir. Buradan {c0 , c1 , . . . , cm } bilinmeyen değerleri s için belirtilen değerlerdir ve tek olarak belirlidirler. Eğer s = 1 ise cm = 1 ve eğer s > 1 ise cm = cm−1 = . . . = cm−s+2 = 0 ve cm−s+1 = 1 olur. Örnek 4.3.10. θ ∈ F64 elemanı x6 + x + 1 ∈ F2 [x] asal polinomunun bir kökü olsun. β = θ3 + θ4 için β0 = 1 β = θ3 + θ4 β 2 = 1 + θ + θ2 + θ3 β 3 = θ + θ2 + θ3 β 4 = θ + θ2 + θ4 β 5 = 1 + θ3 + θ4 β 6 = 1 + θ + θ2 + θ4 Bu durumda B matrisi B= 1 0 0 0 0 0 0 0 0 1 1 0 1 1 1 1 0 0 0 1 1 1 0 0 0 1 1 0 1 0 1 0 0 1 1 0 1 1 1 0 1 0 olup matrisin rankı 3 dür. Buradan s = m+1−r = 4 > 1 dir. Bu yüzden c6 = c5 = c4 = 0 ve c3 = 1 dir. Böylece (8) eşitliğinden c2 = 1, c1 = 0, c0 = 1 olur. Bu ise β elemanının minimal polinomunun F2 cisminde g(x) = x3 + x2 + 1 80 olduğunu gösterir. Minimal polinomları belirlemenin diğer bir yolu Teorem 4.2.14 nin ifadesine dayanılarak yapılan metottur. Buna göre eğer Fq cisminde β ∈ Fqm elemanının g minimal polinomunu bulmayı istiyorsak 2 {β, β q , β q , . . .} d kuvvetlerini β q = β eşitliğinin en küçük d sayısı için gerçeklenene kadar hesaplamamız gerekmektedir. Buradaki d tamsayısı g minimal polinomunun derecesidir ve g(x) = (x − β)(x − β q ) . . . (x − β q 2 şeklindedir. {β, β q , β q , . . . , β q d−1 d−1 ) } elemanları ise β ∈ Fqm elemanının Fq cismindeki farklı kuvvetleri olup g polinomu bütün bu elemanlarla Fq cisminde bir minimal polinom olur. Örnek 4.3.11. F16 cisminin bütün elemanlarının F2 cismindeki minimal polinomlarını hesaplayalım. θ ∈ F16 elemanı F2 cisminde x4 + x + 1 primitif polinomunun bir kökü olsun. Bu durumda F16 cisminin sıfırdan farklı her elemanı θ ∈ F16 elemanının bir kuvveti 81 şeklinde yazılabilir. Buradan i θi 0 1 1 θ 2 θ2 3 θ3 4 1+θ 5 θ + θ2 6 θ2 + θ3 7 1 + θ + θ3 8 1 + θ2 9 θ + θ3 10 1 + θ + θ2 11 θ + θ2 + θ3 12 1 + θ + θ2 + θ3 13 1 + θ2 + θ3 14 1 + θ3 Böylece F2 cisminde F16 cisminin β elemanlarının minimal polinomları β=0 için g1 (x) = x β=1 için g2 (x) = x + 1 β=θ için θ elemanının F2 cismindeki farklı kuvvetleri {θ, θ2 , θ4 , θ8 } olup minimal polinom g3 (x) = (x − θ)(x − θ2 )(x − θ4 )(x − θ8 ) = x4 + x + 1 olur. β = θ3 için 82 θ3 elemanının F2 cismindeki farklı kuvvetleri {θ3 , θ6 , θ12 , θ24 = θ9 } olup minimal polinom g4 (x) = (x − θ3 )(x − θ6 )(x − θ9 )(x − θ12 ) = x4 + x3 + x2 + x + 1 β = θ5 için β 4 = β ve θ5 elemanının F2 cismindeki farklı kuvvetleri {θ5 , θ10 } olup minimal polinom g5 (x) = (x − θ5 )(x − θ10 ) = x2 + x + 1 β = θ7 için θ7 elemanının F2 cismindeki farklı kuvvetleri {θ7 , θ14 , θ28 = θ13 , θ56 = θ11 } olup minimal polinom g6 (x) = (x − θ7 )(x − θ11 )(x − θ13 )(x − θ14 ) = x4 + x3 + 1 Böylece bu elemanlarla F2 cisminden alınan katsayılarla F16 cisminin elemanları bitmiş oldu. Bu işlemler sırasında önemli bir problem primitif polinomların belirlenmesidir. Fq cisminde bütün primitif polinomların çarpımı e = q m − 1 olmak üzere m dereceli Qe dairesel polinomuna eşittir. (Teorem 3.4.15(ii) ve Örnek 4.3.10) Buradan m dereceli Fq cismindeki bütün primitif polinomlar Bölüm 5 deki Qe dairesel polinomunun çarpanlara ayrılması algoritmasıyla belirlidir. Fqm cisminin bir primitif elemanını bulmak için diğer bir metot daha vardır. Ayrıca bulunan bu primitif elemanın minimal polinomu yukarıdaki metotla belirlidir. Böylece bu primitif elemana karşılık gelen primitif polinomu bulunabilir. F∗qm grubunda bir primitif polinom bulmaya F∗qm çarpımsal grubunda q m − 1 mertebeli bir eleman bulmakla başlanır. Burada {h1 , h2 , . . . , hk } aralarında asal pozitif tamsayılar olmak üzere q m − 1 = h1 h2 . . . h k 83 şeklinde çarpanlara ayrılır. Eğer 1 ≤ i ≤ k aralığındaki ∀i için hi mertebeli bir αi ∈ F∗qm elemanı bulunabilirse α1 α2 . . . αk çarpımı q m − 1 mertebeli olur ve bu durumda Fqm cisminin bir primitif elemanı olur. Örnek 4.3.12. F3 cismi üzerinde 4 üncü dereceden bir primitif polinom belirleyelim. q m − 1 = 34 − 1 = 80 = 16.5 olur. Bu durumda F∗81 grubunda aralarında asal iki eleman 16 ve 5 elemanlarıdır. 16 mertebeli elemanlar Y³ Q16 (x) = ´µ(d) x16/d − 1 = x8 + 1 ∈ F3 [x] d/16 dairesel polinomunun kökleridir. Ayrıca ord16 (3) = 4 elde edilir. Diğer taraftan Q16 (x) dairesel polinomunun Φ(n)/d = Φ(16)/4 = 2 eşitliğinden F3 [x] polinomlar halkasında 4 üncü dereceden 2 monik, asal polinoma sahip olduğunu biliyoruz. Böylece x8 + 1 = (x4 − 1)2 − x4 (x4 − 1 + x2 )(x4 − 1 − x2 ) olur. Burada f (x) = x4 − 1 − x2 polinomu F3 cisminde asaldır. Ayrıca f polinomunun bir θ kökü F81 = F3 (θ) özelliğini sağlar. Yani F∗81 grubunun 16 mertebeli bir elemanı θ elemanıdır. Şimdi F∗81 grubunun 5 mertebeli bir α elemanını bulmalıyız. Buradaki α elemanı a, b, c, d ∈ F3 için α = a + bθ + cθ2 + dθ3 84 şeklinde olup α10 = 1 eşitliğini sağlamak zorundadır. Böylece 1 = α9 α = (a + bθ9 + cθ18 + dθ27 )(a + bθ + cθ2 + dθ3 ) = (a − bθ + cθ2 − dθ3 )(a + bθ + cθ2 + dθ3 ) 2 = (a + cθ2 ) − (bθ + dθ3 ) 2 = a2 + (2ac − b2 )θ2 + (c2 − 2bd)θ4 − d2 θ6 = a2 + c2 − d2 + bd + (c2 + d2 − b2 − ac + bd)θ2 Burada katsayıların karşılaştırılmasından a2 + c2 − d2 + bd = 1 c2 + d2 − b2 − ac + bd = 0 ve olur. a = d = 0 için b2 = c2 = 1 alalım. b = c = 1 alındığında kolayca kontrol edilebilir ki α = θ + θ2 olup 5 mertebelidir. Buradan ξ = θα = θ2 + θ3 elemanı 80 mertebeli olur. Böylece ξ elemanı F81 cisminde bir primitif eleman olur. F3 cisminde ξ elemanının g minimal polinomu g(x) = (x − ξ)(x − ξ 3 )(x − ξ 9 )(x − ξ 27 ) = (x − θ2 − θ3 )(x − 1 + θ + θ2 )(x − θ2 + θ3 )(x − 1 − θ + θ2 ) = x4 + x3 + x2 − x − 1 Bulunan g(x) polinomu 4 üncü dereceden F3 cismindeki bir primitif polinomdur. Örnek 4.3.13. F2 cismi üzerinde 6 ncı dereceden bir primitif polinom belirleyelim. q m − 1 = 26 − 1 = 63 = 9.7 85 olur. Bu durumda F∗64 grubunda aralarında asal iki eleman 9 ve 7 elemanlarıdır. Burada ord9 (2) = 6 elde edilir. 9 mertebeli elemanları θ ile gösterirsek θ elemanları Q9 (x) = Y³ ´µ(d) x9/d − 1 = x6 + x3 + 1 ∈ F2 [x] d/9 dairesel polinomunun kökleridirler ve F64 = F2 (θ) özelliğini sağlarlar. Ayrıca Q9 (x) dairesel polinomu F2 cisminde asaldır. Diğer taraftan 7 mertebeli elemanları α ile gösterirsek α ∈ F∗64 olup α8 = α eşitliği sağlanır. α elemanı θ cinsinden ifade edilebileceğinden α elemanını 0 ≤ i ≤ 5 ve ai ∈ F2 için α= 5 X ai θi i=0 şeklinde yazabiliriz. Buradan α = 5 X i ai θ = 5 ³X i=0 8 = a0 + a1 θ + i=0 a2 θ 7 ai θ i ´8 = 5 X ai θ8i i=0 6 + a3 θ + a4 θ5 + a5 θ4 = a0 + a3 + a2 θ + a1 θ2 + a3 θ3 + (a2 + a5 )θ4 + (a1 + a4 )θ5 olur. Yukarıda katsayılar karşılaştırılırsa a3 = 0, a1 = a2 ve a4 = a2 + a5 elde edilir. Ayrıca bu şartlar altında a0 = a3 = a4 = 0 ve a1 = a2 = a5 = 1 seçelim. Bu sonuçlar sonucunda 7 mertebeli α elemanı α = θ + θ2 + θ5 olur. Buradan ξ = θα = 1 + θ2 86 elemanı F64 cisminin bir primitif elemanıdır. Böylece ξ2 = 1 + θ4 ξ3 = θ2 + θ3 + θ4 ξ4 = 1 + θ2 + θ5 ξ5 = 1 + θ + θ5 ξ6 = 1 + θ2 + θ3 + θ4 + θ5 elde edilir. Örnek 4.3.10 deki aynı metot uygulanarak ξ elemanının bir minimal polinomu olan g(x) = x6 + x4 + x3 + x + 1 polinomu bulunur. Bu g(x) polinomu 6 ncı dereceden bir primitif polinomdur. Eğer Fq cisminde m dereceli g primitif polinomu bilinirse Fqm cisminde g polinomunun θ kökünün bütün diğer primitif polinomları bilinir ve q m − 1 ile aralarında asal olan t ≤ q m − 1 değerleri için θt elemanlarının Fq cismindeki minimal polinomları belirlenebilir. Bu bölümde minimal polinomları hesaplamakta kullandığımız metotları tanımladık. Şimdi bir sonlu cisimdeki asal polinomun bir cisim genişlemesinde de asal olup olmadığına karar vermek için kullanacağımız teoremi vereceğiz. Teorem 4.3.14. k ∈ N olmak üzere f polinomu Fq cisminde n dereceli asal bir polinom olsun. Bu durumda d = ebob(k, n) iken f polinomunun Fqk [x] polinomlar halkasındaki n/d dereceli çarpanları d tane asal polinomdur. Özel olarak d = 1 için f polinomu Fqk cisminde de asal olur (Niederreiter and Lidl 1984) Sonuc. 4.3.15. Fq cisminde n dereceli asal bir polinomun Fqk cisminde de asal olması için gerek ve yeter şart k ve n sayılarının da aralarında asal olmasıdır (Niederreiter and Lidl 1984) Örnek 4.3.16. Örnek 4.3.13 den dolayı g(x) = x6 + x4 + x3 + x + 1 polinomu F2 cisminde bir primitif polinomdur. Şimdi F16 cisminde nasıl bir polinom olduğuna bakalım. Teorem 87 4.3.14 daki notasyonu kullanabilmek için n, k, d değerlerini belirlemeliyiz. Burada n = 6, k = 4 ve d = 2 dir. Buradan g polinomunun F16 cisminde iki kübik asal çarpanı vardır. Örnek 4.3.13 deki notasyonu kullandığımızda g1 çarpanı ξ = 1 + θ2 köküne sahip olsun. g1 polinomunun F16 cisminde diğer kökleri ξ 16 ve ξ 256 = ξ 4 olmak zorundadır. Bu eşitlikler F4 cisminde de sağlandığından g1 polinomu F4 cisminde de bir çarpandır. Ayrıca β = ξ 21 elemanı F2 cisminde birimin üçüncü primitif köküdür ve F4 = {0, 1, β, β 2 } olur. İlave olarak g1 (x) = (x − ξ)(x − ξ 4 )(x − ξ 16 ) = x3 + (ξ + ξ 4 + ξ 16 )x2 + (ξ 5 + ξ 17 + ξ 20 )x + ξ 21 olur. Burada ξ 4 = 1 + θ2 + θ5 , ξ 16 = 1 + θ5 ve ξ + ξ 4 + ξ 16 = 1 dir. Basitçe söyleyebiliriz ki ξ 5 + ξ 17 + ξ 20 = 1 ve g1 (x) = x3 + x2 + x + β olur. g polinomu g1 polinomunu bölmek zorunda olduğundan ³ ´ g2 (x) = x3 + x2 + x + β 2 olmak üzere g(x) polinomu F4 [x] ve F16 [x] polinomlar halkasında ´ ³ ´³ g(x) = x3 + x2 + x + β x3 + x2 + x + β 2 şeklindedir. g polinomunun iki çarpanı da F4 cisminde primitiftir fakat F16 cisminde primitif değillerdir. Sonuç 4.3.15 den g polinomu F2 cisminin diğer cisim genişlemelerinde de asaldır. Örnek olarak F32 ve F128 cisimleri verilebilir (Niederreiter and Lidl 1984) 88 5 POLİNOMLARIN ÇARPANLARA AYRILMASI Bir cisim üzerinde sabit olmayan bir polinom asal polinomların çarpımı şeklinde ifade edilebilir. Sonlu bir cisimde verilen pozitif dereceli bir polinomu asal polinomların çarpımı cinsinden düzenleyen makul ölçülerde verimli bazı algoritmalar vardır. Sonlu cisim üzerinde polinomlar için uygulanabilir çarpanlara ayırma algoritmalarının elde edilebilmesi kodlama teorisi ve sonlu cisimlerde çok önemlidir. Sonlu cisimlerin alanı dışında cebirde çeşitli hesaplanabilir problemlerde ve sayılar teorisinde sonlu cisimlerde polinomların çarpanlara ayrılmasına güvenilmektedir. Biz tamsayılar halkasında, cebirsel sayı cisimlerinde rasyonel asalların ayrışmasının belirlenmesinde, rasyoneller üzerinde devirli grupların bir eşitinin hesaplanmasında ve cisim genişlemelerin inşasında polinomların çarpanlara ayrılmasından sözedeceğiz. Benzer yöntemler çok değişkenli ve cebirsel katsayılı polinomlar için de yapılabilir. Şimdi sonlu cisimlerde polinomların çarpanlara ayrılması için birkaç algoritma vermeliyiz. Bir belirli çarpanlara ayırma problemi için algoritmanın seçimindeki karar genellikle sonlu cismin büyük veya küçük olup olmadığı temeline bağlıdır. Birinci bölümde küçük sonlu cisimlere daha iyi uyarlanabilen algoritmaları tanımlayacağız. İleriki bölümde ise büyük sonlu cisimler için daha iyi çalışan algoritmaları göreceğiz. Algoritmaların bazıları polinomları çarpanlara ayırma problemini indirgeyerek belirli diğer polinomların köklerini bulmaya yönelik olacaktır. 5.1 Küçük Sonlu Cisimlerde Çarpanlara Ayırma f ∈ Fq [x] pozitif dereceli keyfi polinomunun Teorem 3.1.4 den bir kanonikal gösterime sahip olduğunu biliyoruz. Çarpanlara ayırma algoritmalarında sadece monik polinomları gözönüne alacağız. 89 Böylece bizim hedefimiz pozitif dereceli belirli bir f ∈ Fq [x] monik polinomunu f1 , f2 , . . . , fk ∈ Fq [x] farklı, monik ve asal polinomlar olmak üzere e1 , e2 , . . . , ek ∈ Z+ için f = f1e1 f2e2 . . . fkek (9) şeklinde yazmak olacaktır. Burada problemi basitleştirebilmek için ilk olarak yapacağımız işlem f polinomunu katlı bir köke sahip olmayacak şekilde indirgemektir. Bu ise (9) eşitliğindeki e1 , e2 , . . . , ek ∈ Z+ kuvvetlerinin 1 e eşit olması anlamına gelir. Bu işlemler sonucunda katlı kökü olmayan polinomlar için bulduğumuz algoritmayı katlı kökü olan her monik polinom için kullanabileceğiz. Bir f polinomunun katlı bir köke sahip olup olmadığını bilebilmek için öncelikle f (x) polinomu ile f (x) polinomunun türevi olan f 0(x) polinomunun Euclidean Algoritmasıyla en büyük ortak bölenleri hesaplanır. Bu durumda d(x) = ebob(f (x), f 0(x)) olsun. Burada eğer d(x) = 1 ise Teorem 3.1.10 den dolayı f (x) polinomu tekrar eden bir köke sahip değildir. Yani f (x) polinomunun katlı bir kökü yoktur. Eğer d(x) = f (x) ise f 0(x) = 0 olmak zorundadır. f 0(x) = 0 olması Fq cisminin karakteristiği p olarak alındığında g ∈ Fq [x] için f (x) polinomunun f (x) = g(x)p şeklinde olduğu anlamına gelmektedir. Bu durumda eğer gerekirse indirgeme işlemi g(x) polinomuna yapılır. Eğer d(x) 6= 1 ve d(x) 6= f (x) ise d(x) polinomu f (x) polinomunun aşikar olmayan bir çarpanıdır ve bu halde f (x) polinomunun çarpanlara ayrılması d(x) ve f (x)/d(x) polinomlarının ayrı ayrı çarpanlara ayrılmasıyla bulunur. Bu durumda f (x)/d(x) polinomu tekrarlayan bir çarpana sahip değildir. Fakat d(x) polinomunun hala tekrarlayan çarpanları 90 olabilir. Böylece d(x) polinomuna, katlı köke sahip olmayacak şekilde indirgeme işlemleri yapılır. Bu işlemleri yapabilmek için önce d(x) polinomunun türevi hesaplanır. Burada k(x) = ebob(d(x), d 0 (x)) olduğunda k(x) = 1 ise d(x) polinomu tekrar eden bir köke sahip değildir. Yani d(x) polinomunun katlı bir kökü yoktur. Eğer k(x) = d(x) ise d 0 (x) = 0 olmak zorundadır. d 0 (x) = 0 olması Fq cisminin karakteristiği p olarak alındığında s ∈ Fq [x] için d(x) polinomunun d(x) = s(x)p şeklinde olduğu anlamına gelmektedir. Bu durumda eğer gerekirse indirgeme işlemi s(x) polinomuna yapılır. Eğer k(x) 6= 1 ve k(x) 6= d(x) ise k(x) polinomu d(x) polinomunun aşikar olmayan bir çarpanıdır ve bu halde d(x) polinomunun çarpanlara ayrılması k(x) ve d(x)/k(x) polinomlarının ayrı ayrı çarpanlara ayrılmasıyla bulunur. Bu durumda d(x)/k(x) polinomu tekrarlayan bir çarpana sahip değildir fakat k(x) polinomunun hala tekrarlayan çarpanları olabilir. Bundan sonra k(x) polinomunun tekrarlayan çarpana sahip olmaması için aynı indirgeme işlemleri k(x) polinomunun kendisine yapılır. Böylece yapacağımız sonlu sayıda işlemler sonucunda f (x) polinomu tekrar etmeyen çarpanlar cinsinden yazılmış olacak. Bu durumda ise f (x) polinomunu çarpanlara ayırmak için tekrar etmeyen polinomlar için bulunmuş algoritmaları kullanabileceğiz. Teorem 5.1.1. Eğer f ∈ Fq [x] monik polinomu için bir h ∈ Fq [x] polinomu hq ≡ h mod f (x) ifadesini sağlıyor ise f (x) = Y ebob(f (x), h(x) − c) (10) c ∈ Fq 91 dir (Niederreiter and Lidl 1984) Genelde (10) eşitliği f (x) polinomunun tam olarak çarpanlara ayrılmasını vermez. Yani ebob(f (x), h(x) − c) polinomları asal olmayabilir. Ayrıca bazı c ∈ Fq için h(x) ≡ c mod f (x) ise Teorem 5.1.1 deki ifade f (x) polinomunun aşikar çarpanını verir. Bu yüzden f (x) polinomunun çarpanlara ayrılmasında kullanılamaz. Bununla birlikte h(x) 6≡ c mod f (x) ise h polinomu f (x) polinomunun aşikar olmayan bir çarpanıdır. Böylece hq ≡ h mod f (x) ve 0 < deg(h) < deg(f ) şartlarını sağlayan keyfi h polinomu bir f -indirgeyici polinom olur. Bu durumda f polinomunun indirgeyici polinomları oluşturma yöntemlerini bulabilmek için Teorem 5.1.1 e dayanan bir algoritma bulmalıyız. Diğer taraftan Teorem 5.1.1 deki (10) algoritması için q tane en büyük ortak bölen bulacağımızdan bu formülün direkt uygulaması Fq küçük sonlu cisimleri için mümkündür. f -indirgeyici polinomların inşasının ilk metodu polinomlar için Çin Kalan Teoreminin kullanılmasıyla yapılır. f polinomunu tekrar etmeyen polinomların bir çarpımı olarak alırsak f = f1 f2 . . . f k polinomu Fq cisminde farklı, monik, asal polinomların çarpımı olur. Eğer c1 , c 2 , . . . , c k elemanları Fq cisminde iseler Çin Kalan Teoremi, 1 ≤ i ≤ k için deg(h) < deg(f ) olduğunda h(x) ≡ ci mod fi (x) 92 ifadesini gerçekleyen h ∈ Fq [x] polinomlarının tek olarak belirli olduğunu söyler. h(x) polinomu 1 ≤ i ≤ k için h(x)q ≡ ci q = ci ≡ h(x) mod fi (x) ifadesini sağlar. Ayrıca deg(h) < deg(f ) için hq ≡ h mod f (11) dir. Diğer taraftan eğer h polinomu (11) ifadesinin bir çözümü ise h(x)q − h(x) = Y (h(x) − c) c∈Fq ifadesini gerçekler. Bu da gösterir ki f polinomunun her asal çarpanı (h(x) − c) polinomlarından birini böler. Böylece (11) ifadesinin bütün çözümleri 1 ≤ i ≤ k olduğunda Fq cisminin bazı (c1 , c2 , . . . , ck ) elemanları için h(x) ≡ ci mod fi (x) denkliğini sağlar. Buradan (11) ifadesinin q k tane çözümü vardır. (11) ifadesinin bütün çözümlerini bulabilmek için sistemi lineer bir sisteme dönüştürürüz. Bu durumda n = deg(f ) olmak üzere 1 ≤ i, j ≤ n − 1 için n × n tipinde B = (bij ) matrisini inşa ederek xiq mod f (x) kuvvetlerini hesaplamalıyız. Özel olarak 1 ≤ i ≤ n − 1 için iq x ≡ n−1 X bij xj mod f (x) (12) j=0 alalım. Bu sonuç altında h(x) = a0 + a1 x + . . . + an−1 xn−1 ∈ Fq [x] 93 polinomunun (11) ifadesinin bir çözümü olabilmesi için gerek ve yeter şart (a0 , a1 , . . . , an−1 )B = (a0 , a1 , . . . , an−1 ) (13) olmasıdır. Böylece (13) eşitliği sağlandığında h(x) = n−1 X j=0 = n−1 X j aj x = n−1 X n−1 X j=0 ai bij xj i=0 ai xiq = h(x)q mod f (x) i=0 (13) eşitliğinden Fq cisminde In×n birim matrisi için (a0 , a1 , . . . , an−1 )(B − I) = (0, 0, . . . , 0) (14) yazabiliriz. Böylece (14) sisteminin q k tane çözümü vardır ve (B − I) matrisinin sıfırlık uzayının boyutu k olup bu değer f polinomunun farklı, monik ve asal çarpanlarının sayısıdır. Ayrıca rank(B − I) = n − k olur. Açık bir şekilde h1 (x) = 1 sabit polinomu (11) ifadesinin her zaman bir çözümüdür ve (1, 0, . . . , 0) vektörü (14) sisteminin bir çözümüdür. h1 (x), h2 (x), . . . , hk (x) polinomlarına karşılık gelen vektörler (B−I) matrisinin sıfırlık uzayı için birer baz olduğunda derecesi n − 1 den küçük olan h2 (x), h3 (x), . . . , hk (x) polinomları varolacaktır. h2 (x), h3 (x), . . . , hk (x) polinomları pozitif derecelidir ve böylece f −indirgeyici polinomlardır. 94 Bu yaklaşımda (B − I) matrisinin rankının bulunması önemlidir. rank(B − I) = r bilindiğinde n − r değeri f polinomunun farklı, monik, asal çarpanlarının sayısını verir. Bu bilgiyle çarpanlara ayırma işleminin ne zaman sonlandırılacağına karar verebiliriz. rank(B − I) = r bulunduğunda k = n − r olsun. Burada eğer k = 1 ise f polinomu Fq cisminde asaldır. Böylece çarpanlara ayırma işlemi sonlandırılır. Bu durumda (11) ifadesinin çözümleri sadece sabit polinomlardır ve (B − I) matrisinin sıfırlık uzayı c ∈ Fq için (c, 0, . . . , 0) şeklindeki vektörlerdir. Eğer k ≥ 2 ise h2 (x) baz polinomu f −indirgeyici polinom olarak alınır ve ∀c ∈ Fq için ebob(f (x), h2 (x) − c) değeri hesaplanır. Sonuçta (10) ifadesi ile f polinomunun aşikar olmayan bir çarpanı bulunur. Eğer h2 (x) polinomunu kullanarak f (x) polinomunun k çarpanını bulmayı başaramazsak ∀c ∈ Fq için ebob(g(x), h3 (x) − c) değerlerini hesaplarız ve g(x) polinomunun aşikar olmayan bütün çarpanlarını bulana kadar hesaplama işlemine devam ederiz. Bu hesaplamalar f (x) polinomunun k çarpanı olana kadar devam edilir. Yukarıdaki işlemlerin tamamından bütün çarpanlar ergeç bulunmak zorundadır. Eğer f (x) polinomunun f1 (x) ve f2 (x) gibi iki farklı, monik, asal çarpanını gözönüne alırsak (11) ifadesindeki iddia ile 1 ≤ j ≤ k için hj (x) ≡ cj1 mod f1 (x) ve hj (x) ≡ cj2 mod f2 (x) ifadelerini gerçekleyen cj1 , cj2 ∈ Fq elemanları vardır. Farzadelimki 1 ≤ j ≤ k için cj1 = cj2 olsun. (11) ifadesinin keyfi bir çözümü h(x) olduğunda, h(x) polinomu Fq cismindeki 95 katsayılar kullanılarak h1 (x), h2 (x), . . . , hk (x) polinomlarının lineer bir kombinasyonu şeklinde yazılabilir. Bu durumda h(x) çözümü c ∈ Fq için h(x) ≡ c mod f1 (x) ve h(x) ≡ c mod f2 (x) olur. Fakat (11) ifadesindeki tartışma h(x) çözümünün h(x) ≡ 0 mod f1 (x) ve h(x) ≡ 1 mod f2 (x) ifadelerini sağladığını gösterir. Bu çelişkiden dolayı 1 ≤ j ≤ k için cj1 6= cj2 olur. (Gerçekte h1 (x) = 1 olduğundan j ≥ 2 alırız.) Bu yüzden hj (x) − cj1 polinomu f1 (x) ile bölünebilir fakat f2 (x) ile bölünemez. Bu sebepten f (x) polinomunun keyfi iki farklı, monik, asal çarpanları bazı hj (x) polinomları ile farklıdır. Bu temel çarpanlara ayırma algoritması (14) sisteminin çözümleri ile f −indirgeyici polinomları belirler ve Berlekamp’s Algoritması diye adlandırılır. Örnek 5.1.2. f (x) = x8 + x6 + x4 + x3 + 1 ∈ F2 [x] polinomunu Berlekamp’s Algoritması ile çarpanlara ayıralım. ebob(f (x), f (x)0 ) = 1 olduğundan f (x) polinomu tekrar eden bir çarpana sahip değildir. Bu durumda q = 2 ve 0 ≤ i ≤ 7 için xiq mod f (x) değerlerini hesaplamalıyız. x0 ≡ 1 x2 ≡ x2 x4 ≡ x4 x6 ≡ x6 x8 ≡ x6 + x4 + x3 + 1 x10 ≡ x5 + x4 + x3 + x2 + 1 x12 ≡ x7 + x6 + x5 + x4 + x2 x14 ≡ x5 + x4 + x3 + x + 1 96 Bu durumda 8 × 8 lik B matrisi B = 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 0 0 1 0 1 1 1 1 1 1 0 1 1 1 0 0 ve 8 × 8 lik (B − I) matrisi (B − I) = 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 1 0 1 0 1 1 1 0 0 0 0 0 1 0 1 1 0 1 1 1 0 1 1 1 0 1 dir. (B − I) matrisi için rank(B − I) = 6 olur ve (1, 0, 0, 0, 0, 0, 0, 0) ile (0, 1, 1, 0, 0, 1, 1, 1) vektörleri (B − I) matrisinin sıfırlık uzayının birer bazıdırlar. Bu vektörlere karşılık gelen polinomlar h1 (x) = 1 ve h2 (x) = x + x2 + x5 + x6 + x7 polinomlarıdır. Şimdi Euclidean Algoritmasıyla c ∈ F2 değerleri için ebob(f (x), h2 (x) − c) ifadelerini hesaplamalıyız. Buradan ebob(f (x), h2 (x)) = x6 + x5 + x4 + x + 1 ebob(f (x), h2 (x) − 1) = x2 + x + 1 97 dir. Böylece f (x) = (x6 + x5 + x4 + x + 1)(x2 + x + 1) dir (Niederreiter and Lidl 1986) f −indirgeyici polinomları bulmanın ikinci bir yöntemi aralarında en az bir f −indirgeyici polinomun bulunabileceği bir polinom ailesinin oluşturulmasına dayanır. f yine n dereceli tekrar etmeyen çarpanlı monik bir polinom olsun. f = f1 f2 . . . fk ∈ Fq [x] polinomlar halkasında 1 ≤ j ≤ k olmak üzere n := deg(fj ) şeklinde bir çarpanlara ayrılış olsun. Eğer N sayısı N xq ≡ x mod f (x) denkliğini sağlayan en küçük pozitif tamsayı ise Teorem 4.2.1 den dolayı dereceleri N yi bölen bütün monik, asal polinomların çarpımının N xq − x olduğunu biliyoruz. Bu durumda N xq ≡ x mod f (x) denkliğini sağlayan en küçük pozitif tamsayının N = ekok(n1 , n2 , . . . , nk ) olduğunu söyleyebiliriz. Yine buradan açık olarak görülürki [F : Fq ] = N dir. Yani N sayısı f polinomunun Fq cismi üzerindeki F parçalanış cisminin derecesidir. Şimdi bu sonuçlar ışığı altında T ∈ Fq [x] polinomu (i = 0, 1, 2, . . . ) için 2 T (x) := x + xq + xq + . . . + xq N −1 ve Ti (x) = T (xi ) şeklinde tanımlansın. Bu durumda aşağıdaki sonuç f polinomunun asal olmaması durumunda Ti polinomları arasında f −indirgeyici polinom olabileceğini garanti eder. 98 Teorem 5.1.3. Eğer f polinomu Fq [x] polinomlar halkasında asal olmayan bir polinom ise Ti polinomlarının en az biri f −indirgeyici polinomdur (Niederreiter and Lidl 1986) Örnek 5.1.4. f (x) = x17 +x14 +x13 +x12 +x11 +x10 +x9 +x8 +x7 +x5 +x4 +x+1 ∈ F2 [x] polinomunu gözönüne alalım. Bu durumda ebob(f (x), f 0 (x)) = x10 + x8 + 1 olup f0 (x) = f (x) = x7 + x5 + x4 + x + 1 ebob(f (x), f 0 (x)) ifadesi tekrar etmeyen çarpanlara sahiptir. f0 çarpanı yukarıdaki tanımdan bir f0 −indirgeyici polinom ile bulunabilir. Bu durumda N x2 ≡ x mod f0 (x) denkliğini sağlayan en küçük pozitif tamsayı olan N yi bulabilmek için x, x2 , x4 , . . . mod f0 (x) ifadelerini hesaplamalıyız. Burada ifadeyi hesaplayabilmek için Pn−1 i=0 ai xi polinomunu sadece katsayıları yazarak göstereceğiz. Örneğin f0 (x) = x7 + x5 + x4 + x + 1 polinomunu f0 (x) = 11001101 şeklinde alacağız. Diğer taraftan N yi bulabilmemiz için gerekli olan x, x2 , x4 , . . . mod f0 (x) ifadelerini hesaplayabilmenin daha kolay olduğu bir yöntem kullanacağız. Bu yöntemde x0 , x2 , x4 , . . . , x12 mod f0 (x) 99 çift kuvvetlerinin 7 × 7 matrisi ile a0 , a1 , . . . , a6 vektörü çarpılır. Bu durumda x0 ≡ 1000000 x2 ≡ 0010000 x4 ≡ 0000100 x6 ≡ 0000001 x8 ≡ 0110011 x10 ≡ 1011001 x12 ≡ 0100101 7 × 7 matrisini a0 , a1 , . . . , a6 vektörü ile çarparsak 1 0 0 0 0 0 (a0 , a1 , a2 , a3 , a4 , a5 , a6 ) 0 0 0 1 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 1 1 1 1 0 0 1 0 0 1 0 1 = (a0 + a5 , a4 + a6 , a1 + a4 + a5 , a5 , a2 + a6 , a4 , a3 + a4 + a5 + a6 ) elde edilir. Böylece x ≡ 0100000 x2 ≡ 0010000 x4 ≡ 0000100 x8 ≡ 0110011 x16 ≡ 1101000 x32 ≡ 1010001 x64 ≡ 1100001 x128 ≡ 1110101 x256 ≡ 1000010 x512 ≡ 0011001 x1024 ≡ 0100000 100 Sonuçta 2N = 1024 olup N = 10 bulunur. Buradan T1 (x) = 9 X j x2 = 1110001 mod f0 (x) j=0 olur. T1 (x) polinomu modf0 (x) de bir sabite denk olmadığından f0 −indirgeyici bir polinom olur. Böylece ebob(f0 (x), T1 (x)) = ebob(11001101, 1110001) = x5 + x4 + x3 + x2 + 1 ve ebob(f0 (x), T1 (x) − 1) = ebob(11001101, 0110001) = x2 + x + 1 elde edilir ve bu durumda f0 (x) = (x5 + x4 + x3 + x2 + 1)(x2 + x + 1) olur. F2 cismi üzerinde x2 + x + 1 polinomunun asal olduğunu biliyoruz. Diğer taraftan N = 10 sayısının f0 (x) polinomunun asal çarpanlarının derecelerinin en küçük ortak katına eşit olduğunu biliyoruz. Bu durumda N = 10 olabilmesi için x5 + x4 + x3 + x2 + 1 polinomu da F2 cismi üzerinde asal olur. Şimdi ebob(f (x), f 0 (x)) = x10 + x8 + 1 polinomunu asal çarpanlarına ayıralım. F2 cismi üzerinde x10 + x8 + 1 = (x5 + x4 + 1) 2 olduğunu biliyoruz. Ayrıca kontrol ettiğimizde x5 +x4 +1 polinomunun f0 (x) polinomunun asal çarpanlarından biriyle bölünebildiğini görürüz. Böylece x5 + x4 + 1 = (x3 + x + 1)(x2 + x + 1) olur. x3 + x + 1 polinomu F2 cismi üzerinde asaldır. Buradan 2 f (x) = (x5 + x4 + x3 + x2 + 1)(x3 + x + 1) (x2 + x + 1) dir (Niederreiter and Lidl 1986) 101 3 Dikkat edilmelidir ki genel olarak Ti , f −indirgeyici polinomları f polinomunun tam olarak çarpanlara ayrılışını vermez. Çünkü N /nj değeri Fq cisminin karakteristiği ile bölünebildiğinde Ti polinomları fj asal çarpanlarına ayrılamaz. Pratikte bununla birlikte ilk f −indirgeyici polinom olan Ti hesaplanır. Daha sonra bulunan çarpan sonuçlarının herbiri için yeni Ti değerleri hesaplanır. Bu yolla er-geç f polinomunun çarpanlara ayrılışı tamamlanır. Bununla birlikte f polinomunun bütün asal çarpanlarını bir defasında bulabilen Ri polinomlarının kümesini bulmak mümkündür. Kabul edebiliriz ki genel durumda bir kayıp olmaksızın f (0) 6= 0 ve ord(f (x)) = e olsun. Bu durumda mertebe tanımından ¯ ¯ f (x) ¯ xe − 1 olur. Diğer taraftan f polinomu tekrarlanan çarpanlara sahip değildir. Ayrıca Teorem 4.1.9 ve Sonuç 4.1.4 den e ve q sayıları aralarında asaldır. Şimdi herbir i ≥ 0 için mi sayısı xiq mi ≡ xi mod f (x) (15) ifadesini sağlayan en küçük tamsayı olarak tanımlansın. Ayrıca 2 Ri (x) := xi + xiq + xiq + . . . + xiq mi −1 şeklinde alınsın. Bu durumda (15) ifadesinden ve mertebe tanımından iq mi ≡ i mod (e) (16) elde edilir. Böylece (16) ifadesinden ³ ´ q mi ≡ 1 mod e/ebob(e, i) ³ ´ olur. Bu ise mi değerinin mod e/ebob(e, i) ye göre q nun çarpım mertebesi olduğunu gösterir. Burada Ti ve mi ifadelerinin tanımlarını Ri nin tanımı ile karşılaştırırsak Ti (x) = N Ri (x) mod f (x) mi 102 elde ederiz. Diğer taraftan her i değeri için Riq ≡ Ri mod f (x) olduğunu biliyoruz. Bu durumda bütün Ri polinomları Teorem 5.1.1 deki f (x) = Y ebob(f (x), h(x) − c) c ∈ Fq ifadesinde hi nin yerine konulursa f polinomu tamamen çarpanlara ayrılmış olur. Şimdi Ri polinomlarının f polinomunu tamamen çarpanlara ayırabileceğini gösteren teoremi vereceğiz. Teorem 5.1.5. f ∈ Fq [x] polinomu f (0) 6= 0 ve ord(f ) = e olduğunda monik ve asal olmayan bir polinom olsun. Ayrıca f polinomu tekrarlayan çarpanlara sahip olmasın. Bu durumda 1 ≤ i ≤ e − 1 için bütün Ri polinomları (10) ifadesinde kullanılırsa f polinomu tamamen çarpanlara ayrılmış olur (Niederreiter and Lidl 1986) Ri polinomlarının herbirini hesaplayabilmek için her defasında ³ ´ q mi ≡ 1 mod e/ebob(e, i) denkliğinden yeni bir mi değeri buluruz. Bu mi değerini belirleyebilmemiz için mertebe olan e değerini bilmemiz gerekmektedir. Fakat e değerinin direkt hesaplanması çok zaman alan bir işlemdir. Oysa bu problem f (x) = xe − 1 ve f (x) = Qe (x) gibi özel durumlarda ortaya çıkmayacaktır. Burada Qe (x) polinomu e inci dairesel polinomu gösterdiğinden ord(xe − 1) = ord(Qe (x)) = e ifadesi gerçeklenir. Bu yüzden Ri polinomları dairesel ve binom polinomları için çarpanlara ayırmada uygundur. 103 Örnek 5.1.6. Q52 (x) ∈ F3 [x] dairesel polinomunun çarpanlara ayrılmasını bulalım. Teorem 4.2.8 den (x52 − 1)(x2 − 1) (x26 − 1)(x4 − 1) = x24 − x22 + x20 − x18 + x16 − x14 + x12 − x10 + x8 − x6 + x4 − x2 + 1 Q52 (x) = olur. Ayrıca e = 52 için m1 3 ³ ´ ≡ 1 mod 52/ebob(52, 1) ifadesinden m1 = 6 elde edilir. Yani ord52 (3) = 6 = m1 dir. Buradan R1 (x) = x + x3 + x9 + x27 + x81 + x243 olur. Diğer taraftan x24 ≡ x22 − x20 + x18 − x16 + x14 − x12 + x10 − x8 + x6 − x4 + x2 − 1 mod Q52 (x) denkliğinden x26 ≡ −1 mod Q52 (x) elde edilir. Böylece R1 (x) = x + x3 + x9 + x27 + x81 + x243 = x + x3 + x9 + x26 x + x78 x3 + x234 x9 olduğundan R1 (x) ≡ 0 mod Q52 (x) elde edilir. Bu durumda R1 (x) polinomu Q52 −indirgeyici polinom değildir. Şimdi m2 3 ³ ´ ≡ 1 mod 52/ebob(52, 2) ifadesinden ord26 (3) = 3 = m2 elde edilir. Bu durumda R2 (x) = x2 + x6 + x18 104 olur. Böylece (10) ifadesinden ebob(Q52 (x), R2 (x)) = x6 − x2 + 1 ebob(Q52 (x), R2 (x) + 1) = x6 + x4 − x2 + 1 ebob(Q52 (x), R2 (x) − 1) = x12 + x10 − x8 + x6 + x4 + x2 + 1 = g(x) ifadeleri için Q52 (x) = (x6 − x2 + 1)(x6 + x4 − x2 + 1)g(x) olur. Diğer taraftan Teorem 3.4.15(ii) deki ifadeden dolayı Q52 (x) polinomu F3 cismi üzerinde Φ(52)/6 = 4 (Φ− Euler fonksiyonu) tane 6 ıncı dereceden asal çarpandan oluşur. Böylece g(x) polinomunun hala asal olmadığını ve çarpanlara ayrılabileceğini görürüz. Bu durumda ³ ´ 3m3 ≡ 1 mod 52/ebob(52, 3) ifadesinden ord52 (3) = 6 = m3 olup R3 (x) = x3 + x9 + x27 + x81 + x243 + x729 dir. Ayrıca x26 ≡ −1 mod Q52 (x) olduğundan R3 (x) ≡ 0 mod Q52 (x) elde edilir. Şimdi R4 (x) için ³ ´ 3m4 ≡ 1 mod 52/ebob(52, 4) ifadesinden ord13 (3) = 3 = m4 olur ve R4 (x) = x4 + x12 + x36 dir. Diğer taraftan x12 ≡ −x10 + x8 − x6 − x4 − x2 − 1 mod g(x) ve x36 ≡ −x10 mod g(x) olduğundan R4 (x) ≡ x10 + x8 − x6 − x2 − 1 mod g(x) 105 elde edilir. Böylece (10) ifadesinden ebob(g(x), R4 (x)) = ebob(g(x), x10 + x8 − x6 − x2 − 1) = 1 ebob(g(x), R4 (x) + 1) = ebob(g(x), x10 + x8 − x6 − x2 ) = x6 − x4 + x2 + 1 ebob(g(x), R4 (x) − 1) = ebob(g(x), x10 + x8 − x6 − x2 + 1) = x6 − x4 + 1 ifadeleri için Q52 (x) = (x6 − x2 + 1)(x6 + x4 − x2 + 1)(x6 − x4 + x2 + 1)(x6 − x4 + 1) dir. Bu ise Q52 (x) polinomunun asal çarpanlarına ayrılmış şeklidir (Niederreiter and Lidl 1986) 5.2 Büyük Sonlu Cisimlerde Çarpanlara Ayırma Eğer Fq sonlu cismindeki q sayısı büyük bir sayı olursa önceki bölümdeki metotların pratikte yerine getirilmesi daha güç olacaktır. Bir f −indirgeyici polinomu makul bir çaba ile bulabiliriz. Fakat bir direkt uygulamada (10) ifadesindeki temel formüle göre q tane en büyük ortak bölen bulma işleminde problem ortaya çıkacaktır. Bu yüzden büyük sonlu cisimler için f −indirgeyici polinomların kullanımını mümkün kılmalıyız. Bu durumda mecburi olarak (10) ifadesindeki en büyük ortak bölenleri hesaplamada gerekli olan c ∈ Fq elemanlarının sayısını azaltan bir metot tasarlamalıyız. Bu bağlamda eğer q değeri polinomun derecesinden daha büyük bir sayı ise çarpanlara ayırma işleminde Büyük Cisim olarak gözönüne alınacak. Şimdi f polinomu yine Fq [x] polinomlar halkasında monik ve tekrar etmeyen çarpanlardan oluşan bir polinom olsun. deg(f ) = n için f polinomunun farklı, monik, asal çarpanlarının sayısı k ile gösterilsin. Ayrıca h ∈ Fq [x] için hq ≡ h mod f ve 0 < deg(h) < n sağlansın. Bu durumda h polinomu bir f −indirgeyici polinomdur. Diğer taraftan (10) ifadesindeki bazı ortak bölenler aralarında asal olacaktır. Açıkça görülebilir ki f polinomunun farklı, monik, asal çarpanlarının sayısı k olduğundan en fazla k tane en büyük 106 ortak bölen 1 den farklı olacaktır. Böylece problem ebob(f (x), h(x) − c) 6= 1 ifadesini sağlayan c ∈ Fq elemanlarını önceden belirleme işlemine indirgenir. Tanım 3.2.15 ve onu takip eden açıklamalardaki teori kullanılarak önceden belirleme işlemi bulunabilir. Önceden belirleme işlemini bulabilmek için iki polinomun resultandından faydalanacağız. f (x) ve h(x) − c polinomlarının resultandını R(f (x), h(x) − c) ile gösterelim. Resultant tanımından biliyoruz ki ebob(f (x), h(x) − c) 6= 1 ⇔ R(f (x), h(x) − c) = 0 ifadesi gerçeklenir. Şimdi F (y) := R(f (x), h(x) − y) polinomunu gözönüne alalım. Resultant tanımından dolayı deg(y) ≤ n olur. Ayrıca burada ebob(f (x), h(x) − c) 6= 1 ⇔ F (y) polinomunun bir kökü Fq cisminde c elemanıdır. F (y) polinomu mertebesi 2n−1 veya 2n−1 den küçük olan bir determinantın tanımından hesaplanabilen bir polinom olarak değerlendirilebilir. Bununla birlikte takip eden metot bir çok durumda tercih edilebilir. İlk olarak Fq cisminde n + 1 tane farklı c0 , c1 , . . . , cn ∈ Fq eleman seçilir. İkinci olarak 0 ≤ i ≤ n değerleri için ri := R(f (x), h(x) − ci ) resultantları hesaplanır. Bu sonuçlardan sonra Lagrange Interpolasyon Formülünde F (ci ) = ri değerlerinden derecesi ≤ n eşitsizliğini sağlayan F (y) polinomu bulunabilir. Burada bazı ri değerleri sıfır ise F (y) polinomunun bazı sıfırlarını direkt olarak bulmuş olacağımızdan bizim için avantajlı bir durum sözkonusu olur. Yani bu durumda Fq cisminde F (y) polinomunun kökleri otomatik olarak ele alınır. Böylece ebob(f (x), h(x) − c) 6= 1 ifadesini sağlayan c ∈ Fq elemanlarının belirlenmesi sorusu şimdi artık belli bir oranda Fq cisminde 107 F (y) polinomunun köklerini bulma problemine indirgenmiş olur. Kök bulma yöntemi bir sonraki kısımda incelenecektir. Örnek 5.2.1. F23 cismi üzerinde f (x) = x6 − 3x5 + 5x4 − 9x3 − 5x2 + 6x + 7 polinomunu asal çarpanlarına ayıralım. ebob(f (x), f 0 (x)) = 1 olduğundan f (x) polinomu tekrarlayan bir çarpana sahip değildir. Bu durumda Berlekamp’s Algoritmasıyla 0 ≤ i ≤ 5 değerleri için x23i mod f (x) ifadesini hesaplayacağız. Bunun sonucunda 6 × 6 tipinde 1 0 0 0 0 5 0 −1 8 −3 −10 10 10 0 1 B = 0 7 9 −8 10 11 0 −4 7 7 −3 0 − 10 9 2 matrisi elde edilir ve bu durumda 0 0 5 −1 −10 10 B−I= 0 7 11 0 −3 0 0 − 10 −9 − 11 2 −9 0 0 0 0 −1 8 −3 − 10 9 0 1 −9 9 −9 10 − 11 −4 7 6 2 − 10 9 2 − 10 dir. B − I matrisi eşelon forma konulduğunda rank(B − I) = rank(r) = 3 olur. Böylece f (x) polinomu F23 cismi üzerinde k = 6 − r = 3 farklı asal çarpana sahiptir. B − I matrisinin sıfırlık uzayı için h1 (x) = 1 h2 (x) = x3 + 2x2 + 4x h3 (x) = x5 + x4 + 9x2 − 2x 108 polinomlarına karşılık gelen h1 = (1, 0, 0, 0, 0, 0) h2 = (0, 4, 2, 1, 0, 0) h3 = (0, −2, 9, 0, 1, 1) vektörleri birer bazdır. Burada f −indirgeyici polinom olarak h2 (x) polinomunu alırsak F (y) = R(f (x), h2 (x) − y) ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ =¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ 1 −3 5 −9 −5 6 7 0 0 1 −3 5 −9 5 6 7 0 0 1 −3 5 −9 −5 6 1 2 4 −y 0 0 0 0 0 1 2 4 −y 0 0 0 0 0 1 2 4 −y 0 0 0 0 0 1 2 4 −y 0 0 0 0 0 1 2 4 −y 0 0 0 0 0 1 2 4 ¯ ¯ 0 ¯ ¯ ¯ 0 ¯ ¯ ¯ 7 ¯ ¯ ¯ 0 ¯ ¯ ¯ 0 ¯ ¯ ¯ 0 ¯ ¯ ¯ 0 ¯ ¯ ¯ 0 ¯¯ ¯ −y ¯ Bu durumda F (y) polinomunun direkt hesaplanması mümkündür ve determinanttan F (y) = y 6 + 4y 5 + 3y 4 − 7y 3 + 10y 2 + 11y + 7 bulunur. f (x) polinomu F23 cismi üzerinde 3 farklı, monik, asal çarpana sahiptir. F (y) polinomunun F23 cismi üzerinde en fazla 3 kökü olabilir. İleriki bölümde bahsedeceğimiz kök bulma algoritmalarından veya deneme-yanılma metoduyla F23 cismi üzerinde F (y) polinomunun köklerini belirlediğimizde kökler {−3, 2, 6} bulunur. Bu durumda ebob(f (x), h2 (x) + 3) = x − 4 ebob(f (x), h2 (x) − 2) = x2 − x + 7 ebob(f (x), h2 (x) − 6) = x3 + 2x2 + 4x − 6 elde edilir ki f (x) polinomunun F23 cismi üzerinde asal çarpanlarına ayrılmış şekli f (x) = (x − 4)(x2 − x + 7)(x3 + 2x2 + 4x − 6) 109 dir (Niederreiter and Lidl 1984) ebob(f (x), h(x) − c) 6= 1 ifadesini sağlayan c ∈ Fq elemanlarını belirlemenin bir diğer yöntemi aşağıdaki gibidir. n o C := c ∈ Fq : ebob(f (x), h(x) − c) 6= 1 şeklindeki C kümesini tanımlayalım. Böylece (10) ifadesinden f (x) = Y ebob(f (x), h(x) − c) (17) c ∈ C dir. Bu durumda ¯ ¯ Y f (x) ¯¯ (h(x) − c) c ∈ C sağlanır. Şimdi G(y) := Y (y − c) c ∈ C polinomunu tanımlayalım. Buradan ¯ ¯ f (x) ¯ G(h(x)) dir. Bu açıklamalardan sonra G(y) polinomu aşağıdaki gibi karakterize edilebilir. ¯ ¯ Teorem 5.2.2. f (x) ¯ g(h(x)) olacak şekilde g ∈ Fq [y] polinomları arasındaki en küçük dereceli monik polinom G(y) polinomudur (Niederreiter and Lidl 1984) Bu sonuç şu anlamda uygulanabilir. m değeri C kümesinin elemanlarının sayısı olarak alınsın. Bu durumda bj ∈ Fq elemanları için G(y) = Y (y − c) = m X j=0 c ∈ C 110 bj y j ¯ ¯ yazabiliriz. Burada f (x) ¯ G(h(x)) ⇒ m X bj h(x)j ≡ 0 mod f (x) j=0 dir. bm = 1 (monik) olduğundan Pm j=0 bj h(x)j ifadesine 1, h(x), h(x)2 , . . . , h(x)m polinomlarının mod f (x) e göre kalanları arasındaki lineer bağımlılık ilişkisi olarak bakılabilir. bm = 1 değeriyle Teorem 5.2.2 bu lineer bağımlılığın tek olduğunu söyler. Dolayısıyla 1, h(x), h(x)2 , . . . , h(x)m−1 polinomlarının modf (x) e göre kalanları lineer bağımsız olur. (17) ifadesinden m ≤ k elde edilir. Böylece k sayısı kendisinden daha küçük bir sayıya indirgenmiş olur. Buradan G polinomu h(x) polinomunun bir öncekilerle lineer bağımlı ilk kuvvetine kadar {1, h(x), h(x)2 , . . . } polinomlarının modf (x) e göre kalanları hesaplanarak bulunur. Bu lineer bağımlılıkta bulacağımız katsayılar G polinomunun katsayılarıdır. Biz artık bu işlemler sırasında Berlekamp’s Algoritmasında bulunan k sayısına kadar gitmemize gerek olmadığını biliyoruz. Bu durumda C kümesinin elemanları G polinomunun kökleridir. Böylece C kümesinin elemanlarını bulmaya yönelik indirgeyici problemin bu metotu Fq cisminde bir polinomun köklerini hesaplama problemine indirgenmiş oldu. Bu şekildeki algoritmaya Zassenhaus Algoritması adı verilir. Örnek 5.2.3. Örnek 5.2.1 deki f ∈ F23 [x] polinomunu yine gözönüne alalım. Berlekamp’s algoritmasından k = 3 elde edildiğini biliyoruz. Ayrıca f −indirgeyici polinom olarak yine h(x) = x3 + 2x2 + 4x ∈ F23 [x] polinomunu alalım. Şimdi ebob(f (x), h(x) − c) 6= 1 ifadesini sağlayan c ∈ F23 elemanlarını belirlemek için Zassenhaus Algoritmasını kullanalım. Böylece h(x) = x3 + 2x2 + 4x mod f (x) h(x)2 = 7x5 + 7x4 + 2x3 − 2x2 − 6x − 7 mod f (x) 111 dir. Buradan açıkça görülebilir ki h(x)2 polinomu 1 ve h(x) polinomu ile lineer bağımsızdır. Böylece diğeriyle lineer bağımlı olan h(x) polinomunun en küçük kuvveti h(x)3 polinomu olmalıdır. h(x)3 = −11x5 − 11x4 − x3 − 9x2 − 5x − 2 mod f (x) dir. Lineer bağımlılık ilişkisinden h(x)3 − 5h(x)2 + 11h(x) − 10 ≡ 0 mod f (x) olur. Böylece G(y) = y 3 − 5y 2 + 11y − 10 elde edilir. Bu durumda ileriki bölümde bahsedilecek kök bulma algoritmalarından biriyle yada deneme-yanılma metoduyla G polinomunun kökleri {−3, 2, 6} olarak bulunur. Kökler bulunduktan sonra Örnek 5.2.1 deki metodun aynısı kullanılarak f (x) polinomu asal çarpanlarına ayrılır. Böylece f (x) polinomunun F23 cismi üzerinde asal çarpanlarına ayrılmış şekli f (x) = (x − 4)(x2 − x + 7)(x3 + 2x2 + 4x − 6) dir (Niederreiter and Lidl 1984) 5.3 Polinomların Köklerinin Hesaplanması Bir önceki bölümde bir polinomun kanonikal çarpanlarının belirlenmesi probleminin bir sonlu cisimde bir polinomun köklerinin bulunması problemine dönüştüğünü gördük. Bir polinomun köklerinin bulunması başlı başına bağımsız incelenmesi gereken bir meseledir. Genelde bir polinomun köklerinin belirlenmesindeki ilginçlik, katsayılar cisminin herhangi bir genişlemesinde polinomların köklerinin belirlenmesidir. Bununla birlikte Fq cisminde pozitif dereceli bir f ∈ Fq [x] polinomunun kökleri sorulduğunda bir alt cisimdeki bir polinomun görüntüsüne bakmak yeterli olacaktır. 112 Açıkça söylenebilir ki her çarpanlara ayırma algoritması özelde Fq [x] polinomlar halkasında f (x) polinomunun asal çarpanları arasındaki lineer çarpanlardan belirlenebilen bir kök bulma algoritmasıdır. Bu nedenle bu bölümün daha önceki kısımlarında anlatılan çarpanlara ayırma algoritmaları aynı zamanda köklerin belirlenmesi için de kullanılacaktır. Bununla birlikte bu algoritmalar köklerin hesaplanmasındaki daha özel ve ayrıntılı durumlarda yeterli olmayacaklardır. Bu yüzden amacımız bu özel durumlar için daha iyi metotlar araştırmak olacaktır. İlk iş olarak f (x) polinomunun Fq cismindeki köklerini kapsayan bir parçasını bulmak olacaktır. xq − x polinomu Fq [x] polinomlar halkasında bütün monik, lineer polinomların çarpımıdır. Bu durumda ebob(f (x), xq − x) en büyük ortak böleni Fq cismi üzerinde f (x) polinomunu bölen bütün monik, lineer polinomların çarpımına eşit olur. Böylece Fq cismi üzerinde f (x) polinomunun kökleri f (x) polinomunu bölen bütün monik, lineer polinomların çarpımındadır. Bunun için kullanılan bir metotta ilk adım olarak p bir asal sayı olmak üzere Fp asal cismi gözönüne alınır. Burada Fp ⊂ Fq ve q = pn şeklindedir. Yukarıdaki açıklamadan görülebilir ki Fp cisminin farklı c1 , c2 , . . . , cn elemanları için f (x) = n Y (x − ci ) i=1 dir. Eğer burada p asal sayısı küçük bir sayı ise f (x) polinomunun kökleri deneme-yanılma yoluyla yani f (0), f (1), . . . , f (p − 1) değerleri basitçe hesaplanarak yapılabilir. Fakat p asal sayısının büyük olması durumunda deneme-yanılma yolu kullanılamayacağından takip eden metodu uygularız. 113 Şimdi p bir tek sayı ve b ∈ Fp alındığında b + ci ∈ Fp olacağından f (x − b) = n ³ Y ´ x − (b + ci ) i=1 dir. Ayrıca ¯ ¯ f (x − b) ¯ xp − x olduğunu biliyoruz. Diğer taraftan p bir tek sayı olduğundan p−1 bir çift sayı olacağından iki kare farkı uygulandığında ³ ´³ ´ xp − x = x x(p−1)/2 + 1 x(p−1)/2 − 1 elde edilir. Bu durumda ¯ ³ ´³ ´ ¯ (p−1)/2 (p−1)/2 ¯ f (x − b) ¯ x x +1 x −1 dir. Burada eğer x ifadesi f (x − b) polinomunun bir çarpanı ise f (−b) = 0 olur. Böylece f (x) polinomunun bir kökü bulunmuş olur. Eğer x ifadesi f (x − b) polinomunun bir çarpanı değilse ³ ´ ³ ´ f (x − b) = ebob f (x − b), (x(p−1)/2 + 1) ebob f (x − b), (x(p−1)/2 − 1) (18) eşitliği elde edilir. Bu durumda x(p−1)/2 ifadesinin modf (x − b) deki kalanlarına bakılır. Eğer x(p−1)/2 6≡ ∓1 mod f (x − b) ise (18) ifadesinin sonucu f (x − b) polinomunun bir aşikar olmayan kısmi çarpanlara ayrılmış şeklidir. Eğer x(p−1)/2 ≡ ∓1 mod f (x − b) ise kök bulma işlemine başka bir b ∈ Fp elemanına geçilerek devam edilir. Böylece b ∈ Fp elemanları için f (x) polinomunun bir kökü veya f (x) polinomunun aşikar olmayan bir kısmi çarpanı bulunur. Eğer f (x) polinomunun aşikar olmayan bir kısmi çarpanı bulunduysa aynı işlemler o kısmi çarpanının bir kökünü bulana kadar devam ettirilir. Devam 114 eden bu metotlarla ilerlenildiğinde f (x) polinomunun bütün kökleri elde edilecektir. Bu algoritma tam olarak belirli bir algoritma değildir. Fakat olasılıksal bir kök bulma algoritmasıdır. Olasılıksal bir algoritma olmasının nedeni ise b ∈ Fp elemanlarının seçilişindeki keyfiliktir (Niederreiter and Lidl 1984) Örnek 5.3.1. f (x) = x6 − 7x5 + 3x4 − 7x3 + 4x2 − x − 2 ∈ F17 [x] polinomunun köklerini belirleyelim. F17 cisminde f (x) polinomun kökleri g(x) = ebob(f (x), x17 − x) polinomundadır. Euclidean algoritması ile g(x) = x4 + 6x3 − 5x2 + 7x − 2 elde edilir. Yukarıdaki algoritma uygulanarak g(x) polinomunun kökleri bulunabilir. İlk olarak b = 0 seçelim. Bu durumda x(p−1)/2 = x(17−1)/2 = x8 ≡ 1 mod g(x) olacağından b = 0 değeri için g(x) polinomunun aşikar olmayan kısmi bir çarpanı bulunamaz. Bu nedenle başka bir b değerine geçmeliyiz. Şimdi b = 1 seçelim. Böylece g(x − 1) = x4 + 2x3 − 3x − 2 elde edilir. Buradan x8 ≡ −4x3 − 7x2 + 8x − 5 mod g(x − 1) dir. x ifadesi bir çarpan olmadığından ve x8 6≡ ∓1 mod g(x − 1) sağlandığından b = 1 değeri için g(x−1) polinomunun aşikar olmayan bir kısmi çarpanlara ayrılması bulunabilir. ³ ´ ³ ´ ebob g(x − 1), (x8 + 1) = ebob x4 + 2x3 − 3x − 2, −4x3 − 7x2 + 8x − 4 = x2 − 7x + 4 115 ve ³ ´ ³ ´ ebob g(x − 1), (x8 − 1) = ebob x4 + 2x3 − 3x − 2, −4x3 − 7x2 + 8x − 6 = x2 − 8x + 8 Bu sonuçlarla (18) ifadesinden g(x − 1) = (x2 − 7x + 4)(x2 − 8x + 8) elde edilir. Böylece g(x) = (x2 − 5x − 2)(x2 − 6x + 1) = g1 (x)g2 (x) olur. Şimdi g1 (x) ve g2 (x) polinomlarının köklerini belirlemek için aynı metodu bu polinomlara uygulacağız. g1 (x) ve g2 (x) polinomlarının her ikisi için de b = 2 değerini seçelim. Bu durumda g1 (x − 2) = x2 + 8x − 5 ve buradan x8 ≡ −8x + 2 mod g1 (x − 2) dir. Böylece g1 (x) polinomunu da çarpanlarına ayırabiliriz. ³ 8 ebob g1 (x − 2), (x + 1) ´ ³ 2 ´ = ebob x + 8x − 5, −8x + 3 = x+6 bulunur. g1 (x − 2) polinomunun bir çarpanını bulduktan sonra diğer çarpanı uzun bölme işlemi sonucunda x + 2 olarak buluruz. Buradan g1 (x − 2) = (x + 6)(x + 2) dir. g1 (x) polinomu ise g1 (x) = (x + 8)(x + 4) 116 şeklindedir. Aynı işlemleri g2 (x) polinomu için yaparsak g2 (x − 2) = x2 + 7x = x(x + 7) bulunur. x bir çarpan olduğundan g2 (x) polinomunun bir kökü −2 dir. Bu durumda g2 (x) = (x + 2)(x − 8) dir. Bu çarpanların tamamından g(x) = (x + 8)(x + 4)(x + 2)(x − 8) elde edilir. Böylece F17 cismi üzerinde g(x) ve hem de f (x) polinomunun kökleri { − 8, −4, −2, 8} dir (Niederreiter and Lidl 1984) Şimdi küçük p karakteristikli bir büyük Fq sonlu cismi için bir kök bulma algoritması tasarlayacağız. Farklı δ1 , δ2 , . . . , δn ∈ Fq elemanları için f (x) = n Y (x − δi ) i=1 m olduğunu biliyoruz. Burada q := p için S(x) := m−1 X j xp j=0 polinomunu tanımlayalım. Tanım 3.4.8 deki iz fonksiyonu T rFq olmak üzere δ ∈ Fq için S(δ) = T rFq (δ) ∈ Fp olduğunu Teorem 3.4.9 (iii) den biliyoruz. Çünkü ∀c ∈ Fp için S(δ) = c eşitliği pm−1 tane δ ∈ Fq çözümüne sahiptir. Bu sonuçtan xq − x = Y (S(x) − c) (19) c ∈ Fp 117 dir. Ayrıca ¯ ¯ f (x) ¯ xq − x olduğundan Y (S(x) − c) ≡ 0 mod f (x) c ∈ Fp dir ve hem de f (x) = Y ³ ´ ebob f (x), (S(x) − c) (20) c ∈ Fp olur. Bu sonuç p tane ortak bölenin hesaplanmasıyla bulunan f (x) polinomunun bir kısmi çarpanlara ayrılmasıdır. Eğer p sayısı küçük bir sayı ise bu kesinlikle uygulanabilir bir metotdur. Bununla birlikte bazı c ∈ Fp değerleri için S(x) ≡ c mod f (x) oluyorsa (20) ifadesindeki çarpanlara ayırma işlemi kesinlikle aşikar bir çarpanlara ayırmadır. Bu durumda S(x) yardımcı polinomu ile diğer yardımcı polinomlar kullanılmak zorundadır. Şimdi β elemanı Fp cismi üzerinde Fq cisminin tanımlayıcı elemanı olarak alınsın. Bu durumda {1, β, β 2 , . . . , β m−1 } elemanları Fp cismi üzerinde Fq cisminin bir bazıdır. j = 0, 1, . . . , m − 1 değerleri için (19) ifadesinde x ifadesinin yerine β j x yazalım. Buradan ´ Y ³ q (β j ) xq − β j x = S(β j x) − c c ∈ Fp dir. (β j )q = β j olduğundan q x −x=β ´ Y ³ j S(β x) − c −j c ∈ Fp olur. Bu sonuçlarla 0 ≤ j ≤ m − 1 değerleri için (20) ifadesinin bir genelleştirilmesi olan f (x) = Y ³ ´ ebob f (x), S(β x) − c j (21) c ∈ Fp 118 elde edilir. Şimdi (21) ifadesindeki kısmi çarpanlara ayırma ifadesinin eğer n = deg(f ) ≥ 2 ise 0 ≤ j ≤ m − 1 aralığından alınan en azından bir j değeri için aşikar çarpanlara ayırma olmadığını gösterebiliriz. Kabul edelim ki (21) ifadesindeki kısmi çarpanlara ayırma bütün j değerleri için aşikar olsun. Biliyoruz ki 0 ≤ j ≤ m − 1 aralığındaki herbir j değeri için S(β j x) ≡ cj mod f (x) olacak şekilde bir cj ∈ Fp vardır. Özel olarak 0 ≤ j ≤ m − 1 için S(β j δ1 ) = S(β j δ2 ) = cj alalım. İz fonksiyonunun lineerliği ile 0 ≤ j ≤ m − 1 değerleri için ³ ´ j T rFq (δ1 − δ2 )β = 0 ve ∀α ∈ Fq elemanı için ³ ´ T rFq (δ1 − δ2 )α = 0 elde edilir. Bu durumda Teorem 3.4.10 ün ikinci bölümü kullanılarak δ1 − δ2 = 0 bulunur ki bu bir çelişkidir. Böylece en az bir j değeri için (21) ifadesindeki çarpanlara ayırma işlemi aşikar değildir. (21) ifadesinde kullanılan Fp cismi üzerinde Fq cisminin β tanımlayıcı elemanı, Fp [x] polinomlar halkasında m dereceli bilinen bir asal polinomun bir kökü olarak seçilir. (21) formunun aşikar olmayan bir çarpanlara ayrılması bulunduğunda metot diğer j değerlerinin kullanılması ile aşikar olmayan çarpanlara ayrılmış ifadenin herbir çarpanına uygulanır. Böylece yukarıdaki metot (21) ifadesinde j nin bütün değerleri kullanılarak f (x) polinomunun bütün farklı köklerinin er-geç bulunabileceğini gösterir (Niederreiter and Lidl 1984) Örnek 5.3.2. β elemanı F2 [x] polinomlar halkasında x6 + x + 1 asal polinomunun bir kökü olarak alındığında F64 = F2 (β) olur. F64 [x] polinomlar halkasında f (x) = x4 + (β 5 + β 4 + β 3 + β 2 )x3 + (β 5 + β 4 + β 2 + β + 1)x2 + (β 4 + β 3 + β)x + β 3 + β 119 alalım. Ayrıca x6 ≡ (β 5 + β + 1)x3 + (β 4 + β 3 + β 2 )x2 + (β 5 + β 3 + β 2 + 1)x + β 5 + β 4 + β 2 + 1 mod f (x) denkliğini kullanarak x ifadesinin modf (x) e göre kuvvetlerini hesaplayalım. Bu durumda x ≡ x x2 ≡ x2 x4 ≡ (β 5 + β 4 + β 3 + β 2 )x3 + (β 5 + β 4 + β 2 + β + 1)x2 + (β 4 + β 3 + β)x + β 3 + β x8 ≡ (β 4 + β 3 + β 2 )x3 + (β 5 + β + 1)x2 + (β 5 + β + 1)x + β 5 + β 4 x16 ≡ (β 5 + β 3 + β)x3 + (β 3 + β)x2 + β 5 x + β 4 + β 3 + β 2 + β + 1 x32 ≡ (β 5 + β 2 + 1)x3 + (β 5 + β 4 + β 3 + β 2 + β + 1)x2 + (β 4 + β 2 )x + β 5 + β 3 x64 ≡ x elde edilir. Buradan ¯ ¯ f (x) ¯ x64 − x olup f (x) polinomu F64 cisminde dört farklı köke sahiptir. Şimdi S(x) = x + x2 + x4 + x8 + x16 + x32 polinomunu ele alalım. Yukarıdaki denkliklerden S(x) ≡ (β 5 + β 3 + β 2 + β + 1)x3 + β 5 x2 + (β 3 + β 2 )x + β 3 + β 2 + 1 mod f (x) bulunur ve böylece ebob(f (x), S(x)) , ³ ´ ebob f (x), (β 5 + β 3 + β 2 + β + 1)x3 + β 5 x2 + (β 3 + β 2 )x + β 3 + β 2 + 1 = x3 + (β 4 + β 3 + β 2 )x2 + (β 5 + β 2 + 1)x + β 3 + β 2 = g(x) ifadesine eşit olur. Yine ebob(f (x), S(x) − 1) , ³ ´ ebob f (x), (β 5 + β 3 + β 2 + β + 1)x3 + β 5 x2 + (β 3 + β 2 )x + β 3 + β 2 = x + β5 120 dir.(21) ifadesindeki sonuçtan f (x) = g(x)(x + β 5 ) (22) bulunur. Şimdi g(x) polinomunun köklerini bulabilmek için (21) ifadesinde j = 1 değerini kullanalım. S(βx) = βx + β 2 x2 + β 4 x4 + β 8 x8 + β 16 x16 + β 32 x32 = βx + β 2 x2 + β 4 x4 + (β 3 + β 2 )x8 + (β 4 + β + 1)x16 + (β 3 + 1)x32 dir. Yukarıdaki x ifadesinin modf (x) e göre kuvvetlerinin denkliğinden S(βx) ≡ (β 2 + 1)x3 + (β 3 + β + 1)x2 + (β 5 + β 4 + β 3 + β 2 + β + 1)x +β 4 + β 2 + β mod f (x) ¯ ¯ bulunur ve g(x) ¯ f (x) olduğundan bu ifade modg(x) e göre de aynıdır. Buna göre S(βx) ≡ (β 2 + 1)x3 + (β 3 + β + 1)x2 + (β 5 + β 4 + β 3 + β 2 + β + 1)x +β 4 + β 2 + β ≡ (β 5 + β 2 )x2 + β 3 x + β 5 + β 3 + β mod g(x) dir. Buradan ³ ´ ³ ´ 5 2 2 3 5 3 ebob g(x), S(βx) = ebob g(x), (β + β )x + β x + β + β + β = x2 + (β 3 + 1)x + β 4 + β 3 + β 2 + β = h(x) 121 olur ve ³ ´ ³ ´ ebob g(x), S(βx) − 1 = ebob g(x), (β 5 + β 2 )x2 + β 3 x + β 5 + β 3 + β + 1 = x + β4 + β2 + 1 elde edilir. Böylece (21) ifadesi j = 1 değeri için g(x) = h(x)(x + β 4 + β 2 + 1) (23) değerini alır. h(x) polinomunun köklerini bulabilmek için (21) ifadesinde j = 2 değerini kullanalım. S(β 2 x) = β 2 x + β 4 x2 + β 8 x4 + β 16 x8 + β 32 x16 + β 64 x32 = β 2 x + β 4 x2 + (β 3 + β 2 )x4 + (β 4 + β + 1)x8 + (β 3 + 1)x16 + βx32 ve S(βx) deki gibi bir basit hesaplama ile S(β 2 x) ≡ (β 5 + β 2 + 1)x + β 5 + β 3 + β 2 mod h(x) bulunur. Buradan ³ ´ ³ ´ ebob h(x), S(β 2 x) = ebob h(x), (β 5 + β 2 + 1)x + β 5 + β 3 + β 2 = x+β+1 ve ³ ´ ³ ´ ebob h(x), S(β 2 x) − 1 = ebob h(x), (β 5 + β 2 + 1)x + β 5 + β 3 + β 2 + 1 = x + β3 + β 122 dir. Böylece (21) ifadesinde j = 2 aldığımızda h(x) = (x + β + 1)(x + β 3 + β) (24) elde edilir. Sonuç olarak (22),(23) ve (24) ifadeleri birleştirilerek f (x) = (x + β + 1)(x + β 3 + β)(x + β 4 + β 2 + 1)(x + β 5 ) bulunur. Böylece f (x) polinomunun kökleri n o 3 4 2 5 β + 1, β + β, β + β + 1, β dir (Niederreiter and Lidl 1984) 123 KAYNAKLAR Niederreiter, H. and Lidl, R. 1984. Finite Fields. Cambridge University Press, 35-184, Cambridge. Niederreiter, H. and Lidl, R. 1986. Introduction To Finite Fields And Their Applications. Cambridge University Press, 40-160, Cambridge. Chapman, H. 1996. Coding Theory. St Edmundsbury Press, 12-105, Great Britian. Hill, R. 1986. A First Course in Coding Theory. Clarendon Press, 28-73, Great Britian. Pretzel, O. 1992. Error Correcting Codes and Finite Fields. Clarendon Press, 3-45; 201-267, London. Jungnickel, D. 1993. Finite Fields (Structure And Arithmetics). Druckerei Progressdruck GmbH Press, 15-83, Germany. 124 ÖZGEÇMİŞ Adı Soyadı : Burcu ÇAPKIN Doğum Yeri : Boyabat / SİNOP Doğum Tarihi : 21.07.1978 Medeni Hali : Bekar Yabancı Dili : İngilizce Eğitim Durumu Lise : Mehmet Akif Ersoy Lisesi, 1992-1995 Lisans : Ankara Üniversitesi, 1995-1999 Yüksek Lisans : Ankara Üniversitesi, 2002-2005 Çalıştığı Kurumlar Tüney İlköretim Okulu , 1999-2001 Genelkurmay Başkanlığı , 2001-2005 125