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.

A300382 Dirichlet series for a cubic module of rank 6.

Original entry on oeis.org

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

Views

Author

R. J. Mathar, Mar 04 2018

Keywords

Comments

Submitted as a substitute for A031365 which appears to display a faulty A031365(16)=24 in the version published 1997.

Crossrefs

Cf. A031365.

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)
    L1 := DIRICHLET(%,L1i2) ;
    # generate 1/(1+4^(-s))
    Laux := [1,seq(0,i=2..nops(L1))] :
    for k from 1 do
        if 4^k <= nops(Laux) then
            Laux := subsop(4^k=(-1)^k,Laux) ;
        else
            break;
        end if ;
    end do:
    # generate Zeta_L(s)*Zeta_L(s-1)/Zeta_L(2s)/(1+4^(-s))
    L1 := DIRICHLET(L1,Laux) ;
    # generate 1+4^(1-s)
    Laux := [1,seq(0,i=2..3),4,seq(0,i=5..nops(L1))] ;
    DIRICHLET(L1,Laux) ; # R. J. Mathar, Mar 04 2018