|
LMCAS
Lamina Computer Algebra System
|
在计算预算内对提升因子进行精确有理重构。 更多...
#include "exact_factorization.hpp"#include "internal/exact_factorization_support.hpp"#include <string>#include <vector>#include <unordered_set>#include <cmath>#include <limits>#include <cstdint>类 | |
| struct | LMCAS::ZcFactorSearch |
命名空间 | |
| namespace | LMCAS |
函数 | |
| ZassenhausResult | LMCAS::zassenhaus_combine_checked (const Polynomial< Rational > &poly, const std::vector< Polynomial< BigInt > > &lifted_factors, const BigInt &reconstruction_modulus) |
| ZassenhausResult | LMCAS::zassenhaus_combine_checked (const Polynomial< Rational > &poly, const std::vector< Polynomial< BigInt > > &lifted_factors, const BigInt &reconstruction_modulus, ComputationContext &context) |
| static ZassenhausResult | LMCAS::zassenhaus_combine_impl (const Polynomial< Rational > &poly, const std::vector< Polynomial< BigInt > > &lifted_factors, const BigInt &reconstruction_modulus, ComputationContext &context) |
| static Polynomial< Rational > | LMCAS::zc_bigint_to_rational_poly (const std::vector< BigInt > &coeffs, const std::string &var) |
| 将 BigInt 系数向量转换为有理系数多项式. | |
| static bool | LMCAS::zc_divides_exactly (const Polynomial< Rational > &f, const Polynomial< Rational > &candidate) |
| 检验候选因子是否整除原多项式(精确有理除法). | |
| static ZassenhausResult | LMCAS::zc_enumerate (const Polynomial< Rational > &poly, const std::vector< Polynomial< BigInt > > &lifted_factors, const BigInt &modulus, ComputationContext &context) |
| static ZassenhausResult | LMCAS::zc_finalize (const Polynomial< Rational > &original, std::vector< Polynomial< Rational > > factors, Polynomial< Rational > remaining, Completeness completeness, std::string reason) |
| static Result< bool > | LMCAS::zc_find_factor (ZcFactorSearch &search) |
| static Polynomial< Rational > | LMCAS::zc_make_primitive (const Polynomial< Rational > &poly) |
| 使候选多项式首一化(首项系数归一). | |
| static bool | LMCAS::zc_next_combination (std::vector< size_t > &positions, size_t count) |
| static bool | LMCAS::zc_rational_reconstruction (const BigInt &a, const BigInt &m, BigInt &num, BigInt &den) |
| 对 BigInt 系数执行有理数重构. | |
| static Polynomial< Rational > | LMCAS::zc_reconstruct_candidate (const std::vector< BigInt > &product_coeffs, const BigInt &mod, const std::string &var) |
| 对子集乘积的所有系数执行有理重构,构造有理系数多项式. | |
| static std::vector< size_t > | LMCAS::zc_select_indices (const std::vector< size_t > &active, const std::vector< size_t > &positions) |
| static Result< std::vector< BigInt > > | LMCAS::zc_subset_product (const std::vector< Polynomial< BigInt > > &lifted_factors, const std::vector< size_t > &indices, const BigInt &mod, ComputationContext &context) |
| 在模 m 下乘以按字典序枚举的提升因子子集. | |
| static Result< bool > | LMCAS::zc_try_candidate (ZcFactorSearch &search, const std::vector< size_t > &positions) |
| static Result< void > | LMCAS::zc_validate_lifted_product (const Polynomial< Rational > &poly, const std::vector< Polynomial< BigInt > > &lifted_factors, const BigInt &modulus, ComputationContext &context) |
在计算预算内对提升因子进行精确有理重构。
在文件 zassenhaus_combine.cpp 中定义.
| struct LMCAS::ZcFactorSearch |
在文件 zassenhaus_combine.cpp 第 347 行定义.
| 类成员 | ||
|---|---|---|
| vector< size_t > | active | |
| ComputationContext & | context | |
| vector< Polynomial< Rational > > | factors | |
| const vector< Polynomial< BigInt > > & | lifted | |
| const BigInt & | modulus | |
| Polynomial< Rational > | remaining | |