compute integral bases of algebraic function fields
integral_basis(f, x, y, S)
algebraic function or a set of algebraic functions
squarefree polynomial in x and y
(optional) set of irreducible polynomials in x
This procedure computes an integral basis over Lx for an algebraic function field L⁡x⁡a, where L denotes the coefficient field. An integral basis is a basis of the Lx-module of functions which have no poles, except maybe at x=∞. There are several ways to specify the function field under consideration:
- by a RootOf a representing an algebraic function in the variable x. The polynomial defining the RootOf need not be irreducible but must be squarefree. If it is not irreducible, then a basis for the product of fields generated by the irreducible factors is computed.
- by a set a of RootOfs representing algebraic functions of x. In this case, the RootOfs must be independent.
- by a squarefree polynomial f over L in x and y. If f is irreducible, then an integral basis for the field generated by one of its roots is computed. If f is reducible, then an integral basis for the product of fields generated by the irreducible factors is computed.
The coefficient field L can be the field of rational numbers, a field of rational functions over the rational numbers or any algebraic extension of those. An algebraic extension may be specified in radical or RootOf notation. If the RootOf notation is used, then the RootOfs must be independent.
The output is a list of elements of the function field which generate (as Lx-module) the integral closure of Lx in the function field L⁡xa. If the input is a polynomial, then the output will expressed in terms of the variable y. If the input is a RootOf or a set of RootOfs, then these RootOfs will be used to represent the basis.
If a contains no other variable than x, then the second argument x is not necessary. Note that in this case, L is an algebraic extension of the rational numbers.
By setting infolevel[integral_basis] or infolevel[algcurves] to a positive value some information will be printed during the computation.
The method used to compute an integral basis is based on Puiseux expansions, c.f. M. van Hoeij, "An algorithm for computing an integral basis in an algebraic function field", J. of Symbolic Computation, 1994, 18, p. 353-363. The functions parametrization, Weierstrassform and differentials in the algcurves package are based on integral_basis, because the integral basis contains the necessary information about the singularities in a for computer computations very convenient way.
If the optional argument S is given then all factors of the discriminant that do not appear in S will be ignored in the algorithm. Then the output will be an integral basis over Lx_⁡p for each polynomial p in S, (i.e. a local integral basis at p for each p in S).
α ≔ RootOf⁡x3+7,x
f ≔ y8+3⁢x⁢y5⁢α+5⁢x4+x6⁢α
g ≔ y4−2⁢x⁢y2+2⁢212⁢y2+x2−2⁢212⁢x+2+y6
r ≔ RootOf⁡_Z3+_Z2−x4
Download Help Document