alnuth ...... 2009-09-08 1 2 experimental http://www.math.tu-berlin.de/~kant/alnuth.ocd fieldname1 list1 matrix1 nums1 order1 order2 polyd1 setname1 This CD recovers the main functions used in the "ALNUTH" project (KANT-GAP). It defines several basic functions and constructors for computations in orders of number fields. Written by Sylla Lesseni. A CD of basic functions and constructors for computations in orders of number fields according to the "ALNUTH" project and written for SCIEnce project. Note that all the rings used here will be considered unital. Given an order O of a number field K and U the unit group of O (abelian). The torsion subgroup T of U is a cyclic group and the system of fundamental units of O is a basis of the torsion free part of U. Each element u of U is written as a product of a power of the generator of T and powers of the elements of the system of fundamental units. The main purpose is to get the sequence of the exponents of the previous decomposition of the unit u. The reference textbooks about that are stated in this OM CD are: (1) M. Pohst and H. Zassenhaus, Algorithmic Algebraic Number Theory, Cambridge Univ. Press, 1989. (2) H. Cohen, A course in Computational Algebraic number Theory. Berlin, Springer-Verlag (1993). (3) the documentation of the computer algebra systems KANT (Berlin) and GAP (St-Andrews). is_order_unit application This unary function checks whether the given element which is an element of the maximal order of a number field is a unit (ie belongs to the unit group). Note that the unit group of the maximal order of a number field is an abelian group. 1 1 4 -2 0 1 -1 1 -1 is_torsion_unit application This unary function checks whether the given element which is an element of an order O is an element of the torsion subgroup T of the unit group U of O. 1 1 4 -2 0 1 -1 1 -1 is_torsion_free_unit application This symbol represents a unary function. It checks whether the given element of an order O is an element of the torsion free subgroup of the unit group of O. unit_rank application This symbol represents a unary function. Its argument is the maximal order O of a number field. It returns the rank of the unit group of O ie the number of the elements of the system of fundamental units of O. 1 1 4 -2 0 cardinality_unit_group application This symbol represents a unary function. Its argument is the maximal order O of a number field. It returns the number of elements of the unit group of O. 1 1 4 -2 0 cardinality_torsion_unit_group application This symbol represents a unary function. Its argument is the maximal order O of a number field. It returns the number of elements of the torsion unit group of O, ie the number of roots of the unity. 1 1 4 -2 0 torsion_free_rank application This symbol represents a unary function. Its argument is an abelian group G. It returns the rank of the torsion free subgroup of G. order_simplify application This symbol represents a unary function. Its argument is an order of a number field. It returns a simplified order. equation_order application This symbol represents a unary function. Its argument should be an order O of a number field. It returns the order O with its defining polynomial. 1 1 4 -2 0 has_norm_equation application This binary function checks whether the both given integers arg1 and arg2 are such that there exists a solution to the equation: x^2 +arg1*y^2 = arg2. 2 4 basis_matrix application This symbol represents a unary function. Its argument is an order O of a number field. It returns the basis matrix of O. 1 1 4 -2 0 elt_unit_decompose application This symbol represents a unary function. Its argument is an element u of the unit group U of an order O of a number field. One knows that u:= a_0^m0*a_1^m1*...a_r^mr, where a_0 is the generator of the torsion subgroup of U and a_1,...,a_r is the system of fundamental units of O and m0,m1,...,mr are rational integers. The function returns the sequence of the exponents m0,m1,...,mr of the decomposition of u. 1 1 4 -2 0 1 -1 1 -1