LMCAS
Lamina Computer Algebra System
载入中...
搜索中...
未找到
multivariate_factor.cpp 文件参考

多元多项式因式分解器实现. 更多...

#include "multivariate_factor.hpp"
#include "transcendental_factor.hpp"
#include <algorithm>
#include <climits>
#include <cstdint>
#include <cmath>
#include <functional>
#include <iterator>
#include <map>
#include <set>
#include <stdexcept>
#include <new>
#include "internal/multivariate_factor_support.hpp"
multivariate_factor.cpp 的引用(Include)关系图:

浏览该文件的源代码.

类

struct  LMCAS::GcdSamples

命名空间

namespace  LMCAS

函数

static std::string LMCAS::active_univariate_variable (const MultiPoly &poly)
static void LMCAS::add_lagrange_value (MultiPoly &result, const MultiPoly &value, const std::vector< Rational > &basis_coeffs, const std::vector< std::string > &all_vars, int var_idx)
static std::string LMCAS::choose_main_variable (const MultiPoly &a, const MultiPoly &b)
static void LMCAS::collect_gcd_samples (const MultiPoly &a_prim, const MultiPoly &b_prim, const std::string &main_var, const std::vector< Rational > &eval_pts, int num_points, GcdSamples &samples)
static bool LMCAS::divides_poly (const MultiPoly &dividend, const MultiPoly &divisor)
static MultiPoly LMCAS::embed_univariate_gcd (const MultiPoly &result, const std::string &a_var, const std::vector< std::string > &vars)
static MultiPoly LMCAS::extended_gcd_interpolation (const MultiPoly &a_prim, const MultiPoly &b_prim, const std::string &main_var, const std::vector< std::string > &vars, int degree_bound, const Rational &nc_gcd)
static std::map< int, MultiPoly > LMCAS::extract_coefficients (const MultiPoly &poly, const std::string &main_var)
static MultiPoly LMCAS::formal_derivative (const MultiPoly &poly, const std::string &main_var)
 计算多元多项式关于指定变量的形式偏导数
static std::vector< Rational > LMCAS::gcd_evaluation_points (int bound)
static std::vector< Rational > LMCAS::lagrange_basis_coefficients (const std::vector< Rational > &points, size_t i, const Rational &denom)
static MultiPoly LMCAS::lagrange_interpolate (const std::vector< Rational > &points, const std::vector< MultiPoly > &values, const std::string &main_var, const std::vector< std::string > &all_vars)
MultiPoly LMCAS::multivariate_content (const MultiPoly &poly, const std::string &main_var)
MultiPoly LMCAS::multivariate_gcd (const MultiPoly &a, const MultiPoly &b)
MultiPoly LMCAS::multivariate_primitive_part (const MultiPoly &poly, const std::string &main_var)
static MultiPoly LMCAS::normalize_gcd_candidate (MultiPoly candidate, const Rational &content)
static Rational LMCAS::rational_gcd (const Rational &a, const Rational &b)
static MultiPoly LMCAS::recursive_multivariate_gcd (const MultiPoly &a, const MultiPoly &b, const std::vector< std::string > &vars)
static Monomial LMCAS::restore_main_exponent (const Monomial &reduced, size_t variable_count, int variable_index, int exponent)
SquareFreeDecomp LMCAS::square_free_decompose (const MultiPoly &poly, const std::string &main_var)
 多元无平方因子分解(Yun 算法的多元推广)
static MultiPoly LMCAS::univariate_gcd (const MultiPoly &a, const MultiPoly &b, const std::vector< std::string > &vars)

详细描述

多元多项式因式分解器实现.

在文件 multivariate_factor.cpp 中定义.


类说明

◆ LMCAS::GcdSamples

struct LMCAS::GcdSamples

在文件 multivariate_factor.cpp 第 257 行定义.

LMCAS::GcdSamples 的协作图:
类成员
vector< Rational > points
int target_degree = -1
vector< MultiPoly > values