<Chapter Label="Applications">
<Heading>Applications of the Wedderga package</Heading>
<Section Label="CodingTheory">
<Heading>Coding theory applications</Heading>
<ManSection>
<Oper Name="CodeWordByGroupRingElement"
Arg="F,S,a" />
<Returns>
The code word of length the length of <A>S</A> associated to the group ring element <A>a</A>.
</Returns>
<Description>
The input <A>F</A> should be a finite field.
The input <A>S</A> is a fixed ordering of a group <M>G</M> and
<A>a</A> is an element in the group algebra <M>FG</M>.
<P/>
Each element <M>c</M> in <M>FG</M> is of the form <M> c=\sum_{i=1}^n f_i g_i</M>,
where we fix an ordering <M>\{g_1,g_2,...,g_n \}</M> of the group elements of <M>G</M>
and <M>f_i\in F</M>. If we look at <M>c</M> as a codeword, we will write <M>[f_1 f_2 ... f_n]</M>.
(<Ref Sect="codes" />).
<ManSection>
<Oper Name="CodeByLeftIdeal"
Arg="F,G,S,I" />
<Returns>
All code words of length the length of <A>S</A> associated to the group ring elements in the ideal <A>I</A> of <A>FG</A>.
</Returns>
<Description>
The input <A>F</A> should be a finite field.
The input <A>S</A> is a fixed ordering of a group <M>G</M> and
<A>I</A> is a left ideal of the group algebra <M>FG</M>.
<P/>
Each element <M>c</M> in <M>FG</M> is of the form <M> c=\sum_{i=1}^n f_i g_i</M>,
where we fix an ordering <M>\{g_1,g_2,...,g_n \}</M> of the group elements of <M>G</M>
and <M>f_i\in F</M>. If we look at <M>c</M> as a codeword, we will write <M>[f_1 f_2 ... f_n]</M>.
(<Ref Sect="codes" />).
<Example>
<![CDATA[
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([ 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
]]>
</Example>
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.