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.

A011955 Number of Barlow packings with group R3(bar)m(O) that repeat after 6n layers.

This page as a plain text file.
%I A011955 #19 Jul 08 2025 02:43:49
%S A011955 1,2,4,9,19,40,80,165,330,672,1344,2709,5418,10878,21760,43605,87211,
%T A011955 174592,349180,698707,1397418,2795520,5591040,11183436,22366890,
%U A011955 44736512,89473020,178951509,357903000,715816960,1431633920,2863289683,5726579370,11453202383,22906404864,45812897109,91625794218
%N A011955 Number of Barlow packings with group R3(bar)m(O) that repeat after 6n layers.
%H A011955 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 A011955 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 A011955 # eq (6) in Iglesias Z Krist. 221 (2006)
%p A011955 b := proc(p,q)
%p A011955         local d;
%p A011955         a := 0 ;
%p A011955         for d from 1 to min(p,q) do
%p A011955                 if modp(p,d)=0 and modp(q,d)=0 then
%p A011955                         ph := floor(p/2/d) ;
%p A011955                         qh := floor(q/2/d) ;
%p A011955                         a := a+numtheory[mobius](d)*binomial(ph+qh,ph) ;
%p A011955                 end if ;
%p A011955         end do:
%p A011955         a ;
%p A011955 end proc:
%p A011955 # eq (17) in Iglesias Z Krist. 221 (2006)
%p A011955 bt := proc(p,q)
%p A011955         if type(p+q,'odd') then
%p A011955                 b(p,q) ;
%p A011955         else
%p A011955                 0;
%p A011955         end if;
%p A011955 end proc:
%p A011955 # corrected eq (15) in Iglesias Z Krist. 221 (2006),  d|(p/2) and d|(q/2)
%p A011955 bbtemp := proc(p,q)
%p A011955         local d,ph,qh;
%p A011955         a := 0 ;
%p A011955         for d from 1 to min(p,q) do
%p A011955                 if modp(p,2*d)=0 and modp(q,2*d)=0 then
%p A011955                         ph := p/2/d ;
%p A011955                         qh := q/2/d ;
%p A011955                         a := a+numtheory[mobius](d)*binomial(ph+qh,ph) ;
%p A011955                 end if ;
%p A011955         end do:
%p A011955         a ;
%p A011955 end proc:
%p A011955 # eq (16) in Iglesias Z Krist. 221 (2006)
%p A011955 bb := proc(p,q)
%p A011955         if type(p,'even') and type(q,'even') then
%p A011955                 ( bbtemp(p,q)-bt(p/2,q/2) )/2 ;
%p A011955         else
%p A011955                 0 ;
%p A011955         end if;
%p A011955 end proc:
%p A011955 tt := proc(p,q)
%p A011955         if type(p+q,'odd') then
%p A011955                 0 ;
%p A011955         else  # p+q = 2n (below) is always even. - _M. F. Hasler_, May 27 2025
%p A011955                 b(p,q)-bb(p,q);
%p A011955         end if;
%p A011955 end proc:
%p A011955 # eq (29) in Iglesias
%p A011955 A011955 := proc(n)
%p A011955         local a,p,q,P ;
%p A011955         P := 2*n ;
%p A011955         a :=0 ;
%p A011955         for q from 0 to P do
%p A011955                 p := P-q ;
%p A011955                 if modp(p-q,3) <> 0 and p < q then
%p A011955                         a := a+tt(p,q) ;
%p A011955                 end if;
%p A011955         end do:
%p A011955         a ;
%p A011955 end proc:
%p A011955 seq(A011955(n),n=2..40) ;  # _R. J. Mathar_, Apr 15 2024
%o A011955 (PARI) apply( {A011955(n)=my(P=2*n, b(p, q, f=1)=sum(d=1, min(p, q), if(p%(d*f)+q%(d*f)==0, moebius(d)*binomial(q\d\2+p\d\2, p\d\2)))); sum(q=n+1, 2*n, if(2*(n-q)%3, b(2*n-q, q)-if(q%2==0, b(2*n-q, q, 2)-if(n%2,b(n-q/2,q/2)))/2))}, [2..35]) \\ _M. F. Hasler_, May 27 2025
%K A011955 nonn,easy
%O A011955 2,2
%A A011955 _N. J. A. Sloane_