OFFSET
1,2
COMMENTS
Here, "standard deviation" means "population standard deviation" (denoted by σ), not "sample standard deviation" (denoted by s); σ is the square root of variance, so that σ of a list t = (t(k)), such as the partitions of a positive integer, is given by the formula sqrt((sum[(t(k) - mean(t))^2: k = 1..#t)/(#t)), where #t is the number of terms in t(k). (The distinction between σ and s is discussed in most probability and statistics textbooks. The command "StandardDeviation" in Mathematica gives s, not σ.)
EXAMPLE
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.
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 *)
CROSSREFS
KEYWORD
nonn,easy
AUTHOR
Clark Kimberling, Mar 01 2014
STATUS
approved