galois.is_smooth

galois.is_smooth(n, B)

Determines if the positive integer \(n\) is \(B\)-smooth.

Parameters
  • n (int) – A positive integer.

  • B (int) – The smoothness bound \(B \ge 2\).

Returns

True if \(n\) is \(B\)-smooth.

Return type

bool

Notes

An integer \(n\) with prime factorization \(n = p_1^{e_1} \dots p_k^{e_k}\) is \(B\)-smooth if \(p_k \le B\). The \(2\)-smooth numbers are the powers of \(2\). The \(5\)-smooth numbers are known as regular numbers. The \(7\)-smooth numbers are known as humble numbers or highly composite numbers.

Examples

In [1]: galois.is_smooth(2**10, 2)
Out[1]: True

In [2]: galois.is_smooth(10, 5)
Out[2]: True

In [3]: galois.is_smooth(12, 5)
Out[3]: True

In [4]: galois.is_smooth(60**2, 5)
Out[4]: True