LMCAS
Lamina Computer Algebra System
载入中...
搜索中...
未找到
berlekamp_modular.cpp 文件参考
#include "internal/berlekamp_support.hpp"
#include <algorithm>
#include <limits>
berlekamp_modular.cpp 的引用(Include)关系图:

浏览该文件的源代码.

命名空间

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 模分解的小素数候选表。 按升序选取首个不整除首项系数且使模约化结果无平方因子的素数。