%I #8 Apr 15 2024 12:56:46
%S 2,3,8,16,40,73,165,320,666,1323,2709,5364,10880,21675,43577,87040,
%T 174590,348787,698709,1396736,2795400,5589672
%N Number of Barlow packings with group P3(bar)m1(O) that repeat after 2n layers.
%H J. E. Iglesias, <a href="https://doi.org/10.1524/zkri.2006.221.4.237">Enumeration of closest-packings by the space group: a simple approach</a>, Z. Krist. 221 (2006) 237-245
%H T. J. McLarnan, <a href="http://dx.doi.org/10.1524/zkri.1981.155.3-4.269">The numbers of polytypes in close packings and related structures</a>, Zeits. Krist. 155, 269-291 (1981)
%p # eq (6) in Iglesias Z Krist. 221 (2006)
%p b := proc(p,q)
%p local d;
%p a := 0 ;
%p for d from 1 to min(p,q) do
%p if modp(p,d)=0 and modp(q,d)=0 then
%p ph := floor(p/2/d) ;
%p qh := floor(q/2/d) ;
%p a := a+numtheory[mobius](d)*binomial(ph+qh,ph) ;
%p end if ;
%p end do:
%p a ;
%p end proc:
%p # eq (17) in Iglesias Z Krist. 221 (2006)
%p bt := proc(p,q)
%p if type(p+q,'odd') then
%p b(p,q) ;
%p else
%p 0;
%p end if;
%p end proc:
%p # corrected eq (15) in Iglesias Z Krist. 221 (2006), d|(p/2) and d|(q/2)
%p bbtemp := proc(p,q)
%p local d,ph,qh;
%p a := 0 ;
%p for d from 1 to min(p,q) do
%p if modp(p,2*d)=0 and modp(q,2*d)=0 then
%p ph := p/2/d ;
%p qh := q/2/d ;
%p a := a+numtheory[mobius](d)*binomial(ph+qh,ph) ;
%p end if ;
%p end do:
%p a ;
%p end proc:
%p # eq (16) in Iglesias Z Krist. 221 (2006)
%p bb := proc(p,q)
%p if type(p,'even') and type(q,'even') then
%p ( bbtemp(p,q)-bt(p/2,q/2) )/2 ;
%p else
%p 0 ;
%p end if;
%p end proc:
%p tt := proc(p,q)
%p if type(p+q,'odd') then
%p 0 ;
%p else
%p b(p,q)-bb(p,q);
%p end if;
%p end proc:
%p # eq (28) in Iglesias Z Krist. 221 (2006)
%p FracS := proc(Phalf)
%p if type(Phalf,'even') then
%p tt(Phalf,Phalf)/2 ;
%p else
%p (tt(Phalf,Phalf)-A045683(Phalf))/2 ;
%p end if;
%p end proc:
%p # eq (27)
%p A011952 := proc(n)
%p local a,p,q,P ;
%p P := 2*n ;
%p if type(P,'even') then
%p a := FracS(P/2) ;
%p for q from 0 to P do
%p p := P-q ;
%p if modp(p-q,3) = 0 and p < q then
%p a := a+tt(p,q) ;
%p end if;
%p end do:
%p a ;
%p else
%p 0;
%p end if;
%p end proc:
%p seq(A011952(n),n=4..40) ;# _R. J. Mathar_, Apr 15 2024
%K nonn,easy
%O 4,1
%A _N. J. A. Sloane_.