Table of Contents
Fetching ...

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.

Two parallel dynamic lexicographic algorithms for factorization sets in numerical semigroups

TL;DR

The paper addresses computing factorization sets for numerical semigroups and extends the existing dynamic recurrence 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 , , and ) 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.
Paper Structure (11 sections, 4 theorems, 10 equations, 1 table)

This paper contains 11 sections, 4 theorems, 10 equations, 1 table.

Key Result

Lemma 2.2

Theorems & Definitions (7)

  • Definition 2.1: Incrementing one index of a factorization
  • Lemma 2.2: The dynamic recurrence relation for factorizations; dynamic
  • Lemma 2.3: Dynamic recurrence relation as disjoint union; dynamic
  • Definition 2.4: Factorizations not supported left of index $i$
  • Lemma 2.6
  • proof
  • Corollary 2.7