cp's OEIS Frontend

This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.

A011952 Number of Barlow packings with group P3(bar)m1(O) that repeat after 2n layers.

This page as a plain text file.
%I A011952 #13 Jul 08 2025 02:43:30
%S A011952 2,3,8,16,40,73,165,320,666,1323,2709,5364,10880,21675,43577,87040,
%T A011952 174590,348787,698709,1396736,2795400,5589672,11183445,22363920,
%U A011952 44736510,89467563,178951005,357892096,715816960,1431611083,2863289685,5726535661,11453200416
%N A011952 Number of Barlow packings with group P3(bar)m1(O) that repeat after 2n layers.
%H A011952 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 A011952 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 A011952 # eq (6) in Iglesias Z Krist. 221 (2006)
%p A011952 b := proc(p,q)
%p A011952     local d;
%p A011952     a := 0 ;
%p A011952     for d from 1 to min(p,q) do
%p A011952         if modp(p,d)=0 and modp(q,d)=0 then
%p A011952             ph := floor(p/2/d) ;
%p A011952             qh := floor(q/2/d) ;
%p A011952             a := a+numtheory[mobius](d)*binomial(ph+qh,ph) ;
%p A011952         end if ;
%p A011952     end do:
%p A011952     a ;
%p A011952 end proc:
%p A011952 # eq (17) in Iglesias Z Krist. 221 (2006)
%p A011952 bt := proc(p,q)
%p A011952     if type(p+q,'odd') then
%p A011952         b(p,q) ;
%p A011952     else
%p A011952         0;
%p A011952     end if;
%p A011952 end proc:
%p A011952 # corrected eq (15) in Iglesias Z Krist. 221 (2006),  d|(p/2) and d|(q/2)
%p A011952 bbtemp := proc(p,q)
%p A011952     local d,ph,qh;
%p A011952     a := 0 ;
%p A011952     for d from 1 to min(p,q) do
%p A011952         if modp(p,2*d)=0 and modp(q,2*d)=0 then
%p A011952             ph := p/2/d ;
%p A011952             qh := q/2/d ;
%p A011952             a := a+numtheory[mobius](d)*binomial(ph+qh,ph) ;
%p A011952         end if ;
%p A011952     end do:
%p A011952     a ;
%p A011952 end proc:
%p A011952 # eq (16) in Iglesias Z Krist. 221 (2006)
%p A011952 bb := proc(p,q)
%p A011952     if type(p,'even') and type(q,'even') then
%p A011952         ( bbtemp(p,q)-bt(p/2,q/2) )/2 ;
%p A011952     else
%p A011952         0 ;
%p A011952     end if;
%p A011952 end proc:
%p A011952 tt := proc(p,q)
%p A011952     if type(p+q,'odd') then
%p A011952         0 ;
%p A011952     else
%p A011952         b(p,q)-bb(p,q);
%p A011952     end if;
%p A011952 end proc:
%p A011952 # eq (28) in Iglesias Z Krist. 221 (2006)
%p A011952 FracS := proc(Phalf)
%p A011952     if type(Phalf,'even') then
%p A011952         tt(Phalf,Phalf)/2 ;
%p A011952     else
%p A011952         (tt(Phalf,Phalf)-A045683(Phalf))/2 ;
%p A011952     end if;
%p A011952 end proc:
%p A011952 # eq (27)
%p A011952 A011952 := proc(n)
%p A011952     local a,p,q,P ;
%p A011952     P := 2*n ;
%p A011952     if type(P,'even') then
%p A011952         a := FracS(P/2) ;
%p A011952         for q from 0 to P do
%p A011952             p := P-q ;
%p A011952             if modp(p-q,3) = 0 and p < q then
%p A011952                 a := a+tt(p,q) ;
%p A011952             end if;
%p A011952         end do:
%p A011952         a ;
%p A011952     else
%p A011952         0;
%p A011952     end if;
%p A011952 end proc:
%p A011952 seq(A011952(n),n=4..40) ;# _R. J. Mathar_, Apr 15 2024
%K A011952 nonn,easy
%O A011952 4,1
%A A011952 _N. J. A. Sloane_
%E A011952 More terms from _Sean A. Irvine_, May 26 2025