This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.


True for primitive polynomial for Galois field




isprimitive(a) returns 1 if the polynomial that a represents is primitive for the Galois field GF(2m), and 0 otherwise. The input a can represent the polynomial using one of these formats:

  • A nonnegative integer less than 217. The binary representation of this integer indicates the coefficients of the polynomial. In this case, m is floor(log2(a)).

  • A Galois row vector in GF(2), listing the coefficients of the polynomial in order of descending powers. In this case, m is the order of the polynomial represented by a.


The example below finds all primitive polynomials for GF(8) and then checks using isprimitive whether specific polynomials are primitive.

a = primpoly(3,'all','nodisplay'); % All primitive polys for GF(8)

isp1 = isprimitive(13) % 13 represents a primitive polynomial.

isp2 = isprimitive(14) % 14 represents a nonprimitive polynomial.

The output is below. If you examine the vector a, notice that isp1 is true because 13 is an element in a, while isp2 is false because 14 is not an element in a.

isp1 =


isp2 =


Introduced before R2006a