Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

To those curious: IIRC Extension fields can be described by polynomials.

Example: F_2 = { 0, 1 }.

f(x) = x^2 + x + 1. (This is "irreducible", which basically means it's "prime" in a polynomial world.)

Note that F_2[x] is the set of polynomials with variable x and scalars in F_2.

F_2[x]/f(x) = { 0, 1, x, x + 1 } (for each polynomial, take it modulo f(x)). This is because we know that x^2 + x + 1 = 0 => x^2 = x + 1 (please read = as "equivalent" - really, these relations should be modulo x^2 + x + 1).

|F_2[x]/f(x)| = 4. 2^2 = 4. This is not a coincidence. The degree of the polynomial determines the size of the resultant field. For F_p[x]/h(x), where p is a prime and h(x) is irreducible with degree d, |F_p[x]/h(x)| = p^d.

Another Example:

g(x) = x^3 + x + 1. (This polynomial is also irreducible.)

F_2[x]/g(x) = { 0, 1, x, x + 1, x^2, x^2 + 1, x^2 + x, x^2 + x + 1 }

|F_2/g(x)| = 8 = 2^3.

Edit: Also, I forgot to mention that the values in the resultant fields F_2[x]/f(x) (and F_x/g(x) correspondingly) should really have the form [v]_f(x), where v is in F_2[x]. That is, they are congruence classes modulo f(x) of values in F_2[x].



That's a decent summary. But it helps if people knew about prime fields (and I expect most people don't know enough about prime fields to learn about extension fields).

Prime Field 2 (F_2) is too small and too easy to be a good example. I prefer teaching prime fields with Prime Field 5.

5 is a prime number, which means standard math modulo 5 results in a finite field.

There are three attributes of a field:

1. An "addition" operator exists.

2. Every value "v" in the field has a value -v, also known as the "additive inverse". v + (-v) == 0 by definition. The value "0" is defined to be the "additive identity"

3. A "multiplication" operator exists.

4. EVERY value except 0 in the field has a value 1/v (where v is that arbitrary value). v * (1/v) == 1. This value "1" is defined to be the multiplicative identity. 0 has no inverse.

---------

So, lets prove that the F_5 is a field, which instead of using fancy math, can be done by exhaustion (!!!). I just show every single number on a case-by-case basis has the properties we want and we're set.

F_5 is the numbers {0, 1, 2, 3, 4}. + is normal addition mod 5, * is normal multiplication mod5. By simply describing all inverses (both additive inverses and multiplicative inverses), and proving that they operate as expected, we prove F_5 is a field by exhaustion.

Note: a proper textbook would prove this in general over all prime numbers. This shortcut to just doing F_5 by exhaustion is just me taking a shortcut in explanations.

* 0 is its own additive inverse. 0 + (-0) == 0 mod 5.

* 1 is the inverse of 4. 1 + (-1) == 1 + 4 == 5 mod 5 == 0 mod 5.

* 2 is the inverse of 3. 2 + (-2) == 2 + 3 == 5 mod 5 == 0 mod 5.

* 3 and 4 play out identically. We've proven addition. Moving onto multiplication.

* 0 has no inverse (as per definition of fields).

* 1 is its own inverse. 1 * (1/1) == 1 * 1 == 1 mod 5. Not that numbers "outside" of the field, such as 6 still hold the property. 1 * 1 == 6 * 6 == 36 mod 5 == 1 mod 5

* 2 is the inverse of 3. 2 * (1/2) == 2 * 3 == 1 mod 5.

* 3 is the inverse of 2, and plays out similarly.

* 4 is its own inverse. 4 * (1/4) == 4 * 4 == 1 mod 5.

--------------

Note that the distributed property still works.

(2 + 4) * 3 == 18 mod 5 == 3

But we can also do it distributed, as well as shortcutting to use the new "multiplicative inverses" that exist in F_5...

(2 + 4) * 3 == (2 * 3 + 4 * 3) == 2 * (1/2) + 4 * (1/2) == 1 + 2 == 3

---------

As such, F_5 is a field. It is also finite in length (consisting only of the numbers {0, 1, 2, 3, 4}. Because all numbers have both additive and multiplicative inverses, we can have assurances on the inverse of matricies that use F_5 (as long as det(matrix) != 0, we can find an inverse, because division is always possible), we can always find the roots of polynomials, we can build elliptical curves, etc. etc. Lots of useful properties.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: