Accelerating the pace of engineering and science

# gf

Create Galois field array

## Syntax

x_gf = gf(x,m)
x_gf = gf(x,m,prim_poly)
x_gf = gf(x)

## Description

x_gf = gf(x,m) creates a Galois field array from the matrix x. The Galois field has 2^m elements, where m is an integer between 1 and 16. The elements of x must be integers between 0 and 2^m-1. The output x_gf is a variable that MATLAB recognizes as a Galois field array, rather than an array of integers. As a result, when you manipulate x_gf using operators or functions such as + or det, MATLAB works within the Galois field you have specified.

 Note:   To learn how to manipulate x_gf using familiar MATLAB operators and functions, see Galois Field Computations. To learn how the integers in x represent elements of GF(2^m), see How Integers Correspond to Galois Field Elements.

x_gf = gf(x,m,prim_poly) is the same as the previous syntax, except it uses the primitive polynomial prim_poly to define the field. prim_poly is the integer representation of a primitive polynomial. For example, the number 37 represents the polynomial D^5+D^2+1 because the binary form of 37 is 1 0 0 1 0 1. For more information about the primitive polynomial, see Specifying the Primitive Polynomial.

x_gf = gf(x) creates a GF(2) array from the matrix x. Each element of x must be 0 or 1.

### Default Primitive Polynomials

The table below lists the primitive polynomial that gf uses by default for each Galois field GF(2^m). To use a different primitive polynomial, specify prim_poly as an input argument when you invoke gf.

mDefault Primitive PolynomialInteger Representation
1 D + 1 3
2 D^2 + D + 1 7
3 D^3 + D + 1 11
4 D^4 + D + 1 19
5 D^5 + D^2 + 1 37
6 D^6 + D + 1 67
7 D^7 + D^3 + 1 137
8 D^8 + D^4 + D^3 + D^2 + 1 285
9 D^9 + D^4 + 1 529
10 D^10 + D^3 + 1 1033
11 D^11 + D^2 + 1 2053
12 D^12 + D^6 + D^4 + D + 1 4179
13 D^13 + D^4 + D^3 + D + 1 8219
14 D^14 + D^10 + D^6 + D + 1 17475
15 D^15 + D + 1 32771
16 D^16 + D^12 + D^3 + D + 1 69643

## Examples

For examples that use gf, see