I want to partition an integer into $k$ integers all possible orderings. This can be done in the following way
integerPartitions[n_, {k_}] := Select[FrobeniusSolve[Table[1, {k}], n], FreeQ[#, 0] &]
For example,
integerPartitions[4, {2}]
gives
{{1, 3}, {2, 2}, {3, 1}}
But this is very slow if the partition number is large as compared to IntegerPartitions
, which gives partitions in reverse lexicographic order. For instance, integerPartitions[60, {5}]
will take more than 4 seconds in my laptop in contrast to 0 seconds of IntegerPartitions[60, {5}]
.
So my question is: what would be the most efficient Mathematica code for this problem?
IntegerPartitions
? $\endgroup$