LMCAS
Lamina Computer Algebra System
载入中...
搜索中...
未找到
exact_factorization.hpp 文件参考
#include "polynomial.hpp"
#include "modular_arithmetic.hpp"
#include "bigint.hpp"
#include "rational.hpp"
#include "result.hpp"
#include "computation_context.hpp"
#include <cstdint>
#include <vector>
exact_factorization.hpp 的引用(Include)关系图:
此图展示该文件被哪些文件直接或间接地引用了:

浏览该文件的源代码.

类

struct  LMCAS::BerlekampResult
 Berlekamp 分解结果。 更多...
struct  LMCAS::HenselLiftPair
 二因子二次 Hensel 提升的状态结构. 更多...
struct  LMCAS::TfSquareFreeResult
 执行一步二次 Hensel 提升:mod m -> mod m^2. 更多...

命名空间

namespace  LMCAS

类型定义

using LMCAS::HenselLiftResult = Result<std::vector<Polynomial<BigInt>>>
using LMCAS::ZassenhausResult

函数

__attribute__((visibility("default"))) Result< EqvProfile > eqv_profile_from_name(const std LMCAS::__attribute__ ((visibility("default"))) BerlekampResult berlekamp_factor(const Polynomial< Rational > &poly
 Berlekamp 模素数分解(内部接口).

变量

const std::vector< Polynomial< BigInt > > const BigInt ComputationContext & LMCAS::context
const std::vector< Polynomial< ModInt > > int64_t int LMCAS::lift_bound
const std::vector< Polynomial< BigInt > > & LMCAS::lifted_factors
const std::vector< Polynomial< ModInt > > & LMCAS::mod_factors
int64_t LMCAS::prime
const std::vector< Polynomial< BigInt > > const BigInt & LMCAS::reconstruction_modulus

类说明

◆ LMCAS::HenselLiftPair

struct LMCAS::HenselLiftPair

二因子二次 Hensel 提升的状态结构.

存储一对因子 g, h 及其 Bezout 系数 s, t,满足:

  • f == g * h (mod modulus)
  • s * g + t * h == 1 (mod modulus)

系数按升幂存储:coeffs[i] 对应 x^i 的系数.

在文件 exact_factorization.hpp 第 81 行定义.

LMCAS::HenselLiftPair 的协作图:
类成员
vector< BigInt > g 第一个因子的系数。
vector< BigInt > h 第二个因子的系数。
BigInt modulus 当前模数。
vector< BigInt > s g 的 Bezout 系数。
vector< BigInt > t h 的 Bezout 系数。