

A370717


Arithmetic derivative of elements of GF(2)[x], evaluated at x=2.


0



0, 0, 1, 1, 0, 0, 1, 1, 4, 4, 5, 1, 4, 1, 5, 5, 0, 0, 1, 1, 0, 0, 9, 14, 4, 1, 15, 5, 4, 8, 5, 1, 16, 28, 17, 10, 16, 1, 17, 5, 20, 1, 21, 26, 4, 20, 11, 1, 16, 12, 27, 17, 4, 16, 17, 1, 20, 5, 13, 1, 20, 1, 29, 21
(list;
graph;
refs;
listen;
history;
text;
internal format)



OFFSET

0,9


COMMENTS

The indices of this sequence are sorted by evaluation at x=2, i.e. 0, 1, x, x+1, x^2, x^2+1, etc. Generalization of arithmetic derivative is as described by Victor Ufnarovski and Bo Ahlander. For a general UFD this requires a choice of canon primes for which p' = 1. However, GF(2)[x] has only one unit, so there is a unique arithmetic derivative over this UFD.
The arithmetic derivative of a square polynomial in GF(2)[x] is 0 so square polynomials act like units: given f, g in GF(2)[x], (f*f*g)' = f*f*(g'). The arithmetic derivative of a positive degree squarefree polynomial in GF(2)[x] is always nonzero.


LINKS



EXAMPLE

To find a(9), first convert 9 into its corresponding GF(2) polynomial x^3 + 1. Then find its arithmetic derivative, x^2. Finally, convert to an integer via evaluation at x=2, giving a(9) = 4.


PROG

(SageMath)
P.<x> = GF(2)[]
def AD(p):
F = list(p.factor())
f = [f[0] for f in F for _ in range(f[1])]
return SymmetricFunctions(P).e()([len(f)1, 0]).expand(len(f))(f)
def more(l):
return [x*p for p in l]+[x*p+1 for p in l]
L = [x, x+1]
L = L + more(L) + more(more(L)) + more(more(more(L))) + more(more(more(more(L))))
L.sort()
', '.join(map(str, ([0, 0]+[AD(p).change_ring(ZZ)(2) for p in L])))


CROSSREFS



KEYWORD

nonn


AUTHOR



STATUS

approved



