login
Number of times the lexicographically least irreducible factor of (0,1)-polynomial (when factored over Q) obtained from the binary expansion of n occurs as the lexicographically least factor for numbers <= n; a(1) = 1.
3

%I #12 Jun 09 2018 19:00:35

%S 1,1,1,2,1,3,1,4,2,5,1,6,1,7,3,8,1,9,1,10,1,11,1,12,1,13,4,14,1,15,1,

%T 16,5,17,2,18,1,19,6,20,1,21,1,22,7,23,1,24,3,25,8,26,1,27,1,28,9,29,

%U 1,30,1,31,10,32,2,33,1,34,1,35,1,36,1,37,11,38,1,39,1,40,1,41,1,42,3,43,1,44,1,45,1,46,2,47,4,48,1,49,12,50,1,51,1,52,13

%N Number of times the lexicographically least irreducible factor of (0,1)-polynomial (when factored over Q) obtained from the binary expansion of n occurs as the lexicographically least factor for numbers <= n; a(1) = 1.

%C Ordinal transform of A305437.

%H Antti Karttunen, <a href="/A305438/b305438.txt">Table of n, a(n) for n = 1..65537</a>

%F a(2n) = n.

%e Binary representation of 21 is "10101", encoding (0,1)-polynomial x^4 + x^2 + 1 which factorizes over Q as (x^2 - x + 1)(x^2 + x + 1). Factor (x^2 - x + 1) is lexicographically less than factor (x^2 + x + 1) and this is also the first time factor (x^2 - x + 1) occurs as the least one, thus a(21) = 1. Note that although we have the same factor present for n=9, which encodes the polynomial x^3 + 1 = (x + 1)(x^2 - x + 1), it is not the lexicographically least factor in that case.

%e The next time the same factor occurs as the smallest one is for n=93, which in binary is 1011101, encoding polynomial x^6 + x^4 + x^3 + x^2 + 1 = (x^2 - x + 1)(x^4 + x^3 + x^2 + x + 1). Thus a(93) = 2.

%o (PARI)

%o allocatemem(2^30);

%o default(parisizemax,2^31);

%o up_to = 65537;

%o ordinal_transform(invec) = { my(om = Map(), outvec = vector(length(invec)), pt); for(i=1, length(invec), if(mapisdefined(om,invec[i]), pt = mapget(om, invec[i]), pt = 0); outvec[i] = (1+pt); mapput(om,invec[i],(1+pt))); outvec; };

%o pollexcmp(a,b) = { my(ad = poldegree(a), bd = poldegree(b),e); if(ad != bd, return(sign(ad-bd))); for(i=0,ad,e = polcoeff(a,ad-i) - polcoeff(b,ad-i); if(0!=e, return(sign(e)))); (0); };

%o Aux305438(n) = if(1==n,0,my(fs = factor(Pol(binary(n)))[,1]~); vecsort(fs,pollexcmp)[1]);

%o v305438 = ordinal_transform(vector(up_to,n,Aux305438(n)));

%o A305438(n) = v305438[n];

%Y Cf. A206074 (gives a subset of the positions of 1's), A305437.

%Y Cf. A305439.

%Y Cf. also A078898, A302788.

%K nonn

%O 1,4

%A _Antti Karttunen_, Jun 09 2018