Next Page Contents

Dom::AlgebraicExtension -- simple algebraic field extensions

Introduction

For a given field F and a polynomial f ∈F[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.

Domain

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

Parameters

F - the ground field: a domain of category Cat::Field
f, f1, f2 - polynomials or polynomial expressions
x - identifier

Details

Introduction

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

Creating Elements

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

Parameters

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.

Details

Categories

Cat::Field

, Cat::Algebra(F), Cat::VectorSpace(F),

if F::hasProp(Cat::DifferentialRing) then
Cat::DifferentialRing
if F::hasProp(Cat::PartialDifferentialRing) then
Cat::PartialDifferentialRing

Related Domains

Dom::GaloisField

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.

Method _plus: sum of field elements

Method _mult: product of field elements

Method _negate: negate a field element

Method _subtract: difference of field elements

Method iszero: tests whether a field element is zero.

Method intmult: multiply a field element by an integer

Method _invert: inverse of a field element

Method gcd: gcd of field elements

Method conjNorm: norm of an element

Method conjTrace: trace of an element

Method minimalPolynomial: minimal polynomial of an element

Method D: differential operator

Method diff: partial differentiation

Method random: random element of the field

Method convert: convert into a field element

Method convert_to: convert a field element into another type

Method expr: convert an element of the field into an expression

Example 1

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

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

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

>> G(alpha)^3
                                     2

The trace of α is zero:

>> G::conjTrace(G(alpha))
                                     0

You can also create random elements:

>> G::random()
                                             2
                       - 65 alpha - 814 alpha  + 824

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)
      Dom::AlgebraicExtension(Dom::AlgebraicExtension(Dom::Rational,
      
              2                                   2
         alpha  - 2 = 0, alpha), bet - alpha + bet  = 0, 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)
      Dom::AlgebraicExtension(Dom::Fraction(
      
         Dom::DistributedPolynomial([x, y], Dom::Rational, LexOrder))
      
                2
         , alpha  - x = 0, alpha)

Now K = Q[sqrt(x), y] . Of course, the square root function has the usual derivative; note that 1/sqrt(x) can be expressed as α/x:

>> diff(K(alpha), x)
                                   alpha
                                   -----
                                    2 x

On the other hand, the derivative of sqrt(x) with respect to y is zero, of course:

>> diff(K(alpha), y)
                                     0

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))
                                   alpha
                                   -----
                                    2 x

Super-Domain

Dom::BaseDomain

Axioms

if F::hasProp(Ax::canonicalRep) then
Ax::canonicalRep
else
Ax::normalRep

Changes




Do you have questions or comments?


Copyright © SciFace Software GmbH & Co. KG 2000