n_fq_bpoly_factor_smprime, n_fq_bpoly_factor_lgprime
Synopsis
#include <flint/fq_nmod_mpoly_factor.h>int n_fq_bpoly_factor_smprime(n_poly_t c, n_tpoly_t F, n_bpoly_t B, int allow_shift, const fq_nmod_ctx_t ctx)sourceint n_fq_bpoly_factor_lgprime(n_poly_t c, n_tpoly_t F, n_bpoly_t B, const fq_nmod_ctx_t ctx, flint_rand_t state)sourceFactor the bivariate B, separable in the main variable: set c to its content and F to its irreducible factors. The smprime version evaluates the inner variable at a point of \mathbb{F}_q (only 0 unless allow_shift), lifts by Hensel lifting and recombines by linear algebra [Lec2006], returning 0 if no point works; the lgprime version reduces the inner variable modulo irreducible polynomials over \mathbb{F}_q (working over \mathbb{F}_{q^n}) and always succeeds.
References#
- [Lec2006] G. Lecerf. Sharp precision in Hensel lifting for bivariate polynomial factorization. Mathematics of Computation 75 (2006), 921–933.
Cite this page
The FLINT team, “n_fq_bpoly_factor_smprime, n_fq_bpoly_factor_lgprime (fq_nmod_mpoly_factor.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/fq_nmod_mpoly_factor/n_fq_bpoly_factor_smprime.html (generated 2026-10-20).
@misc{flint-doc-fq-nmod-mpoly-factor-n-fq-bpoly-factor-smprime,
author = {{The FLINT team}},
title = {{n\_fq\_bpoly\_factor\_smprime, n\_fq\_bpoly\_factor\_lgprime (fq\_nmod\_mpoly\_factor.h)}},
howpublished = {FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev},
year = {2026},
url = {https://flintlib.org/doc/fq_nmod_mpoly_factor/n_fq_bpoly_factor_smprime.html},
note = {Generated 2026-10-20}
}