OFFSET
4,1
LINKS
J. E. Iglesias, Enumeration of closest-packings by the space group: a simple approach, Z. Krist. 221 (2006) 237-245
T. J. McLarnan, The numbers of polytypes in close packings and related structures, Zeits. Krist. 155, 269-291 (1981)
MAPLE
# eq (6) in Iglesias Z Krist. 221 (2006)
b := proc(p, q)
local d;
a := 0 ;
for d from 1 to min(p, q) do
if modp(p, d)=0 and modp(q, d)=0 then
ph := floor(p/2/d) ;
qh := floor(q/2/d) ;
a := a+numtheory[mobius](d)*binomial(ph+qh, ph) ;
end if ;
end do:
a ;
end proc:
# eq (17) in Iglesias Z Krist. 221 (2006)
bt := proc(p, q)
if type(p+q, 'odd') then
b(p, q) ;
else
0;
end if;
end proc:
# corrected eq (15) in Iglesias Z Krist. 221 (2006), d|(p/2) and d|(q/2)
bbtemp := proc(p, q)
local d, ph, qh;
a := 0 ;
for d from 1 to min(p, q) do
if modp(p, 2*d)=0 and modp(q, 2*d)=0 then
ph := p/2/d ;
qh := q/2/d ;
a := a+numtheory[mobius](d)*binomial(ph+qh, ph) ;
end if ;
end do:
a ;
end proc:
# eq (16) in Iglesias Z Krist. 221 (2006)
bb := proc(p, q)
if type(p, 'even') and type(q, 'even') then
( bbtemp(p, q)-bt(p/2, q/2) )/2 ;
else
0 ;
end if;
end proc:
tt := proc(p, q)
if type(p+q, 'odd') then
0 ;
else
b(p, q)-bb(p, q);
end if;
end proc:
# eq (28) in Iglesias Z Krist. 221 (2006)
FracS := proc(Phalf)
if type(Phalf, 'even') then
tt(Phalf, Phalf)/2 ;
else
(tt(Phalf, Phalf)-A045683(Phalf))/2 ;
end if;
end proc:
# eq (27)
A011952 := proc(n)
local a, p, q, P ;
P := 2*n ;
if type(P, 'even') then
a := FracS(P/2) ;
for q from 0 to P do
p := P-q ;
if modp(p-q, 3) = 0 and p < q then
a := a+tt(p, q) ;
end if;
end do:
a ;
else
0;
end if;
end proc:
seq(A011952(n), n=4..40) ; # R. J. Mathar, Apr 15 2024
CROSSREFS
KEYWORD
nonn,easy
AUTHOR
STATUS
approved