### 14.3 Introduction to algebraic extensions

We assume here that the fields are of characteristic 0 so that irreductible polynomials have simple roots (are separable, thus square free). The base fields K of interest are the field Q of rational numbers, for algebraic numbers, and the fields of rational functions on the real numbers R or the complex numbers C, that is R(t) or C(t), when considering algebraic functions. An extension of degree n is defined by an irreducible degree n polynomial p(x) with coefficients in the base field, and consists of the quotient of the ring K[x] of polynomials by the multiples of p(x). So if p(x) = x^n + p_0 x^{n - 1} + ... + p_n, each time one encounters x^n one substitutes -(p_0 x^{n - 1} + ... + p_n). This is a field because of Bezout’s identity, and a vector space of dimension n over K spanned by 1, x, ..., x^{n - 1}. When K = C(t), this field can be identified with the field of algebraic functions on the algebraic curve of equation p(x, t) = 0.

In Maxima the process of taking rationals modulo p is obtained by the function `tellrat` when `algebraic` is true. The best way to ensure, in particular when considering the case where p depends on other variables that this simplification property is attached to x is to write (note the polynomial must be monic): `tellrat(x^n = -(p_0*x^(n - 1) + ... + p_n))` where the p_i may depend on other variables. When one wants to remove this tellrat property one then has to write `untellrat(x)`.

In the field K[x] one may do all sorts of algebraic computations, taking quotients, GCD of two elements, etc. by the same algorithms as in the usual case. In particular one can do factorization of polynomials on an extension, using the function `algfac` below. Moreover multiplication by an element f is a linear operation of the vector space K[x] over K and as such has a trace and a determinant. These are called `algtrace` and `algnorm` below. One can see that the trace of an element f(x) in K[x] is the sum of the values f(a) when a runs over roots of p and the norm is the product of the f(a). Both are symmetric in the roots of p and thus belong to K.

The field K[x] is also called the field obtained by adjoining a root a of p(x) to K. One can similarly adjoin a second root b of another polynomial obtaining a new extension K[a,b]. In fact there is a “prime element” c in K[a, b] such that K[a, b] = K[c]. This is obtained by function `primeelmt` below. Recursively one can thus adjoin any number of elements. In particular adjoining all the roots of p(x) to K one gets the splitting field of p, which is the smallest extension in which p completely splits in linear functions. The function `splitfield` constructs a primitive element of the splitting field, which in general is of very high degree.

The relevant concepts are explained in a concise and self-contained way in the small books edited by Dover: “Algebraic theory of numbers,” by Pierre Samuel, “Algebraic curves,” by Robert Walker, and the methods presented here are described in the article “Algebraic factoring and rational function integration” by B. Trager, Proceedings of the 1976 AMS Symposium on Symbolic and Algebraic Computation.