Two parallel dynamic lexicographic algorithms for factorization sets in numerical semigroups
Thomas Barron
TL;DR
The paper addresses computing factorization sets $\mathsf Z(n)$ for numerical semigroups and extends the existing dynamic recurrence $\mathsf Z(n)=\bigcup_i \mathsf{incr}_i(\mathsf Z(n-g_i))$ with lexicographic ordering and parallelism. It couples this with a dynamic, memoized, bounded-lexicographic enumeration and implements the approaches on CUDA, yielding two main contributions: a dimensionwise dynamic algorithm and a parallel lexicographic algorithm augmented by low-dimension tabulation. The authors provide updated CUDA implementations (including $LexicographicFactorizationListsUpToElement$, $LexFacListsUpToElement_FactorizationwiseParallel$, and $FactorizationsParallelLexicographicWithMemoization$) and report runtime measurements that compare CPU and GPU performance across memo dimensions. This work advances scalable factorization enumeration in numerical semigroups, offering practical speedups via memoization and parallelism and laying groundwork for further asymptotic analysis and optimization.
Abstract
To the existing dynamic algorithm FactorizationsUpToElement for factorization sets of elements in a numerical semigroup, we add lexicographic and parallel behavior. To the existing parallel lexicographic algorithm for the same, we add dynamic behavior. The (dimensionwise) dynamic algorithm is parallelized either elementwise or factorizationwise, while the parallel lexicographic algorithm is made dynamic with low-dimension tabulation. The tabulation for the parallel lexicographic algorithm can itself be performed using the dynamic algorithm. We provide reference CUDA implementations with measured runtimes.
