login
A107106
Irregular triangle T(n,k) = A036039(n,k) / A036040(n,k), read by rows, 1 <= k <= A000041(n).
4
1, 1, 1, 1, 2, 1, 1, 6, 2, 1, 1, 1, 24, 6, 2, 2, 1, 1, 1, 120, 24, 6, 4, 6, 2, 1, 2, 1, 1, 1, 720, 120, 24, 12, 24, 6, 4, 2, 6, 2, 1, 2, 1, 1, 1, 5040, 720, 120, 48, 36, 120, 24, 12, 6, 4, 24, 6, 4, 2, 1, 6, 2, 1, 2, 1, 1, 1, 40320, 5040, 720, 240, 144, 720, 120, 48, 36, 24, 12, 8, 120, 24, 12
OFFSET
0,5
COMMENTS
Rows have A000041(n) entries, with partitions in Abramowitz and Stegun order (A036036).
This array is the first one (K=1) of a family of partition number arrays called M31(1). For M31(2) see A134133 = M_3(2)/M_3.
LINKS
Andrew Howroyd, Table of n, a(n) for n = 0..2713 (rows 0..20; rows 1..10 from Jean-François Alcover)
EXAMPLE
Triangle begins:
0 | 1;
1 | 1;
2 | 1, 1;
3 | 2, 1, 1;
4 | 6, 2, 1, 1, 1;
5 | 24, 6, 2, 2, 1, 1, 1;
6 | 120, 24, 6, 4, 6, 2, 1, 2, 1, 1, 1;
7 | 720, 120, 24, 12, 24, 6, 4, 2, 6, 2, 1, 2, 1, 1, 1;
...
MAPLE
sortAbrSteg := proc(L1, L2) local i ; if nops(L1) < nops(L2) then RETURN(true) ; elif nops(L2) < nops(L1) then RETURN(false) ; else for i from 1 to nops(L1) do if op(i, L1) < op(i, L2) then RETURN(false) ; fi ; od ; RETURN(true) ; fi ; end: M2overM3 := proc(L) local n, k, an, resul; n := add(i, i=L) ; resul := 1 ; for k from 1 to n do an := add(1-min(abs(j-k), 1), j=L) ; resul := resul* (factorial(k-1))^an ; od ; end: A107106 := proc(n, k) local prts, m ; prts := combinat[partition](n) ; prts := sort(prts, sortAbrSteg) ; if k <= nops(prts) then M2overM3(op(k, prts)) ; else 0 ; fi ; end: for n from 1 to 10 do for k from 1 to combinat[numbpart](n) do a:=A107106(n, k) ; printf("%d, ", a) ; od; od ; # R. J. Mathar, Aug 13 2007
MATHEMATICA
aspartitions[n_] := Reverse /@ Sort[Sort /@ IntegerPartitions[n]];
A036039[n_] := n!/(Times @@ #)& /@ ((#! Range[n]^#)& /@ Function[par, Count[par, #]& /@ Range[n]] /@ aspartitions[n]);
runs[li : {__Integer}] := ((Length /@ Split[#]))&[Sort@li];
A036040[n_] := Module[{temp}, temp = Map[Reverse, Sort@(Sort /@ IntegerPartitions[n]), {1}]; Apply[Multinomial, temp, {1}]/Apply[Times, (runs /@ temp)!, {1}]];
T[n_] := A036039[n]/A036040[n];
Table[T[n], {n, 1, 10}] // Flatten
(* Jean-François Alcover, Jun 10 2023, after Wouter Meeussen in A036039 *)
PROG
(PARI)
C(sig)={prod(k=1, #sig, sig[k]!)/vecprod(sig)}
Row(n)={apply(C, [Vecrev(p) | p<-partitions(n)])}
{ for(n=0, 7, print(Row(n))) } \\ Andrew Howroyd, Oct 03 2025
CROSSREFS
Cf. A000041 (row lengths), A036036, A036039, A036040, A107107 (row sums), A134133.
Sequence in context: A123361 A265315 A179380 * A178249 A114423 A119502
KEYWORD
easy,nonn,tabf
AUTHOR
Alford Arnold, May 12 2005
EXTENSIONS
Corrected and extended by R. J. Mathar, Aug 13 2007
a(75) and a(76) swapped (first 36, then 24) by Wolfdieter Lang, Sep 22 2008
a(0)=1 prepended by Andrew Howroyd, Oct 03 2025
STATUS
approved