Zech's logarithm

From testwiki
Jump to navigation Jump to search

Template:Short description Template:Use dmy dates Zech logarithms are used to implement addition in finite fields when elements are represented as powers of a generator α.

Zech logarithms are named after Julius Zech,[1][2][3][4] and are also called Jacobi logarithms,[5] after Carl G. J. Jacobi who used them for number theoretic investigations.[6]

Definition

Given a primitive element α of a finite field, the Zech logarithm relative to the base α is defined by the equation

αZα(n)=1+αn,

which is often rewritten as

Zα(n)=logα(1+αn).

The choice of base α is usually dropped from the notation when it is clear from the context.

To be more precise, Zα is a function on the integers modulo the multiplicative order of α, and takes values in the same set. In order to describe every element, it is convenient to formally add a new symbol , along with the definitions

α=0
n+()=
Zα()=0
Zα(e)=

where e is an integer satisfying αe=1, that is e=0 for a field of characteristic 2, and e=q12 for a field of odd characteristic with q elements.

Using the Zech logarithm, finite field arithmetic can be done in the exponential representation:

αm+αn=αm(1+αnm)=αmαZ(nm)=αm+Z(nm)
αn=(1)αn=αeαn=αe+n
αmαn=αm+(αn)=αm+Z(e+nm)
αmαn=αm+n
(αm)1=αm
αm/αn=αm(αn)1=αmn

These formulas remain true with our conventions with the symbol , with the caveat that subtraction of is undefined. In particular, the addition and subtraction formulas need to treat m= as a special case.

This can be extended to arithmetic of the projective line by introducing another symbol + satisfying α+= and other rules as appropriate.

For fields of characteristic 2,

Zα(n)=mZα(m)=n.

Uses

For sufficiently small finite fields, a table of Zech logarithms allows an especially efficient implementation of all finite field arithmetic in terms of a small number of integer addition/subtractions and table look-ups.

The utility of this method diminishes for large fields where one cannot efficiently store the table. This method is also inefficient when doing very few operations in the finite field, because one spends more time computing the table than one does in actual calculation.

Examples

Let Template:Nowrap be a root of the primitive polynomial Template:Nowrap. The traditional representation of elements of this field is as polynomials in α of degree 2 or less.

A table of Zech logarithms for this field are Template:Nowrap, Template:Nowrap, Template:Nowrap, Template:Nowrap, Template:Nowrap, Template:Nowrap, Template:Nowrap, and Template:Nowrap. The multiplicative order of α is 7, so the exponential representation works with integers modulo 7.

Since α is a root of Template:Nowrap then that means Template:Nowrap, or if we recall that since all coefficients are in GF(2), subtraction is the same as addition, we obtain Template:Nowrap.

The conversion from exponential to polynomial representations is given by

α3=α2+1 (as shown above)
α4=α3α=(α2+1)α=α3+α=α2+α+1
α5=α4α=(α2+α+1)α=α3+α2+α=α2+1+α2+α=α+1
α6=α5α=(α+1)α=α2+α

Using Zech logarithms to compute α 6 + α 3:

α6+α3=α6+Z(3)=α6+Z(4)=α6+6=α12=α5,

or, more efficiently,

α6+α3=α3+Z(3)=α3+2=α5,

and verifying it in the polynomial representation:

α6+α3=(α2+α)+(α2+1)=α+1=α5.

See also

References

Template:Reflist

Further reading

  1. Cite error: Invalid <ref> tag; no text was provided for refs named Zech_1849
  2. Cite error: Invalid <ref> tag; no text was provided for refs named Zech_1863
  3. Cite error: Invalid <ref> tag; no text was provided for refs named Zech_1892
  4. Cite error: Invalid <ref> tag; no text was provided for refs named Zech_1910
  5. Cite error: Invalid <ref> tag; no text was provided for refs named Lidl_1997
  6. Cite error: Invalid <ref> tag; no text was provided for refs named Jacoby_1846