OFFSET
1,8
COMMENTS
LINKS
PROG
(PARI)
up_to = 20000;
A020639(n) = if(1==n, n, vecmin(factor(n)[, 1]));
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; };
v078898 = ordinal_transform(vector(up_to, n, A020639(n)));
A078898(n) = v078898[n];
A250469(n) = if(1==n, n, my(spn = nextprime(1+A020639(n)), c = A078898(n), k = 0); while(c, k++; if((1==k)||(A020639(k)>=spn), c -= 1)); (k*spn));
DirInverseCorrect(v) = { my(u=vector(#v)); u[1] = (1/v[1]); for(n=2, #v, u[n] = (-u[1]*sumdiv(n, d, if(d<n, v[n/d]*u[d], 0)))); (u) }; \\ Compute the Dirichlet inverse of the sequence given in input vector v.
v346479 = DirInverseCorrect(vector(up_to, n, A250469(n)));
A346479(n) = v346479[n];
CROSSREFS
KEYWORD
sign
AUTHOR
Antti Karttunen, Nov 27 2021
STATUS
approved