login
A028234 analog for factorization process based on the sieve of Eratosthenes (A083221).
14

%I #12 Apr 05 2018 20:33:59

%S 1,1,1,1,1,3,1,1,1,5,1,3,1,7,5,1,1,9,1,5,1,11,1,3,1,13,7,7,1,15,1,1,5,

%T 17,7,9,1,19,11,5,1,21,1,11,1,23,1,3,1,25,25,13,1,27,1,7,7,29,1,15,1,

%U 31,13,1,11,33,1,17,5,35,1,9,1,37,17,19,11,39,1,5,11,41,1,21,7,43,35,11,1,45,1,23,1,47,13,3,1,49,19,25,1,51,1,13,25

%N A028234 analog for factorization process based on the sieve of Eratosthenes (A083221).

%C Iterating n, a(n), a(a(n)), a(a(a(n))), ..., until 1 is reached, and taking the smallest prime factor (A020639) of each term gives a sequence of distinct primes in ascending order, while applying A302045 to the same terms gives the corresponding exponents (multiplicities) of those primes. Permutation pair A250245/A250246 maps between this non-standard prime factorization and the ordinary factorization of n. See also comments and examples in A302042.

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

%H <a href="/index/Si#sieve">Index entries for sequences generated by sieves</a>

%F For n > 1, a(n) = A250469^(r)(A000265(A078898(n))), where r = A055396(n)-1 and A250469^(r)(n) stands for applying r times the map x -> A250469(x), starting from x = n.

%F a(n) = A250245(A028234(A250246(n))).

%o (PARI)

%o \\ Assuming A250469 and its inverse A268674 have been precomputed, then the following is fast enough:

%o A302044(n) = if(1==n,n,my(k=0); while((n%2), n = A268674(n); k++); n = (n/2^valuation(n, 2)); while(k>0, n = A250469(n); k--); (n));

%o (PARI)

%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 A000265(n) = (n/2^valuation(n, 2));

%o A020639(n) = if(n>1, if(n>n=factor(n, 0)[1, 1], n, factor(n)[1, 1]), 1); \\ From A020639

%o v078898 = ordinal_transform(vector(up_to,n,A020639(n)));

%o A078898(n) = v078898[n];

%o A302044(n) = { my(c = A000265(A078898(n))); if(1==c,1,my(p = prime(-1+primepi(A020639(n))+primepi(A020639(c))), d = A078898(c), k=0); while(d, k++; if((1==k)||(A020639(k)>=p),d -= 1)); (k*p)); };

%Y Cf. A000265, A020639, A055396, A078898, A028234, A083221, A250245, A250246, A250469, A302034, A302042, A302045.

%Y Cf. A302040 (positions of 1's).

%K nonn

%O 1,6

%A _Antti Karttunen_, Mar 31 2018