![]() | 1 | initial version |
Yes, there is a problem with the Sage implementation. But other implementations such as the one at bma.bozhu.me may give varying results. The point is that for your sequence s0,s1,…,s35 there does not exist a unique sequence c1,c2,…,ck in GF(2) such that si+k∑j=1cjsi−j=0,for i=k,…,35.
The result that Sage produces comes from the fact that si+si−2+si−3+si−4+si−5=0,for i=16,…,33. But this fails (generally) if i=5,…,15 or i=34,35.
The degree 19 result indeed says that si+∑j∈{1,2,5,6,9,10,11,13,16,17,19}si−j=0,for i=19,…,35. However, this is not unique (it cannot be because the input sequence only has length 36), for example we could add in si−2+si−4+si−5+si−6+si−7, which, as we have seen, is zero for i=18,…,35. Thus the degree 19 polynomial has no right to be called the minimal polynomial. Of course, Massey's 1969 paper "Shift-register synthesis and BCH decoding" is clear on this point; the algorithm he describes produces "one of the [linear feedback shift registers] of [minimum length] which generates s0,s1,…,sN" [§ III].