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.

A119441 Distribution of A063834 in Abramowitz and Stegun order.

Original entry on oeis.org

1, 2, 1, 3, 2, 1, 5, 3, 4, 2, 1, 7, 5, 6, 3, 4, 2, 1, 11, 7, 10, 9, 5, 6, 8, 3, 4, 2, 1, 15, 11, 14, 15, 7, 10, 9, 12, 5, 6, 8, 3, 4, 2, 1, 22, 15, 22, 21, 25, 11, 14, 15, 20, 18, 7, 10, 9, 12, 16, 5, 6, 8, 3, 4, 2, 1, 30, 22, 30, 33, 35, 15, 22, 21
Offset: 1

Views

Author

Alford Arnold, May 19 2006

Keywords

Examples

			1;
2, 1;
3, 2, 1;
5, 3, 4, 2, 1;
7, 5, 6, 3, 4, 2, 1;
T(5,2) = 5 because the second partition of 5 is 1+4 and 4 can be repartitioned in 5 different ways.
T(5,3) = 6 because the third partition of 5 is 2+3, where the 2 can be partitioned in 2 ways (2, 1+1) and the 3 can be partitioned in 3 ways (3, 1+2, 1+1+1), 6=2*3.
T(5,4) = 3 because the fourth partition of 5 is 1+1+3 and 3 can be partitioned in 3 different ways.
		

Crossrefs

Cf. A063834, A119442, A000041 (row lengths and also first column)

Programs

  • Maple
    # Compare two partitions (list) in AS order.
    AScompare := proc(p1,p2)
        if nops(p1) > nops(p2) then
            return 1;
        elif nops(p1) < nops(p2) then
            return -1;
        else
            for i from 1 to nops(p1) do
                if op(i,p1) > op(i,p2) then
                    return 1;
                elif op(i,p1) < op(i,p2) then
                    return -1;
                end if;
            end do:
            return 0 ;
        end if;
    end proc:
    # Produce list of partitions in AS order
    ASPrts := proc(n)
        local pi,insrt,p,ex ;
        pi := [] ;
        for p in combinat[partition](n) do
            insrt := 0 ;
            for ex from 1 to nops(pi) do
                if AScompare(p, op(ex,pi)) > 0 then
                    insrt := ex ;
                end if;
            end do:
            if nops(pi) = 0 then
                pi := [p] ;
            elif insrt = 0 then
                pi := [p,op(pi)] ;
            elif insrt = nops(pi) then
                pi := [op(pi),p] ;
            else
                pi := [op(1..insrt,pi),p,op(insrt+1..nops(pi),pi)] ;
            end if;
        end do:
        return pi ;
    end proc:
    A119441 := proc(n,k)
        local pi,a,p ;
        pi := ASPrts(n)[k] ;
        a := 1 ;
        for p in pi do
            a := a*combinat[numbpart](p) ;
        end do:
        a ;
    end proc:
    for n from 1 to 10 do
        for k from 1 to A000041(n) do
            printf("%d,",A119441(n,k)) ;
        end do:
        printf("\n") ;
    end do: # R. J. Mathar, Jul 12 2013

Formula

T(n,k) = product_{p=1..A036043(n,k)} A000041(c), 1<=k<=A000041(n), where c are the parts in the k-th partition of n. - R. J. Mathar, Jul 12 2013