

A248663


a(1) = 0; a(A000040(n)) = 2^(n1), and a(n*m) = a(n) XOR a(m).


35



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
(list;
graph;
refs;
listen;
history;
text;
internal format)



OFFSET

1,3


COMMENTS

a(k^2) = 0 for a natural number k.
a(x*y) = a(x) XOR a(y) where XOR is the bitwise exclusive or operation (A003987).
The binary digits of a(n) encode the prime factorization of A007913(n), where the ith digit from the right is 1 iff prime(i) divides A007913(n), otherwise 0.  Robert Israel, Jan 12 2015
Equivalently, the ith binary digit from the right is 1 iff prime(i) divides n an odd number of times, otherwise zero.  Ethan Beihl, Oct 15 2016
When a polynomial with nonnegative integer coefficients is encoded with the prime factorization of n (e.g., as in A206296, A260443, with scheme explained in A206284), then A048675(n) gives the evaluation of that polynomial at x=2. This sequence is otherwise similar, except the polynomial is evaluated over the field GF(2), which implies also that all its coefficients are essentially reduced modulo 2.  Antti Karttunen, Dec 11 2015
Squarefree numbers (A005117) give the positions k where a(k) = A048675(k).  Antti Karttunen, Oct 29 2016
From Peter Munn, Jun 07 2021: (Start)
When we encode polynomials with nonnegative integer coefficients as described by Antti Karttunen above, polynomial addition is represented by integer multiplication, multiplication is represented by A297845(.,.), and this sequence represents a surjective semiring homomorphism to polynomials in GF(2)[x] (encoded as described in A048720). The mapping of addition operations by this homomorphism is part of the sequence definition: "a(n*m) = a(n) XOR a(m)". The mapping of multiplication is given by a(A297845(n, k)) = A048720(a(n), a(k)).
In a related way, A329329 defines a representation of a different set of polynomials as positive integers, namely polynomials in GF(2)[x,y].
Let P_n(x,y) denote the polynomial represented, as in A329329, by n >= 1. If 0 is substituted for y in P_n(x,y), we get a polynomial P'_n(x,y) (in which y does not appear, of course) that is equivalent to a polynomial P'_n(x) in GF(2)[x]. a(n) is the integer encoding of P'_n(x) (described in A048720).
Viewed as above, this sequence represents another surjective homomorphism, a homomorphism between polynomial rings, with A329329(.,.)/A059897(.,.) and A048720(.,.)/A003987(.,.) as the respective ring operations.
a(n) can be composed as a(n) = A048675(A007913(n)) and the effect of the A007913(.) component corresponds to different operations on the respective polynomial domains of the two homomorphisms described above. In the first homomorphism, coefficients are reduced modulo 2; in the second, 0 is substituted for y. This is illustrated in the examples.
(End)


LINKS

Peter Kagey, Table of n, a(n) for n = 1..5000
Wikipedia, Polynomial ring
Index entries for sequences operating on GF(2)[X]polynomials


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:
a(n) = A048672(A100112(A007913(n))).  Peter Kagey, Dec 10 2015
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.]
a(n) = A048675(A007913(n)).
a(A206296(n)) = A168081(n).
a(A260443(n)) = A264977(n).
a(A265408(n)) = A265407(n).
a(A275734(n)) = A275808(n).
a(A276076(n)) = A276074(n).
a(A283477(n)) = A006068(n).
(End)
From Peter Munn, Jan 09 2021 and Apr 20 2021: (Start)
a(n) = A007814(A225546(n)).
a(A019565(n)) = n; A019565(a(n)) = A007913(n).
a(A003961(n)) = 2 * a(n).
a(A297845(n, k)) = A048720(a(n), a(k)).
a(A329329(n, k)) = A048720(a(n), a(k)).
a(A059897(n, k)) = A003987(a(n), a(k)).
a(A331590(n, k)) = a(n) + a(k).
a(A334747(n)) = a(n) + 1.
(End)


EXAMPLE

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)


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 *)


PROG

(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 memoizingmacro 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 bitwiseXOR 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
(PARI) A248663(n) = vecsum(apply(p > 2^(primepi(p)1), factor(core(n))[, 1])); \\ Antti Karttunen, Feb 15 2021
(Haskell)
import Data.Bits (xor)
a248663 = foldr (xor) 0 . map (\i > 2^(i  1)) . a112798_row
 Peter Kagey, Sep 16 2016
(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


CROSSREFS

Cf. A000040, A000079, A000720, A005117, A020639, A032742, A048672, A055396, A100112, A206284.
A048675 composed with A007913. A007814 composed with A225546.
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.
Cf. also A099884, A277330.
A087207 is the analogous sequence with OR.
A277417 gives the positions where coincides with A277333.
A000290 gives the positions of zeros.
Sequence in context: A339261 A345232 A277333 * A335426 A348405 A093443
Adjacent sequences: A248660 A248661 A248662 * A248664 A248665 A248666


KEYWORD

nonn,base


AUTHOR

Peter Kagey, Jan 11 2015


STATUS

approved



