%I #29 Feb 24 2021 08:17:37
%S 0,0,0,1,1,0,1,0,1,1,1,1,0,2,1,0,1,1,2,0,2,1,1,1,1,1,1,2,0,1,0,1,1,1,
%T 2,1,0,1,1,2,2,0,2,2,0,1,1,2,2,0,1,0,2,1,1,1,1,2,1,1,1,1,2,0,3,1,0,1,
%U 2,1,1,2,1,1,1,1,1,0,2,2,0,2,1,1,2,0,2
%N 2-rank of the class group of Q(sqrt(-k)), k squarefree.
%C The p-rank of a finite abelian group G is equal to log_p(#{x belongs to G : x^p = 1}) where p is a prime number. In this case, G is the class group of Q(sqrt(-k)), and #{x belongs to G : x^p = 1} is the number of genera of Q(sqrt(-k)) (cf. A003643).
%H Rick L. Shepherd, <a href="https://libres.uncg.edu/ir/uncg/listing.aspx?id=15057">Binary quadratic forms and genus theory</a>, Master of Arts Thesis, University of North Carolina at Greensboro, 2013.
%F a(n) = log_2(A003643(n)) = omega(A005117(n)) - 1, where omega(k) is the number of distinct prime divisors of k.
%t PrimeNu[#*If[Mod[-#, 4]>1, 4, 1]] - 1& /@ Select[Range[200], SquareFreeQ] (* _Jean-François Alcover_, Aug 02 2019 *)
%o (PARI) for(n=1, 200, if(issquarefree(n), print1(omega(n*if((-n)%4>1, 4, 1)) - 1, ", ")))
%o (Sage)
%o def A319662_list(len):
%o L = []
%o for n in (1..len):
%o if is_squarefree(n):
%o if (-n) % 4 > 1: n <<= 2
%o L.append(sloane.A001221(n) - 1)
%o return L
%o print(A319662_list(141)) # _Peter Luschny_, Oct 15 2018
%Y Cf. A000924, A003643, A005117, A033197, A319659.
%Y Real discriminant case: A317992.
%K nonn
%O 1,14
%A _Jianing Song_, Sep 25 2018