|
LMCAS
Lamina Computer Algebra System
|
命名空间 | |
| namespace | LMCAS |
| namespace | LMCAS::berlekamp_detail |
函数 | |
| static std::vector< int64_t > | LMCAS::berlekamp_detail::bk_derivative_mod (const std::vector< int64_t > &f, int64_t p) |
| 计算模 p 多项式的形式导数. | |
| void | LMCAS::berlekamp_detail::bk_div_mod (const std::vector< int64_t > &a, const std::vector< int64_t > &b, int64_t p, std::vector< int64_t > &q, std::vector< int64_t > &r) |
| 模 p 多项式带余除法. | |
| std::vector< int64_t > | LMCAS::berlekamp_detail::bk_gcd_mod (std::vector< int64_t > a, std::vector< int64_t > b, int64_t p) |
| 计算两个模 p 多项式的最大公因式. | |
| static bool | LMCAS::berlekamp_detail::bk_is_square_free_mod (const std::vector< int64_t > &f, int64_t p) |
| 检查模 p 多项式是否为 无平方因子. | |
| bool | LMCAS::berlekamp_detail::bk_is_suitable_prime (const Polynomial< Rational > &poly, int64_t prime) |
| 判断素数是否保持多项式次数和无平方性质。 | |
| int64_t | LMCAS::berlekamp_detail::bk_mod_inverse (int64_t a, int64_t p) |
| 模 p 下求乘法逆元. | |
| std::vector< int64_t > | LMCAS::berlekamp_detail::bk_reduce_to_mod_coeffs (const Polynomial< Rational > &poly, int64_t p) |
| 以系数分母的 LCM 清除分母,再逐项取模 p。 | |
| int64_t | LMCAS::berlekamp_detail::bk_select_prime (const Polynomial< Rational > &poly) |
| 从小素数表中选取适合 Berlekamp 分解的素数。 | |
变量 | |
| static constexpr size_t | LMCAS::berlekamp_detail::BK_NUM_SMALL_PRIMES |
| static constexpr int64_t | LMCAS::berlekamp_detail::BK_SMALL_PRIMES [] |
| Berlekamp 模分解的小素数候选表。 按升序选取首个不整除首项系数且使模约化结果无平方因子的素数。 | |