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.

A031366 Number of symmetrically inequivalent coincidence rotations of icosian ring of index n.

Original entry on oeis.org

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
Offset: 1

Views

Author

Keywords

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

Crossrefs

Cf. A331143.

Programs

  • 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) ;

Formula

See Baake (1997) for the Dirichlet g.f.

Extensions

Terms beyond a(36) from R. J. Mathar, Mar 04 2018
New name from Andrey Zabolotskiy, Feb 16 2021