gr_poly_shiftless_decomposition, gr_poly_shiftless_decomposition_factor
#include <flint/gr_poly.h>int gr_poly_shiftless_decomposition(gr_ptr c, gr_poly_vec_t slfac, gr_vec_t slshifts, gr_vec_t slmult, const gr_poly_t f, gr_ctx_t ctx)sourceint gr_poly_shiftless_decomposition_factor(gr_ptr c, gr_poly_vec_t slfac, gr_vec_t slshifts, gr_vec_t slmult, const gr_poly_t f, gr_ctx_t ctx)sourceCompute a decomposition
where c is a constant, the g_i are squarefree of degree at least 1, g_i(x) and g_j(x + h) are coprime for i \ne j and all h \in \mathbb{Z}, g_i(x) and g_i(x + h) are coprime for all nonzero h \in \mathbb{Z}, and the e_{i,j} \ge 1 and 0 = h_{i,1} < h_{i,2} < \cdots are integers.
slfac must be a vector of polynomials over ctx, and slshifts and slmult vectors of vectors of fmpz. The factor version (the only algorithm implemented) computes the irreducible factorisation and sorts the factors into classes of shift-equivalent polynomials.
The FLINT team, “gr_poly_shiftless_decomposition, gr_poly_shiftless_decomposition_factor (gr_poly.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/gr_poly/gr_poly_shiftless_decomposition.html (generated 2026-10-20).
@misc{flint-doc-gr-poly-gr-poly-shiftless-decomposition,
author = {{The FLINT team}},
title = {{gr\_poly\_shiftless\_decomposition, gr\_poly\_shiftless\_decomposition\_factor (gr\_poly.h)}},
howpublished = {FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev},
year = {2026},
url = {https://flintlib.org/doc/gr_poly/gr_poly_shiftless_decomposition.html},
note = {Generated 2026-10-20}
}