Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Special task from NASA to best MSE minds (joking:).

Consider two polynoms over $F_2$

$$ f(x)=1+x+x^3+x^4+x^6,\qquad g(x)=1+x^3+x^4+x^5+x^6 $$

Prove or disprove that for any polynom $p(x) \in F_2[x]\setminus\{0\}$ $$ |pf|+|pg|\ge 10,$$ where $|\cdot|$ is number of non-zero monoms.

Remark 1: Clearly bound is sharp - take $p(x)=1$ we get $|f|+|g|=10$

Remark 2: See this discussion for motivation, history, etc.

Remark 3: This question is more for fun, I think it is quite nice since it is "everyone can understand" but demonstrates real problems in the theory of convolutional codes, so might be used as exercise in teaching, that it is why I would like to share it. I am afraid that there is no nice solution exists - one should consider many cases... What would be really great to find some "idea-based and short" solution to this puzzle, but may be there is no such... (Some solution (probably not nice) should be somewhere in the literature on convolutional codes).


All good in question is from Jyrki Lahtonen, all bad from me.


The sense of the question is about: prove that certain error-correcting code is "good".

Think of coefficients of $p(x)$ as information bits you want to transmit. Encoder sends $p(x)$ to pair $(pf, pg)$ so you add redundancy bits before transmission. If equality is true means that code is able to correct $4$ errors ($4+4<10$).

Gossips say that this code has been used in Voyager mission to transmit these pretty pictures. Thanks for "draks" for link to pictures.

share|cite|improve this question
How is Voyager related? And which Voyager: Voyager 1&2, Voyager 6, Star Trek:Voyager ... – draks ... Aug 1 '12 at 6:35
@draks Quote from… "IIRC this code was used during the Voyager mission to transmit data (e.g. the pretty images) back to Earth" – Alexander Chervov Aug 1 '12 at 6:36
Ah ok, I didn't see...but I remember the pretty pictures... – draks ... Aug 1 '12 at 6:38
A teaser is that $g(x)$ is a factor of $x^{15}+1$ and $f(x)$ is a factor $x^{63}+1$, so a suitable choice of $p$ will make $|pf|$ or $|pg|$ equal to two. – Jyrki Lahtonen Aug 1 '12 at 7:05
I hazard a guess that these pictures were also transmitted using this code. – Jyrki Lahtonen Aug 1 '12 at 9:36

Apologies for providing the opposite of the "idea-based and short" solution you asked for: A computer search shows that, as you suspected, $|pf| + |pg| \ge 10$ for all non-zero $p\in\mathbb F_2[x]$.

Assume that $p\in\mathbb F_2[x]$ is a counterexample. Then we can divide by the lowest power of $x$ and still have a counterexample, so without loss of generality we can assume that $p$ has a constant term (which implies that both $pf$ and $pg$ have a constant term). We can then search the decision tree of coefficients of increasing powers; each decision about a coefficient determines the corresponding coefficients of the products, which are not influenced by later decisions about coefficients of higher powers. Thus, in searching the decision tree depth-first, we can keep track of the number of non-zero coefficients that will no longer change, and give up on a branch as soon as it reaches $10$.

The search tree only has $1065$ leaves, at a maximal depth of $23$. The code can be tested somewhat by replacing $10$ by $11$, which causes it to descend down the tree indefinitely with $p=1$.

share|cite|improve this answer
Thank you for answer ! No need for excuse any idea is welcome. But I do not quite understand. How do you restrict the search to finite number ? What means "We can then search the decision tree of coefficients of increasing powers; each decision about a... " . Please can you comment that your method will NOT work in case we ask same question about only "f" or "g" , I mean there exists p: |pf|<|f|. – Alexander Chervov Aug 1 '12 at 9:49
+1 Sounds like joriki independently discovered the use of modified Viterbi algorithm also described here. At least something very similar. – Jyrki Lahtonen Aug 1 '12 at 9:59
@Alexander: Have you taken a look at the code? That might help. Let $p=1+c_1x+c_2x^2+\dotso$. The code branches for the two possibilities $c_1=0$ and $c_1=1$. In either case, $c_1$ determines the linear coefficients in the products. If $c_1=0$, then $pf$ has a linear term, and if $c_1=1$, then $pg$ has a linear term. This is independent of the remaining coefficients $c_2,\dotsc$. So on both branches the search continues with a count of $3$ (two for the constant terms in both $pf$ and $pg$, one for the linear term in one of them). Once it reaches $10$, the branch can no longer yield a solution. – joriki Aug 1 '12 at 10:00
@Alexander: Regarding your question about only $f$ or $g$: If you're only minimizing the number of monomials in a single product, you can go on indefinitely without ever producing a single unalterable non-zero coefficient (except the constant term) -- in this case the search would descend down the tree indefinitely, independent of whether there is in fact a solution. – joriki Aug 1 '12 at 10:12
@joriki so do you mean that you do not a'priori know that you alg. will stop at finite time ? "The search tree only has leaves, at a maximal depth of " is this outcome of algorithm or you know this a'priory ? – Alexander Chervov Aug 1 '12 at 10:19

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.