|
|
A031366
|
|
Number of symmetrically inequivalent coincidence rotations of icosian ring of index n.
|
|
1
|
|
|
1, 0, 0, 25, 36, 0, 0, 0, 100, 0, 288, 0, 0, 0, 0, 440, 0, 0, 800, 900, 0, 0, 0, 0, 960, 0, 0, 0, 1800, 0, 2048, 0, 0, 0, 0, 2500, 0, 0, 0, 0, 3528, 0, 0, 7200, 3600, 0, 0, 0, 2550, 0, 0, 0, 0, 0, 10368, 0, 0, 0, 7200, 0, 7688, 0, 0, 7330, 0, 0, 0, 0, 0, 0, 10368, 0, 0, 0, 0, 20000, 0, 0, 12800, 15840, 8362, 0, 0, 0, 0, 0, 0, 0, 16200, 0, 0, 0, 0, 0, 28800, 0, 0, 0, 28800, 23899
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
1,4
|
|
COMMENTS
|
The overall number of coincidence rotations is 7200 times this value. Some symmetrically distinct rotations generate the same coincidence site modules, hence a(n) >= A331143(n). - Andrey Zabolotskiy, Feb 16 2021
|
|
LINKS
|
|
|
FORMULA
|
See Baake (1997) for the Dirichlet g.f.
|
|
MAPLE
|
read("transforms") :
# expansion of 1/(1-5^(-s)) in (5.10)
L1 := [1, seq(0, i=2..200)] :
for k from 1 do
if 5^k <= nops(L1) then
L1 := subsop(5^k=1, L1) ;
else
break ;
end if;
end do:
# multiplication with 1/(1-p^(-2s)) in (5.10)
for i from 1 do
p := ithprime(i) ;
if modp(p, 5) = 2 or modp(p, 5)=3 then
Laux := [1, seq(0, i=2..200)] :
for k from 1 do
if p^(2*k) <= nops(Laux) then
Laux := subsop(p^(2*k)=1, Laux) ;
else
break ;
end if;
end do:
L1 := DIRICHLET(L1, Laux) ;
end if;
if p > nops(L1) then
break;
end if;
end do:
# multiplication with 1/(1-p^(-s))^2 in (5.10)
for i from 1 do
p := ithprime(i) ;
if modp(p, 5) = 1 or modp(p, 5)=4 then
Laux := [1, seq(0, i=2..200)] :
for k from 1 do
if p^k <= nops(Laux) then
Laux := subsop(p^k=k+1, Laux) ;
else
break ;
end if;
end do:
L1 := DIRICHLET(L1, Laux) ;
end if;
if p > nops(L1) then
break;
end if;
end do:
# this is now Zeta_L(s), seems to be A035187
# print(L1) ;
# generate Zeta_L(s-1)
L1shft := [seq(op(i, L1)*i, i=1..nops(L1))] ;
# generate 1/Zeta_L(s)
L1x := add(op(i, L1)*x^(i-1), i=1..nops(L1)) :
taylor(1/L1x, x=0, nops(L1)) :
L1i := gfun[seriestolist](%) ;
# generate 1/Zeta_L(2s)
L1i2 := [1, seq(0, i=2..nops(L1))] ;
for k from 2 to nops(L1i) do
if k^2 < nops(L1i2) then
L1i2 := subsop(k^2=op(k, L1i), L1i2) ;
else
break ;
end if;
end do:
# generate Zeta_L(s)*Zeta_L(s-1)
DIRICHLET(L1, L1shft) ;
# generate Zeta_L(s)*Zeta_L(s-1)/Zeta_L(2s) = Phi(s)
Phis := DIRICHLET(%, L1i2) ;
# generate Phis(s-1)
Phishif := [seq(op(i, Phis)*i, i=1..nops(Phis))] ;
DIRICHLET(Phis, Phishif) ;
|
|
CROSSREFS
|
|
|
KEYWORD
|
nonn,mult
|
|
AUTHOR
|
|
|
EXTENSIONS
|
|
|
STATUS
|
approved
|
|
|
|