LMCAS
Lamina Computer Algebra System
载入中...
搜索中...
未找到
multivariate_hensel.cpp 文件参考
#include "multivariate_factor.hpp"
#include "transcendental_factor.hpp"
#include <algorithm>
#include <climits>
#include <cstdint>
#include <cmath>
#include <map>
#include <set>
#include <stdexcept>
#include "internal/multivariate_factor_support.hpp"
multivariate_hensel.cpp 的引用(Include)关系图:

浏览该文件的源代码.

命名空间

namespace  LMCAS

函数

static bool LMCAS::apply_hensel_lift_steps (const MultiPoly &poly, std::vector< MultiPoly > &factors, const std::string &lift_var, int lift_var_idx, const Rational &eval_point, int degree_bound, int factor_count)
static bool LMCAS::diophantine_target (const MultiPoly &target, const std::string &var, const Rational &eval_point, const std::string &main_var, Polynomial< Rational > &target_uni)
static bool LMCAS::diophantine_univariate_factors (const std::vector< MultiPoly > &factors, const std::string &var, const Rational &eval_point, Polynomial< Rational > &f1_uni, Polynomial< Rational > &f2_uni)
static MultiPoly LMCAS::embed_hensel_terms (const MultiPoly &polynomial, const std::vector< std::string > &variables)
static std::vector< MultiPoly > LMCAS::embed_without_lifting (const std::vector< Polynomial< Rational > > &univariate_factors, const std::vector< std::string > &vars)
static std::vector< MultiPoly > LMCAS::evaluated_lifting_cofactors (const std::vector< MultiPoly > &factors, const std::string &lift_var, const Rational &eval_point, const std::vector< std::string > &vars)
static Polynomial< Rational > LMCAS::extended_gcd_poly (const Polynomial< Rational > &a, const Polynomial< Rational > &b, Polynomial< Rational > &s, Polynomial< Rational > &t)
 一元多项式扩展 GCD(有理数域上)
static MultiPoly LMCAS::lifting_error_coefficient (const MultiPoly &error, const std::string &lift_var, int lift_var_idx, const Rational &eval_point, int k, const std::vector< MultiPoly > &shift_powers, const std::vector< std::string > &vars)
static bool LMCAS::lifting_residual_is_zero (const MultiPoly &verify_error, int lift_var_idx, int k)
static std::vector< MultiPoly > LMCAS::lifting_shift_powers (const std::vector< std::string > &vars, int lift_var_idx, const Rational &eval_point, int degree_bound)
std::vector< MultiPoly > LMCAS::multivariate_diophantine (const std::vector< MultiPoly > &factors, const MultiPoly &target, const std::string &var, const Rational &eval_point, int degree_bound)
 多元丢番图方程求解器
std::vector< MultiPoly > LMCAS::multivariate_hensel_lift (const MultiPoly &poly, const std::vector< Polynomial< Rational > > &univariate_factors, const std::string &lift_var, const Rational &eval_point, int degree_bound)
 多元 Hensel 提升(单变量步)
static std::vector< MultiPoly > LMCAS::solve_diophantine_pair (const std::vector< MultiPoly > &factors, const MultiPoly &target, const std::string &var, const Rational &eval_point, int degree_bound)
static MultiPoly LMCAS::truncate_mod_var (const MultiPoly &poly, const std::string &var, int degree_bound)
 将 MultiPoly 截断为关于指定变量次数 < degree_bound 的部分
static MultiPoly LMCAS::truncated_factor_product (const std::vector< MultiPoly > &factors, const std::string &variable, int degree_bound)