|
LMCAS
Lamina Computer Algebra System
|
#include "polynomial.hpp"#include "modular_arithmetic.hpp"#include "bigint.hpp"#include "rational.hpp"#include "result.hpp"#include "computation_context.hpp"#include <cstdint>#include <vector>类 | |
| 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 |
| struct LMCAS::HenselLiftPair |
二因子二次 Hensel 提升的状态结构.
存储一对因子 g, h 及其 Bezout 系数 s, t,满足:
系数按升幂存储:coeffs[i] 对应 x^i 的系数.
在文件 exact_factorization.hpp 第 81 行定义.
| 类成员 | ||
|---|---|---|
| vector< BigInt > | g | 第一个因子的系数。 |
| vector< BigInt > | h | 第二个因子的系数。 |
| BigInt | modulus | 当前模数。 |
| vector< BigInt > | s | g 的 Bezout 系数。 |
| vector< BigInt > | t | h 的 Bezout 系数。 |