A248663 Binary encoding of the prime factors of the squarefree part of n.
0, 1, 2, 0, 4, 3, 8, 1, 0, 5, 16, 2, 32, 9, 6, 0, 64, 1, 128, 4, 10, 17, 256, 3, 0, 33, 2, 8, 512, 7, 1024, 1, 18, 65, 12, 0, 2048, 129, 34, 5, 4096, 11, 8192, 16, 4, 257, 16384, 2, 0, 1, 66, 32, 32768, 3, 20, 9, 130, 513, 65536, 6, 131072, 1025, 8, 0, 36, 19
Offset: 1
Examples
a(3500) = a(2^2 * 5^3 * 7) = a(2) XOR a(2) XOR a(5) XOR a(5) XOR a(5) XOR a(7) = 1 XOR 1 XOR 4 XOR 4 XOR 4 XOR 8 = 0b0100 XOR 0b1000 = 0b1100 = 12. From _Peter Munn_, Jun 07 2021: (Start) The examples in the table below illustrate the homomorphisms (between polynomial structures) represented by this sequence. The staggering of the rows is to show how the mapping n -> A007913(n) -> A048675(A007913(n)) = a(n) relates to the encoded polynomials, as not all encodings are relevant at each stage. For an explanation of each polynomial encoding, see the sequence referenced in the relevant column heading. (Note also that A007913 generates squarefree numbers, and with these encodings, all squarefree numbers represent equivalent polynomials in N[x] and GF(2)[x,y].) |<----- encoded polynomials ----->| n A007913(n) a(n) | N[x] GF(2)[x,y] GF(2)[x]| |Cf.: A206284 A329329 A048720| -------------------------------------------------------------- 24 x+3 x+y+1 6 x+1 x+1 3 x+1 -------------------------------------------------------------- 36 2x+2 xy+y 1 0 0 0 0 -------------------------------------------------------------- 60 x^2+x+2 x^2+x+y 15 x^2+x x^2+x 6 x^2+x -------------------------------------------------------------- 90 x^2+2x+1 x^2+xy+1 10 x^2+1 x^2+1 5 x^2+1 -------------------------------------------------------------- This sequence is a left inverse of A019565. A019565(.) maps a(n) to A007913(n) for all n, effectively reversing the second stage of the mapping from n to a(n) shown above. So, with the encodings used here, A019565(.) represents each of two injective homomorphisms that map polynomials in GF(2)[x] to equivalent polynomials in N[x] and GF(2)[x,y] respectively. (End)
Links
- Peter Kagey, Table of n, a(n) for n = 1..5000
- Eric Weisstein's World of Mathematics, Squarefree Part
- Wikipedia, Polynomial ring
- Index entries for sequences operating on GF(2)[X]-polynomials
Crossrefs
A homomorphism from A297845/A003991 and from A329329/A059897 to A048720/A003987, mapping A206296 to A168081, A260443 to A264977, A265408 to A265407, A275734 to A275808, A276076 to A276074, A283477 to A006068.
A left inverse of A019565.
Other sequences used to express relationship between terms of this sequence: A003961, A007913, A331590, A334747.
A087207 is the analogous sequence with OR.
A000290 gives the positions of zeros.
Programs
-
Haskell
import Data.Bits (xor) a248663 = foldr (xor) 0 . map (\i -> 2^(i - 1)) . a112798_row -- Peter Kagey, Sep 16 2016
-
Maple
f:= proc(n) local F,f; F:= select(t -> t[2]::odd, ifactors(n)[2]); add(2^(numtheory:-pi(f[1])-1), f = F) end proc: seq(f(i),i=1..100); # Robert Israel, Jan 12 2015
-
Mathematica
a[1] = 0; a[n_] := a[n] = If[PrimeQ@ n, 2^(PrimePi@ n - 1), BitXor[a[#], a[n/#]] &@ FactorInteger[n][[1, 1]]]; Array[a, 66] (* Michael De Vlieger, Sep 16 2016 *)
-
PARI
A248663(n) = vecsum(apply(p -> 2^(primepi(p)-1),factor(core(n))[,1])); \\ Antti Karttunen, Feb 15 2021
-
Python
from sympy import factorint, primepi from sympy.ntheory.factor_ import core def a048675(n): f=factorint(n) return 0 if n==1 else sum([f[i]*2**(primepi(i) - 1) for i in f]) def a(n): return a048675(core(n)) print([a(n) for n in range(1, 101)]) # Indranil Ghosh, Jun 21 2017
-
Ruby
require 'prime' def f(n) a = 0 reverse_primes = Prime.each(n).to_a.reverse reverse_primes.each do |prime| a <<= 1 while n % prime == 0 n /= prime a ^= 1 end end a end (Scheme, with memoizing-macro definec) (definec (A248663 n) (cond ((= 1 n) 0) ((= 1 (A010051 n)) (A000079 (- (A000720 n) 1))) (else (A003987bi (A248663 (A020639 n)) (A248663 (A032742 n)))))) ;; Where A003987bi computes bitwise-XOR as in A003987. ;; Alternatively: (definec (A248663 n) (cond ((= 1 n) 0) (else (A003987bi (A000079 (- (A055396 n) 1)) (A248663 (A032742 n)))))) ;; Antti Karttunen, Dec 11 2015
Formula
a(1) = 0; for n > 1, if n is a prime, a(n) = 2^(A000720(n)-1), otherwise a(A020639(n)) XOR a(A032742(n)). [After the definition.] - Antti Karttunen, Dec 11 2015
For n > 1, this simplifies to: a(n) = 2^(A055396(n)-1) XOR a(A032742(n)). [Where A055396(n) gives the index of the smallest prime dividing n and A032742(n) gives the largest proper divisor of n. Cf. a similar formula for A048675.]
Other identities and observations. For all n >= 0:
From Antti Karttunen, Dec 11 2015, Sep 19 & Oct 27 2016, Feb 15 2021: (Start)
a(n) = a(A007913(n)). [The result depends only on the squarefree part of n.]
(End)
From Peter Munn, Jan 09 2021 and Apr 20 2021: (Start)
a(A003961(n)) = 2 * a(n).
a(A331590(n, k)) = a(n) + a(k).
a(A334747(n)) = a(n) + 1.
(End)
Extensions
New name from Peter Munn, Nov 01 2023
Comments