Primfield - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

All Products    Maple    MapleSim


Primfield

primitive element of an algebraic extension

 

Calling Sequence

Parameters

Description

Examples

Calling Sequence

Primfield(L, K)

Parameters

L

-

set of RootOfs

K

-

(optional) set of RootOfs

Description

• 

The Primfield function is a placeholder for representing a primitive description of an algebraic extension. It is used in conjunction with either evala or mod.

• 

The call evala(Primfield(L, K)) computes a primitive element of the field L over the field K, that is an element a such that L=Ka. In case K is not specified, the smallest possible transcendental extension of the rational numbers is chosen.

• 

A list of the form [[q0],[q1,q2,...,qn]], where the qi's denote equations, is returned: the left-hand side of q0 is a RootOf representing the primitive element and the right-hand side of this equation is the expression of the primitive element in terms of the RootOfs in L. The left-hand side of the other equations are the RootOfs in L and the right-hand side are their expressions in terms of the powers of the primitive element.

• 

The RootOfs in K must form a subset of the RootOfs occurring in L. In other words, K must be a 'syntactic' subfield of the field L.

• 

In case Primfield is used in conjunction with mod then the field K equals Fp, the finite field with p elements and K cannot be specified. If L contains transcendental elements (if L contains variables) then random values in Fp will be substituted for these variables and q0 will not be calculated.

• 

Most Maple procedures used in conjunction with mod do not allow multiple or nested or reducible RootOfs as input. To handle such RootOfs, use Primfield to find a reduction to a single irreducible RootOf modulo p. If the input contains dependent or reducible RootOfs then Primfield in conjunction with evala will generate an error message, but Primfield in conjunction with mod will chose a random factor. This is useful for reducing expressions in characteristic zero to a finite field, a process in which irreducible and independent RootOfs often become reducible or dependent. For this application q0 is often not needed; to avoid its computation include a variable in the set L.

Examples

KevalaPrimfieldRootOf_Z22,RootOf_Z23

KRootOf_Z410_Z2+1=RootOf_Z22+RootOf_Z23,RootOf_Z22=RootOf_Z410_Z2+1329RootOf_Z410_Z2+12,RootOf_Z23=11RootOf_Z410_Z2+12RootOf_Z410_Z2+132

(1)

fx2RootOf_Z23+xRootOf_Z22+1

fx2RootOf_Z23+xRootOf_Z22+1

(2)

primfevalf,K2

primfx211RootOf_Z410_Z2+12RootOf_Z410_Z2+132+xRootOf_Z410_Z2+1329RootOf_Z410_Z2+12+1

(3)

f1evalprimf,K1

f1x211RootOf_Z222+11RootOf_Z232RootOf_Z22+RootOf_Z2332+xRootOf_Z22+RootOf_Z23329RootOf_Z2229RootOf_Z232+1

(4)

evalaNormalff1

0

(5)

aliasα=RootOf_Z21RootOf_Z22:

aliassqrt3=RootOf_Z23:

aliassqrt2=RootOf_Z22:

LevalaPrimfieldα,sqrt3,sqrt2

LRootOf_Z4+2sqrt28_Z24sqrt2+6=sqrt3+α,sqrt3=RootOf_Z4+2sqrt28_Z24sqrt2+63sqrt24RootOf_Z4+2sqrt28_Z24sqrt2+632+3RootOf_Z4+2sqrt28_Z24sqrt2+6sqrt2+11RootOf_Z4+2sqrt28_Z24sqrt2+62,α=9RootOf_Z4+2sqrt28_Z24sqrt2+62+RootOf_Z4+2sqrt28_Z24sqrt2+63sqrt24+RootOf_Z4+2sqrt28_Z24sqrt2+6323RootOf_Z4+2sqrt28_Z24sqrt2+6sqrt2

(6)

p17

p17

(7)

Primfieldα,dummy,sqrt2,sqrt3modp

,dummy=8,α=15RootOf_Z2+14,sqrt3=RootOf_Z2+14,sqrt2=11

(8)

Primfieldα,sqrt2,sqrt3modp

RootOf_Z2+14=sqrt3,α=15RootOf_Z2+14,sqrt3=RootOf_Z2+14,sqrt2=11

(9)

See Also

evala

mod

RootOf