| Home | Trees | Indices | Help |
|---|
|
|
Basic functionality for dual groups of finite multiplicative Abelian groups
AUTHOR:
-- David Joyner (2006-08) (based on abelian_groups)
-- David Joyner (2006-10) modifications suggested by William Stein
TODO:
* additive abelian groups should also be supported.
The basic idea is very simple. Let G be an abelian group and
$G^*$ its dual (i.e., the group of homomorphisms from G to
$\CC^\times$). Let $g_j$, $j=1,..,n$, denote generators of $G$ - say $g_j$
is of order $m_j>1$. There are generators $X_j$, $j=1,..,n$, of $G^*$ for which
$X_j(g_j)=\exp(2\pi i/m_j)$ and $X_i(g_j)=1$ if $i\not= j$. These
are used to construct $G^*$ in the DualAbelianGroup class below.
SAGE supports multiplicative abelian groups on any prescribed finite
number $n > 0$ of generators. Use the \code{AbelianGroup} function
to create an abelian group, the \code{DualAbelianGroup} function
to create its dual, and then the \code{gen} and \code{gens}
functions to obtain the corresponding generators. You can print the
generators as arbitrary strings using the optional \code{names}
argument to the \code{DualAbelianGroup} function.
|
|||
|
DualAbelianGroup_class Dual of abelian group. |
|||
|
|||
|
|||
|
|||
|
|||
ZZ =
|
|||
CC = Complex Field with 53 bits of precision
|
|||
|
|||
Create the dual group of the multiplicative abelian group $G$.
INPUT:
G -- a finite abelian group
names -- (optional) names of generators
OUTPUT:
The dual group of G.
EXAMPLES:
sage: F = AbelianGroup(5, [2,5,7,8,9], names='abcde')
sage: (a, b, c, d, e) = F.gens()
sage: Fd = DualAbelianGroup(F,names='ABCDE')
sage: A,B,C,D,E = Fd.gens()
sage: A(a) ## random
-1.0000000000000000 + 0.00000000000000013834419720915037*I
sage: A(b); A(c); A(d); A(e)
1.00000000000000
1.00000000000000
1.00000000000000
1.00000000000000
|
Return True if $x$ is the dual group of an abelian group.
EXAMPLES:
sage: F = AbelianGroup(5,[3,5,7,8,9],names = list("abcde"))
sage: Fd = DualAbelianGroup(F)
sage: is_DualAbelianGroup(Fd)
True
sage: F = AbelianGroup(3,[1,2,3],names='a')
sage: Fd = DualAbelianGroup(F)
sage: Fd.gens()
(X0, X1)
sage: F.gens()
(a0, a1)
|
|
|||
ZZ
|
| Home | Trees | Indices | Help |
|---|
| Generated by Epydoc 3.0beta1 on Thu Jul 17 04:23:26 2008 | http://epydoc.sourceforge.net |