Nearest $B$-smooth integer

124 Views Asked by At

A positive integer is called $B$-smooth if none of its prime factors are greater than $B$.

What is a good algorithm to find the $B$-smooth integer $m$ near $n$ $(m \ge n)$?

Obvious choices:

  1. Factorials $\ge n$
  2. Smooth perfect powers $\ge n$: Choose a small prime basis consisting primes $\le B$ and compute the product of their powers greater than $n$

My criteria for good is that $m$ should be $B$-smooth, the number of divisors of $m$ should be relatively small. It doesn't necessarily have to have the absolute least number of divisors. It needs to be near $n$ (not necessarily the nearest).

Context: I am doing a powerset of divisors of $m$ computation after choosing $m$ and would like to keep $B$ small and at the same time not have an unmanageably large exponential blowup of the divisors.

1

There are 1 best solutions below

0
On BEST ANSWER
  1. I found this algorithm outlined by Andrew Granville in the chapter Smooth numbers: computational number theory and beyond in Algorithmic Number Theory, MSRI Publications, Volume 44, 2008, p307. url (accessed Nov 8, 2022): https://dms.umontreal.ca/~andrew/PDF/msrire.pdf

enter image description here

and

  1. this algorithm. Preprint also at Arxiv link below:

    Eric Bach and Jonathan Sorenson. An Algorithm to Generate Random Factored Smooth Integers. ANTS XIV poster session. Arxiv.org url (accessed Nov 8, 2022): https://arxiv.org/abs/2006.07445

    The running time is $O\bigg({{(\log x)^3} \over {\log \log x}}\bigg)$.