Contents

Dom::AlgebraicExtension

Simple algebraic field extensions

Syntax

Domain Creation

Dom::AlgebraicExtension(F, f)
Dom::AlgebraicExtension(F, f, x)
Dom::AlgebraicExtension(F, f1 = f2)
Dom::AlgebraicExtension(F, f1 = f2, x)

Element Creation

Dom::AlgebraicExtension(F,f)(g)
Dom::AlgebraicExtension(F, f)(rat)

Description

Domain Creation

For a given field F and a polynomial fF[x], Dom::AlgebraicExtension(F, f, x) creates the residue class field F[x]/<f>.

Dom::AlgebraicExtension(F, f1=f2, x) does the same for f = f1 - f2.

Dom::AlgebraicExtension(F, f, x) creates the field F[x]/<f> of residue classes of polynomials modulo f. This field can also be written as F[x]/<f>, the field of residue classes of rational functions modulo f.

The parameter x may be omitted if f is a univariate polynomial or a polynomial expression that contains exactly one indeterminate; it is then taken to be the indeterminate occurring in f.

The field F must have normal representation.

f must not be a constant polynomial.

f must be irreducible; this is not checked.

f may be a polynomial over a coefficient ring different from F, or multivariate; however, it must be possible to convert it to a univariate polynomial over F. See Example 2.

Element Creation

Dom::AlgebraicExtension(F, f)(g) creates the residue class of g modulo f.

If rat has numerator and denominator p and q, respectively, then Dom::AlgebraicExtension(F,f)(rat) equals Dom::AlgebraicExtension(F,f)(p) divided by Dom::AlgebraicExtension(F,f)(q).

Superdomain

Dom::BaseDomain

Axioms

If F has Ax::canonicalRep, then Ax::canonicalRep.

Examples

Example 1

We adjoin a cubic root alpha of 2 to the rationals.

G := Dom::AlgebraicExtension(Dom::Rational, alpha^3 = 2)

The third power of a cubic root of 2 equals 2, of course.

G(alpha)^3

The trace of α is zero:

G::conjTrace(G(alpha))

You can also create random elements:

G::random()

Example 2

The ground field may be an algebraic extension itself. In this way, it is possible to construct a tower of fields. In the following example, an algebraic extension is defined using a primitive element alpha, and the primitive element beta of a further extension is defined in terms of alpha. In such cases, when a minimal equation contains more than one identifier, a third argument to Dom::AlgebraicExtension must be explicitly given.

F := Dom::AlgebraicExtension(Dom::Rational, alpha^2 = 2):
G := Dom::AlgebraicExtension(F, bet^2 + bet = alpha, bet)

Example 3

We want to define an extension of the field of fractions of the ring of bivariate polynomials over the rationals.

P:= Dom::DistributedPolynomial([x, y], Dom::Rational):
F:= Dom::Fraction(P):
K:= Dom::AlgebraicExtension(F, alpha^2 = x, alpha)

Now . Of course, the square root function has the usual derivative; note that can be expressed as :

diff(K(alpha), x)

On the other hand, the derivative of with respect to y is zero, of course:

 diff(K(alpha), y)

We must not use D here. This works only if we start our construction with a ring of univariate polynomials:

P:= Dom::DistributedPolynomial([x], Dom::Rational):
F:= Dom::Fraction(P):
K:= Dom::AlgebraicExtension(F, alpha^2 = x, alpha):
D(K(alpha))

Parameters

F

The ground field: a domain of category Cat::Field

f, f1, f2

Polynomials or polynomial expressions

x

Identifier

g

Element of the residue class to be defined: polynomial over F in the variable x, or any object convertible to such.

rat

Rational function that belongs to the residue class to be defined: expression whose numerator and denominator can be converted to polynomials over F in the variable x. The denominator must not be a multiple of f.

Entries

"zero"

the zero element of the field extension

"one"

the unit element of the field extension

"groundField"

the ground field of the extension

"minpoly"

the minimal polynomial f

"deg"

the degree of the extension, i.e., of f

"variable"

the unknown of the minimal polynomial f

"characteristic"

the characteristic, which always equals the characteristic of the ground field. This entry only exists if the characteristic of the ground field is known.

"degreeOverPrimeField"

the dimension of the field when viewed as a vector space over the prime field. This entry only exists if the ground field is a prime field, or its degree over its prime field is known.

Methods

expand all

Mathematical Methods

_plus — Sum of field elements

_plus(a, …)

This method overloads the function _plus of the system kernel.

_mult — Product of field elements

_mult(a, …)

This method overloads the function _mult of the system kernel.

_negate — Negate a field element

_negate(a)

This method overloads the function _negate of the system kernel.

_subtract — Difference of field elements

_subtract(a, b)

This method overloads the function _subtract of the system kernel.

iszero — Test whether a field element is zero.

iszero(a)

This method overloads the function iszero.

intmult — Multiply a field element by an integer

intmult(a, b)

This method is more efficient than "_mult" in this special case.

_invert — Inverse of a field element

_invert(a)

This method overloads the function _invert.

gcd — Gcd of field elements

gcd(a, …)

This method overloads the function gcd.

D — Differential operator

D(a)

This method overloads the function D.

This method must not be called for inseparable extensions; note that MuPAD® cannot check whether an extension is separable.

See Example 3.

diff — Partial differentiation

diff(a, x1, …)

Differentiation is defined to be the continuation of differentiation of the ground field; this method exists only if the ground field has a method "diff", too.

Differentiation is not possible in inseparable extensions.

This method overloads the function diff.

This method must not be called for inseparable extensions; note that MuPAD cannot check whether an extension is separable.

See Example 3.

random — Random element of the field

random()

The random method of the ground field is used to generate coefficients of a random polynomial of the ground field; the residue class of that polynomial is the return value. Hence the probability distribution of the elements returned depends on that of the random method of the ground field.

Conversion Methods

convert — Convert into a field element

convert(x)

If the conversion fails, then FAIL is returned.

convert_to — Convert a field element into another type

convert_to(a, T)

Field elements can be converted to polynomials or expressions. Field elements represented by constant polynomials can also be converted to the same types as the elements of the ground field; in particular, they can be converted to elements of the ground field.

expr — Convert an element of the field into an expression

expr(a)

This method overloads the function expr.

See Also

MuPAD Domains

Was this topic helpful?