# fieldExtension -- a fix to the failure of map(GaloisField,GaloisField) function when Variable option is used

## Synopsis

• Usage:
fieldExtension(L, K)
• Inputs:
• K, , a finite field
• L, , a field extension of $K$
• Outputs:
• , the natural ring map $K \to L$.

## Description

The usual map function is not working properly when the generators of a GaloisField are designated. For example,

 i1 : K1 = GF(8); L1 = GF(64); i3 : K2 = GF(8, Variable=>b); L2 = GF(64, Variable=>c); i5 : map(L1, K1) --correct natural map 5 4 2 o5 = map (L1, K1, {a + a + a + 1}) o5 : RingMap L1 <--- K1 i6 : try map(L2, K2) then << "correct map" else << "error: not implemented: maps between non-Conway Galois fields"; correct map

This function is a fix for that. See following example

 i7 : K2 = GF(8, Variable=>b); L2 = GF(64, Variable=>c); i9 : fieldExtension(L2, K2) 5 4 2 o9 = map (L2, K2, {c + c + c + 1}) o9 : RingMap L2 <--- K2

The function is implemented by composing the isomorphism $K_2\cong K_1$, the natural embedding $K_1\to L_1$ and the isomorphism $L_1\cong L_2$.

## Caveat

The function depends on the implementation of map(GaloisField,GaloisField).

## Ways to use fieldExtension :

• "fieldExtension(GaloisField,GaloisField)"
• fieldExtension(GaloisField,QuotientRing) (missing documentation)

## For the programmer

The object fieldExtension is .