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

 


OrderUnitsExcep

Computes all exceptional units of an order.

Syntax:

L := OrderUnitsExcep(o);
L := OrderUnitsExcep(o,"orbits"|"list");
n := OrderUnitsExcep(o,"number");

list
  L  
integer
  n  
order
  o  

See also:  EltExcepUnitOrbit, OrderExcepSequence, OrderUnitsEquation

Description:

Let o be an arbitrary order. In the terminology of T.~Nagell Nag a unit \varepsilon \in o is exceptional if 1 - \varepsilon is also a unit. \smallskip For an exceptional unit \varepsilon \in o all the units \varepsilon_1 = \varepsilon, quad \varepsilon_2 = frac{1}{\varepsilon}, quad \varepsilon_3 = 1-\varepsilon, quad \varepsilon_4 = frac{1}{1-\varepsilon}, quad \varepsilon_5 = frac{\varepsilon-1}{\varepsilon}, quad \varepsilon_6 = frac{\varepsilon}{\varepsilon-1} are exceptional. The set formed by \varepsilon_1, … ,\varepsilon_6 is called the orbit of \varepsilon. \bigskip OrderUnitsExcep(o) or OrderUnitsExcep(o,"orbits") returns a list whose entries represent all orbits.\medskip OrderUnitsExcep(o,"number") returns the number of exceptional units in o.\medskip OrderUnitsExcep(o,"list") returns the list L of all exceptional units in o.


Example:

Compute exceptional units in Z[zeta_7].

kash> O := Order(Poly(Zx,[1,1,1,1,1,1,1]));
Generating polynomial: x^6 + x^5 + x^4 + x^3 + x^2 + x + 1

kash> OrderUnitsExcep(O);
[ [0, -1, 0, 0, 0, 0], [0, -1, -1, 0, 0, 0], [0, 0, -1, 0, 0, 0], 
  [0, -1, -1, -1, 0, 0], [0, -1, -1, -1, -1, 0], [-1, 0, 0, -1, -1, 0], 
  [0, 0, 0, -1, -1, 0], [1, 0, 0, -1, -1, 0], 
  [-684, 0, -549, -244, -244, -549], [-7, 0, -6, -3, -3, -6], 
  [-3, 0, -3, -1, -1, -3], [-2, 0, -2, -1, -1, -2] ]
kash> OrderUnitsExcep(O,"number");
72
kash> OrderUnitsExcep(O,"list");
> [ [0, -1, 0, 0, 0, 0], [1, 1, 0, 0, 0, 0], [0, -1, -1, -1, -1, -1], 
  [0, -1, 0, -1, 0, -1], [1, 1, 0, 1, 0, 1], [1, 1, 1, 1, 1, 1], 
  [0, -1, -1, 0, 0, 0], [1, 1, 1, 0, 0, 0], [0, 0, -1, 0, -1, 0], 
  [0, -1, 0, 0, -1, 0], [1, 1, 0, 0, 1, 0], [1, 0, 1, 0, 1, 0], 
  [0, 0, -1, 0, 0, 0], [1, 0, 1, 0, 0, 0], [0, -1, 0, 0, -1, -1], 
  [0, 0, 0, 0, 0, -1], [1, 0, 0, 0, 0, 1], [1, 1, 0, 0, 1, 1], 
  [0, -1, -1, -1, 0, 0], [0, 0, 0, -1, 0, 0], [1, 0, 0, 1, 0, 0], 
  [1, 1, 1, 1, 0, 0], [0, 0, 0, 0, -1, 0], [1, 0, 0, 0, 1, 0], 
  [0, -1, -1, -1, -1, 0], [1, 1, 1, 1, 1, 0], [0, -1, -1, 0, -1, -1], 
  [0, 0, 0, -1, 0, -1], [1, 0, 0, 1, 0, 1], [1, 1, 1, 0, 1, 1], 
  [-1, 0, 0, -1, -1, 0], [2, 0, 0, 1, 1, 0], [1, 0, -1, -2, -2, -1], 
  [-1, 0, -1, -1, -1, -1], [2, 0, 1, 1, 1, 1], [0, 0, 1, 2, 2, 1], 
  [0, 0, 0, -1, -1, 0], [1, 0, 0, 1, 1, 0], [0, 0, -1, -1, -1, -1], 
  [0, 0, -1, 0, 0, -1], [1, 0, 1, 0, 0, 1], [1, 0, 1, 1, 1, 1], 
  [1, 0, 0, -1, -1, 0], [0, 0, 0, 1, 1, 0], [-1, 0, -1, 0, 0, -1], 
  [2, 0, -1, 1, 1, -1], [-1, 0, 1, -1, -1, 1], [2, 0, 1, 0, 0, 1], 
  [-684, 0, -549, -244, -244, -549], [136, 0, -305, -549, -549, -305], 
  [441, 0, -244, 305, 305, -244], [-440, 0, 244, -305, -305, 244], 
  [-135, 0, 305, 549, 549, 305], [685, 0, 549, 244, 244, 549], 
  [-7, 0, -6, -3, -3, -6], [2, 0, -3, -6, -6, -3], [5, 0, -3, 3, 3, -3], 
  [-4, 0, 3, -3, -3, 3], [-1, 0, 3, 6, 6, 3], [8, 0, 6, 3, 3, 6], 
  [-3, 0, -3, -1, -1, -3], [1, 0, -2, -3, -3, -2], [3, 0, -1, 2, 2, -1], 
  [-2, 0, 1, -2, -2, 1], [0, 0, 2, 3, 3, 2], [4, 0, 3, 1, 1, 3], 
  [-2, 0, -2, -1, -1, -2], [1, 0, -1, -1, -1, -1], [1, 0, -1, 0, 0, -1], 
  [0, 0, 1, 0, 0, 1], [0, 0, 1, 1, 1, 1], [3, 0, 2, 1, 1, 2] ]


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