galois.trial_division¶
-
galois.trial_division(n: int, B: int | None =
None
) tuple[list[int], list[int], int] ¶ Finds all the prime factors \(p_i^{e_i}\) of \(n\) for \(p_i \le B\).
The trial division factorization will find all prime factors \(p_i \le B\) such that \(n\) factors as \(n = p_1^{e_1} \dots p_k^{e_k} n_r\) where \(n_r\) is a residual factor (which may be composite).
- Parameters
- Returns
The discovered prime factors \(\{p_1, \dots, p_k\}\).
The corresponding prime exponents \(\{e_1, \dots, e_k\}\).
The residual factor \(n_r\).
See also
Examples
In [1]: n = 2**4 * 17**3 * 113 * 15013 In [2]: galois.trial_division(n) Out[2]: ([2, 17, 113, 15013], [4, 3, 1, 1], 1) In [3]: galois.trial_division(n, B=500) Out[3]: ([2, 17, 113], [4, 3, 1], 15013) In [4]: galois.trial_division(n, B=100) Out[4]: ([2, 17], [4, 3], 1696469)
Last update:
Apr 21, 2022