3
$\begingroup$

In version 10.2.0, I calculated the number of integer partitions of n into exactly k distinct parts with no part exceeding m by using PochhammerDistinct[n,k,m].

$Version

10.2.0 for Linux x86 (64-bit) (July 6, 2015)

PochhammerDistinct[n_, k_, m_] := 
   Coefficient[SeriesCoefficient[QPochhammer[-t*z, z, m], {z, 0, n}], t^k]

This function is based on the answer by @ciao here.

For example, there are 9 partitions of 28 into exactly 4 distinct parts with no part exceeding 10.

PochhammerDistinct[28, 4, 10]

9

Select[IntegerPartitions[28, {4}, Range[10]], Length[Union[#]] == 4 &]

{{10, 9, 8, 1}, {10, 9, 7, 2}, {10, 9, 6, 3}, {10, 9, 5, 4}, {10, 8, 7, 3}, {10, 8, 6, 4}, {10, 7, 6, 5}, {9, 8, 7, 4}, {9, 8, 6, 5}}

However, in versions 10.3.1, 10.4.1, and 11.0.1 for 64-bit Linux, the same function gives the following.

PochhammerDistinct[28, 4, 10]

weird Pochhammer

How to I convert this new answer into the integer 9? Is this a bug? Does the weird functional form persist in v11.1.0?

$\endgroup$
2
  • 3
    $\begingroup$ Try PochhammerDistinct[n_, k_, m_] := Coefficient[SeriesCoefficient[FunctionExpand[QPochhammer[-t z, z, m]], {z, 0, n}], t^k]. This is apparently the same problem as this one. $\endgroup$ Mar 21, 2017 at 2:50
  • $\begingroup$ @J.M. - your approach works with version 11.0.1 and 11.1.0 for Mac OS X $\endgroup$
    – Bob Hanlon
    Mar 21, 2017 at 3:18

1 Answer 1

2
$\begingroup$

As already noted, the workaround needed is to apply FunctionExpand[] to the finite $q$-Pochhammer symbol:

PochhammerDistinct[n_, k_, m_] := Block[{t, z},
   Coefficient[SeriesCoefficient[FunctionExpand[QPochhammer[-t z, z, m]], {z, 0, n}], t^k]]

From here,

PochhammerDistinct[28, 4, 10]
   9
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.