[back] [prev] [next] [index] [root]

 


AbelianDualGroup

Returns the dual group of a given finite abelian group.

Syntax:

d := AbelianDualGroup(g);

groups
  g, d  

Description:

Returns the dual group d of a group g, i.e. the group consisting of the isomorphisms from the group g to C. The isomorphisms are presented by rational numbers q corresponding to e^{(i*2*\pi*q)}.


Example:

Compute the dual group and apply one homomorphism:

kash> g := AbelianGroupCreate([[0,1,2],[5,6,0],[0,4,5]]);
Group with relations:
[0 1 2]
[5 6 0]
[0 4 5]
kash> d := AbelianDualGroup(g);
Group with relations:
[15]
kash> eltd := AbelianGroupEltCreate(d, [1]);
[1]
kash> hom := AbelianGroupDiscreteExp(eltd);
HomMatrix =
[ -6   6]
[ 10 -10]
[ -5   5] 
from Group with relations:
[0 1 2]
[5 6 0]
[0 4 5] 
to Group with relations:
[3 0]
[0 5]

kash> eltg := AbelianGroupEltCreate(g, [1,0,0]);
[1 0 0]
kash> AbelianGroupDiscreteExp(hom*eltg);
1/5



Example:

It is allowed to apply an elelment of the group to an element of the corresponding dual group:

kash> eltd*eltg;
> 1/5


<- back[back] [prev] [next] [index] [root]