FLINT3.7.0-dev

fq_nmod_mpoly_sqrt, fq_nmod_mpoly_sqrt_heap, fq_nmod_mpoly_is_square

Synopsis#include <flint/fq_nmod_mpoly.h>
int fq_nmod_mpoly_sqrt(fq_nmod_mpoly_t Q, const fq_nmod_mpoly_t A, const fq_nmod_mpoly_ctx_t ctx)source
int fq_nmod_mpoly_sqrt_heap(fq_nmod_mpoly_t Q, const fq_nmod_mpoly_t A, const fq_nmod_mpoly_ctx_t ctx)source
int fq_nmod_mpoly_is_square(const fq_nmod_mpoly_t A, const fq_nmod_mpoly_ctx_t ctx)source

If A is a square, set Q to a square root and return 1; otherwise return 0. In characteristic 2 the square root exists exactly when all exponents are even, and it is obtained by halving the exponents and taking the square roots c^{2^{d-1}} of the coefficients.

Guides#

Cite this page

The FLINT team, “fq_nmod_mpoly_sqrt, fq_nmod_mpoly_sqrt_heap, fq_nmod_mpoly_is_square (fq_nmod_mpoly.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/fq_nmod_mpoly/fq_nmod_mpoly_sqrt.html (generated 2026-10-20).