A238616 Number of partitions of n having standard deviation σ < 1.
1, 2, 3, 4, 6, 8, 10, 12, 15, 19, 23, 25, 33, 41, 44, 51, 58, 67, 78, 84, 99, 117, 124, 132, 155, 186, 202, 219, 244, 268, 290, 317, 344, 396, 427, 449, 501, 557, 597, 639, 714, 752, 824, 885, 948, 1031, 1084, 1185, 1308, 1390, 1452, 1589, 1692, 1788, 1919
Offset: 1
Examples
There are 11 partitions of 6, whose standard deviations are given by these approximations: 0, 2, 1, 1.41421, 0, 0.816497, 0.866025, 0, 0.5, 0.4, 0, so that a(6) = 8.
Programs
-
Maple
b:= proc(n, i, m, s, c) `if`(n=0, `if`(s/c-(m/c)^2<1, 1, 0), `if`(i=1, b(0$2, m+n, s+n, c+n), add(b(n-i*j, i-1, m+i*j, s+i^2*j, c+j), j=0..n/i))) end: a:= n-> b(n$2, 0$3): seq(a(n), n=1..55); # Alois P. Heinz, Mar 12 2014
-
Mathematica
z = 55; g[n_] := g[n] = IntegerPartitions[n]; s[t_] := s[t] = Sqrt[Sum[(t[[k]] - Mean[t])^2, {k, 1, Length[t]}]/Length[t]] Table[Count[g[n], p_ /; s[p] < 1], {n, z}] (*A238616*) Table[Count[g[n], p_ /; s[p] <= 1], {n, z}] (*A238617*) Table[Count[g[n], p_ /; s[p] == 1], {n, z}] (*A238618*) Table[Count[g[n], p_ /; s[p] > 1], {n, z}] (*A238619*) Table[Count[g[n], p_ /; s[p] >= 1], {n, z}] (*A238620*) t[n_] := t[n] = N[Table[s[g[n][[k]]], {k, 1, PartitionsP[n]}]] ListPlot[Sort[t[30]]] (*plot of st.dev's of partitions of 30*) (* Second program: *) b[n_, i_, m_, s_, c_] := b[n, i, m, s, c] = If[n==0, If[s/c-(m/c)^2<1, 1, 0], If[i==1, b[0, 0, m+n, s+n, c+n], Sum[b[n-i*j, i-1, m+i*j, s+i^2*j, c+j], {j, 0, n/i}]]]; a[n_] := b[n, n, 0, 0, 0]; Table[a[n], {n, 1, 55}] (* Jean-François Alcover, Nov 20 2015, after Alois P. Heinz *) (* The interest of this 3rd program is just to show how Mathematica's StandardDeviation can be used, with a correction factor, to compute sigma, the population standard deviation. *) sigma[t_] := If[Length[t] == 1, 0, StandardDeviation[t]*Sqrt[(Length[t]-1)/ Length[t]]]; a[n_] := Count[IntegerPartitions[n], p_ /; sigma[p] < 1]; Array[a, 30] (* Jean-François Alcover, May 28 2021 *)
Comments