NumberTheory - Maple Programming Help

Home : Support : Online Help : Mathematics : Number Theory : NumberTheory/IntegralBasis

NumberTheory

 IntegralBasis
 integral base of an algebraic number field

 Calling Sequence IntegralBasis(k) IntegralBasis(k, primes = primopt, method = methopt)

Parameters

 k - algebraic number, a set of algebraic numbers, or a univariate irreducible polynomial over an algebraic number field primes = primopt - (optional) keyword argument where primopt is a prime number or a set of prime numbers method = methopt - (optional) keyword argument where methopt is one of the symbols roundfour, roundtwo, or padic; valid only when k is a polynomial, an algebraic number, or a set of one algebraic number

Description

 • The IntegralBasis(k) command computes an integral basis for an algebraic number field $K$ specified by the parameter k. The output is a list of elements of $K$ which generate the $Z$-module of integral elements of $K$, where $Z$ denotes the ring of integers. An element $K$ is said to be integral over $Z$ if it annihilates a monic univariate polynomial with coefficients in $Z$.
 • There are several ways to specify $K$ with k:
 – by a RootOf or a set of RootOf expressions representing algebraic numbers. The RootOf expressions must be independent. The output will be in RootOf notation.
 – by a radical number or a set of radical numbers. The output will be in radical notation, but the output radicals may differ from the input radicals.
 – by a univariate polynomial over the rational numbers or over an algebraic number field in RootOf or radical notation. The polynomial must be irreducible over its coefficients field and the RootOf appearing in the coefficients must be independent. The output will be expressed in terms of the variable.
 • If the keyword argument primes is given, then a local integral basis at these primes is computed instead of an integral basis over $Z$.
 • The following are valid values for the keyword argument method:
 – roundfour: The Ford & Zassenhaus Round Four algorithm is used. See "Implementing the Round Four Maximal Order Algorithm", by D. Ford & P. Letard, Journal de Theorie des Nombres de Bordeaux, 1994, 6, p. 39-80. This is the default.
 – roundtwo: The Zassenhaus Round Two algorithm is used. See "A Course in Computational Algebraic Number Theory" by Henri Cohen, Springer.
 – padic: With this option the algorithm will try to compute roots of k in the form of p-adic numbers if k is a polynomial. If k is an algebraic number or a set of one algebraic number, then the algorithm will work with the minimal polynomial of that number. Let $d$ be the discriminant of the polynomial. The primes that are used are the primes of the keyword argument primes whose square divides $d$, or if primes is not given, the prime factors of $d$ with multiplicity of at least $2$. If at a prime $p$ no wild ramification occurs then the integral basis at the prime $p$ is computed using these p-adic roots, see  "An algorithm for computing an integral basis in an algebraic function field", J. of Symbolic Computation, 1994, 18, p. 353-363. If a wild ramification (that is, $p$ divides the ramification index) does occur then this method does not work. A warning message will be given and the integral basis at the prime $p$ will be computed using the Round Four algorithm.

Examples

 > $\mathrm{with}\left(\mathrm{NumberTheory}\right):$
 > $q≔41296-6864t+1128{t}^{2}-336{t}^{3}-6{t}^{5}+{t}^{6}$
 ${q}{≔}{{t}}^{{6}}{-}{6}{}{{t}}^{{5}}{-}{336}{}{{t}}^{{3}}{+}{1128}{}{{t}}^{{2}}{-}{6864}{}{t}{+}{41296}$ (1)
 > $\mathrm{IntegralBasis}\left(q\right)$
 $\left[{1}{,}{t}{,}\frac{{{t}}^{{2}}}{{2}}{,}\frac{{{t}}^{{3}}}{{4}}{,}\frac{{1}}{{24}}{}{{t}}^{{4}}{+}\frac{{1}}{{3}}{}{{t}}^{{2}}{+}\frac{{1}}{{2}}{}{t}{+}\frac{{2}}{{3}}{,}\frac{{1}}{{1443432}}{}{{t}}^{{5}}{+}\frac{{4513}}{{360858}}{}{{t}}^{{4}}{+}\frac{{31066}}{{180429}}{}{{t}}^{{3}}{+}\frac{{36025}}{{180429}}{}{{t}}^{{2}}{+}\frac{{32903}}{{180429}}{}{t}{+}\frac{{8819}}{{180429}}\right]$ (2)
 > $\mathrm{IntegralBasis}\left(q,\mathrm{primes}=2,\mathrm{method}=\mathrm{padic}\right)$
 $\left[{1}{,}{t}{,}\frac{{{t}}^{{2}}}{{2}}{,}\frac{{{t}}^{{3}}}{{4}}{,}\frac{{1}}{{8}}{}{{t}}^{{4}}{+}\frac{{1}}{{2}}{}{t}{,}\frac{{{t}}^{{5}}}{{8}}\right]$ (3)
 > $\mathrm{IntegralBasis}\left(q,\mathrm{primes}=\left\{2,3\right\}\right)$
 $\left[{1}{,}{t}{,}\frac{{{t}}^{{2}}}{{2}}{,}\frac{{{t}}^{{3}}}{{4}}{,}\frac{{1}}{{24}}{}{{t}}^{{4}}{+}\frac{{1}}{{3}}{}{{t}}^{{2}}{+}\frac{{1}}{{2}}{}{t}{+}\frac{{2}}{{3}}{,}\frac{{1}}{{24}}{}{{t}}^{{5}}{+}\frac{{1}}{{12}}{}{{t}}^{{3}}{+}\frac{{2}}{{3}}{}{t}\right]$ (4)
 > $\mathrm{IntegralBasis}\left(\left\{{10}^{\frac{1}{3}}\right\}\right)$
 $\left[{1}{,}{{10}}^{{1}}{{3}}}{,}\frac{{{10}}^{{2}}{{3}}}}{{3}}{+}\frac{{{10}}^{{1}}{{3}}}}{{3}}{+}\frac{{1}}{{3}}\right]$ (5)
 > $\mathrm{IntegralBasis}\left(\left\{{6}^{\frac{1}{2}},{10}^{\frac{1}{2}}\right\}\right)$
 $\left[{1}{,}\sqrt{{10}}{,}{-}\frac{\sqrt{{10}}}{{2}}{+}\frac{\sqrt{{6}}}{{2}}{,}\frac{\sqrt{{10}}{}\sqrt{{6}}}{{2}}\right]$ (6)
 > $r≔\mathrm{RootOf}\left({x}^{3}-15{x}^{2}+75x-4825,x\right)$
 ${r}{≔}{\mathrm{RootOf}}{}\left({{\mathrm{_Z}}}^{{3}}{-}{15}{}{{\mathrm{_Z}}}^{{2}}{+}{75}{}{\mathrm{_Z}}{-}{4825}\right)$ (7)

By setting the infolevel for this command to a positive value, some information will be printed during computation.

 > $\mathrm{infolevel}\left[\mathrm{IntegralBasis}\right]≔1:$
 > $\mathrm{IntegralBasis}\left(r\right)$
 IntegralBasis:   factorizing the discriminant   -596430000 IntegralBasis:   set of primes   {2, 3, 5, 47} IntegralBasis:   computing local integral basis in the prime   2 IntegralBasis:   calling Round 4 method IntegralBasis:   computing local integral basis in the prime   3 IntegralBasis:   calling Round 4 method IntegralBasis:   computing local integral basis in the prime   5 IntegralBasis:   calling Round 4 method IntegralBasis:   computing local integral basis in the prime   47 IntegralBasis:   calling Round 4 method
 $\left[{1}{,}{\mathrm{RootOf}}{}\left({{\mathrm{_Z}}}^{{3}}{-}{15}{}{{\mathrm{_Z}}}^{{2}}{+}{75}{}{\mathrm{_Z}}{-}{4825}\right){,}\frac{{{\mathrm{RootOf}}{}\left({{\mathrm{_Z}}}^{{3}}{-}{15}{}{{\mathrm{_Z}}}^{{2}}{+}{75}{}{\mathrm{_Z}}{-}{4825}\right)}^{{2}}}{{10}}{+}\frac{{1}}{{2}}\right]$ (8)

Compatibility

 • The NumberTheory[IntegralBasis] command was introduced in Maple 2016.