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

 


OrderSUnits

Computes the S-unit group.

Syntax:

L := OrderSUnits(o [,S  |  I] [,"raw"]);

list
  L  
of L1, T, hs or L2, hs
list
  L1  
of algebraic integers
list
  L2  
of S-units
matrix
  T  
transformation matrix
integer
  hs  
S-class number
order
  o  
list
  S  
of pairwise distinct prime ideals.
ideal
  I  

See also:  OrderClassGroup, OrderClassGroupCheck, OrderSUnitsPositive

Description:

The OrderSUnits function returns a basis of the S-units modulo torsion units. You may specify S either as a list of prime ideals or as an ideal {\goth{I}}. In this case S consists of all primes dividing {\goth{I}}. Omitting the argument S means to choose for S the factor basis used during class group computation. The first elements of this basis are fundamental units. If the last argument is "raw", this function will return some algebraic integers \alpha|1, \dots, \alpha|s and a transformation matrix T such that (\alpha|1, \dots, \alpha|s)T interpreted as power products gives a basis of the S-unit group modulo torsion units. In both cases it will also return the cardinality of the subgroup of the class group which is generated by the prime ideals of S. The first basis elements are not fully proven to be fundamental units. This may be verified using OrderClassGroupCheck.


Example:

For Q(\sqrt[3]{333}) we have for example:

kash> o := OrderMaximal(Z, 3, 333);;
kash> OrderClassGroup(o, 500, euler, fast);
[ 3, [ 3 ] ]
kash> OrderSUnits(o, 7*11*13*o);
> [ [ [-7309383190, 288532187, 331545960], -7, [256, 37, 16], [-13, -12, 6], 
      [3422, -161, -144], [4852, 700, 303], [16, 0, -1] ], 3 ]


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