FLINT3.7.0-dev

fmpz_mpoly_hlift

Synopsis#include <flint/fmpz_mpoly_factor.h>
int fmpz_mpoly_hlift(slong m, fmpz_mpoly_struct * f, slong r, const fmpz * alpha, const fmpz_mpoly_t A, const slong * degs, const fmpz_mpoly_ctx_t ctx)source

Lifts the r \ge 2 factors f_i of A \equiv \prod_i f_i \bmod (x_m - \alpha_{m-1}), in a lex context with single-word exponents, to factors in the variables x_0, \ldots, x_m. The leading coefficients of the f_i in x_0 must already be the correct ones (polynomials in all of x_1, \ldots, x_m), and degs are the degrees of A. The lifting runs up to degree degs[m] in x_m - \alpha_{m-1}; it uses the error update of the quartic method, specialised for r = 2, when r < 20, and recomputes the product of the factors (quintic method) otherwise. Returns 0 if a partial fraction problem has no solution or the degrees exceed degs[m], in which case there is no factorisation of A with these images and leading coefficients. Only the quintic version checks at the end that A = \prod_i f_i; the callers verify the factors by division in any case. See The lifting step.

Cite this page

The FLINT team, “fmpz_mpoly_hlift (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_hlift.html (generated 2026-10-20).