galois.FieldArray.field_norm() FieldArray

Computes the field norm NL/K(x) of the elements of x.

Returns:

The field norm of x in the prime subfield GF(p).

Notes

The self array x is over the extension field L=GF(pm). The field norm of x is over the subfield K=GF(p). In other words, NL/K(x):LK.

For finite fields, since L is a Galois extension of K, the field norm of x is defined as a product of the Galois conjugates of x.

NL/K(x)=i=0m1xpi=x(pm1)/(p1)

References

Examples

Compute the field norm of the elements of GF(32).

In [1]: GF = galois.GF(3**2)

In [2]: x = GF.elements; x
Out[2]: GF([0, 1, 2, 3, 4, 5, 6, 7, 8], order=3^2)

In [3]: y = x.field_norm(); y
Out[3]: GF([0, 1, 1, 2, 1, 2, 2, 2, 1], order=3)
In [4]: GF = galois.GF(3**2, repr="poly")

In [5]: x = GF.elements; x
Out[5]: 
GF([     0,      1,      2,      α,  α + 1,  α + 2,     2α, 2α + 1,
    2α + 2], order=3^2)

In [6]: y = x.field_norm(); y
Out[6]: GF([0, 1, 1, 2, 1, 2, 2, 2, 1], order=3)
In [7]: GF = galois.GF(3**2, repr="power")

In [8]: x = GF.elements; x
Out[8]: GF([  0,   1, α^4,   α, α^2, α^7, α^5, α^3, α^6], order=3^2)

In [9]: y = x.field_norm(); y
Out[9]: GF([0, 1, 1, 2, 1, 2, 2, 2, 1], order=3)