GAP (Wedderga) - Chapter 8: Applications of the Wedderga package

Goto Chapter: Top 1 2 3 4 5 6 7 8 9 Bib Ind
[Top of Book] [Contents] [Previous Chapter] [Next Chapter]

[MathJax off]

8 Applications of the Wedderga package
8.1 Coding theory applications
8.1-1 CodeWordByGroupRingElement
8.1-2 CodeByLeftIdeal

### 8 Applications of the Wedderga package

#### 8.1 Coding theory applications

##### 8.1-1 CodeWordByGroupRingElement

`‣ CodeWordByGroupRingElement`( F, S, a ) | ( operation )

Returns: The code word of length the length of S associated to the group ring element a.

The input F should be a finite field. The input S is a fixed ordering of a group \(G\) and a is an element in the group algebra \(FG\).

Each element \(c\) in \(FG\) is of the form \( c=\sum_{i=1}^n f_i g_i\), where we fix an ordering \(\{g_1,g_2,...,g_n \}\) of the group elements of \(G\) and \(f_i\in F\). If we look at \(c\) as a codeword, we will write \([f_1 f_2 ... f_n]\). (9.21).

    gap> G:=DihedralGroup(8);;
    gap> F:=GF(3);;
    gap> FG:=GroupRing(F,G);;
    gap> a:=AsList(FG)[27];
    (Z(3)^0)*<identity> of ...+(Z(3)^0)*f1+(Z(3)^0)*f2+(Z(3)^0)*f3+(Z(3)^
    0)*f1*f2+(Z(3)^0)*f2*f3+(Z(3))*f1*f2*f3
    gap> S:=AsSet(G);
    [ <identity> of ..., f1, f2, f3, f1*f2, f1*f3, f2*f3, f1*f2*f3 ]
    gap> CodeWordByGroupRingElement(F,S,a);
    [ Z(3)^0, Z(3)^0, Z(3)^0, Z(3)^0, Z(3)^0, 0*Z(3), Z(3)^0, Z(3) ]

##### 8.1-2 CodeByLeftIdeal

`‣ CodeByLeftIdeal`( F, G, S, I ) | ( operation )

Returns: All code words of length the length of S associated to the group ring elements in the ideal I of FG.

The input F should be a finite field. The input S is a fixed ordering of a group \(G\) and I is a left ideal of the group algebra \(FG\).

Each element \(c\) in \(FG\) is of the form \( c=\sum_{i=1}^n f_i g_i\), where we fix an ordering \(\{g_1,g_2,...,g_n \}\) of the group elements of \(G\) and \(f_i\in F\). If we look at \(c\) as a codeword, we will write \([f_1 f_2 ... f_n]\). (9.21).

    gap> G:=DihedralGroup(8);;
    gap> F:=GF(3);;
    gap> FG:=GroupRing(F,G);;
    gap> S:=AsSet(G);
    [ <identity> of ..., f1, f2, f3, f1*f2, f1*f3, f2*f3, f1*f2*f3 ]
    gap> H:=StrongShodaPairs(G)[5][1];
    Group([ f1*f2, f3, f3 ])
    gap> K:=StrongShodaPairs(G)[5][2];
    Group([ f1*f2 ])
    gap> N:=Normalizer(G,K);
    Group([ f1*f2*f3, f3 ])
    gap> epi:=NaturalHomomorphismByNormalSubgroup(N,K);
    [ f1*f2*f3, f3 ] -> [ f1, f1 ]
    gap> QHK:=Image(epi,H);
    Group([ <identity> of ..., f1, f1 ])
    gap> gq:=MinimalGeneratingSet(QHK)[1];
    f1
    gap> C:=CyclotomicClasses(Size(F),Index(H,K))[2];
    [ 1 ]
    gap> e:=PrimitiveIdempotentsNilpotent(FG,H,K,C,[epi,gq]);
    [ (Z(3)^0)*<identity> of ...+(Z(3))*f3+(Z(3)^0)*f1*f2+(Z(3))*f1*f2*f3,
      (Z(3)^0)*<identity> of ...+(Z(3))*f3+(Z(3))*f1*f2+(Z(3)^0)*f1*f2*f3 ]
    gap> FGe := LeftIdealByGenerators(FG,[e[1]]);;
    gap> V := VectorSpace(F,CodeByLeftIdeal(F,G,S,FGe));;
    gap> B := Basis(V);;
    gap> LoadPackage("guava");;
    gap> code := GeneratorMatCode(B,F);
    a linear [8,2,1..4]4..5 code defined by generator matrix over GF(3)
    gap> MinimumDistance(code);
    4

[Top of Book] [Contents] [Previous Chapter] [Next Chapter]
Goto Chapter: Top 1 2 3 4 5 6 7 8 9 Bib Ind

generated by GAPDoc2HTML