Dom::AlgebraicExtension

Simple algebraic field extensions

MuPAD® notebooks will be removed in a future release. Use MATLAB® live scripts instead.

MATLAB live scripts support most MuPAD functionality, though there are some differences. For more information, see Convert MuPAD Notebooks to MATLAB Live Scripts.

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(a, …)

This method overloads the function _plus of the system kernel.

_mult(a, …)

This method overloads the function _mult of the system kernel.

Inherited from Cat::Monoid.

_negate(a)

This method overloads the function _negate of the system kernel.

_subtract(a, b)

This method overloads the function _subtract of the system kernel.

Inherited from Dom::BaseDomain.

Inherited from Cat::BaseCategory.

iszero(a)

This method overloads the function iszero.

Inherited from Cat::Monoid.

Inherited from Cat::Field.

intmult(a, b)

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

_invert(a)

This method overloads the function _invert.

Inherited from Cat::Field.

Inherited from Cat::Field.

Inherited from Cat::Field.

Inherited from Cat::Field.

Inherited from Cat::Field.

Inherited from Cat::EuclideanDomain.

Inherited from Cat::Field.

gcd(a, …)

This method overloads the function gcd.

Inherited from Cat::EuclideanDomain.

Inherited from Cat::Field.

Inherited from Cat::Field.

Inherited from Cat::Field.

Inherited from Cat::GcdDomain.

Inherited from Cat::Field.

Inherited from Cat::Field.

Inherited from Cat::Field.

conjNorm(a)

conjTrace(a)

minimalPolynomial(a)

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(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()

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(x)

If the conversion fails, then FAIL is returned.

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.

Inherited from Cat::BaseCategory.

Inherited from Cat::BaseCategory.

expr(a)

This method overloads the function expr.

Inherited from Dom::BaseDomain.

Inherited from Dom::BaseDomain.

Inherited from Cat::BaseCategory.

Inherited from Cat::BaseCategory.

Inherited from Dom::BaseDomain.

Inherited from Dom::BaseDomain.

Inherited from Dom::BaseDomain.

Inherited from Dom::BaseDomain.

Inherited from Dom::BaseDomain.

Inherited from Dom::BaseDomain.

Inherited from Dom::BaseDomain.

Inherited from Dom::BaseDomain.

Inherited from Dom::BaseDomain.

Inherited from Dom::BaseDomain.

Inherited from Dom::BaseDomain.

See Also

MuPAD Domains