A215366 Triangle T(n,k) read by rows in which n-th row lists in increasing order all partitions lambda of n encoded as Product_{i in lambda} prime(i); n>=0, 1<=k<=A000041(n).
1, 2, 3, 4, 5, 6, 8, 7, 9, 10, 12, 16, 11, 14, 15, 18, 20, 24, 32, 13, 21, 22, 25, 27, 28, 30, 36, 40, 48, 64, 17, 26, 33, 35, 42, 44, 45, 50, 54, 56, 60, 72, 80, 96, 128, 19, 34, 39, 49, 52, 55, 63, 66, 70, 75, 81, 84, 88, 90, 100, 108, 112, 120, 144, 160, 192, 256
Offset: 0
Examples
The partitions of n=3 are {[3], [2,1], [1,1,1]}, encodings give {prime(3), prime(2)*prime(1), prime(1)^3} = {5, 3*2, 2^3} => row 3 = [5, 6, 8]. For n=0 the empty partition [] gives the empty product 1. Triangle T(n,k) begins: 1; 2; 3, 4; 5, 6, 8; 7, 9, 10, 12, 16; 11, 14, 15, 18, 20, 24, 32; 13, 21, 22, 25, 27, 28, 30, 36, 40, 48, 64; 17, 26, 33, 35, 42, 44, 45, 50, 54, 56, 60, 72, 80, 96, 128; ... Corresponding triangle of integer partitions begins: (); 1; 2, 11; 3, 21, 111; 4, 22, 31, 211, 1111; 5, 41, 32, 221, 311, 2111, 11111; 6, 42, 51, 33, 222, 411, 321, 2211, 3111, 21111, 111111; 7, 61, 52, 43, 421, 511, 322, 331, 2221, 4111, 3211, 22111, 31111, 211111, 1111111; - _Gus Wiseman_, Dec 12 2016
Links
Crossrefs
Programs
-
Maple
b:= proc(n, i) option remember; `if`(n=0 or i<2, [2^n], [seq(map(p->p*ithprime(i)^j, b(n-i*j, i-1))[], j=0..n/i)]) end: T:= n-> sort(b(n, n))[]: seq(T(n), n=0..10); # (2nd Maple program) with(combinat): A := proc (n) local P, A, i: P := partition(n): A := {}; for i to nops(P) do A := `union`(A, {mul(ithprime(P[i][j]), j = 1 .. nops(P[i]))}) end do: A end proc; # the command A(m) yields row m. # Emeric Deutsch, Jan 23 2016 # (3rd Maple program) q:= 7: S[0] := {1}: for m to q do S[m] := `union`(seq(map(proc (f) options operator, arrow: ithprime(j)*f end proc, S[m-j]), j = 1 .. m)) end do; # for a given positive integer q, the program yields rows 0, 1, 2,...,q. # Emeric Deutsch, Jan 23 2016
-
Mathematica
b[n_, i_] := b[n, i] = If[n == 0 || i<2, {2^n}, Table[Function[#*Prime[i]^j] /@ b[n - i*j, i-1], {j, 0, n/i}] // Flatten]; T[n_] := Sort[b[n, n]]; Table[T[n], {n, 0, 10}] // Flatten (* Jean-François Alcover, Mar 12 2015, after Alois P. Heinz *) nn=7;HeinzPartition[n_]:=If[n===1,{},Flatten[Cases[FactorInteger[n],{p_,k_}:>Table[PrimePi[p],{k}]]]//Reverse]; Take[GatherBy[Range[2^nn],Composition[Total,HeinzPartition]],nn+1] (* Gus Wiseman, Dec 12 2016 *) Table[Map[Times @@ Prime@ # &, IntegerPartitions[n]], {n, 0, 8}] // Flatten (* Michael De Vlieger, Jul 12 2017 *)
-
PARI
\\ From M. F. Hasler, Dec 06 2016 (Start) A215366_row(n)=vecsort([vecprod([prime(p)|p<-P])|P<-partitions(n)]) \\ bug fix & syntax update by M. F. Hasler, Oct 20 2023 A215366_vec(N)=concat(apply(A215366_row,[0..N])) \\ "flattened" rows 0..N (End)
Formula
Recurrence relation, explained for the set S(4) of entries in row 4: multiply the entries of S(3) by 2 (= 1st prime), multiply the entries of S(2) by 3 (= 2nd prime), multiply the entries of S(1) by 5 (= 3rd prime), multiply the entries of S(0) by 7 (= 4th prime); take the union of all the obtained products. The 3rd Maple program is based on this recurrence relation. - Emeric Deutsch, Jan 23 2016
Comments