6
$\begingroup$

What is a primitive polynomial? I was looking into some random number generation algorithms and 'primitive polynomial' came up a sufficient number of times that I decided to look into it in more detail.

I'm unsure of what a primitive polynomial is, and why it is useful for these random number generators.

I'd find it particularly helpful if an example of a primitive polynomial could be provided.

  • 0
    To determine which sense of primitive polynomial is meant you should probably give some more context. Ideally an excerpt from whatever you're looking at.2010-08-01
  • 0
    @Qiaochu Yuan: I'm looking at the version of 'primitive polynomials' that is described by BBishcof's answer.2010-08-01
  • 0
    in that case, is my answer clear, or are you still confused on something?2010-08-01
  • 0
    @BBischof: Your answer is good, but on an explanation question like this (vs. a one-right-answer question) I usually like to give a bit of time for others to answer. At this point though 24 hours have gone by, so I'll accept it.2010-08-01

3 Answers 3

12

Consider a finite field $F_p$, then we know that it is cyclic. We call an element primitive if it generates this field. Further, given a field and some polynomial over that field(all the coefficients are in the field), we can form a field extension by any of its roots. This is adjoining on that root and making a field of it.

It is a simple result of Galois Theory that if we take a field and extend by some root of some polynomial and get a finite extension(one who's degree as a vector space over the original field is finite), that we can find a polynomial $m$ over our ground field such that $m$ vanishes at this root and is minimal(smallest degree, i.e. it divides all other polys which vanish at this root).

If we consider a primitive element and its minimal polynomial, that poly is call primitive.

more details on wiki

  • 0
    Great - thanks. Can you explain what a field extension is though? (looked it up on wikipedia)2010-08-01
  • 0
    What "vanishing at this root" mean? All the definitions of primitive polynomials (in terms of finite fields) I could find are rather confusing. And I just cannot understand it and don't know in general case, how to find one. So what it is exactly?2018-03-15
11

BBischof's answer is correct, but unfortunately there's another, quite different possible meaning of the same term: that is a polynomial whose coefficients have no common prime factor (this makes sense over the integers, or other UFDs as well).

  • 1
    Based on the fact that Cam is looking at RNG, it seems that something related to finite fields (in particular F_2) is more likely. But yes, this is what I thought at first.2010-08-01
  • 5
    Completely agree, but down the line people may find the title of this question interesting so this answer at least ought to be here.2010-08-01
  • 0
    Hehe, I didn't know this usage :) learn something new every day ;)2010-08-01
  • 1
    Atiyah and Macdonald *Introduction to Commutative Algebra*, Exercise 1.2(iv), defines $f=a_0+a_1x+\dots+a_nx^n\in A[x]$ to be primitive if $(a_0,a_1,\dots,a_n)=(1)$, i.e., the ideal generated by the coefficients is equal to the whole ring $A$. In this way, the definition makes sense for any commutative ring with unit.2013-01-08
0

See this: and related references there, there is an algorithm for checking any polynomial to be primitive or not. COMPUTING PRIMITIVE POLYNOMIALS - THEORY AND ALGORITHM