Previous Page Next Page Contents

polylib::primitiveElement -- primitive element for tower of field extensions

Introduction

For given field extensions F=K(alpha) and G=F(beta), polylib::primitiveElement(F, G) returns a list consisting of a simple algebraic extension of K that is K-isomorphic to G, a symbol for a primitive element of that extension, and the images of alpha and beta under some fixed K-isomorphism.

Call(s)

polylib::primitiveElement(F, G)

Parameters

F - a field created by Dom::AlgebraicExtension
G - a field created by Dom::AlgebraicExtension with ground field F

Returns

The list returned consists of four operands:



Related Functions

polylib::splitfield, Dom::AlgebraicExtension

Details

Example 1

Since the rational numbers are perfect, extensions of them can always be handled:

>> F:=Dom::AlgebraicExtension(Dom::Rational, sqrt2^2-2):
   G:=Dom::AlgebraicExtension(F, sqrt3^2-3):
   

Now G=Q(sqrt(2), sqrt(3)), and we use polylib::primitiveElement to find a primitive element for G:

>> polylib::primitiveElement(F, G)
   
      --
      |
      |  Dom::AlgebraicExtension(Dom::Rational,
      --
      
                                                   3            3 --
           4        2                     9 X1   X1   11 X1   X1   |
         X1  - 10 X1  + 1 = 0, X1), X1, - ---- + ---, ----- - ---  |
                                           2      2     2      2  --

This means that a primitive element X1 of the extension is determined by its minimal polynomial X1^4-10*X1^2+1. The last two operands of the list are field elements whose squares are 2 and 3, respectively.

Example 2

The function works also for subdomains of AlgebraicExtension, e.g. Galois fields.

>> F:=Dom::GaloisField(7,2):
   G:=Dom::GaloisField(F,2): 
   polylib::primitiveElement(F, G)
      [Dom::AlgebraicExtension(Dom::IntegerMod(7),
      
                  2       3     4
         3 X5 - X5  + 2 X5  + X5  - 1 = 0, X5), X5,
      
                      2       3
         - 3 X5 + 3 X5  - 3 X5  - 2, X5]

Background




Do you have questions or comments?


Copyright © SciFace Software GmbH & Co. KG 2000