FLINT3.7.0-dev

fmpz_mpoly_pfrac

Synopsis#include <flint/fmpz_mpoly_factor.h>
int fmpz_mpoly_pfrac(slong l, fmpz_mpoly_t t, const slong * degs, fmpz_mpoly_pfrac_t Iv, const fmpz_mpoly_ctx_t ctx)source

Solves t=∑iδi∏j≠iβj(l)t = \sum_i \delta_i \prod_{j \ne i} \beta_j^{(l)} in the variables x0,…,xlx_0, \ldots, x_l with deg⁡x0δi<deg⁡x0βi\deg_{x_0} \delta_i < \deg_{x_0} \beta_i and deg⁡xkδi\deg_{x_k} \delta_i at most what the bound degs[k] allows, storing the solution in Iv->deltas + l*r. For l=0l = 0 this is a univariate problem; for l>0l > 0 the Taylor coefficients of tt in xl−αl−1x_l - \alpha_{l-1} are processed in turn, each by a call at level l−1l - 1. tt is destroyed. Returns 1 if a solution exists, 0 if no solution satisfies the degree bounds, and −1-1 if tt cannot be repacked to the working bits.

Cite this page

The FLINT team, “fmpz_mpoly_pfrac (fmpz_mpoly_factor.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/fmpz_mpoly_factor/fmpz_mpoly_pfrac.html (generated 2026-11-02).