The author presents parallel shared memory algorithms for counting the number of partitions of a given integer N, where the partitions may be subject to restrictions, such as being composed of distinct parts, of a given number of parts, and/or of parts belonging to a specified set. The author shows that this can be done in polylogarithmic parallel time, although the algorithm requires an excessive number of processors. She also presents more practical algorithms that run in time O( square root N(log N)/sup 2/) but use much fewer processors. The technique used in these algorithms can be used to obtain adaptive, optimal algorithms for the case when a limited number of processors is available. Parallel logarithmic time algorithms that generate partitions uniformly at random, using the quantities computed by the counting algorithms, are also presented. >
['Laura A. Sanchis']
Counting and generating integer partitions in parallel