|
LMCAS
Lamina Computer Algebra System
|
#include "exact_factorization.hpp"命名空间 | |
| namespace | LMCAS |
| namespace | LMCAS::berlekamp_detail |
函数 | |
| std::vector< std::vector< int64_t > > | LMCAS::berlekamp_detail::bk_build_q_matrix (const std::vector< int64_t > &f, int64_t p) |
| 构造 F_p 上的 Berlekamp 矩阵 Q。 | |
| 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 多项式的最大公因式. | |
| 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< std::vector< int64_t > > | LMCAS::berlekamp_detail::bk_null_space (const std::vector< std::vector< int64_t > > &Q, int64_t 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 分解的素数。 | |
| std::vector< std::vector< int64_t > > | LMCAS::berlekamp_detail::bk_split_factors (const std::vector< int64_t > &f_coeffs, const std::vector< std::vector< int64_t > > &null_basis, int null_dim, int64_t p) |