GF ((2^4)) は (α^4) + α + 1 = 0 をみたす数 α によって生成される。

関係式= (α^4)+α+1

GF ((2^4)) のすべての要素を乗法表示と加法表示したもののリストを作る。

乗法表示= {0}~Join~Table[(α^i),{i,0,14}]

加法表示 ={0}~Join~ Table[
PolynomialMod[(α^i),{関係式 ,2}],{i,0,14}]

乗法から加法[v_]:=PolynomialMod[v,{関係式 ,2}]

加法から乗法[v_]:=Module[{n},
n=0;While[加法表示[[n]]=!=PolynomialMod[v,{関係式,2}],Null;n++];
Return[If[n===1,0,(α^(n-2))]]]

加法から乗法[(α^3)+1+α]

符号を生成する多項式 g(x) =  (x - 1) (x - α) … (x + (α^5))

g[x_]:=Collect[Expand[(x-1) (x-α)(x-(α^2))(x-(α^3))(x-(α^4))(x-(α^5))],x,加法から乗法]

g[x]

u[x]:=Collect[
(情報ベクトル.Table[(x^((8-i))),{i,0,8}])(x^6)+
PolynomialMod[(情報ベクトル.Table[(x^((8-i))),{i,0,8}])(x^6),{g[x],関係式,2}],x,加法から乗法]

情報ベクトル={(α^13),0,(α^8),(α^6),(α^10),(α^9),(α^2),1,(α^7)}

u[x]

Table[Coefficient[u[x],x,14-i],{i,0,14}]

r[x_]:=受信ベクトル.Table[(x^(14-i)),{i,0,14}]

受信ベクトル={(α^13),0,(α^8),(α^6),(α^12),(α^9),(α^2),1,(α^7),(α^4),(α^14),1,(α^7),(α^12),α}

r[x]

Table[Coefficient[r[x],x,14-i],{i,0,14}]

For [i=0,i≤5,i++,s[i]=加法から乗法[r[(α^i)]]]

Table[s[i],{i,0,5}]

{{(X^3),(X^2),X,1},{s[3],s[2],s[1],s[0]},
{s[4],s[3],s[2],s[1]},{s[5],s[4],s[3],s[2]}}//MatrixForm

σ[X_]:=Collect[Det[{{(X^3),(X^2),X,1},{s[3],s[2],s[1],s[0]},
{s[4],s[3],s[2],s[1]},{s[5],s[4],s[3],s[2]}}],X,加法から乗法]

σ[X]

Table[PolynomialMod[σ[(α^i)],{関係式,2}],{i,0,14}]

{k,l,m}=Flatten[Position[
Table[PolynomialMod[σ[(α^i)],{関係式,2}],{i,0,14}]
,0]]-{1,1,1}

{{1,1,1},
{(α^k),(α^l),(α^m)},
{((((α^k)))^2),((((α^l)))^2),((((α^m)))^2)}}//MatrixForm

加法から乗法[Det[
{{1,1,1},
{(α^k),(α^l),(α^m)},
{((((α^k)))^2),((((α^l)))^2),((((α^m)))^2)}}]]

det=Exponent[加法から乗法[Det[
{{1,1,1},
{(α^k),(α^l),(α^m)},
{((((α^k)))^2),((((α^l)))^2),((((α^m)))^2)}}]],α]

Simplify[(α^(15-det))Det[{{1,1,1},
{(α^k),(α^l),(α^m)},
{((((α^k)))^2),((((α^l)))^2),((((α^m)))^2)}}]×
Inverse[{{1,1,1},
{(α^k),(α^l),(α^m)},
{((((α^k)))^2),((((α^l)))^2),((((α^m)))^2)}}]]

Map[加法から乗法,Simplify[(α^(15-det))Det[{{1,1,1},
{(α^k),(α^l),(α^m)},
{((((α^k)))^2),((((α^l)))^2),((((α^m)))^2)}}]×
Inverse[{{1,1,1},
{(α^k),(α^l),(α^m)},
{((((α^k)))^2),((((α^l)))^2),((((α^m)))^2)}}]].
{s[0],s[1],s[2]}].{(x^k),(x^l),(x^m)}

Table[Coefficient[r[x]+%,x,14-i],{i,0,14}]

%-受信ベクトル

受信ベクトル