Examples with Various Signatures

In this section we give examples for various $ (r,s)$ pairs. First we consider $ K=\mathbf{Q}(i)$.
   > R<x> := PolynomialRing(RationalField());
   > K<a> := NumberField(x^2+1);
   > Signature(K);
   0 1    // r=0, s=1
   > G,phi := UnitGroup(K);
   > G;
   Abelian Group isomorphic to Z/4
   Defined on 1 generator
   Relations:
       4*G.1 = 0
   > K!phi(G.1);
   -a
The Signature command returns the number of real and complex conjugate embeddings of $ K$ into $ \mathbf{C}$. The command UnitGroup, which we used above, returns the unit group $ U_K$ as an abstract abelian group and a homomorphism $ U_K\to \O_K$. Note that we have to bang (!) into $ K$ to get the units as elements of $ K$.

Next we consider $ K=\mathbf{Q}(\sqrt[3]{2})$.

   > K<a> := NumberField(x^3-2);
   > Signature(K);
   1 1
   > G,phi := UnitGroup(K);
   > G;
   Abelian Group isomorphic to Z/2 + Z
   Defined on 2 generators
   Relations:
       2*G.1 = 0
   > K!phi(G.2);
   -a + 1
The Conjugates command returns the sequence $ (\sigma_1(x),\ldots,\sigma_{r+2s}(x))$ of all embeddings of $ x\in K$ into $ \mathbf{C}$. The Logs command returns the sequence

$\displaystyle (\log(\vert\sigma_1(x)\vert),\ldots, \log(\vert\sigma_{r+s}(x)\vert)).$

Continuing the above example, we have
   > Conjugates(K!phi(G.2));
   [ -0.25992104989487316476721060727822835057025146470099999999995,
   1.6299605249474365823836053036391141752851257323513843923104 - 
   1.09112363597172140356007261418980888132587333874018547370560*i, 
   1.6299605249474365823836053036391141752851257323513843923104 + 
   1.09112363597172140356007261418980888132587333874018547370560*i ]
   > Logs(K!phi(G.2));   // image of infinite order unit -- generates a lattice
   [ -1.34737734832938410091818789144565304628306227332099999999989\
   , 0.6736886741646920504590939457228265231415311366603288999999 ]
   > Logs(K!phi(G.1));   // image of -1
   [ 0.E-57, 0.E-57 ]

Let's try a field such that $ r+s-1=2$. First, one with $ r=0$ and $ s=3$:

   > K<a> := NumberField(x^6+x+1);
   > Signature(K);
   0 3
   > G, phi := UnitGroup(K);
   > G;
   Abelian Group isomorphic to Z/2 + Z + Z
   Defined on 3 generators
   Relations:
       2*G.1 = 0
   > u1 := K!phi(G.2); u1;
   a
   > u2 := K!phi(G.3); u2;
   -2*a^5 - a^3 + a^2 + a
   > Logs(u1);
   [ 0.11877157353322375762475480482285510811783185904379239999998, 
   0.048643909752673399635150940533329986148342128393119899999997, 
   -0.16741548328589715725990574535618509426617398743691229999999 ]
   > Logs(u2);
   [ 1.6502294567845884711894772749682228152154948421589999999997, 
   -2.09638539134527779532491660083370951943382108902299999999997, 
   0.44615593456068932413543932586548670421832624686433469999994 ]
Notice that the log image of $ u_1$ is clearly not a real multiple of the log image of $ u_2$ (e.g., the scalar would have to be positive because of the first coefficient, but negative because of the second). This illustrates the fact that the log images of $ u_1$ and $ u_2$ span a two-dimensional space.

Next we compute a field with $ r=3$ and $ s=0$. (A field with $ s=0$ is called totally real.)

   > K<a> := NumberField(x^3 + x^2 - 5*x - 1);
   > Signature(K);
   3 0
   > G, phi := UnitGroup(K);
   > G;
   Abelian Group isomorphic to Z/2 + Z + Z
   Defined on 3 generators
   Relations:
       2*G.1 = 0
   > u1 := K!phi(G.2); u1;
   1/2*(a^2 + 2*a - 1)
   > u2 := K!phi(G.3); u2;
   a
   > Logs(u1);
   [ 1.16761574692758757159598251863681302946987760474899999999995, 
   -0.39284872458139826129179862583435951875841422643044369999996, 
   -0.7747670223461893103041838928024535107114633783181766999998 ]
   > Logs(u2);
   [ 0.6435429462288618773851817227686467257757954024463081999999, 
   -1.6402241503223171469101505551700850575583464226669999999999, 
   0.9966812040934552695249688324014383317825510202205498999998 ]

A field with $ r=0$ is called totally complex. For example, the cyclotomic fields $ \mathbf{Q}(\zeta_n)$ are totally complex, where $ \zeta_n$ is a primitive $ n$th root of unity. The degree of $ \mathbf{Q}(\zeta_n)$ over $ \mathbf {Q}$ is $ \varphi (n)$ and $ r=0$, so $ s=\varphi (n)/2$ (assuming $ n>2$).

   > K := CyclotomicField(11); K;
   Cyclotomic Field of order 11 and degree 10
   > G, phi := UnitGroup(K);
   > G;
   Abelian Group isomorphic to Z/22 + Z + Z + Z + Z
   Defined on 5 generators
   Relations:
       22*G.1 = 0
   > u := K!phi(G.2); u;
   zeta_11^9 + zeta_11^8 + zeta_11^7 + zeta_11^6 + zeta_11^5 + 
       zeta_11^3 + zeta_11^2 + zeta_11 + 1
   > Logs(u);
   [ -1.25656632417872848745322215929976803991663080388899999999969,
   0.6517968940331400079717923884685099182823284402303273999999, 
   -0.18533004655986214094922163920197221556431542171819269999999, 
   0.5202849820300749393306985734118507551388955065272236999998, 
   0.26981449467537568109995283662137958205972227885009159999993 ]
   > K!phi(G.3);
   zeta_11^9 + zeta_11^7 + zeta_11^6 + zeta_11^5 + zeta_11^4 + 
       zeta_11^3 + zeta_11^2 + zeta_11 + 1
   > K!phi(G.4);
   zeta_11^9 + zeta_11^8 + zeta_11^7 + zeta_11^6 + zeta_11^5 + 
       zeta_11^4 + zeta_11^3 + zeta_11^2 + zeta_11
   > K!phi(G.5);
   zeta_11^9 + zeta_11^8 + zeta_11^7 + zeta_11^6 + zeta_11^5 + 
       zeta_11^4 + zeta_11^2 + zeta_11 + 1

How far can we go computing unit groups of cyclotomic fields directly with ?

   > time G,phi := UnitGroup(CyclotomicField(13));
   Time: 2.210
   > time G,phi := UnitGroup(CyclotomicField(17));
   Time: 8.600
   > time G,phi := UnitGroup(CyclotomicField(23));
   .... I waited over 10 minutes (usage of 300MB RAM) and gave up.

William Stein 2008-10-03