matlab 有限域函数,matlab有限域上的运算.docx
matlab有限域上的運算.docx
1有限域基礎知識1.1有限域(Galois域)的構造令p為一個素數.則對任意的一個正整數n,存在一個特征為p,元素個數為pn的有限域GF(pn).注:任意一個有限域,其元素的個數一定為pn,其中p為一個素數(有限域的特征),n為一個正整數.例1(有限域GF(p))令p為一個素數,集合GF(p)=Zp={0,1,2,…,p?1}.在GF(p)上定義加法⊕和乘法⊙分別為模p加法和模p乘法,即任意的a,b∈GF(p),a⊕b=(a+b)modp,a⊙b=(a?b)modp則為一個有p個元素的有限域,其中零元素為0,單位元為1.令a為GF(p)中的一個非零元素.由于gcd(a,p)=1,因此,存在整數b,c,使得ab+pc=1.由此得到a的逆元為a?1=bmodp.域GF(p)稱為一個素域(primefield).例注1:給定a和p,例1中的等式ab+pc=1可以通過擴展的歐幾里得除法得到,從而求得GF(p)中任意非零元素的逆元.例2(有限域GF(pn))從GF(p)出發,對任意正整數n,n≥2,我們可以構造元素元素個數為pn的有限域GF(pn)如下:令g(x)為一個GF(p)上次數為n的不可約多項式,集合GF(pn)=GF(p)[x]/?g(x)?={a0+a1x+a2x2+?+an?1xn?1|ai∈GF(p),0≤i≤n?1}在GF(pn)上定義加法⊕和乘法⊙分別為模g(x)加法和模g(x)乘法,即任意的a(x),b(x)∈GF(pn),a(x)⊕b(x)=a(x)+b(x),a(x)⊙b(x)=(a(x)?b(x))modg(x)則為一個有pn個元素,特征為p的有限域,其中零元素為GF(p)中的0,單位元為GF(p)中的1.令a(x)為GF(pn)中的一個非零元素.由于gcd(a(x),g(x))=1,因此,存在GF(p)上的多項式b(x),c(x),使得a(x)b(x)+g(x)c(x)=1.由此得到a(x)的逆元為a?1(x)=b(x)modg(x).域GF(pn)稱為GF(p)的(n次)擴域(extensionfield),而GF(p)稱為GF(pn)的子域(subfield).例注2.1:給定GF(p)上的多項式a(x)和g(x),例2中的等式a(x)b(x)+g(x)c(x)=1可以通過擴展的歐幾里得除法得到,從而求得GF(pn)中任意非零元素的逆元.例注2.2:設GF(q)是一個含有q個元素的有限域.對任意正整數n,GF(q)上的n次不可約多項式一定存在.更進一步,GF(q)上首項系數為1的n次不可約多項式的個數為Nq(n)=1n∑d|nμ(nd)qd=1n∑d|nμ(d)qn/d其中μ為Moebius函數,定義為μ(m)=???1(?1)k0如果m=1如果m=p1p2?pk,其中p1,p2,…,pk為互不相同的素數其它1.2有限域的性質令GF(q)是一個含有q個元素的有限域,F?q=GF(q)?{0}為有限域GF(q)中所有非零元素構成的集合.則在乘法之下F?q是一個有限循環群.循環群F?q的一個生成元稱為有限域GF(q)的一個本原元.若α∈GF(q)為一個本原元,則GF(q)={0,1,α,α2,…,αq?2}并且αq?1=1,即αq=α.定義:設GF(q)是一個含有q個元素的有限域,GF(p)是GF(q)的一個含有p個元素的子域(p不一定為素數),α∈GF(q).則GF(p)上以α為根,首項系數為1,并且次數最低的多項式稱為α在GF(p)上的極小多項式(minimalpolynomialofαoverGF(p)).特別地,若α∈GF(q)為GF(q)的一個本原元,則α在GF(p)上的極小多項式稱為GF(p)上的一個本原多項式(primitivepolynomialforGF(q)overGF(p)).定義注1:對任意的α∈GF(q),α在GF(p)上的極小多項式存在并且唯一,并且α在GF(p)上的極小多項式為GF(p)上的一個不可約多項式.定義注2:設α∈GF(q),則α和αp在GF(p)上具有相同的極小多項式.更進一步,集合B(α)={α,αp,αp2,αp3,…,αpi,…}中的元素具有相同的極小多項式.設q=pn,則αpn=α.因此,集合B(α)中互不相同的元素的個數(記為r)不超過n.可以證明,α為GF(q)的一個本原元當且僅當r=n.定理:設GF(q)是一個含有q個元素的有限域,GF(p)是GF(q)的一個含有p個元素的子域.設α∈GF(q),r為滿足αpr=α的最小正整數.則α在GF(p)上的極小多項式g(x)是一個r次不可約多項式,并且B(α)={α,αp,αp2,…,αpr?1}中的元素為g(x)在GF(q)上的所有不同的根,即g(x)=(x?α)(x?αp)(x?αp2)?(x?αpr?1).注:r的計算方法如下:設α在F?q中的階為k.集合Z?k={m|0≤m≤k?1,gcd(m,k)=1}在模k乘法運算下是一個含有φ(k)個元素的有限群(其中φ為歐拉(Euler)函數).則r等于pmodk在Z?k中的階.推論:設GF(q)是一個含有q個元素的有限域,GF(p)是GF(q)的一個含有p個元素的子域.設|GF(q)|=pn,即q=pn.設α∈GF(q)為GF(q)的一個本原元,則α在GF(p)上的極小多項式g(x)的次數為n,并且g(x)=(x?α)(x?αp)(x?αp2)?(x?αpn?1).更進一步,α,αp,αp2,…,αpn?1均為GF(q)的本原元.注:設GF(p)是一個含有p個元素的有限域,n是任意一個正整數,則GF(p)上的n次本原多項式一定存在.更進一步,GF(p)上的首項系數為1的n次本原多項式的個數為φ(pn?1)n,其中φ為歐拉函數.例3考慮二元域GF(2)上的不可約多項式p(α)=α3+α+1,構造有限域GF(23)=GF(2)[α]/?p(α)?={0,1,α,α+1,α2,α2+1,α2+α,α2+α+1}.容易驗證,α,α2,α3,α4,α5,α6都是GF(23)的本原元.GF(2)上的首項系數為1的3次本原多項式有兩個,分別為(i)α,α2,α4在GF(2)上的極小多項式g(x)=(x+α)(x+α2)(x+α4)=x3+x+1(ii)α3,α5,α6在GF(2)上的極小多項式g(x)=x3+x2+1有限域GF(p)上的本原多項式一定是GF(p)上的不可約多項式;但是,GF(p)上的不可約多項式不一定是GF(p)上的本原多項式.定理:設GF(q)是一個含有q個元素的有限域,GF(p)是GF(q)的一個含有p個元素的子域,g(x)是GF(p)上的一個不可約多項式.則g(x)為GF(p)上的本原多項式當且僅當g(x)在GF(q)上的根都是GF(q)的本原元.下面例子說明不可約多項式不一定是本原多項式.例4考慮二元域GF(2)上的不可約多項式p(x)=x4+x3+x2+x+1,構造有限域GF(24)=GF(2)[x]/?p(x)?={a+bx+cx2+dx3|a,b,c,d∈GF(2)}.顯然,x∈GF(24).由于x5=1,即x的階為5,因此,x不是GF(24)的本原元.于
總結
以上是生活随笔為你收集整理的matlab 有限域函数,matlab有限域上的运算.docx的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeGO-LOAM学习
- 下一篇: 用LM方法的matlab求解,matla