FLINT3.7.0-dev

fmpz_mpoly_pow_fps

Synopsis#include <flint/fmpz_mpoly.h>
void fmpz_mpoly_pow_fps(fmpz_mpoly_t A, const fmpz_mpoly_t B, ulong k, const fmpz_mpoly_ctx_t ctx)source

Sets A to B^k for nonzero B and k \ge 2 by the FPS algorithm of Monagan and Pearce [MonPea2012], a heap-based sparse version of the recurrence obtained from B (B^k)' = k B' B^k, which computes the terms of B^k and B^{k-1} in order using O(k \cdot \mathit{len}(B) \cdot \mathit{len}(B^k)) monomial operations in the worst case but far fewer coefficient operations than repeated multiplication. See Squaring and powering.

References#

  • [MonPea2012] M. Monagan and R. Pearce. Sparse polynomial powering using heaps. Computer Algebra in Scientific Computing (CASC 2012), Lecture Notes in Computer Science 7442, Springer, 2012, 236–247. https://doi.org/10.1007/978-3-642-32973-9_20
Cite this page

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