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.
%I A300382 #7 Aug 28 2022 18:48:13 %S A300382 1,0,0,8,6,0,0,0,10,0,24,0,0,0,0,32,0,0,40,48,0,0,0,0,30,0,0,0,60,0, %T A300382 64,0,0,0,0,80,0,0,0,0,84,0,0,192,60,0,0,0,51,0,0,0,0,0,144,0,0,0,120, %U A300382 0,124,0,0,130,0,0,0,0,0,0,144,0,0,0,0,320,0,0,160,192,91,0,0,0,0,0,0,0,180,0,0,0,0,0,240,0,0,0,240,239,204,0,0,0,0,0,0,0,220,0,0,0,0,0,0,480,0,0,0,0,405 %N A300382 Dirichlet series for a cubic module of rank 6. %C A300382 Submitted as a substitute for A031365 which appears to display a faulty A031365(16)=24 in the version published 1997. %H A300382 M. Baake, <a href="https://arxiv.org/abs/math/0605222">Solution of the coincidence problem in dimensions d<=4</a>, arxiv:math/0605222 (2006), (5.12) %p A300382 read("transforms") : %p A300382 # expansion of 1/(1-5^(-s)) in (5.10) %p A300382 L1 := [1,seq(0,i=2..200)] : %p A300382 for k from 1 do %p A300382 if 5^k <= nops(L1) then %p A300382 L1 := subsop(5^k=1,L1) ; %p A300382 else %p A300382 break ; %p A300382 end if; %p A300382 end do: %p A300382 # multiplication with 1/(1-p^(-2s)) in (5.10) %p A300382 for i from 1 do %p A300382 p := ithprime(i) ; %p A300382 if modp(p,5) = 2 or modp(p,5)=3 then %p A300382 Laux := [1,seq(0,i=2..200)] : %p A300382 for k from 1 do %p A300382 if p^(2*k) <= nops(Laux) then %p A300382 Laux := subsop(p^(2*k)=1,Laux) ; %p A300382 else %p A300382 break ; %p A300382 end if; %p A300382 end do: %p A300382 L1 := DIRICHLET(L1,Laux) ; %p A300382 end if; %p A300382 if p > nops(L1) then %p A300382 break; %p A300382 end if; %p A300382 end do: %p A300382 # multiplication with 1/(1-p^(-s))^2 in (5.10) %p A300382 for i from 1 do %p A300382 p := ithprime(i) ; %p A300382 if modp(p,5) = 1 or modp(p,5)=4 then %p A300382 Laux := [1,seq(0,i=2..200)] : %p A300382 for k from 1 do %p A300382 if p^k <= nops(Laux) then %p A300382 Laux := subsop(p^k=k+1,Laux) ; %p A300382 else %p A300382 break ; %p A300382 end if; %p A300382 end do: %p A300382 L1 := DIRICHLET(L1,Laux) ; %p A300382 end if; %p A300382 if p > nops(L1) then %p A300382 break; %p A300382 end if; %p A300382 end do: %p A300382 # this is now Zeta_L(s), seems to be A035187 %p A300382 # print(L1) ; %p A300382 # generate Zeta_L(s-1) %p A300382 L1shft := [seq(op(i,L1)*i,i=1..nops(L1))] ; %p A300382 # generate 1/Zeta_L(s) %p A300382 L1x := add(op(i,L1)*x^(i-1),i=1..nops(L1)) : %p A300382 taylor(1/L1x,x=0,nops(L1)) : %p A300382 L1i := gfun[seriestolist](%) ; %p A300382 # generate 1/Zeta_L(2s) %p A300382 L1i2 := [1,seq(0,i=2..nops(L1))] ; %p A300382 for k from 2 to nops(L1i) do %p A300382 if k^2 < nops(L1i2) then %p A300382 L1i2 := subsop(k^2=op(k,L1i),L1i2) ; %p A300382 else %p A300382 break ; %p A300382 end if; %p A300382 end do: %p A300382 # generate Zeta_L(s)*Zeta_L(s-1) %p A300382 DIRICHLET(L1,L1shft) ; %p A300382 # generate Zeta_L(s)*Zeta_L(s-1)/Zeta_L(2s) %p A300382 L1 := DIRICHLET(%,L1i2) ; %p A300382 # generate 1/(1+4^(-s)) %p A300382 Laux := [1,seq(0,i=2..nops(L1))] : %p A300382 for k from 1 do %p A300382 if 4^k <= nops(Laux) then %p A300382 Laux := subsop(4^k=(-1)^k,Laux) ; %p A300382 else %p A300382 break; %p A300382 end if ; %p A300382 end do: %p A300382 # generate Zeta_L(s)*Zeta_L(s-1)/Zeta_L(2s)/(1+4^(-s)) %p A300382 L1 := DIRICHLET(L1,Laux) ; %p A300382 # generate 1+4^(1-s) %p A300382 Laux := [1,seq(0,i=2..3),4,seq(0,i=5..nops(L1))] ; %p A300382 DIRICHLET(L1,Laux) ; # _R. J. Mathar_, Mar 04 2018 %Y A300382 Cf. A031365. %K A300382 nonn,less %O A300382 1,4 %A A300382 _R. J. Mathar_, Mar 04 2018