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.

Showing 1-3 of 3 results.

A026791 Triangle in which n-th row lists juxtaposed lexicographically ordered partitions of n; e.g., the partitions of 3 (1+1+1,1+2,3) appear as 1,1,1,1,2,3 in row 3.

Original entry on oeis.org

1, 1, 1, 2, 1, 1, 1, 1, 2, 3, 1, 1, 1, 1, 1, 1, 2, 1, 3, 2, 2, 4, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 3, 1, 2, 2, 1, 4, 2, 3, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 3, 1, 1, 2, 2, 1, 1, 4, 1, 2, 3, 1, 5, 2, 2, 2, 2, 4, 3, 3, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 3, 1, 1, 1, 2, 2, 1, 1, 1, 4, 1, 1, 2, 3, 1, 1, 5
Offset: 1

Views

Author

Keywords

Comments

Differs from A080576 in a(18): Here, (...,1+3,2+2,4), there (...,2+2,1+3,4).
The representation of the partitions (for fixed n) is as (weakly) increasing lists of parts, the order between individual partitions (for the same n) is lexicographic (see example). - Joerg Arndt, Sep 03 2013
The equivalent sequence for compositions (ordered partitions) is A228369. - Omar E. Pol, Oct 19 2019

Examples

			First six rows are:
[[1]];
[[1, 1], [2]];
[[1, 1, 1], [1, 2], [3]];
[[1, 1, 1, 1], [1, 1, 2], [1, 3], [2, 2], [4]];
[[1, 1, 1, 1, 1], [1, 1, 1, 2], [1, 1, 3], [1, 2, 2], [1, 4], [2, 3], [5]];
[[1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 2], [1, 1, 1, 3], [1, 1, 2, 2], [1, 1, 4], [1, 2, 3], [1, 5], [2, 2, 2], [2, 4], [3, 3], [6]];
...
From _Omar E. Pol_, Sep 03 2013: (Start)
Illustration of initial terms:
----------------------------------
.                     Ordered
n  j      Diagram     partition j
----------------------------------
.               _
1  1           |_|    1;
.             _ _
2  1         | |_|    1, 1,
2  2         |_ _|    2;
.           _ _ _
3  1       | | |_|    1, 1, 1,
3  2       | |_ _|    1, 2,
3  3       |_ _ _|    3;
.         _ _ _ _
4  1     | | | |_|    1, 1, 1, 1,
4  2     | | |_ _|    1, 1, 2,
4  3     | |_ _ _|    1, 3,
4  4     |   |_ _|    2, 2,
4  5     |_ _ _ _|    4;
...
(End)
		

Crossrefs

Row lengths are given in A006128.
Partition lengths are in A193173.
Row lengths are A000041.
Partition sums are A036042.
Partition minima are A196931.
Partition maxima are A194546.
The reflected version is A211992.
The length-sensitive version (sum/length/lex) is A036036.
The colexicographic version (sum/colex) is A080576.
The version for non-reversed partitions is A193073.
Compositions under the same ordering (sum/lex) are A228369.
The reverse-lexicographic version (sum/revlex) is A228531.
The Heinz numbers of these partitions are A334437.

Programs

  • Maple
    T:= proc(n) local b, ll;
          b:= proc(n,l)
                if n=0 then ll:= ll, l[]
              else seq(b(n-i, [l[], i]), i=`if`(l=[],1,l[-1])..n)
                fi
              end;
          ll:= NULL; b(n, []); ll
        end:
    seq(T(n), n=1..8);  # Alois P. Heinz, Jul 16 2011
  • Mathematica
    T[n0_] := Module[{b, ll}, b[n_, l_] := If[n == 0, ll = Join[ll, l], Table[ b[n - i, Append[l, i]], {i, If[l == {}, 1, l[[-1]]], n}]]; ll = {}; b[n0, {}]; ll]; Table[T[n], {n, 1, 8}] // Flatten (* Jean-François Alcover, Aug 05 2015, after Alois P. Heinz *)
    Table[DeleteCases[Sort@PadRight[Reverse /@ IntegerPartitions[n]], x_ /; x == 0, 2], {n, 7}] // Flatten (* Robert Price, May 18 2020 *)
  • Python
    t = [[[]]]
    for n in range(1, 10):
        p = []
        for minp in range(1, n):
            p += [[minp] + pp for pp in t[n-minp] if min(pp) >= minp]
        t.append(p + [[n]])
    print(t)
    # Andrey Zabolotskiy, Oct 18 2019

A228100 Triangle in which n-th row lists all partitions of n, such that partitions of n into m parts appear in lexicographic order previous to the partitions of n into k parts if k < m. (Fenner-Loizou tree.)

Original entry on oeis.org

1, 1, 1, 2, 1, 1, 1, 2, 1, 3, 1, 1, 1, 1, 2, 1, 1, 2, 2, 3, 1, 4, 1, 1, 1, 1, 1, 2, 1, 1, 1, 2, 2, 1, 3, 1, 1, 3, 2, 4, 1, 5, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 2, 2, 1, 1, 3, 1, 1, 1, 2, 2, 2, 3, 2, 1, 4, 1, 1, 3, 3, 4, 2, 5, 1, 6, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1
Offset: 1

Views

Author

Peter Luschny, Aug 10 2013

Keywords

Comments

First differs from A193073 at a(58). - Omar E. Pol, Sep 22 2013
The partition lengths appear to be A331581. - Gus Wiseman, May 12 2020

Examples

			The sixth row is:
[1, 1, 1, 1, 1, 1]
[2, 1, 1, 1, 1]
[2, 2, 1, 1]
[3, 1, 1, 1]
[2, 2, 2]
[3, 2, 1]
[4, 1, 1]
[3, 3]
[4, 2]
[5, 1]
[6]
From _Gus Wiseman_, May 10 2020: (Start)
The triangle with partitions shown as Heinz numbers (A333485) begins:
    1
    2
    4   3
    8   6   5
   16  12   9  10   7
   32  24  18  20  15  14  11
   64  48  36  40  27  30  28  25  21  22  13
  128  96  72  80  54  60  56  45  50  42  44  35  33  26  17
(End)
		

References

  • T. I. Fenner, G. Loizou: A binary tree representation and related algorithms for generating integer partitions. The Computer J. 23(4), 332-337 (1980)
  • D. E. Knuth: The Art of Computer Programming. Generating all combinations and partitions, vol. 4, fasc. 3, 7.2.1.4, exercise 10.
  • K. Yamanaka, Y. Otachi, Sh. Nakano: Efficient enumeration of ordered trees with k leaves. In: WALCOM: Algorithms and Computation, Lecture Notes in Computer Science Volume 5431, 141-150 (2009)
  • S. Zaks, D. Richards: Generating trees and other combinatorial objects lexicographically. SIAM J. Comput. 8(1), 73-81 (1979)
  • A. Zoghbi, I. Stojmenovic': Fast algorithms for generating integer partitions. Int. J. Comput. Math. 70, 319-332 (1998)

Crossrefs

See A036036 for the Hindenburg (graded reflected colexicographic) ordering.
See A036037 for the graded colexicographic ordering.
See A080576 for the Maple (graded reflected lexicographic) ordering.
See A080577 for the Mathematica (graded reverse lexicographic) ordering.
See A182937 the Fenner-Loizou (binary tree in preorder traversal) ordering.
See A193073 for the graded lexicographic ordering.
The version for compositions is A296773.
Taking Heinz numbers gives A333485.
Lexicographically ordered reversed partitions are A026791.
Sorting partitions by Heinz number gives A296150, or A112798 for reversed partitions.
Reversed partitions under the (sum/length/revlex) ordering are A334302.

Programs

  • Maple
    b:= proc(n, i) b(n, i):= `if`(n=0 or i=1, [[1$n]], [b(n, i-1)[],
          `if`(i>n, [], map(x-> [i, x[]], b(n-i, i)))[]])
        end:
    T:= n-> map(h-> h[], sort(b(n$2), proc(x, y) local i;
            if nops(x)<>nops(y) then return nops(x)>nops(y) else
            for i to nops(x) do if x[i]<>y[i] then return x[i]Alois P. Heinz, Aug 13 2013
  • Mathematica
    row[n_] := Flatten[Reverse[Sort[#]]& /@ SplitBy[Sort[IntegerPartitions[n] ], Length], 1] // Reverse; Array[row, 8] // Flatten (* Jean-François Alcover, Dec 05 2016 *)
    ralensort[f_,c_]:=If[Length[f]!=Length[c],Length[f]>Length[c],OrderedQ[{f,c}]];
    Join@@Table[Sort[IntegerPartitions[n],ralensort],{n,0,8}] (* Gus Wiseman, May 10 2020 *)
  • Sage
    from collections import deque
    def GeneratePartitions(n, visit):
        p = ([], 0, n)
        queue = deque()
        queue.append(p)
        visit(p)
        while len(queue) > 0 :
            (phead, pheadLen, pnum1s) = queue.popleft()
            if pnum1s != 1 :
                head = phead[:pheadLen] + [2]
                q = (head, pheadLen + 1, pnum1s - 2)
                if 1 <= q[2] : queue.append(q)
                visit(q)
            if pheadLen == 1 or (pheadLen > 1 and \
                          (phead[pheadLen - 1] != phead[pheadLen - 2])) :
                head = phead[:pheadLen]
                head[pheadLen - 1] += 1
                q = (head, pheadLen, pnum1s - 1)
                if 1 <= q[2] : queue.append(q)
                visit(q)
    def visit(q): print(q[0] + [1 for i in range(q[2])])
    for n in (1..7): GeneratePartitions(n, visit)

A181317 Triangle in which n-th row lists all partitions of n, in the order of increasing smallest numbers of prime signatures.

Original entry on oeis.org

1, 2, 1, 1, 3, 2, 1, 1, 1, 1, 4, 3, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 5, 4, 1, 3, 2, 3, 1, 1, 2, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 6, 5, 1, 4, 2, 3, 3, 4, 1, 1, 3, 2, 1, 3, 1, 1, 1, 2, 2, 2, 2, 2, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7, 6, 1, 5, 2, 4, 3, 5, 1, 1, 4, 2, 1, 3, 3, 1, 4, 1, 1, 1, 3, 2, 2, 3, 2, 1, 1, 2
Offset: 1

Views

Author

Alois P. Heinz, Jan 26 2011

Keywords

Comments

The parts of each partition are listed in decreasing order.
Differs from A080577 at a(48) and from A036037 at a(56). A181087 uses the same order for all partitions.

Examples

			[3,1,1,1] and [2,2,2] are both partitions of 6, the smallest numbers having these prime signatures are 2^3*3^1*5^1*7^1=840 and 2^2*3^2*5^2=900, thus [3,1,1,1] < [2,2,2] in this order.
Triangle begins:
  [1];
  [2], [1,1];
  [3], [2,1], [1,1,1];
  [4], [3,1], [2,2], [2,1,1], [1,1,1,1];
  [5], [4,1], [3,2], [3,1,1], [2,2,1], [2,1,1,1], [1,1,1,1,1];
  [6], [5,1], [4,2], [3,3], [4,1,1], [3,2,1], [3,1,1,1], [2,2,2];
  ...
		

Crossrefs

Programs

  • Maple
    a:= proc(n) local b, ll;  # gives all parts of partitions of row n
      b:= proc(n,i,l)
            if n<0 then
          elif n=0 then ll:= ll, [mul(ithprime(t)^l[t], t=1..nops(l)), l]
          elif i=0 then
          else b(n-i, i, [l[], i]), b(n, i-1, l)
            fi
      end;
      ll:= NULL; b(n,n,[]);
      map(h-> h[2][], sort([ll], (x,y)-> x[1]
    				
  • Mathematica
    f[P_] := Times @@ (Prime[Range[Length[P]]]^P);
    row[n_] := SortBy[IntegerPartitions[n], f];
    Array[row, 7] // Flatten (* Jean-François Alcover, Feb 16 2021 *)
Showing 1-3 of 3 results.